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
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
Conceitos do Modelo Relacional
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
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
Domínios Atributos Tuplas e Relações
Domínios Atributos Tuplas e Relações
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
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
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
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
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
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
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
Restrições de Chave
Restrições de Chave e sobre Valores NULL
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
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
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
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
Restrições de Integridade Referencial
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
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
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
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
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
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
Top Related