Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Professores: Geraldo Xexéo Geraldo Zimbrão Conteúdo: Modelo Relacional: Chaves e Restrições Aula 012 2 Sumário Abordagem Prática Abordagem Acadêmica 3 Identificação de Linhas A identidade de cada linha de uma tabela é definida pelos valores dos campos Não existem, no modelo relacional, duas linhas onde todos os campos tenham o mesmo valor (campo a campo) Pois essas linhas teriam a mesma identidade, isso é, seriam a mesma linha É possível quebrar essa regra em implementações específicas de SGBD 4 Chave Uma Chave é um conjunto de campos cujos valores identificam unicamente uma linha em uma tabela 5 Tipos de Chave Chave Candidata Chave Primária Chava Alternativa Chave Estrangeira 6 Chave Candidata Uma Chave Candidata é uma coluna ou conjunto de colunas que pode ser usado para diferenciar uma linha de todas as outras em uma tabela Identificar as linhas Pelo menos uma Chave Candidata existe sempre Todos os campos da tabela 7 Chave Primária A Chave Primária é a coluna ou combinação de colunas escolhido como referência em uma tabela para diferenciar uma linha das demais A Chave Primária é escolhida entre as Chaves Candidatas pelo Projetista do Banco da Dados A escolha é obrigatória 8 Chave Alternativa Uma Chave Alternativa é uma Chave Candidata que não foi escolhida para ser Chave Primária As Chaves Alternativas podem ser indicadas ou não, mas recomenda-se que sejam indicadas Porém, em muitos BDs isso só pode ser feito definindo-se um índice, o que afeta o desempenho 9 Como Escolher? A escolha da Chave Primária é uma escolha obrigatória e também essencial Veremos que as Chaves Primárias são usadas como Chave Estrangeira, e isso é um fator importante na escolha Então, melhor esperarmos um pouco... 10 Exemplo Chaves Candidatas: Nome, CPF, Endereço Nome não é uma boa chave primária Endereço? E se dois funcionários morarem juntos? Chave Primária: CPF 11 Chave Estrangeira Uma Chave Estrangeira é uma coluna ou conjunto de colunas de uma tabela que são Chave Primária em alguma tabela "Alguma" pode ser a mesma tabela As Chaves Estrangeiras permitem a implementação de relacionamentos em um BD relacional Chaves Estrangeiras implicam em Restrições 12 Chave Estrangeira: Exemplo 13 Não Confunda Relação : tabela Relacionamento : conceito do modelo ER 14 Restrições Restrições de Integridade Restrições de Chave Estrangeira 15 Restrição de Integridade Chaves definem restrições de integridade No caso da Chave Primária, a integridade é a unicidade A princípio, um BD relacional não tem como saber nada em relação a unicidade dos valores A definição da Chave Primária define a restrição de integridade 16 Tipos de Restrições de Integridade Integridade de Domínio Integridade de Vazio Integridade de Chave Integridade Referencial 17 Integridade de Domínio O valor de um campo deve pertencer ao domínio 18 Integridade de Vazio Para cada campo, deve ser definido se ele pode assumir o valor nulo Implica em a coluna ser obrigatória (sem nulos) ou opcional (admitindo nulos) 19 Integridade de Chave Trata-se da definição das chaves primárias e alternativas Indicam colunas e conjuntos de colunas que devem ter valores únicos 20 Integridade Referencial Indicam que os valores dos campos em uma Chave Estrangeira devem aparecer na Chave Primária de uma tabela referenciada 21 Restrições impostas pela Chave Estrangeira Na inclusão e alteração de uma linha na tabela que contém a Chave Estrangeira Deve ser garantido que o valor da Chave Estrangeira seja uma Chave Primária na tabela referenciada Na alteração e exclusão de uma linha na tabela referenciada Deve ser garantido que o valor da Chave Primária nessa linha não apareça como Chave Estrangeira 22 Formalizando Restrições do Modelo Relacional Restrições de Domínio Restrições de Integridade do Esquema Relacional Restrições de Chave 23 Notação 24 Notação 25 Notação Q, R, S serão nomes de relações q, r, s serão nomes de estados de relações t, u, v serão nomes de tuplas 26 Notação Um nome (como ALUNO) indicará o conjunto atual de tuplas em uma relação (a instância ou estado atual) Uma descrição como ALUNO(Nome,Nota) indicará um esquema de relação 27 Restrições de Domínio A mais simples Cada valor de um atributo A precisa ser um valor atômico daquele atributo Já visto anteriormente Ou nulo 28 Restrições de Chave Uma relação é um conjunto de tuplas Tuplas são diferentes Em um conjunto, todos os elementos são diferentes (definição de conjunto) Nenhum par de tuplas pode ter a mesma comibão de valores para todos os seus atributos Normalmente existem outros sub-conjuntos de atributos em um esquema de relação R com a propriedade que nenhuma instância r de R possui a mesma combinação de valores para esses atributos Pode ser apenas um atributo 29 Restrições de Chave 30 Super Chave Uma super chave de R é um conjunto de atributos para o qual não é possível encontrar duas tuplas com os mesmos valores para todos os atributos Toda relação tem pelo menos uma super-chave O conjunto de todos os atributos 31 Chave Uma Chave C de uma Relação R é uma Super Chave de R com a seguinte propriedade adicional Removendo qualquer atributo A do conjunto de atributos que define C, o conjunto resultante não é uma Super-Chave de R Uma Chave é uma Super-Chave mínima, sem redundância 32 Chave Candidata - Chave Primária Todas as Chaves são consideradas Chaves Candidatas Uma Chave Candidata é designada como Chave Primária da Relação (PK, de Primary Key) A escolha é arbitrária, porém favorecemos as menores Chaves A Chave Primária é usada como identificador da relação 33 Esquema de BD Relacional 34 Um Exemplo: Esquema de BD Relacional 35 Instância de um BD Relacional 36 Empregado 37 Departamento Local de Departamento 38 Projeto 39 Horas Trabalhadas 40 Dependentes 41 Restrições de Integridade do Esquema Relacional Integridade de Entidade Integridade Referencial Chaves Externas 42 Integridade de Entidade A restrição de integridade de entidade diz que nenhum valor de chave primária pode ser nulo Para ser possível identificar a entidade 43 Restrição de Integridade Referencial A restrição de integridade referencial é especificada entre duas relações Mantém a consistência Ela diz que uma tupla de uma relação que possui uma chave estrangeira que referencia outra relação deve referenciar uma tupla existente Precisamos definir formalmente Chaves Estrangeiras 44 Chaves Estrangeiras 45 FK: Regra 1 46 FK: Regra 2 47 Lembrem 48 Restrições de Integridade Referencial As relações de integridade vêm da existência de relacionamentos entre as entidades representadas pelos esquemas de relações Lembrem do modelo de Entidades e Relacionamentos As restrições de integridade referencial podem ser indicadas como setas 49 Um Exemplo: Esquema BDR 50 Conclusão Chaves são identificadores Relacionamentos são mostrados como Chaves Estrangeiras Ainda existem outras restrições, conhecidas como restrições semânticas, e que serão tratadas bem mais tarde no curso
Compartilhar