Você está na página 1de 7

9/18/2022

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.

Dra. Otília Fernandes da Graça Dra. Otília Fernandes da Graça

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

Dra. Otília Fernandes da Graça Dra. Otília Fernandes da Graça

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

Dra. Otília Fernandes da Graça Dra. Otília Fernandes da Graça

5 6

3
9/18/2022

Chaves Esquema relacional de base de dados


Uma base de dados relacional consiste de qualquer número de relações.
Superchave – Um atributo ou um conjunto de atributos que, unicamente, Branch (branchNo, street, city, postcode)
identificam uma tupla numa relação
Staff (staffNo, fName, IName, position, sex, DOB, salary, branchNo)

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)

O modelo conceptual ou esquema conceptual é o conjunto de todos os esquemas


para a base de dados.

Dra. Otília Fernandes da Graça Dra. Otília Fernandes da Graça

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

Vistas Quando um SGBD é Relacional?


Hoje existem muitos produtos que dizem ser base de dados relacional, por
Para que servem as vistas? satisfazerem as mais importantes características do modelo relacional.
- É um poderoso e flexível mecanismo de segurança para De acordo com Date, existem três principais partes no modelo relacional:
esconder partes de uma base de dados de certos utilizadores; • estrutura de dados
- Permite os utilizadores acederem aos dados da forma que o • manipulação de dados
desejam, de modo que os mesmos dados podem ser acedidos por
• integridade de dados.
diferente utilizadores de diferentes maneiras;
Teoricamente, é possível medir se uma base de dados é de facto relacional.
- Pode simplificar operações complexas sobre as relações base. Um SGBD é relacional se satisfaz as regras
estrutura de dados
Actualizações de vistas
manipulação de dados
Todas as alterações na relaçãobase devem ser imediatamentes
reflectidas em todas as vistas. integridade de dados
independência de dados
O contrário pode acontecer sobre determinadas restrições.
Dra. Otília Fernandes da Graça Dra. Otília Fernandes da Graça

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

Você também pode gostar