modelo relacional transparências baseadas no capítulo 3 do livro de korth e silberchatz e...
TRANSCRIPT
MODELO RELACIONAL
Transparências baseadas no capítulo 3 do livro de KORTH e SILBERCHATZ e capítulo 7 do livro de ELMASRI e NAVATHE
Resumo
Modelo Relacional
Esquema de uma relação
Domínios
Chaves
Modelo Relacional
O Modelo Relacional é fortemente baseado na teoria dos conjuntos, oferecendo assim uma representação simples e natural da informação. Os primeiros trabalhos de definição do modelo foram lançados em 1970 por E.F.Codd, sendo que a primeira tentativa de implementação do modelo foi realizada na IBM em 1974, através do Sistema R.
Modelo Relacional
O Modelo Relacional é uma teoria, mas nem todos os SGBDs ditos relacionais e disponíveis comercialmente implementam a teoria na sua totalidade.
Esquema de uma relação Relação: normalmente chamada de tabela
nos SGBDs relacionais do mercado. É composta por 2 partes:Cabeçalho: conjunto fixo de atributos, que são as
colunas ou campos da relação. O número de atributos define o grau da relação.
Corpo: conjunto variável de tuplas, que são as linhas da relação. O número de tuplas define a cardinalidade da relação. No exemplo, a relação tem cardinalidade igual a 4
Esquema de uma relação
No exemplo abaixo, temos uma relação de grau 5 e cardinalidade 4:
Código Nome Função Idade Salário
10 Ana Maria Analista 30 1500
20 Paulo Programador 22 900
30 Beatriz Analista 40 2200
40 Leonardo Gerente 45 3500
Esquema de uma relação Nas relações podem ser observadas as
seguintes propriedades:Não existem tuplas duplicadas;A ordem das tuplas é insignificante;A ordem dos atributos é insignificante;Os valores dos atributos são atômicos, sem
grupos repetitivos;Os atributos podem ter valores nulos, sendo
que nulo significa inexistência de valor, diferente, portanto, de zero e branco.
Domínios
Domínio: conjunto de valores a partir do qual um ou mais atributos extraem seus valores.
Os atributos são comparáveis entre si, se e somente se pertencerem a um mesmo domínio.
Domínios
No exemplo da relação de funcionários, poderíamos dizer que o domínio do atributo idade é um número inteiro entre 13 e 70 e o domínio do salário seria um número real entre 100,00 e 10.000,00.
Domínios Domínio é um conceito semântico. Por
exemplo, peso e peça são numéricos, mas têm significado diferente. O mesmo domínio pode ser utilizado múltiplas vezes em uma relação.
Ex: relação Peça (Cod-Peça, Nome, Peso)3 atributos diferentes com 2 domínios apenas
Chaves
Chave Candidata: conjunto de atributos que definem unicamente e minimamente cada tupla de uma relação.
Ex: Empregado (Código, Nome, CPF). Código e CPF são chaves candidatas.
Chaves
Chave Primária (Primary Key): é uma chave escolhida entre as chaves candidatas para identificar a tupla da relação.
Ex: Empregado (Código, Nome, CPF). Código é a chave primária.
Chaves
Chave Alternativa: são as chaves candidatas não escolhidas para chave primária.
Ex: Empregado (Código, Nome, CPF). CPF é a chave alternativa.
Chaves
Chave Estrangeira (Foreign Key): conjunto de atributos de uma relação R1 que constituem chave primária de uma outra relação R2. As chaves estrangeiras funcionam como elo de ligação entre relações.
Chaves Chave estrangeira
É o atributo ou conjunto de atributos de uma relação R1 que constituem chave primária de uma outra relação R2. As chaves estrangeiras funcionam como elo de ligação entre relações.
Ex: Empregado (@Cod-Emp, Nome, Cod-Depto(FK))
Departamento (@Cod-Depto, Nome)
PK/FK X CARDINALIDADE Um-para-Um (1:1)
A PK da entidade que tem o maior “peso” no relacionamento é FK na outra entidade.
Agência
@ CODAGENOMEAGEENDAGE
@ MATRÍCULA NOMGERENTE CODAGE(FK)
11Chefia
PK FK
Gerente
PK/FK X CARDINALIDADEUm-para-Muitos (1:N)
A PK da entidade cuja cardinalidade é 1, é FK na entidade cuja cardinalidade é N.
@CODDEPNOMEDEP
N1Departamento Tem
@MATRÍCULA NOMFUNC ENDFUNCSALFUNCCODDEP (FK)
PK FK
Funcionário
PK/FK X CARDINALIDADE
Muitos-para-Muitos(N:N)
As PKs das entidades são FKs no relacionamento que será implementado fisicamente como uma nova entidade. Normalmente, a concatenação das FKs formarão a PK desta nova entidade.
NNFuncionário ProjetoEquipe
@ CODPRJ (FK)@ MATFUC (FK)
@ CODPRJ NOMPRJ DTAINI DTAFIM
@ MATFUC NOMFUC ENDFUC VALSALFUC
PK FK FK PK
Restrições Restrição de domínio
Especifica que o valor de cada atributo A de uma relação deve ser um valor atômico.
Ex: Atributo Cargo na entidade funcionário possui um único valor
domínio: tabela de cargos
Restrições de chave Tuplas de uma mesma relação não podem ter valores
iguais para todos os seus atributos => Chave Primária
Restrições de Integridade de Entidade Nenhuma chave primária pode ser nulo
Restrições Restrição de Integridade Referencial
Se uma entidade X possui uma chave estrangeira (FK) que corresponde à chave primária (PK) de outra entidade Y, então cada valor da FK da entidade X deve ser igual ao valor da PK da entidade Y e se não existir ser totalmente NULA, ou seja, não possuir valor (Regra de Inclusão).
T1[Fk]=T2[Pk], onde T2 é alguma tupla de R2; ou T1[Fk] é nulo
Na prática, implica que não são permitidos valores de chave estrangeira que não tenham sido cadastrados previamente como chave primária
Restrições Para garantir a integridade a exclusão de um valor de PK da
entidade Y é dependente da existência de ocorrências de FK na entidade X (Regra de Exclusão). Cascade (C): A exclusão de um valor de PK implica
na exclusão dos valores de FKs correspondentes. Restrict (R): A exclusão de um valor de PK só pode
ser efetuada quando não houver valores de FKs correspondentes.
Set Null (N): A exclusão de um valor de PK implica na atualização dos valores de FKs com NULO, para isso a natureza do preenchimento da FK deve ser opcional.
Representação gráfica:
Colocar uma seta apontando da PK para a FK, com a letra correspondente à regra de exclusão.