Escolar Documentos
Profissional Documentos
Cultura Documentos
O Modelo Relacional
O Modelo Relacional Origem – foi proposto por E.F.Codd em 1970 num trabalho
intitulado “Um modelo relacional de dados para um grande
banco de dados partilhados”
• Origem do modelo relacional
Hoje é aceite como base em sistemas de base de dados.
• Objectivos
Objectivos –
• Terminologia
• permitir alto grau de independência de dados;
• Regras de integridade • providenciar vasto campo para tratar com problemas de
consistência e redundância, usando-se o conceito de
• Vistas
normalização;
• permitir a expansão de linguagens de manipulação de
dados.
1 2
1
9/18/2022
Terminologia Terminologia
O modelo relacional baseia-se no conceito matemático de relação Relações matemáticas (revisão)
que é fisicamente representada por uma tabela
Estrutura do modelo relacional Tendo dois conjuntos D1 e D2, onde D1 = {2,4} e D2 = {1,3,5}.
Relação é uma tabela com linhas e colunas (fisicamente, ficheiro) O Produto Cartesiano escreve-se D1xD2, é o conjunto de todos os pares
ordenados tal que o primeiro elemento pertence a D1 e o segundo elemento
Atributo é uma coluna de uma relação (fisicamente, campo) pertence a D2:
D1xD2 = {(2,1), (2,3), (2,5), (4,1), (4,3), (4,5)}
Domínio é o conjunto de valores permitidos para um ou mais atributos
Qualquer subconjunto deste Produto Cartesiano é uma relação.
Tupla é uma linha de uma relação (fisicamente, registo) Exemplo: R = {(2,1), (4,1)}
Grau é o número de atributos de uma relação
Podemos generalizar, dizendo:
Cardinalidade é o número de tuplas de uma relação
D1xD2xD3x ...x Dn = {(d1,d2, ..., dn) | d1 D1, d2 D2, ..., dn Dn}
Base de dados relacional é uma colecção de relações normalizadas
3 4
2
9/18/2022
Terminologia Terminologia
Relações em base de dados
Aplicando este conceito a base de dados, temos: Propriedades das relações:
Esquema relacional é um conjunto de pares de atributos e domínios • A relação tem um nome que é distinto de todas as relações;
• Cada célula da relação contém exactamente um valor atómico (único);
Sejam A1, A2, ..., An atributos com domínios D1, D2, ..., Dn; então, o conjunto
• Cada atributo tem um nome distinto;
{A1:D1, A2:D2, ..., An:Dn} é uma relação esquema
• Os valores de um atributo são todos do mesmo domínio;
Uma relação R deste esquema é um conjunto de n tuplas:
• A ordem dos atributos não tem significado;
(A1:d1, A2:d2, ..., An:dn) onde d1 D1, d2 D2, ... dn Dn
• Cada tupla é distinta; não há tuplas duplicadas;
Cada elemento na tupla é constituído por um atributo e seu valor
• A ordem das tuplas não tem significado, teoricamente; na prática a
ordem pode afectar a eficiência no acesso.
Quando escrevemos uma relação como uma tabela, listamos os atributos no
cabeçalho das colunas e escrevemos as tuplas como linhas.
Uma tabela é uma representação física de uma relação, onde as colunas são os
atributos e as linhas são astuplas
5 6
3
9/18/2022
Chave candidata – Uma superchave tal que nenhum subconjunto é PropertyForRent (propertyNo, street, city, postcode, type, rooms, rent, ownerNo,
uma superchave dentro da relação staffNo, branchNo)
Client (clientNo, fName, IName, telNo, prefType, maxRent, eMail)
Chave primária – A chave candidata que é seleccionada para
identificar unicamente tuplas PrivateOwner (ownerNo, fName, IName, address, telNo, eMail,
password)
Chave estrangeira – Um atributo ou conjunto de atributos numa Viewing (clientNo, propertyNo, viewDate, comment)
relação que é chave candidata noutra relação
Registration (clientNo, branchNo, staffNo, dateJoined)
7 8
4
9/18/2022
Regras de Integridade
Vistas
Conceito de NULL Na arquitectura ANSI-SPARC descrevemos uma vista externa
Nulls - representa um valor para um atributo que é desconhecido ou como a estrutura da base de dados como aparece a um utilizador.
não é aplicável a essa tupla
Uma vista pode ser construída usando as operações de álgebra
relacional.
Regras de Integridade – são duas
No modelo relacional vista não é o modelo externo completo, mas
Integridade entidade - numa relação base, nenhum atributo de uma chave uma relação virtual – uma relação que não existe propriamente,
primária pode ser null
mas é dinamicamente derivada de uma relação base.
Integridade referencial - Se uma chave estrangeira existe numa relação,
ou o valor da chave estrangeira é o valor da chave candidata de alguma tupla Uma vista é o resultado dinâmico de uma ou mais operações
na relação mãe ou o valor é null relacionais sobre a relação base para produzir uma outra relação.
Uma vista é uma relação virtual que não existe na base de dados,
Outras Restrições mas é produzida a pedido de um utilizador no momento em que
Restrições - regras adicionais especificadas pelos utilizadores ou executa a operação.
administradores de base de dados
Dra. Otília Fernandes da Graça
Dra. Otília Fernandes da Graça
9 10
5
9/18/2022
11 12
6
9/18/2022
Questões de revisão
1. Discuta cada um dos seguintes conceitos no context do modelo
relacional: (a) relação (b) atributo (c) domínio (d) tupla (e)
instância numa base de dados (f) grau (g) cardinalidade.
2. Descreva o realcionamento entre relações matemáticas e
relações no modelo relacional,
3. Quais as propriedades das relações
4. Discuta a diferença entre chave candidate e chave primária.
5. Explique o significado de chave estrangeira. Como as chaves
estrangeiras numa relação se relacionam com chaves
candidatas? Dê exemplos.
6. Defina as duas principais regras de integridade do modelo
relacional
7. Defina vistas e diga a importância delas no contexto do modelo
relacional.
13