MODELO RELACIONAL Transparências baseadas no capítulo 3 do livro de KORTH e SILBERCHATZ e...

Post on 17-Apr-2015

134 views 1 download

Transcript of MODELO RELACIONAL Transparências baseadas no capítulo 3 do livro de KORTH e SILBERCHATZ e...

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.