Bdm aula 3 - modelo relacional e restrições de integridade
-
Upload
ticianne-darin -
Category
Documents
-
view
8.438 -
download
4
Transcript of Bdm aula 3 - modelo relacional e restrições de integridade
![Page 1: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/1.jpg)
Bancos de Dados
Multimídia
Ticianne Darin
![Page 2: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/2.jpg)
Modelo Relacional e Restrições de
Integridade
![Page 3: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/3.jpg)
Modelo Relacional
• Introduzido pelo pesquisador da IBM E. Codd [1970]
• Fundamentação Teórica sólida
![Page 4: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/4.jpg)
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
![Page 5: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/5.jpg)
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
![Page 6: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/6.jpg)
Conceito de Modelo Relacional
![Page 7: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/7.jpg)
Conceito de Modelo Relacional
Empregado(nome: string, dataNasc.:Date, telefone:Integer )
Nome da Relação
Nome de Atributo
Domínio do
Atributo
![Page 8: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/8.jpg)
Domínios, Atributos, Tuplas
e 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
![Page 9: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/9.jpg)
Domínios, Atributos, Tuplas e
Relaçõ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
![Page 10: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/10.jpg)
Domínios, Atributos, Tuplas
e 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
![Page 11: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/11.jpg)
Domínios, Atributos, Tuplas
e 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))
![Page 12: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/12.jpg)
Domínios, Atributos, Tuplas e
Relaçõ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
![Page 13: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/13.jpg)
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
![Page 14: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/14.jpg)
Características das
Relaçõ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
![Page 15: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/15.jpg)
Características das Relações
![Page 16: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/16.jpg)
Características das
Relaçõ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
![Page 17: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/17.jpg)
Características das
Relaçõ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)
![Page 18: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/18.jpg)
Características das
Relaçõ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
![Page 19: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/19.jpg)
Restrições em Modelo
Relacional
• 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
![Page 20: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/20.jpg)
Restrições em Modelo
Relacional
• 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
![Page 21: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/21.jpg)
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
![Page 22: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/22.jpg)
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
![Page 23: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/23.jpg)
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
![Page 24: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/24.jpg)
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
![Page 25: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/25.jpg)
Restrições de chave
![Page 26: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/26.jpg)
Integridade e Integridade
Referencial
• 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
![Page 27: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/27.jpg)
Integridade Referencial e Chaves
Estrangeiras
• 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
![Page 28: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/28.jpg)
Integridade Referencial e Chaves
Estrangeiras
• Todas as restrições de integridade deverão ser especificadas no esquema de banco de dados relacional
![Page 29: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/29.jpg)
![Page 30: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/30.jpg)
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
![Page 31: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/31.jpg)
Operações de Atualização e
Transaçõ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)
![Page 32: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/32.jpg)
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
![Page 33: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/33.jpg)
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;
![Page 34: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/34.jpg)
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
![Page 35: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/35.jpg)
“Testando” restrições
![Page 36: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/36.jpg)
![Page 37: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/37.jpg)
![Page 38: Bdm aula 3 - modelo relacional e restrições de integridade](https://reader033.fdocuments.net/reader033/viewer/2022052600/5586142dd8b42a8d428b4677/html5/thumbnails/38.jpg)
Até a próxima aula!
Ora, a fé é a certeza daquilo que esperamos e a prova das coisas que não vemos. Hebreus 11:1