A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Bancos de Dados Relacionais

Apresentações semelhantes


Apresentação em tema: "Bancos de Dados Relacionais"— Transcrição da apresentação:

1 Bancos de Dados Relacionais
Curso de Modelagem de DadosCurso de Modelagem de Dados Bancos de Dados Relacionais Projeto de Bancos de Dados Relacionais Bancos de Dados I DCC/UFRJZilli Informática

2 Projeto de BD Relacionais
Técnicas de projeto Teoria baseada nas dependências funcionais, buscando-se algoritmos automatizados para verificar a adequação de esquemas relacionais. Muitos resultados importantes publicados nas décadas de 70 e 80. Bancos de Dados I

3 Normalização Problema: Dada uma lista de itens de dados a representar no computador, como decidir quais as relações que vão existir e quais os seus atributos Conceitos envolvidos: Dependências funcionais Formas normais Relação universal Normalização ajuda, mas não resolve! Bancos de Dados I

4 Dependências funcionais
Definição: Dada uma relação R, o atributo Y de R é funcionalmente dependente de um atributo X de R se e somente se, sempre que duas tuplas de R têm o mesmo valor para X têm também o mesmo valor para Y. Para que serve isto? Normalização, entendimento do significado dos dados Bancos de Dados I

5 Atributos e suas dependências funcionais (1)
Considerando os atributos: CodVôo, CodEmp, NomeEmp, Telefone Data, H_Saída, H_Chegada, H_Saída_Real, H_Chegada_Real, CodAvião, Tipo, Capacidade Origem, Destino, Distância Bancos de Dados I

6 Atributos e suas dependências funcionais (2)
Data H_Saída_Real H_Chegada_Real Origem Destino H_Saída H_Chegada CodVôo Distância CodAvião CodEmp Capacidade Telefone NomeEmp Bancos de Dados I

7 Tratando dependências funcionais
Axiomas de Armstrong A1. Reflexividade: Se Y  X  U então X → Y Dá as dependências triviais, que não dependem de F. A2. Aumento: Se X → Y e Z  U então XZ → YZ X, Y e Z são conjuntos de atributos e X → Y pode estar em F ou ter sido derivada pelos axiomas. A3. Transitividade: Se X →Y e Y →Z então X →Z Bancos de Dados I

8 Tratando dependências funcionais
Axiomas de Armstrong (inferidos) A4. União: Se X → Y e X → Z então X → YZ Dá as dependências triviais, que não dependem de F. A5. Pseudotransitividade: Se X → Y e WY → Z então XW → Z A6. Decomposição: Se X → Y e Z  Y então X → Z Uma consequência importante da decomposição: Se A1,...,An são atributos então X → A1,...,An verifica-se se e somente se X → Ai para cada i Bancos de Dados I

9 Proposições Os axiomas de Armstrong são robustos e completos (sound and complete). Bancos de Dados I

10 Formas normais Verificam as relações escolhidas
Evitam problemas de atualização ineficientes Há 4 formas normais usualmente empregadas Bancos de Dados I

11 Exemplo de projeto pobre
Bancos de Dados I

12 Anomalias Redundância O nome da empresa aparece mais de uma vez
Inconsistência O nome da empresa poderia aparecer com valores diferentes para o mesmo código de empresa Inserção Não é possível inserir uma empresa sem que haja vôos Remoção Remover todos os vôos significa remover a empresa Bancos de Dados I

13 Exemplo de relação transgressora
Primeira forma normal Todos os atributos têm valores atômicos Exemplo de relação transgressora Problema: vários telefones na mesma coluna Solução: desmembrar em mais de uma relação Bancos de Dados I

14 Primeira forma normal Desmembramento Bancos de Dados I

15 Exemplo de relação transgressora
Segunda forma normal Todo atributo não chave é totalmente dependente da chave primária Exemplo de relação transgressora Problema: CodAvião é não chave e não depende da chave primária Solução: desmembrar em mais de uma relação Bancos de Dados I

16 Solução: CodAvião deve ser movido para outra tabela
Segunda forma normal Desmembramento Solução: CodAvião deve ser movido para outra tabela Bancos de Dados I

17 Problema: NomeEmp é transitivamente dependente de CodVôo
Terceira forma normal Todo atributo não chave é não transitivamente dependente da chave primária Exemplo de relação transgressora Problema: NomeEmp é transitivamente dependente de CodVôo Bancos de Dados I

18 Terceira forma normal Desmembramento Bancos de Dados I

19 Forma normal Boyce-Codd
Todo determinante é uma chave Exemplo de relação transgressora Problema: CodVôo, Origem e Destino é um determinante para H_Saída Solução: desmembrar em mais de uma relação (ou, em alguns casos, introduzir uma chave) Bancos de Dados I

20 Chaves Se R é um esquema relacional com atributos A1,...,An e dependências funcionais F e X é um subconjunto de A1,...,An, diz-se que X é uma chave de R se: 1. X A1,...,An está em F 2. não existe um subconjunto YX tal que Y  A1,...,An esteja em F Bancos de Dados I

21 Exemplo Esquema R(Cidade, Rua, Número, CEP) Dependências
CEP  Cidade As combinações de atributos abaixo podem ser definidas como chaves? {Cidade, Rua, Número} {CEP, Rua, Número} Bancos de Dados I

22 Aplicando axiomas {Cidade, Rua, Número} logo são chaves.
CEP  Cidade (dado) CEP Rua Número  Cidade Rua Número (aumento) Cidade Rua Número  CEP (dado) Cidade Rua Número  CEP Cidade Rua Número (aumento) CEP Rua Número  CEP Cidade Rua Número (transitividade) logo {Cidade, Rua, Número} {CEP, Rua, Número} são chaves. Bancos de Dados I

23 Formas normais Uma relação R está na terceira forma normal se não existe uma chave X em R, um conjunto de atributos YR e um atributo não chave A, disjunto de X e Y, tal que: 1. X  Y verifica-se em R; 2. Y  A verifica-se em R; 3. Y  X não se verifica em R. Se R satisfaz as condições acima sempre que YX então diz-se que R está na segunda forma normal. Bancos de Dados I

24 Formas normais Um relação é dita na Forma normal Boyce-Codd se sempre que X  A se verifica em R, e A não está em X, então X inclui uma chave de R. Proposição: Se uma relação R está nesta forma normal então está também na terceira forma normal. Bancos de Dados I

25 Formas normais e decomposição
Qualquer relação tem uma decomposição sem perda na FNBC. Qualquer relação tem uma decomposição sem perda na 3FN que preserva as dependências funcionais. Bancos de Dados I

26 Dependências multivaloradas
X multidetermina Y, ou X  Y, se para valores dos atributos X há um conjunto de zero, um ou mais valores associados dos atributos Y, e esse conjunto de valores não está associado aos valores dos atributos R - X - Y. Bancos de Dados I

27 Dependências multivaloradas
Diz-se que X Y verifica-se em R se sempre que existirem t1 e t2 na instância de R, com t1[X]=t2[X], então existem também as u1 e u2, onde 1. u1[X] = u2[X] = t1[X] = t2[X] 2. u1[Y] = t1[Y] e u1[R - X - Y] = t2[R - X - Y] 3. u2[Y] = t2[Y] e u2[R - X - Y] = t1[R - X - Y] Bancos de Dados I

28 Dependências multivaloradas
Exemplo Bancos de Dados I

29 Dependências multivaloradas
Testando CodVôo  Origem, Destino, H_Saída Bancos de Dados I

30 Quarta forma normal Uma relação R está na Quarta forma normal se sempre que houver uma dependência multivalorada X →→ Y, onde Y não é vazio nem subconjunto de X, e XY não inclui todos os atributos de R, então X inclui alguma chave de R. Bancos de Dados I

31 Axiomas para D.F. e D.M. A1. Reflexividade: Se Y  X  U então X → Y
A2. Aumento: Se X → Y e Z  U então XZ → YZ A3. Transitividade: Se X →Y e Y →Z então X →Z A4. Complemento: Se X →→ Y então X →→ U - X - Y A5. Aumento: Se X →→ Y e V  W então WX →→ VY A6. Transitividade: Se X →→ Y e Y →→ Z então X →→ Z - Y A Se X → Y então X →→ Y A Se X →→ Y , Z  Y e para algum W disjunto de Y tem-se que W→ Z, então X→ Z Bancos de Dados I

32 Curso de Modelagem de DadosCurso de Modelagem de Dados
Proposições sobre 4FN Se D inclui apenas dependências funcionais então sempre que R estiver na 4FN estará na FNBC. É possível encontrar uma decomposição sem perda tal que cada relação produzida esteja na 4FN. O algoritmo que determina quando uma decomposição é ou não sem perda pode ser adaptado para dependências multivaloradas. Bancos de Dados I DCC/UFRJZilli Informática


Carregar ppt "Bancos de Dados Relacionais"

Apresentações semelhantes


Anúncios Google