27
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Embed Size (px)

Citation preview

Page 1: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Sistemas de Informação Prof. Me. Everton C. Tetila

Modelo de dados relacional

Banco de Dados I

Page 2: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Agenda

1. Conceitos do Modelo Relacional1. Conceitos do Modelo Relacional

3. Notação do Modelo Relacional3. Notação do Modelo Relacional

4. Restrições em Modelo Relacional4. Restrições em Modelo Relacional

5. Operações Transações e Violações de Restrição5. Operações Transações e Violações de Restrição

2. Domínios Atributos Tuplas e Relações2. Domínios Atributos Tuplas e Relações

Page 3: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Conceitos do Modelo Relacional

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 Um fato que normalmente corresponde a uma entidade

ou relacionamento do mundo real Nomes de tabelas e de colunas

Especificam como nterpretar o significado dos valores em cada linha

Page 4: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Conceitos do Modelo Relacional

Page 5: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Domínios Atributos Tuplas e Relações

Domínio D Conjunto de valores possíveis em cada coluna

Esquema Relacional R Indicado por R(A1, A2, ...,An)

É composto de um nome de relação R e uma lista de atributos, A1, A2, ..., An

ALUNO(Nome, Cpf, Datanasc, Endereco, Sexo)

Grau (ou aridade) de uma relação Número de atributos n desse esquema de relação

Page 6: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Relação (ou estado de relação) r 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

Domínios Atributos Tuplas e Relações

Page 7: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Domínios Atributos Tuplas e Relações

Page 8: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Domínios Atributos Tuplas e Relações

Page 9: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Uma Relação (ou estado de relação) r(R) é uma relação matemática de grau n sobre os domínios dom(A1), dom(A2), …, dom(An), que é um subconjunto do produto carteziano dos domínios que definem R: r(R) = (dom(A1) x dom(A1) x … x dom(An))

Domínios Atributos Tuplas e Relações

Page 10: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Esquema de relação R de grau n Indicado por R(A1, A2, ..., An)

Letras maiúsculas Q, R, S Indicam nomes de relação

Letras minúsculas q, r, s Indicam estados de relação

Letras t, u, v Indicam tuplas

Notação do Modelo Relacional

Page 11: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Nome do esquema de relação: ALUNO Indica o conjunto atual de tuplas nessa relação

Notação: ALUNO(Nome, CPF, ...) Refere-se apenas ao esquema de relação

Atributo A pode ser qualificado com o nome de relação R ao qual pertence Usando a notação de ponto R.A

Notação do Modelo Relacional

Page 12: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Restrições inerentes baseadas no modelo ou restrições implícitas Inerente ao modelo de dados

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 ou restrições

semânticas ou regras de negócios Não podem ser diretamente expressas nos esquemas Expressas e impostas pelos programas de aplicação

Restrições em Modelo Relacional

Page 13: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Restrições baseadas em esquemas incluem: Restrições de domínio Restrições de chave Restrições sobre NULLs Restrições de integridade de entidade Restrições de integridade referencial

Restrições em Modelo Relacional

Page 14: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Dentro de cada tupla, o valor de cada atributo A deve ser um valor indivisível do domínio dom(A)

Os tipos de dados associados aos domínios normalmente incluem: Dados numéricos padrão para inteiros e reais Caracteres Booleanos Cadeia de caracteres de tamanho fixo e variável Data, hora, moeda Subintervalo, enumeração Outros tipos de dados especiais

Restrições de Domínio

Page 15: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

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 mínima• não se pode remover nenhum atributo e ainda

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

Restrições de Chave

Restrições de Chave e sobre Valores NULL

Page 16: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Restrições de Chave

Restrições de Chave e sobre Valores NULL

Page 17: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

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

Restrições de Chave

Restrições de Chave e sobre Valores NULL

Page 18: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Restrições de Chave

Restrições de Chave e sobre Valores NULL

Restrições sobre Valores NULL Especifica se valores NULL são permitidos ou não

Page 19: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Restrição de integridade de entidade Nenhum valor de chave primária pode ser NULL

Esquema de banco de dados relacional S Conjunto de esquemas de relação S = {R1, R2, ..., Rm}

Conjunto de restrições de integridade RI Estado de banco de dados relacional

Conjunto de estados de relação DB = {r1, r2, ..., rm}

Restrições de Integridade de Entidade

Page 20: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Restrição de Integridade Referencial Mantém a consistência entre tuplas nas duas relações

Regras de chaves estrangeiras: Um valor de ChP 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

Sintaxe: FOREIGN KEY (nome_atributo_ChE) REFERENCES

NOME_ESQUEMA_RELACAO (nome_atributo_ChP);

Restrições de Integridade Referencial

Page 21: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Restrições de Integridade Referencial

Page 22: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

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

Outros Tipos de Restrições

Page 23: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

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)

Operações de Atualização

Page 24: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

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 tipos de restrições Se uma inserção violar uma ou mais restrições

A opção padrão é rejeitar a inserção

Operações de Atualização

Page 25: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

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

chaves estrangeiras de outras tuplas 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;

A Operação Excluir

Operações de Atualização

Page 26: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Necessário especificar uma condição sobre os atributos da relação Selecionar a tupla (ou tuplas) a serem modificadas

Se o atributo não faz parte de uma chave primária nem de uma chave estrangeira Em geral não causa problemas

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

A Operação Alterar

Operações de Atualização

Page 27: Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I

Transação Programa em execução Inclui algumas operações de banco de dados Precisa deixar o banco de dados em um estado

válido ou coerente

Sistema de processamento de transação On-line (OLTP) Executa transações que atingem taxas de centenas

por segundo

O Conceito de Transação