Buscar

Aula2-Modelo de dados relacional

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Sistemas de Informação
Prof. Me. Everton C. Tetila
Modelo de dados relacional
Banco de Dados I
*
*
Agenda
1. Conceitos do Modelo Relacional
3. Notação do Modelo Relacional
4. Restrições em Modelo Relacional
5. Operações Transações e Violações de Restrição
2. 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 interpretar 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 um 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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais