Académique Documents
Professionnel Documents
Culture Documents
Caractersticas:
Desvantagens:
Redundncia e inconsistncia de dados Dificuldade de acessar informao (programa pode no estar disponvel) Anomalias de acesso concorrente (multiusurios) Problemas de segurana e integridade Isolamento de dados
Caractersticas:
Coleo de arquivos inter-relacionados + Conjunto de programas para armazenar, gerenciar e acessar esses arquivos.
Vantagens
Consistncia e integridade dos dados Segurana Controle de acesso concorrente (multi-usurio) Backup e recuperao de falhas
Caractersticas de um SGBD
n
Definio do BD: tipos de dados, estruturas e restries que devem ser consideradas
Construo do BD: insero propriamente dos dados no meio persistente; Manipulao do BD Consulta ao BD: recuperar uma informao especfica Manuteno ao BD: alterar uma informao armazenada
So requisitos de um SGBD:
Um SGBD oferece
n
Interfaces baseadas em modelo de dados de alto nvel tanto para a definio da estrutura da base quanto para sua consulta
Sistema de Banco de Dados
Usurios/Programadores
Programas de Aplicao/Consulta
n n
Banco de Dados
SGBD (DBMS)
Especificao em nveis
n
nvel externo:
Externo
Externo
nvel conceitual:
conceitual
Eterno
Externo
separao entre esquema externo e esquema conceitual permite com impacto mnimo nas aplicaes (construdas sobre os esquemas externos)
Modelo de Dados
conceitual
Fsico
Modelos de dados
n
Conjunto de conceitos usados para representar os dados, os relacionamentos entre esses dados e as restries de consistncia
No processo de modelagem necessrio construir uma abstrao dos objetos e fenmenos do mundo real.
Abstrao de dados
n
Nvel fsico
Descreve como os dados esto armazenados Baixo nvel de abstrao Estruturas complexas e detalhadas
Abstrao de dados
Nvel de usurio
Viso 1 - Cliente Viso 2 - Caixa Viso 3 - Gerente
Nvel lgico
Nvel fsico
n n n
Introduzido em 1976 por Peter Chen, a abordagem mais adotada para modelagem conceitual de dado. Objetivo facilitar o projeto do banco de dados representando sua estrutura lgica Definio: modelo baseado na percepo do mundo real como um conjunto de objetos chamados entidades e pelo conjunto de relacionamentos entre esses objetos. Ao longo do tempo diferentes verses de foram sendo propostas para representar diferentes conceitos.
Conceitos bsicos:
Entidades
n n
Objetos bsicos do mundo real Um conjunto de entidades agrupa entidades do mesmo tipo
Relacionamentos
n
Atributos
n n n
Associados a entidades e a relacionamentos Uma entidade representada por um conjunto de atributos Cada atributo possui um domnio
Representao:
lote
possui
proprietrio
Atributo identificador
Atributo que vai identificar unicamente cada instncia da entidade (chave primria) Devem ser sublinhados
lote
possui
proprietrio
Cardinalidade:
expressa o nmero de entidades que uma entidade pode estar associada com 1:1, 1:n, n:1, n:n
lote
possui
proprietrio
endereo cidade
proprietrio
possui
cadastro
Relao correta
Cadastro Proprietario
Relao Incorreta
Cadastro Proprietario
01 02 03
01 02 03 04
lote
pertence
quadra
Relao correta
Lote Quadra
Relao incorreta
Lote Quadra
lote
Faz fronteira
rua
Relao correta
Lote Rua
Relacionamento parcial:
Ex. Podem existir proprietrios sem cadastro A participao da entidade proprietrio no relacionamento possui parcial. endereo
cpf
nome
num 1
(1,1)
cidade
proprietrio
possui
1
(0,1)
cadastro
Ex. Todo cadastro tem que estar a associado a um proprietrio. A participao da entidade cadastro no relacionamento possui total. endereo
cpf
nome
num 1
(1,1)
cidade
proprietrio
possui
1
(1,1)
cadastro
Entidade fraca:
Quando a existncia dessa entidade depende da existncia de uma outra entidade (dependncia de existncia).
num_empr
total num_pg 1 n
data total_pg
emprstimo
pago
pagamento
Auto relacionamento:
lote
composto
Relacionamento mltiplo:
Ex. Um proprietrio pode possuir vrios lotes, cada um com um contrato de compra e venda diferente.
lote
possui
proprietrio
1 contrato_compra_venda
Agregao:
Uma limitao do ER: expressar relacionamentos entre relacionamentos Agregao uma abstrao na qual os relacionamentos so tratados como conjunto de entidades de nvel superior, permitindo o relacionamento entre relacionamentos.
Ex.: um proprietrio pode estar associado a vrios bancos. Pra cada banco associado, o proprietrio pode ter um ou mais emprstimos.
proprietrio
associado
banco
financiado
n emprstimo
Ex.: um proprietrio pode estar associado a vrios bancos. Pra cada banco associado, o proprietrio pode ter um ou mais emprstimos.
proprietrio
associado
banco
financiado
Redundncia: todo par proprietrio-banco faz parte dos relacionamentos associado e financiado
n emprstimo
Agregao:
Ex.: um proprietrio pode estar associado a vrios bancos. Pra cada banco associado, o proprietrio pode ter um ou mais emprstimos.
proprietrio
banco
Generalizao
Especializao:
Subdivide entidades semelhantes em conjuntos de entidades mais especficas e enfatiza suas diferenas.
Generalizao e Especializao
quadra_comercial
quadra residencial
valor_imposto_servio
num_residncias
N RODOVIAS
PASSAM
CIDADES
Facilita a descrio de consultas corretas e compreensveis Os elementos do modelo tem um significado intuitivo O modelo o mais simples possvel, mas no mais simples que isso suficientemente abstrato para no sofrer alteraes face a alteraes menores no domnio do problema Se o domnio do problema se altera significantemente fcil modificar o modelo de dados (suficientemente flexvel) Mais tarde necessrio considerar o impacto do modelo de dados na eficincia das operaes no banco de dados
Decises de projeto
n n
Um conceito deve ser modelado como entidade ou atributo? Um conceito deve ser modelado como uma entidade ou um relacionamento? Identificao dos relacionamentos: binrio, ternrio? Agregao? Restries no modelo ER: Muita semntica pode (e deve) ser capturada mas algumas restries no podem ser capturadas nos diagramas ER
n n n
Exemplo: o endereo de um empregado deve ser modelado como um atributo ou uma entidade? Depende do problema:
se um empregado pode ter mais que um endereo ento ele deve ser uma entidade separada porque atributos s possuem um valor se faremos consultas sobre partes do endereo (ex. cidade) ento ele deve ser uma entidade separada porque atributos devem ser atmicos
Modelo Relacional
n
O modelo relacional foi inventado por E.F. (Ted) Codd como um modelo geral de dados (~1970)
Baseia-se no princpio de que todos os dados so representados matematicamente como relaes n-rias, onde uma relao n-ria um subconjunto do produto cartesiano de n domnios
n n n n
Dados so manipulados atravs de um clculo ou lgebra relacional Primeiro modelo de dados para Sistemas de Bancos de Dados comerciais usado na maioria das aplicaes para dados tradicionais Os SGBDs relacionais so baseados no modelo relacional
Modelo Relacional
n
PROPRIETARIO
CPF 08940256 03727298 97260089 NOME JOO DA SILVA HENRIQUE CARDOSO JOS DE SOUZA RUA SAO JOAO IMIGRANTE SAO JOAO NUMERO 180 1700 35 BAIRRO CENTRO VILA 12 CENTRO
LOTE
NUMERO 00001 00003 00039 PROPRIETARIO_CPF 08940256 03727298 03727298 AREA_TOTAL 400.000 150.000 500.000 AREA_CONST 0 75.00 0
Modelo Relacional
n
Caractersticas:
Consiste em um conjunto de tabelas ou relaes formadas por linhas e colunas Cada coluna (campo):
n n
Modelo Relacional
n
Conceito de relao
Define uma tabela do banco de dados Domnio de um atributo: conjunto de possveis valores
n
Ex.: D1 = { x | x -5 e x 5 } D2 = { y | y 0 }
Modelo Relacional
n
Conceito de relao
Dados os domnios D1, D2, ..., Dn no necessariamente distintos, uma relao definida como:
R = { (d1, d2,..., dn) | d1 D1, d2 D2,..., dn Dn }
O conjunto (d1, d2,..., dn) de valores ordenados define uma tupla Uma relao o conjunto de n-tuplas ordenadas, onde n define o grau da relao
Modelo Relacional
n
Domnio inteiro longo positivo conjunto de caracteres conjunto de caracteres inteiro positivo conjunto de caracteres
Modelo Relacional
n
Modelo Relacional
n
Restries de integridade
Modelo Relacional
n
Super-chave:
Conjunto de um ou mais atributos que permitem identificar cada registro da tabela como nico.
Chave candidata:
corresponde a super-chave mnima, ou seja, no existe sub-conjunto da chave candidata. { cpf, nome } chave candidata? { cpf } chave candidata?
Chave primria:
chave candidata escolhida no projeto da tabela do banco para identificar unicamente cada registro ou tupla.
Modelo Relacional
n
Chave primria:
Coluna ou combinao de colunas cujos valores distinguem uma linha ou registro das demais dentro de uma tabela
Restrio de chave
chave primria
PROPRIETARIO
CPF 08940256 03727298 97260089 NOME JOO DA SILVA HENRIQUE CARDOSO JOS DE SOUZA RUA SAO JOAO IMIGRANTE SAO JOAO NUMERO 180 1700 35 BAIRRO CENTRO VILA 12 CENTRO
Modelo Relacional
n
Chave primria:
Coluna ou combinao de colunas cujos valores distinguem uma linha ou registro das demais dentro de uma tabela Restrio de chave
Modelo Relacional
n
Chave estrangeira
Implementa a restrio de integridade referencial. Coluna ou combinao de colunas, cujos valores aparecem necessariamente na chave primria de uma outra tabela. Mecanismo que permite a implementao de relacionamentos em um banco de dados relacional.
Modelo Relacional
n
Chave estrangeira
CURSOID INFO TITULO Informtica Indust. Biologia Engenharia Civil Licenciatura Mat.
Curso
DURAO 4 4 5 4
relacionamento
BIO ENG
Aluno
MATRICULA 98765 67765 84562 34256 3452672 34529 NOME Joo Jos Maria Luis Ana Luana
Modelo Relacional
n
Chave estrangeira
Uma chave estrangeira no precisa ser uma chave primria na sua relao. Uma chave estrangeira no precisa ter o mesmo nome do que a chave primria correspondente na outra tabela (apenas o mesmo domnio).
Modelo Relacional
n
Chave estrangeira impe restries que devem ser garantidas ao serem executadas no BD:
Garantir que o valor da chave estrangeira exista na chave primria da outra tabela.
Modelo Relacional
n
Chave estrangeira impe restries que devem ser garantidas ao serem executadas no BD:
Excluso de uma linha da tabela que contm a chave primria referenciada por uma chave estrangeira:
n
No se exclui a linha caso exista um valor na tabela com a chave estrangeira. Remove-se tambm a linha com o valor de chave estrangeira. Valor da chave estrangeira ajustado como NULL.
n n
Modelo Relacional
n
Chave estrangeira impe restries que devem ser garantidas ao serem executadas no BD:
lgebra Relacional
n n
Linguagem de consultas procedural Conjunto de operaes que usam uma ou duas relaes como entrada e geram uma relao de sada
Operaes bsicas:
Operaes binrias:
n
Seleo:
Clientes
Nome
Joo Maria Jos
Registro
1 2 3
Nome
Joo
Registro
1
Nome
registro>1 (Clientes)
Registro
2 3
Maria Jos
c) selecionar as tuplas de Clientes com registro > 1 e registro < 3 registro>1 registro < 3 (Clientes)
Nome
Maria
Registro
2
Projeo:
gera novas relaes excluindo alguns atributos exemplo: projete o atributo nome sobre a relao Clientes
nome (Clientes)
Clientes
Nome
Joo Maria Jos
Registro
1 2 3
Nome
Joo Maria Jos
Unio:
unio de atributos do mesmo domnio que esto em relaes diferentes as relaes devem possuir o mesmo nmero de atributos exemplo: encontre todos os clientes da agncia que possuem conta corrente ou emprstimo.
n
ContaCorrente e Emprestimo
Resultado da unio
Nome
Joo Maria Jos Paulo Carlos
Diferena:
tuplas que se encontram em uma relao, mas no em outra exemplo: encontre todos clientes sem emprstimo
Resultado da diferena
Nome
Joo Jos
Produto Cartesiano
Faz todas as combinaes entre as tuplas de duas relaes Gera uma nova relao formada pela unio dessas combinaes Exemplo: produto cartesiano entre os clientes e os emprstimos de Maria
Conta
Nomeemp
Maria Maria Maria
Emprstimo
200 200 200
Operadores derivados:
Interseco
n n
Seleciona tudo que est em ambas relaes Exemplo: todos os clientes que possuem emprstimo
nome (Emprestimo)
nome (ContaCorrente)
Resultado da interseco
Nome
Maria
Operadores derivados
Juno
n n
Inclui um produto cartesiano, seguido de uma seleo (pode ter projeo ao final) Exemplo: nomes dos clientes com conta corrente e nmero de emprstimo: