Baixe o app para aproveitar ainda mais
Prévia do material em texto
CSI440 – Banco de Dados I Bruno Rabello Monteiro Dependências Funcionais Aula 21 UFOP ICEA DECSI Conteúdo • Introdução • Diretrizes Informais • Dependências Funcionais PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 3 UFOP ICEA DECSI Introdução • Normalização • Método formal de projeto de banco de dados • Usado para avaliar esquemas relacionais quanto à qualidade • Objetivos • Preservação da informação • Minimização da redundância PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 4 UFOP ICEA DECSI Introdução • A verificação da qualidade do projeto de BD • Lógico/Conceitual • Interpretação dos usuários sobre os esquemas e o significado dos atributos • Implementação/Físico • Forma que as tuplas de uma relação são armazenadas e atualizadas • Aplica-se apenas à relações de base PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 5 UFOP ICEA DECSI Diretrizes Informais • Indicativos de boa qualidade no projeto de uma tabela/relação 1. Atributos com semântica clara 2. Redução de redundância nas tuplas 3. Redução de valores em tuplas 4. Eliminação da possibilidade de gerar tuplas falsas PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 6 UFOP ICEA DECSI 1. Semântica Clara • Significado da interpretação dos valores dos atributos de uma tupla • Todo atributo possui equivalência no mundo real e uma compreensão própria • Diretriz • Quanto mais fácil for explicar uma relação, melhor estará o projeto dessa relação • Atributos de entidades/relacionamentos não devem ser combinados em uma única tabela PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 7 UFOP ICEA DECSI 1. Semântica Clara • Esquema simplificado: BD PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 8 FUNCIONARIO Fnome Cpf Datanasc Endereco Dnumero DEPARTAMENTO Dnome Dnumero Cpf_gerente DEP_LOCALIZACAO Dnumero Dlocal PROJETO Projnome Projnumero Projlocal Dnum TRABALHA_EM Cpf Projnumero Horas (ELMASRI & NAVATHE, 2011) UFOP ICEA DECSI 1. Semântica Clara • Violações da Diretriz 1 PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 9 FUNC_DEP Fnome Cpf Datanasc Endereco Dnumero Dnome Cpf_gerente FUNC_PROJ Cpf Pno H Fn Pn Pl UFOP ICEA DECSI 2. Redução de Redundância • Projeto de banco de dados objetiva minimizar gasto com armazenamento • Armazenar relações de base que representam junções podem causar anomalias de atualização PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 10 UFOP ICEA DECSI 2. Redução de Redundância • Diretriz • Projete os esquemas de relação de modo que nenhuma anomalia esteja presente • Caso a presença de uma anomalia seja inevitável • Anote-as para que pessoas/programas usem o BD corretamente PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 11 UFOP ICEA DECSI 2. Redução de Redundância • Violação da Diretriz 2 PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 12 (ELMASRI & NAVATHE, 201) Redundância UFOP ICEA DECSI 2. Redução de Redundância • Eliminação da redundância PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 13 FUNCIONARIO Fnome Cpf Datanasc Endereco Dnumero Smith, John B. 123456789 1965-01-09 731 Fondren, Houston, TX 5 Wong, Franklin T. 333445555 1955-12-08 638 Voss, Houston, TX 5 Zelaya, Alicia J. 999887777 1968-07-19 3321 Castle, Spring, TX 4 ... ... .. ... ... Borg, James E. 888665555 1937-11-10 450 Stone, Houston, TX 1 DEPARTAMENTO Dnome Dnumero Cpf_gerente Research 5 333445555 Administration 4 987654321 Headquarters 1 888665555 UFOP ICEA DECSI 2. Anomalia de Inserção • Considere a relação • Inserir um funcionário sem departamento • Tabela com muitos valores • Inserir um departamento sem funcionário • Não é possível: Restrição de integridade de entidade PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 14 FUNC_DEP Fnome Cpf Datanasc Endereco Dnumero Dnome Cpf_gerente UFOP ICEA DECSI 2. Anomalia de Exclusão • Considere a relação • Exclusão de tuplas podem gerar perda de informação • Se o último funcionário de um departamento for excluído perde-se a informação do departamento PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 15 FUNC_DEP Fnome Cpf Datanasc Endereco Dnumero Dnome Cpf_gerente UFOP ICEA DECSI 2. Anomalia de Modificação • Considere a relação • Uma atualização de em uma tupla pode necessitar de atualizações em cascata • Se o do gerente de um departamento for alterado, várias tuplas precisarão ser alteradas PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 16 FUNC_DEP Fnome Cpf Datanasc Endereco Dnumero Dnome Cpf_gerente UFOP ICEA DECSI 3. Valores em Tuplas • Evitar atributos opcionais • Necessidade de valores • Desperdiça espaço de armazenamento • Problemas com a junção no nível lógico • Problemas com funções de agregação ( e ) • pode ter vários significados • Atributo não se aplica • Valor do atributo é desconhecido • Valor do atributo é conhecido, mas ausente PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 17 UFOP ICEA DECSI 3. Valores em Tuplas • Diretriz • Projete tabelas sem ou com poucos atributos opcionais • Que possam assumir o valor com frequência • Caso seja inevitável • Garanta que eles se apliquem apenas em casos excepcionais PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 18 UFOP ICEA DECSI 4. Geração de Tuplas Falsas • Ocorre quando, na aplicação da junção, aparecem no resultado tuplas que não deveriam aparecer • Diretriz 4 • Projete esquemas de tabelas de modo que possam ser unidos pelos atributos correlacionados • Chave primária e chave estrangeira PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 19 UFOP ICEA DECSI 4. Geração de Tuplas Falsas • Considere as relações • A junção natural de e causam tuplas falsas PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 20 FUNC_LOC Fnome Plocalização João Santo André Joice Santo André Fernando Itu Joice Itu FUNC_PROJ CPF Projnumero Horas Projnome Plocalização 12345678966 1 32,5 ProdutoX Santo André 12345678966 2 7,5 ProdutoX Itu UFOP ICEA DECSI Diretrizes: Resumo • As diretrizes evitam problemas de modificação e de geração de tuplas falsas • Além de evitar desperdício com duplicidade de dados e excesso de valores PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 21 UFOP ICEA DECSI Dependência Funcional • Restrição entre dois conjuntos de atributos do BD • Similar ao conceito generalizado de chave de relação • Informalmente • O valor de um conjunto de atributos determina o valor de outro conjunto de atributos de uma mesma relação PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 22 UFOP ICEA DECSI Dependência Funcional • Formalmente • Suponha o BD constituído de uma única relação universal = { , , ..., } • Uma d.f. ou DF, indicada por , entre dois conjuntos de atributos e de , especifica uma restrição sobre possíveis tuplas que podem formar um estado de relação de • Para quaisquer duas tuplas e em que tenham [ ] = [ ], também devem ter [ ] = [ ] PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 23 UFOP ICEA DECSI Dependência Funcional • Em outras palavras • Os valores do conjunto de atributos dependem (ou são determinados pelos) valores do conjunto • Ou, será dependente funcionalmente de se, e somente se, cada valor de em for associado a um valor de PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 24 UFOP ICEA DECSI Dependência Funcional • Propriedade da semântica/significado dos atributos • Descreve melhor um esquema de relação ao especificar restrições sobre seus atributos • Propriedade do esquema da relação • Não de um estado particular • Determinadas pela compreensão do significado dos dados PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 25 UFOP ICEA DECSI Dependência Funcional • Se o conjunto de atributos for uma chave candidata de • para qualquer subconjunto de • Ou • em , não implica PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 26 UFOP ICEA DECSI Dependência Funcional• Considere o esquema da relação • Quais dependências funcionais existem? PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 27 FUNC_PROJ Cpf Projnumero Horas Fnome Projnome Projlocal UFOP ICEA DECSI Dependência Funcional • Considere o esquema da relação • Quais dependências funcionais existem? • Considerando a semântica dos atributos e da relação • • { , } • { , } PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 28 FUNC_PROJ Cpf Projnumero Horas Fnome Projnome Projlocal UFOP ICEA DECSI Dependência Funcional • Visualmente • • { , } • { , } PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 29 FUNC_PROJ Cpf Projnumero Horas Fnome Projnome Projlocal DF1 DF2 DF3 UFOP ICEA DECSI Dependência Funcional • Considere a tabela • Quais dependências funcionais existem? PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 30 ENSINO Professor Disciplina LivroTexto Bruno BD I Navathe Bruno BD II Date Rodrigo Linguagens Sebesta Rafael BD I Date UFOP ICEA DECSI Dependência Funcional • Considere a tabela • ? • ? • { , } ? PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 31 ENSINO Professor Disciplina LivroTexto Bruno BD I Navathe Bruno BD II Date Rodrigo Linguagens Sebesta Rafael BD I Date UFOP ICEA DECSI Dependência Funcional • Considere a relação • Quais dependências funcionais existem? PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 32 R A B C D a1 b1 c1 d1 a1 b2 c2 d2 a2 b2 c2 d3 a3 b3 c4 d3 UFOP ICEA DECSI Dependência Funcional • Considere a relação • Quais dependências funcionais existem? • e • { , } e { } • { , } PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 33 R A B C D a1 b1 c1 d1 a1 b2 c2 d2 a2 b2 c2 d3 a3 b3 c4 d3 UFOP ICEA DECSI Dependência Funcional • Quais DFs são verdadeiras? • • • • ( , , ) • ( , ) PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 34 A B C D B 5 2 20 C 4 2 15 B 6 7 20 B 5 2 20 C 2 2 15 C 4 2 15 A 10 5 18 A 12 3 18 A 10 5 18 B 5 2 20 C 4 2 15 A 10 5 18 UFOP ICEA DECSI Dependência Funcional • Quais DFs são verdadeiras? • • • • ( , , ) • ( , ) PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 35 A B C D B 5 2 20 C 4 2 15 B 6 7 20 B 5 2 20 C 2 2 15 C 4 2 15 A 10 5 18 A 12 3 18 A 10 5 18 B 5 2 20 C 4 2 15 A 10 5 18 UFOP ICEA DECSI Dependência Funcional • Dado um estado de uma relação não é possível determinar quais DFs existem • Só sabendo o significado e os relacionamentos entre os atributos • Pode-se afirmar que certa DF não existe • Mostrar a violação da DF PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 36 UFOP ICEA DECSI Referências • Elmasri, R.; Navathe, S. B. (2011). “Fundamentos de dependências funcionais e normalização para banco de dados relacionais” In: Elmasri, R.; Navathe, S. B. Sistemas de Banco de Dados, 6 ed. São Paulo: Pearson, p. 337-363. PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 37
Compartilhar