Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

11,312 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!

×