modelo relacional transparências baseadas no capítulo 3 do livro de korth e silberchatz e...

21
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

Upload: internet

Post on 17-Apr-2015

133 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

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

Page 2: 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

Page 3: 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

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.

Page 4: 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

Modelo Relacional

O Modelo Relacional é uma teoria, mas nem todos os SGBDs ditos relacionais e disponíveis comercialmente implementam a teoria na sua totalidade.

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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.

Page 8: 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

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.

Page 9: 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

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.

Page 10: 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

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

Page 11: 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

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.

Page 12: 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

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.

Page 13: 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

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.

Page 14: 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

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.

Page 15: 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

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)

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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.