Successfully reported this slideshow.

Bdm aula 3 - modelo relacional e restrições de integridade

11,139 views

Published on

Bdm aula 3 - modelo relacional e restrições de integridade

  1. 1. Bancos de DadosMultimídiaTicianne Darin
  2. 2. Modelo Relacional e Restrições deIntegridade
  3. 3. Modelo Relacional• Introduzido pelo pesquisador da IBM E. Codd [1970]• Fundamentação Teórica sólida
  4. 4. Modelo Relacional• Razões do sucesso – Estrutura de dados simples e uniforme • Um banco de dados relacional é um conjunto de Relações • Cada relação é um conjunto de linhas ou tuplas • Cada tupla é uma lista de valores de atributos • Cada valor de atributo é retirado de um domínio – Simplicidade e base matemática
  5. 5. Conceitos de Modelo Relacional• Representa o banco de dados como uma coleção de relações• Tabela de valores – Linha • Representa uma coleção de valores de dados relacionados • Normalmente corresponde a uma entidade ou relacionamento do mundo real • Tupla – Coluna • Como interpretar os valores das linhas • Único tipo de dados
  6. 6. Conceito de Modelo Relacional
  7. 7. Conceito de Modelo Relacional Empregado(nome: string, dataNasc.:Date, telefone:Integer ) Nome de Atributo Nome da Relação Domínio do Atributo
  8. 8. Domínios, Atributos, Tuplase Relações• Domínio D – Conjunto de valores atômicos• Atômico – Cada valor é indivisível• Especificando um domínio – Tipo de dado especificado para cada domínio
  9. 9. Domínios, Atributos, Tuplas eRelações• Esquema Relacional R – Indicado por R(A1, A2, ...,An) – Composto de uma relação R e uma lista de atributos, A1, A2, ..., An• Atributo Ai – Nome de um papel desempenhado por algum domínio D no esquema de relação R• Grau (ou aridade) de uma relação – Número de atributos n desse esquema de relação
  10. 10. Domínios, Atributos, Tuplase Relações• Relação (ou estado de relação) – Conjunto de n-tuplas r = {t1, t2, ..., tm} – Cada n-tupla t • Lista ordenada de n valores t =<v1, v2, ..., vn • Cada valor vi, 1 ≤ i ≤ n, é um elemento de dom(Ai) ou é um valor especial NULL
  11. 11. Domínios, Atributos, Tuplase Relações• Relação (ou estado de relação) r(R) – Relação Matemática de grau n sobre os domínios dom(A1), dom(A2), ..., dom(An) – Subconjunto do produto Cartesiano dos domínios que definem R: • r(R) ⊆ (dom(A1) × dom(A2) × ... × dom(An))
  12. 12. Domínios, Atributos, Tuplas eRelações• Cardinalidade – Número total de valores no domínio• Estado de relação atual – Estado de relação em determinado momento – Reflete apenas as tuplas válidas que representam um estado em particular do mundo real• Nomes de atributo – Indicam diferentes papéis, ou interpretações, do domínio
  13. 13. Características das Relações• Ordenação de tuplas em uma relação – Relação definida como um conjunto de tuplas• Ordem dos valores dentro de uma tupla – A ordem dos atributos e seus valores não é tão importante
  14. 14. Características dasRelações• Definição alternativa de uma relação – Tupla pode ser considerada um conjunto de pares (<atributo>, <valor>)• Usa-se a primeira definição da relação – Os atributos e os valores dentro das tuplas são ordenados – Notação simplificada
  15. 15. Características das Relações
  16. 16. Características dasRelações• Valores nas tuplas – Cada valor em uma tupla é um valor atômico – Atributos multivalorados e compostos não são permitidos – Atributos multivalorados • Precisam ser representados por relações separadas – Atributos compostos • Representados apenas por seus atributos de componentes simples no modelo relacional básico
  17. 17. Características dasRelações• Valores NULL – Representam os valores desconhecidos de atributos ou não se aplicam a uma tupla – Significados para valores NULL • Valor desconhecido • Valor existe mas não está disponível • Atributo não se aplica a esta tupla (valor indefinido)
  18. 18. Características dasRelações• Interpretação (significado) de uma relação – Afirmação • Cada tupla na relação é um fato ou uma instância em particular da afirmação – Predicado • Valores de cada tupla são interpretados como valores que satisfazem o predicado
  19. 19. Restrições em ModeloRelacional• Restrições de Integridade – Restrições sobre os valores reais em um estado do banco de dados – Derivam de regras no minimundo – Restrições inerentes baseadas no modelo ou restrições implícitas
  20. 20. Restrições em ModeloRelacional• Restrições baseadas em esquemas ou restrições explícitas – Podem ser expressas diretamente nos esquemas do modelo de dados• Restrições baseadas na aplicação – Expressas e impostas pelos programas de aplicação
  21. 21. Restrições de Domínio• Normalmente incluem: – Dados numéricos padrão para inteiros e números reais – Caracteres – Booleanos – Cadeia de caracteres de tamanho fixo – Cadeia de caracteres de tamanho variável – Data, hora, marcador de tempo – Moeda – Outros tipos de dados especiais
  22. 22. Restrições de chave• Duas tuplas não podem ter a mesma combinação de valores para todos os seus atributos.• Superchave – Duas tuplas distintas em qualquer estado r de R não podem ter o mesmo valor de SCh• Chave – Superchave de R
  23. 23. Chaves• A remoção de qualquer atributo A de Ch deixa um conjunto de atributos Ch’ que não é mais uma superchave de R – Duas tuplas distintas não podem ter valores idênticos para (todos) os atributos na chave. – Não se pode remover nenhum atributo e ainda manter uma restrição de exclusividade na condição
  24. 24. Chaves• Chave candidata – Um esquema de relação pode ter mais de uma chave• Chave primária da relação – Designada entre as chaves candidatas• Outras chaves candidatas são designadas como chaves únicas
  25. 25. Restrições de chave
  26. 26. Integridade e IntegridadeReferencial• Restrição de integridade de entidade – Nenhum valor de chave primária pode ser NULL• Restrição de Integridade Referencial – Especificada entre duas relações (chave estrangeira) – Mantém a consistência entre tuplas nas duas relações
  27. 27. Integridade Referencial e ChavesEstrangeiras• Regras de chaves estrangeiras: – Os atributos em ChE têm o mesmo domínio (ou domínios) que os atributos de chave primária ChP – Um valor de ChE em uma tupla t1 do estado atual r1(R1) ocorre como um valor de ChE para alguma tupla t2 no estado atual r2(R2) ou é NULL
  28. 28. Integridade Referencial e ChavesEstrangeiras• Todas as restrições de integridade deverão ser especificadas no esquema de banco de dados relacional
  29. 29. Outros Tipos de Restrições• Restrições de integridade semântica – Mecanismos chamados triggers (gatilhos) e assertions (afirmações) são utilizados – É mais comum verificar esses tipos de restrições em programas de aplicação
  30. 30. Operações de Atualização eTransações• As operações do modelo relacional podem ser categorizadas em recuperações e atualizações.• Operações básicas que podem mudar os estados das relações no banco de dados: – Inserir – Excluir – Alterar (ou Modificar)
  31. 31. A Operação Inserir• Oferece uma lista de valores de atributo para que uma nova tupla t possa ser inserida em uma relação R• Pode violar qualquer um dos quatro tipos de restrições – A opção padrão é rejeitar a inserção
  32. 32. A Operação Excluir• Pode violar apenas a integridade referencial – Restrict • Rejeita a Exclusão – Cascade • Propaga a exclusão excluindo tuplas que referenciam aquela que está sendo excluída – Set null ou set default • Modifica os valores de atributo que referenciam a causa da violação;
  33. 33. A Operação Alterar• Necessário especificar uma condição sobre os atributos da relação – Selecionar a tupla (ou tuplas) a serem modificadas• Em geral não causa problemas• Alterando uma chave primária/estrangeira – Questões semelhantes ao Inserir/Excluir
  34. 34. “Testando” restrições
  35. 35. Ora, a fé é a certeza daquilo queesperamos e a prova das coisas quenão vemos. Hebreus 11:1 Até a próxima aula!

×