Slide 1:ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 1 Introdução ao Modelo Relacional(Parte 1) ISI – Introdução aos Sistemas de Informação Semestre de Verão 2004/2005
ISEL-DEETC-SSIC
Lara Santos
http://www.deetc.isel.ipl.pt/sinfoconhecimento/isi/
O Particular e o Geral :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 2 O Particular e o Geral Colias philodice
Euchloe olympia
Calephelis virginiensis Plutão
Terra
Venús Audi A4
Fiat Punto
BMW 530d José
Manuel
Ana Borboleta Planeta Carro Funcionário
Proprietário ABSTRAÇÃO Depende do sistema/contexto Particular Geral
Entidade :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 3 Entidade Concretização da abstracção de um conjunto de conceitos/objectos que partilham um conjunto de caracterÃsticas Carro CaracterÃsticas Comuns Nº Portas
Cilindrada
Potencia
Consumo
... Atributos das Entidades
Entidade: contexto :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 4 Entidade: contexto Dependendo do problema, as entidades podem ter diferentes atributos (apenas aqueles que são relevantes) Carro Matricula
Cilindrada
Cor
Proprietário
... Carro Cilindrada
Potencia
Consumo
Marca
... Para a DGV Para uma revista auto
Associação :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 5 Associação Carro Matricula
Cilindrada
Cor
Proprietário
... Proprietário Nome
BI
NC
... As entidades podem estar associadas entre si
Modelo Relacional :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 6 Modelo Relacional Proposto por E.F. Codd em 1970
Forte fundamento teórico – Teoria dos conjuntos
Baseia-se na utilização de conceitos abstractos – Relações – e nas manipulações entre estes
Define as operações que podem ser efectuadas sobre relações
Modelo abstracto dos dados independente do modelo fÃsico
MR: elementos principais :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 7 MR: elementos principais Atributo
DomÃnio
Esquema de relação
Relação Elementos principais do modelo relacional Carro Matricula
Cilindrada
Cor
Proprietario Atributo Esquema da relação Relação DomÃnio
MR: DomÃnio :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 8 MR: DomÃnio O conjunto possÃvel de valores que cada atributo pode tomar
Cada um dos valores é obrigatoriamente atómico (indivisÃvel) para cada atributo
O DomÃnio tem não só associado um conjunto de valores possÃveis mas também o tipo desses valores (String, Inteiro, etc.) DomÃnio DomÃnio Valores possÃveis: [Branco, Preto,Cinzento] Conjunto de todas as matrÃculas
Conjunto de todas as cilindradas
Conjunto de todas as cores
Conjunto de todos os proprietários Para o exemplo
MR: DomÃnio - atomicidade :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 9 MR: DomÃnio - atomicidade A indivisibilidade de cada atributo depende do contexto do problema que se quer tratar. No entanto, um atributo é sempre constituÃdo por um elemento atómico dentro do domÃnio em causa.
Existe um valor comum, possÃvel em todos os domÃnios – NULL – que indica a ausência de valor. DomÃnio Errado Correcto
MR: Esquema de Relação :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 10 MR: Esquema de Relação É utilizado para descrever uma relação
Um esquema de relação R(A1,A2,...,An) é constituÃdo por:
O nome da relação, R
Uma lista de atributos que fazem parte da relação, A1,A2,...,An
Cada atributo representa o papel que um determinado domÃnio tem na relação Esquema de relação Definição da relação :
CARRO (Matricula , Cilindrada , Cor , Proprietario) Carro Matricula
Cilindrada
Cor
Proprietario
MR: Relação :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 11 A relação r(CARRO) consiste no conjunto:
r{ ;
;
} MR: Relação Uma relação r de um esquema R(A1,A2,...,An) é denotada da forma r(R) e é constituÃda por:
um conjunto de tuplos onde r={t1,t2,...,tn};
Cada tuplo ti é uma lista ordenada (va1,va2,...,van)
Cada valor va1 pertence ao domÃnio do atributo Ai
n é a cardinalidade da relação (número de tuplos da relação) Relação Tuplo
MR: Relação e Tuplos :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 12 MR: Relação e Tuplos Como uma relação é um conjunto de tuplos, pela própria definição de conjunto, a sua ordem não é relevante Relação e tuplos São equivalentes
MR: Grau e Cardinalidade :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 13 MR: Grau e Cardinalidade Designa-se de grau o número de atributos que um esquema de relação possui
Designa-se de cardinalidade o número de tuplos que uma relação contém Grau e Cardinalidade Grau Carro Matricula
Cilindrada
Cor
Proprietario Cardinalidade Grau de CARRO = 4
Cardinalidade de r(CARRO) = 3
MR: resumo :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 14 MR: resumo Resumindo Tuplos Atributos Cardinalidade Grau DomÃnios ... ... ... ... Alfanuméricos Alfanuméricos Inteiros Inteiros
MR: Superchave :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 15 MR: Superchave Superchave Num conjunto todos os elementos são distintos uns dos outros
Uma relação é um conjunto constituÃdo por tuplos
Os tuplos têm de ser distintos uns dos outros SUPERCHAVE: Conjunto de um ou mais atributos, que juntos, identificam univocamente um tuplo na relação No limite, a associação de todos os atributos de uma relação constituem uma superchave
A superchave pode ter atributos redundantes
MR: Chave :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 16 MR: Chave Chave CHAVE: Retirando os atributos redundantes da superchave temos aquilo a que se designa chave de um esquema de relação Superchave esquema CARRO =
{Matricula, Cilindrada, Cor, Proprietario} Superchave do esquema Proprietario =
{Nome, BI, NC} Chave esquema CARRO = {Matricula} Chave do esquema Proprietario = {BI},{NC}
MR: Chave Candidata :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 17 MR: Chave Candidata Esquema CARRO =
{Matricula,NumeroMotor, Cilindrada, Cor, Proprietario} Chave Candidata Considerando o esquema CARRO definido da seguinte forma: Sabendo que cada para cada carro
Existe uma e só uma matricula
Existe um e só um número de motor Existem duas chaves candidatas:
Matricula
NumeroMotor Ambas identificam univocamente um carro CHAVE CANDIDATA: Cada uma das chaves de um esquema de relação é uma chave candidata
MR: Chave Primária :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 18 MR: Chave Primária Chave Primária Consiste na chave escolhida entres as chaves candidatas e que passará a identificar os tuplos da relação
Quando existem mais que uma chave candidata, é escolhida uma delas recorrendo a algumas regras práticas, sendo escolhida a que:
Tiver um maior significado na sistema
Tiver menos atributos No esquema CARRO : Se o sistema fosse o de uma gestão de um parque automóvel, a escolha da chave primária recaia sobre o atributo Matricula
MR: Chaves - convenção :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 19 MR: Chaves - convenção Chaves – convenção No esquema de relação, é prática comum sublinhar os atributos que pertencem à chave primária Exemplo: CARRO(Matricula, NumeroMotor, Cilindrada, Cor, Proprietario ) Exemplo: PROPRIETARIO( Nome, BI, NC ) Pode também colocar-se o sufixo [AK] nas chaves candidatas, exceptuando a chave primária (AK= Alternative Key) Exemplo:
CARRO( Matricula, NumeroMotor[AK], Cilindrada, Cor, Proprietario) Exemplo: PROPRIETARIO( Nome , BI , NC[AK] )
MR: Chave Estrangeira :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 20 MR: Chave Estrangeira Chave Estrangeira Consiste num ou mais atributos que são chave primária numa outra relação. É usada para definir associações entre relações No esquema CARRO : o atributo proprietário é uma chave estrangeira para a relação PROPRIETARIO. Desta forma consegue-se identificar o proprietário de cada carro
Existe uma ligação de cada um dos tuplos de CARRO a um dos tuplos de PROPRIETARIO
MR: Restrições de Integridade :ISI - Sem. Verão 04/05 ISEL-DEETC-SSIC - Lara Santos [adapt. ISEL-DEETC-SSIC- ND] Introdução Modelo Relacional (Parte 1) 21 MR: Restrições de Integridade Restrições de integridade Consistem em condições impostas ao Esquema Relacional
Restringem os dados que podem existir nas instâncias da base de Dados
São especificadas quando o esquema relacional é definido
São verificadas sempre que qualquer relação é alterada Integridade de Entidades
Integridade Referencial
Integridade de DomÃnio
Integridade de Colunas
Integridade de Utilizador Restrições a considerar (ver Parte 2 do Modelo Relacional)