You are on page 1of 37

Aplicaes de Banco de Dados Introduo

Bibliografia de Banco de Dados

Livros-texto (entre muitos outros): Banco de Dados, Uma Viso Prtica,Felipe Machado e Mauricio Abreu, Ed rica, 1999. Modelagem Coceitual e Projeto de Banco de Dados, Paulo Cougo, EdCampus, 1997.

Introduo Conceitos Bsicos


Conjunto de dados sobre o qual uma comunidade de usurios realiza operaes de recuperao e atualizao.
Um BD representa algum aspecto do mundo real, chamado mini-mundo ou universo de discurso. As mudanas no mini-mundo so refletidas no banco de dados.

Usurios

Mini-mundo

Banco de Dados

Aplicaes

Conceitos Bsicos
Um banco de dados computadorizado pode ser criado e mantido por um grupo de programas de aplicao escritos especificamente para aquela tarefa ou por um SISTEMA DE GERNCIA DE BANCOS DE DADOS (SGBD). Um SGBD uma coleo de programas de propsito geral que facilita o processo de definir, construir e manipular bancos de dados para vrias aplicaes. Definir um banco de dados significa especificar os tipos de dados a serem armazenados juntamente com uma descrio detalhada de cada tipo. Construir o banco de dados o processo de armazenar os dados em algum meio de armazenamento controlado pelo SGBD. Manipular um banco de dados compreende certas funes como consultar o banco de dados para recuperar dados especficos, atualizar o banco de dados para refletir mudanas percebidas no mini-mundo e produzir relatrios a partir dos dados. O banco de dados e o SGBD juntos so chamados genericamente de SISTEMA DE BANCOS DE DADOS.

Bancos de Dados
Conceitos Bsicos

SGBD Coleo de programas de propsito geral que facilita o processo de definir, construir e manipular banco de dados para vrias aplicaes

Sistema de Banco de Dados

Sistema de Banco de Dados


Usurios / Programadores Sistema de BD Consultas / Programas de Aplicao SGBD

Software para processar consultas / programas

Software para acessar dados armazenados

Definio do BD (Meta-dados)

BD armazenado

Um exemplo de banco de dados


Aluno Nome
Jos Antonio

Nmero
17 8

rea
INF INF

Disciplina

Nome
I.C.C. Estruturas de Dados Matemtica Discreta Bancos de Dados

Nmero
INF1310 INF3320 MAT2410 INF3380

Crditos
4 4 3 3

Dept
INF INF MAT INF

Pr-Requisito

No_Curso
INF3380 INF3380 INF3320

No_Pre-Req
INF3320 MAT2410 INF1310

Histrico-Escolar

No_Aluno
17 17 8 8 8 8

No_Curso
MAT2410 INF1310 MAT2410 INF1310 INF3320 INF3380

Grau
B C A A B A

Sistemas de Informao
SISTEMA DE INFORMAO dados; SGBD; o hardware e o sistema operacional; as pessoas que usam e administram os dados; os programas de aplicao que acessam e atualizam os dados; os programadores que desenvolvem essas aplicaes.

Mundo Real

?!

Desenvolver um projeto de sistema de informao consiste em traduzir um problema do mundo real numa soluo que envolve a organizao, pessoas e tecnologia (hardware e software).

SISTEMA DE INFORMAO
Programa de Programa de Programa de aplicao de BD aplicao de BD aplicao

dados e regras

SGBD

Mundo Real
Requisitos de Dados Coleta/Especificao de Requisitos Requisitos Funcionais

Projeto Conceitual

Anlise Funcional

Projeto Lgico

Projeto Funcional

Projeto Fsico

Programao

dados e regras

SGBD

Programa de Programa de Programa de aplicao de BD aplicao de BD aplicao

Pessoal envolvido em grandes sistemas de bancos de dados Usurios (atores em cena) projetistas do BD administradores do BD (ABD) : usurios finais - ocasionais - paramtricos - sofisticados - analistas de sistemas - programadores de aplicao

Pessoal envolvido em grandes sistemas de bancos de dados Usurios (atores em cena) projetistas do BD : responsveis por identificar os dados a serem armazenados no BD e por escolher as estruturas apropriadas para representar e armazenar esses dados. Comunicao c/ usurios p/ identificao de vises. administradores do BD (ABD) : responsveis pela autorizao do acesso ao BD e pela coordenao e monitorao do seu uso.

Pessoal envolvido em grandes sistemas de bancos de dados Usurios (atores em cena) usurios finais - ocasionais : tipicamente gerentes e tomadores de deciso.Utilizam-se de ling. consultas sofisticadas. - paramtricos : usurios de transaes enlatadas, por exemplo, caixas de bancos, funcionrios de reservas em companhias areas. - sofisticados : engenheiros, cientistas, analistas de negcios.Utilizam-se das facilidades do SGBD.

Pessoal envolvido em grandes sistemas de bancos de dados Usurios (atores em cena) analistas de sistemas : determinam os requisitos dos usurios finais, especialmente dos ocasionais e paramtricos, e desenvolvem especificaes de transaes que satisfaam esses requisitos. programadores de aplicao : implementam as especificaes das transaes como programas, testando-os, corrigindo-os e documentando-os.

Pessoal envolvido em grandes sistemas de bancos de dados

Pessoal de suporte (trabalhadores atrs da cena) projetistas e implementadores de SGBD : projetam e implementam o SGBD como um software produto. projetistas e implementadores de ferramentas : projetam e implementam pacotes de software que facilitam o projeto e o uso do BD e ajudam a melhorar o desempenho do SGBD. operadores e pessoal de manuteno e suporte : responsveis pelo funcionamento do ambiente de hardware e software do sistema de BD.

Funcionalidades de um SGBD
Controle de redundncia Compartilhamento de dados Controle de Acesso Persistncia p/ Objetos e Estrut. de Dados Inferncia atravs de Regras de Deduo Mltiplas interfaces Representao de relacionamentos Cumprimento das restries de integridade Capacidade de backup e restaurao

Controle de Redundncia
Redundncia
Problemas: duplicao de esforo para manter os dados atualizados; desperdcio de espao de armazenamento; possibilidade de inconsistncia dos dados Quando a redundncia necessria:

SGBD deve ser capaz de controlar a redundncia para evitar inconsistncias.

Compartilhamento de Dados

Sistemas multiusurios

Controle de Concorrncia

Controle de Acesso
Subsistema de segurana e autorizao Mecanismos usuais de controle de acesso:

senhas para usurios e para grupos de usurios; restrio de acesso a parte do banco de dados; proibio de executar certas operaes, por exemplo atualizao; acesso de usurios paramtricos transaes enlatadas; restrito apenas a

proibio de uso de software privilegiado, a ex. do software de criao de contas.

Persistncia p/ Objetos e Estruturas de Dados

Capacidade dos Banco de Dados de se integrarem a linguagens de programao de alto nvel de forma a permitir que as estruturas criadas pelas LPs fiquem armazenadas definitivamente no BDs.

Inferncia atravs de Regras de Deduo

Capacidade de permitir a definio de regras no SGBD que permitam deduzir novas informaes a partir dos fatos armazenados. Regras: adolescentes so todos aqueles que tm entre 14 e 18 anos carioca: cidado natural do RJ engenheiros: todo aquele que tem diploma de curso de Engenharia Consulta: Quais os adolescentes cariocas que so engenheiros?

Mltiplas Interfaces
Um SGBD deve prover uma variedade de interfaces de usurio. Tipos de interfaces:

linguagens de consulta para usurios casuais; linguagens de programao para programadores de aplicaes; formulrios (telas) para usurios paramtricos; menus; linguagem natural.

Representao de Relacionamentos

O SGBD deve ter a capacidade de representar uma variedade de relacionamentos complexos entre os dados, bem como recuperar e atualizar dados relacionados de uma maneira fcil e eficiente.

Cumprimento das Restries de Integridade


Restries: forma de verificao da consistncia dos dados no BDs

Restries de integridade mais complexas:

Unicidade de itens de dados; Integridade referencial (um registro em uma tabela que referencia outra tabela deve referenciar um registro existente na outra tabela) Restries derivadas da semntica dos dados (exemplo: um aluno no pode fazer a mesma disciplina mais de uma vez).

Capacidade de Backup e Restaurao

O SGBD deve prover facilidades para restaurar o banco de dados em caso de falha de hardware ou de software.

sub-sistema de backup e restaurao: responsvel por assegurar que o banco de dados restaurado para seu estado anterior execuo do programa.

Benefcios adicionais dos Bancos de Dados

Potencial para o estabelecimento cumprimento de padres Flexibilidade de mudanas

Reduo no tempo de desenvolvimento de novas aplicaes Disponibilidade de informao atualizada Economia de escala

Bancos de dados no so sempre a soluo


Sobrecustos Alto investimento inicial e hardware adicional. possvel necessidade de

Custo da generalidade do SGBD para definio e processamento dos dados. Overhead para garantir segurana, concorrncia, recuperao e integridade. Quando NO usar BDs O volume de dados pequeno e as aplicaes so simples, bem definidas. Mudanas no so esperadas. Existem requisitos estritos de tempo real que no podem ser satisfeitos por causa do overhead do SGBD. Acessos mltiplos e concorrentes no so necessrios. controle de

Percepo abstrata da realidade

Modelo
regras para estruturar dados

Percepo da estrutura da realidade

Esquema

esttico, invariante no tempo

(Intenso)

regras para verificar validade Descrio da realidade num dado momento

Instncia

dinmico, variante no tempo

(Extenso)

Modelo, Esquema, Instncia


Aluno esquema Disciplina Nome
Jos Antonio

Nmero
17 8

rea
INF INF

modelo relacional (tabelas)

Nome
I.C.C. Estruturas de Dados Matemtica Discreta Bancos de Dados

Nmero
INF1310 INF3320 MAT2410 INF3380

Crditos
4 4 3 3

Dept
INF INF MAT INF

Pr-Requisito

No_Curso
INF3380 INF3380 INF3320

No_Pre-Req
INF3320 MAT2410 INF1310

instncia

Histrico-Escolar

No_Aluno No_Curso
17 17 8 8 8 8 MAT2410 INF1310 MAT2410 INF1310 INF3320 INF3380

Grau
B C A A B A

A Arquitetura de Trs Esquemas


Usurios finais
Viso Externa 1

NVEL EXTERNO
mapeamento externo/conceitual

...
Esquema Conceitual

Viso Externa n

NVEL CONCEITUAL
mapeamento conceitual/interno

NVEL INTERNO

Esquema Interno

Arquitetura de Banco de Dados

Nvel Interno: descreve as estruturas de acesso e armazenamento do BD; Nvel Conceitual: decreve toda a estrutura do BD a nvel de propriedades, relacionamentos, restries etc, sem os detalhes de implementao fsica. Um modelo conceitual (por ex. ERE) utilizado nessa etapa. Nvel externo: corresponde s vises especficas dos usurios.

Vises
exemplo: companhia area
1- Empregados (nome, cpf, end, tel, filiao, dep) 2- Equipamentos (n0 avio,marca,tipo,capac, tripulao, reviso) 3- Funes (nomefuno,salrio,qualificao, servio, tipo_equipam) 4-Vo (linha, tipo_equipam, n0horas, servio_bordo, horrio) Aplicaes: Folha pagamento (1,3) Equipe tripulao (1,2,3) Manuteno equip (1, 2) Reserva vo (2,4) Escala manuteno (1,2,3)

Independncia de Dados
Capacidade de mudar o esquema num nvel de um sistema de banco de dados sem ter que mudar o esquema no nvel seguinte mais alto.

Independncia lgica de dados:

Independncia fsica de dados:

Independncia de Dados
Independncia lgica de dados: Capacidade de mudar o esquema conceitual sem ter que mudar esquemas externos ou programas de aplicao.

Independncia fsica de dados: Capacidade de mudar o esquema interno sem ter que mudar o esquema conceitual

Linguagens de Bancos de Dados


Linguagem de definio dos dados (LDD) Linguagem de definio do armazenamento (LDA) Linguagem de definio das vises (LDV)
(Usualmente a LDD incorpora a LDA e a LDV)

Linguagem de manipulao dos dados (LMD)


Alto nvel ou no procedural : orientada a conjuntos Baixo nvel ou procedural : orientada a registros (s vezes, a LDD e a LMD confundem-se na mesma linguagem. Exemplo : SQL)

Linguagem hospedeira
Linguagem de programao na qual comandos da LMD so embutidos.

Componentes de um SGBD
ABD e equipe usurios ocasionais Consulta de alto nvel programadores de aplicaes usurios paramtricos

Comandos em LDD

Comandos privilegiados

Programas de aplicao

Pr-compilador Compilador da linguagem hospedeira Comandos em LMD Compilador da LMD Processador do BD em tempo de execuo Gerenciador dos dados armazenados Transaes compiladas

Processador de consultas

Compilador da LDD

Catlogo/ Dicionrio de Dados

Subsistema de controle de concorrncia / backup / restaurao

Banco de dados armazenado

PROJETO DE BANCOS DE DADOS Foco : dados


Mini-Mundo
Coleta e Anlise de Requisitos

Requisitos de Dados
Projeto Conceitual Independente de SGBD Especfico para um SGBD Esquema Conceitual Projeto Lgico Esquema Lgico Projeto Fsico Esquema Fsico

You might also like