[CEFETMG][BD] Aula 2 - Modelo Relacional

19
Modelo Relacional Herbert Rausch Fernandes Última atualização: 26/02/2015

Transcript of [CEFETMG][BD] Aula 2 - Modelo Relacional

Page 1: [CEFETMG][BD] Aula 2 - Modelo Relacional

Modelo Relacional

Herbert Rausch Fernandes

Última atualização: 26/02/2015

Page 2: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos - Esquema de Banco de Dados

Descrição das tabelas e atributos.

Fonte: Sistemas de Banco de Dados. Elmasri e Navathe. 6ª edição.

Page 3: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos

Fonte: Sistemas de Banco de Dados. Elmasri e Navathe. 6ª edição.

Page 4: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos - Domínio

● Domínio○ Conjunto de valores atômicos

● Atômico○ Cada valor é indivisível

Page 5: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos - Domínio

● 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 6: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos - NULL

● Representam os valores de atributos que podem ser desconhecidos 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 (também

conhecido como valor indefinido)

Page 7: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos - Chaves

● Duas tuplas não podem ter a mesma combinação de valores para todos os seus atributos.

Uma chave satisfaz duas propriedades:

● Duas tuplas distintas em qualquer estado da relação não podem ter valores idênticos para (todos) os atributos na chave.

● Superchave mínima○ não se pode remover nenhum atributo e ainda

manter uma restrição de exclusividade na condição

Page 8: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos - Chaves

Fonte: Sistemas de Banco de Dados. Elmasri e Navathe. 6ª edição.

Page 9: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos - 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○ Atributo sublinhado

● Outras chaves candidatas são designadas como chaves únicas

Page 10: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos - Chaves

Fonte: Sistemas de Banco de Dados. Elmasri e Navathe. 6ª edição.

Page 11: [CEFETMG][BD] Aula 2 - Modelo Relacional

Alguns Conceitos - Chaves

Nome de uma pessoa é uma chave candidata?

Page 12: [CEFETMG][BD] Aula 2 - Modelo Relacional

Integridade de Chave

● 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○ Mantém a consistência entre tuplas nas duas

relações

Page 13: [CEFETMG][BD] Aula 2 - Modelo Relacional

Integridade de Chave

Fonte: Sistemas de Banco de Dados. Elmasri e Navathe. 6ª edição.

Page 14: [CEFETMG][BD] Aula 2 - Modelo Relacional

Integridade de Chave

Fonte: Sistemas de Banco de Dados. Elmasri e Navathe. 6ª edição.

Page 15: [CEFETMG][BD] Aula 2 - Modelo Relacional

Integridade de Chave

Fonte: Sistemas de Banco de Dados. Elmasri e Navathe. 6ª edição.

Page 16: [CEFETMG][BD] Aula 2 - Modelo Relacional

Integridade de Chave

Fonte: Sistemas de Banco de Dados. Elmasri e Navathe. 6ª edição.

Page 17: [CEFETMG][BD] Aula 2 - Modelo Relacional

Violação de Integridade - Inserção de tupla

1. Inserir valores repetidos, ou NULL, para as chaves;2. Inserir valores em chave estrangeira inválido;

● Se uma inserção violar uma ou mais restrições○ A opção padrão é rejeitar a inserção

Page 18: [CEFETMG][BD] Aula 2 - Modelo Relacional

Violação de Integridade - Remoção de tupla

● Pode violar apenas a integridade referencial○ Se a tupla que está sendo excluída for referenciada

por chaves estrangeiras de outras tuplasRestrictRejeita a Exclusão

CascadePropaga a exclusão excluindo tuplas que referenciam aquela que está sendo excluída

Set null ou set defaultModifica os valores de atributo que referenciam a causa da violação;

Page 19: [CEFETMG][BD] Aula 2 - Modelo Relacional

Violação de Integridade - Atualização de tupla

● Em geral não causa problemas

● Alterando uma chave primária/estrangeira○ Questões semelhantes ao Inserir/Excluir