Você está na página 1de 21

UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A

DISTANCIA (IED)

Modelo Relacional

Conteúdos

 Conceito de modelo relacional


o Domínio
o Atributos
o Tuplas
o Relações
o Entidades
 Restrições em modelo relacional
o Restrições de domínio
o Restrições de chave
o Restrições sobre valores NULL
 BD relacional e esquemas de BD relacional
o Integridade
o Integridade referencial
o Chaves estrangeiras
o Outros tipos de chaves
 Modelo Entidade Relacionamento MER

Introdução
Este tópico é dos mais essenciais no estudo em formação sobre sistemas de base de dados, pois aqui se
busca combinar as teorias relacionadas a esquemas e modelos conceituais e sua interacção no processo
de desenvolvimento de bases de dados relacionais. O domínio de conceitos Entidade Relacional ajuda
o futuro projectista de sistemas de bases de dados simples e completas para pessoas ou instituições
interessadas.

Durante o estudo deste tópico, é importante que o estudante procure não apenas ler os conceitos
apresentados neste texto de apoio, mais ler e fazer na pratica os exemplos usados. Usar uma folha á
parte para ir rabiscando os exemplos de modo que possa compreender melhor os conceitos aqui tratados
como são os casos de domínio, relação, atributos, entidade e tuplas, buscar compreender a diferenca
entre tuplas e atributos e este ultimo de domínio.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

O modelo relacional
O modelo relacional representa o banco de dados como uma colecção de relações. Informalmente, cada
relação é semelhante a uma tabela de valores ou, até certo ponto, a um arquivo plano de registros. Ele
é chamado de arquivo plano porque cada registro tem uma simples estrutura linear ou plana. Por
exemplo, o banco de dados de arquivos mostrado na Figura 1 é semelhante à representação do modelo
relacional básico. No entanto, existem diferenças importantes entre relações e arquivos, conforme
veremos em breve.

Quando uma relação é considerada uma tabela de valores, cada linha na tabela representa uma colecção
de valores de dados relacionados. Uma linha representa um fato que normalmente corresponde a uma
entidade ou relacionamento do mundo real. Os nomes da tabela e de coluna são usados para ajudar a
interpretar o significado dos valores em cada linha. Por exemplo, a primeira tabela da Figura 1 é
chamada de ALUNO porque cada linha representa fatos sobre uma entidade particular de aluno. Os
nomes de coluna — Nome, Numero_aluno, Tipo_aluno e Curso — especificam como interpretar os
valores de dados em cada linha, com base na coluna em que cada valor se encontra. Todos os valores
em uma coluna são do mesmo tipo de dado.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Figura 1: Exemplo de banco de dados que armazena informações

Na terminologia formal do modelo relacional, uma linha é chamada de tupla, um cabeçalho da coluna
é chamado de atributo e a tabela é chamada de relação. O tipo de dado que descreve os tipos de valores
que podem aparecer em cada coluna é representado por um domínio de valores possíveis. Agora, vamos
definir esses termos — domínio, tupla, atributo e relação — de maneira formal.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Domínio
Um domínio D é um conjunto de valores atómicos. Com atómico, queremos dizer que cada valor no
domínio é indivisível em se tratando do modelo relacional formal. Um método comum de especificação
de um domínio é definir um tipo de dado do qual são retirados os valores de dados que formam o
domínio.

Também é útil especificar um nome para o domínio, para ajudar na interpretação de seus valores. alguns
exemplos de domínio são: Lista telefónica, Nomes, Idades de funcionários, etc.).

Um tipo de dado ou formato também é especificado para cada domínio. Por exemplo, o tipo de dado
para o domínio Numeros_telefone_nacional pode ser declarado como uma sequência de caracteres na
forma (dd)dddd-dddd, onde cada d é um dígito numérico (decimal) e os dois primeiros dígitos formam
um código de área de telefone válido. O tipo de dado para Idades_funcionario é um número inteiro entre
15 e 80.

Um domínio, portanto, recebe um nome, tipo de dado e formato. Informações adicionais para interpretar
os valores de um domínio também podem ser dadas; por exemplo, um domínio numérico como
Pesos_pessoa deveria ter as unidades de medida, como gramas ou quilos. O tipo de dados que descreve
os tipos de valores que podem aparecer em cada coluna é chamado de domínio

Atributo
Compreende-se por atributos as propriedades que descrevem entidades. Eles podem ser simples ou
compostos, de valor único ou multi-valorado.

Atributos Simples e Compostos


Atributos compostos podem ser subdivididos em subpartes menores por ex. o atributo titulação de um
PROFESSOR pode ser dividido em Grau, Curso e Instituição. Atributos que não podem ser divididos
são chamados atributos simples ou atómicos.

Atributos de Valor-Único e Multi-Valorados


A maioria dos atributos tem um valor único para uma entidade em particular, esses atributos são
chamados de valor-único. Um exemplo de atributo de valor-único é o salário de um PROFESSOR. Em
alguns casos um atributo pode ter um conjunto de valores para a mesma entidade. Por exemplo, um
PROFESSOR pode ter mais de uma titulação. Esse tipo de atributo é chamado multi-valorado.

Atributos Armazenados e Derivados


Em alguns casos, dois ou mais atributos são relacionados, como idade e a data de nascimento de uma
pessoa. Para a entidade ALUNO o atributo idade pode ser determinado pela data actual em conjunto
com sua DataNascimento. O atributo idade é então chamado atributo derivado pois é derivável da
DataNascimento do ALUNO, que é chamado atributo armazenado. Alguns atributos podem ainda ser

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

derivados de entidades relacionadas, como o número de alunos de uma entidade CURSO pode ser
derivado contando o número de alunos que cursam o curso.

Um esquema relacional R, indicado por R(A1,A2, ..., An), é composto de um nome de relação R e uma
lista de atributos, A1, A2, ..., An. Cada atributo Ai é o nome de um papel desempenhado por algum
domínio D no esquema de relação R. D é chamado de domínio de Ai, e indicado por dom(Ai). Um
esquema de relação é usado para descrever uma relação; R é chamado de nome dessa relação. O grau
(ou aridade) de uma relação é o número de atributos n desse esquema de relação. O grau (ou aridade)
de uma relação é o número de atributos n desse esquema de relação.

Uma relação de grau sete, que armazena informações sobre alunos universitários, teria sete atributos
descrevendo cada aluno, da seguinte forma:
ALUNO(Nome, Cpf, Telefone_residencial, Endereco,Telefone_comercial, Idade, Media)

Usando o tipo de dado de cada atributo, a definição às vezes é escrita com:


ALUNO(Nome: string, Cpf: string, Telefone_residencial: string, Endereco: string, Telefone_comercial:
string, Idade: integer, Media: real).

Para este esquema de relação, ALUNO é o nome da relação, que tem sete atributos. Na definição
anterior, mostramos a atribuição de tipos genéricos, como string ou inteiro, aos atributos. Mais
precisamente, podemos especificar os seguintes domínios já definidos para alguns dos atributos da
relação ALUNO: dom(Nome) = Nomes; dom(Cpf) = Cadastro_pessoa_ fisica;
dom(Telefone_residencial) = Numeros_telefone_ nacional, 3 dom(Endereco),
dom(Telefone_comercial) = Numeros_telefone_nacional e dom(Media) = Media. Também é possível
referenciar atributos de um esquema de relação por sua posição dentro da relação; assim, o segundo
atributo da relação ALUNO é Cpf, enquanto o quarto atributo é Endereço.

Entidade: é uma coisa ou objecto no mundo real com existência independente e de existência física
como carro, casa, pessoa, etc. ou de existência conceitual como uma empresa, Curso, Universidade,
projecto, etc.

Tuplas: na terminologia do modelo relacional, uma linha é chamada de tupla veja a figura 2.
Uma relação (ou estado de relação) r do esquema de relação R(A1 , A2 , ..., An ), também indicada por
r(R), é um conjunto de n tuplas r = {t 1 , t 2 , ..., t m}. Cada n tuplas t é uma lista ordenada de n valores
t =, em que cada valor vi , 1 ≤ i ≤ n, é um elemento de dom(Ai ) ou é um valor especial NULL. O valor
i -ésimo na tupla t, que corresponde ao atributo Ai , é referenciado como t[Ai ] ou t.Ai (ou t[i] se usarmos
a notação posicional). Os termos intenção da relação para o esquema R e extensão da relação para o
estado de relação r(R) também são comumente utilizados.

A Figura 2 mostra um exemplo de uma relação ALUNO, que corresponde ao esquema ALUNO já
especificado. Cada tupla na relação representa uma entidade de aluno em particular (ou objecto).

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Apresentamos a relação como uma tabela, onde cada tupla aparece como uma linha e cada atributo
corresponde a um cabeçalho de coluna, indicando um papel ou interpretação dos valores nesta coluna.
Valores NULL representam atributos cujos valores são desconhecidos ou não existem para alguma tupla
individual de ALUNO.

Figura 2: Os atributos e tuplas de uma relação ALUNO

Relação: é tabela como se pode ver na figura 2.


Restrições em modelo relacional
As restrições nos bancos de dados geralmente podem ser divididas em três categorias principais:

1. Restrições que são inerentes no modelo de dados. Chamamos estas de restrições inerentes baseadas
no modelo ou restrições implícitas.

2. Restrições que podem ser expressas directamente nos esquemas do modelo de dados, em geral
especificando-as na DDL. Chamamos estas de restrições baseadas em esquema ou restrições
explícitas.

3. Restrições que não podem ser expressas directamente nos esquemas do modelo de dados, e, portanto,
devem ser expressas e impostas pelos programas de aplicação. Chamamos estas de restrições baseadas
na aplicação ou restrições semânticas ou regras de negócios.

Por exemplo, a restrição de que uma relação não pode ter tuplas duplicadas é uma restrição inerente.
As restrições que discutimos nesta seção são da segunda categoria, a saber, restrições que podem ser
expressas no esquema do modelo relacional por meio da DDL.

Outra categoria importante de restrições é a de dependências de dados, que incluem dependências


funcionais e dependências multivaloradas. Elas são usadas principalmente para testar a 'virtude' do
projecto de um banco de dados relacional e em um processo chamado normalização.

As restrições baseadas em esquema incluem restrições de domínio, restrições de chave, restrições sobre
NULLs, restrições de integridade de entidade e restrições de integridade referencial.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Restrições de Domínio
As restrições de domínio especificam que, dentro de cada tupla, o valor de cada atributo A deve ser um
valor indivisível do domínio dom(A). Os tipos de dados associados aos domínios normalmente incluem
os tipos de dados numéricos padrão para inteiros (como short integer, integer e long integer) e números
reais (float e double). Caracteres, booleanos, cadeia de caracteres de tamanho fixo e cadeia de caracteres
de tamanho variável também estão disponíveis, assim como data, hora, marcador de tempo, moeda ou
outros tipos de dados especiais. Outros domínios possíveis podem ser descritos por um subintervalo dos
valores de um tipo de dados ou como um tipo de dado enumerado, em que todos os valores possíveis
são explicitamente listados.

Restrições de chave e Restrições sobre valores NULL


No modelo relacional formal, uma relação é definida como um conjunto de tuplas. Por definição, todos
os elementos de um conjunto são distintos; logo, todas as tuplas em uma relação também precisam ser
distintas. Isso significa que duas tuplas não podem ter a mesma combinação de valores para todos os
seus atributos. Normalmente, existem outros subconjuntos de atributos de um esquema de relação R
com a propriedade de que duas tuplas em qualquer estado de relação r de R não deverão ter a mesma
combinação de valores para esses atributos.

Suponha que indiquemos um subconjunto de atributos desse tipo como SCh; então, para duas tuplas
distintas quaisquer t1 e t2 em um estado de relação r de R, temos a restrição de que:

t1 [SCh] ≠ t2 [SCh]

Qualquer conjunto de atributos SCh desse tipo é chamado de superchave do esquema de relação R. Uma
superchave SCh especifica uma restrição de exclusividade de que duas tuplas distintas em qualquer
estado r de R não podem ter o mesmo valor de SCh. Cada relação tem pelo menos uma superchave
padrão — o conjunto de todos os seus atributos. Uma chave Ch de um esquema de relação R é uma
superchave de R com a propriedade adicional de que a remoção de qualquer atributo A de Ch deixa um
conjunto de atributos Ch’ que não é mais uma superchave de R. Logo, uma chave satisfaz duas
propriedades:

1. Duas tuplas distintas em qualquer estado da relação não podem ter valores idênticos para (todos) os
atributos na chave. Essa primeira propriedade também se aplica a uma superchave.

2. Ela é uma superchave mínima — ou seja, uma superchave da qual não podemos remover nenhum
atributo e ainda mantemos uma restrição de exclusividade na condição 1. Essa propriedade não é exigida
por uma superchave.

Embora a primeira propriedade se aplique a chaves e superchaves, a segunda propriedade é exigida


apenas para chaves. Assim, uma chave também é uma superchave, mas não o contrário. Considere a

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

relação ALUNO da Figura 2. O conjunto de atributos {Cpf} é uma chave de ALUNO porque duas
tuplas de aluno não podem ter o mesmo valor para Cpf. Qualquer conjunto de atributos que inclua Cpf
— por exemplo, {Cpf, Nome, Idade} — é uma superchave. No entanto, a superchave {Cpf, Nome,
Idade} não é uma chave de ALUNO, pois remover Nome ou Idade, ou ambos, do conjunto ainda nos
deixa com uma superchave. Em geral, qualquer superchave formada com base em um único atributo
também é uma chave. Uma chave com múltiplos atributos precisa exigir que todos os seus atributos
juntos tenham uma propriedade de exclusividade.

O valor de um atributo de chave pode ser usado para identificar exclusivamente cada tupla na relação.
Por exemplo, o valor de Cpf 305.610.243-51 identifica exclusivamente a tupla correspondente a Bruno
Braga na relação ALUNO. Observe que um conjunto de atributos constituindo uma chave é uma
propriedade do esquema de relação; essa é uma restrição que deve ser mantida sobre cada estado de
relação válido do esquema. Uma chave é determinada com base no significado dos atributos, e a
propriedade é invariável no tempo: ela precisa permanecer verdadeira quando inserimos novas tuplas
na relação. Por exemplo, não podemos e não deve mos designar o atributo Nome da relação ALUNO
da Figura 2 como uma chave porque é possível que dois alunos com nomes idênticos existam em algum
ponto em um estado válido.

Em geral, um esquema de relação pode ter mais de uma chave. Nesse caso, cada uma das chaves é
chamada de chave candidata.

Figura 3: A relação CARRO, com duas chaves candidatas: Placa eNumero_chassi

Por exemplo, a relação CARRO na Figura 3 tem duas chaves candidatas: Placa e Numero_chassi. É
comum designar uma das chaves candidatas como chave primária da relação. Essa é a chave candidata
cujos valores são usados para identificar tuplas na relação. Usamos a convenção de que os atributos que
formam a chave primária de um esquema de relação são sublinhados, como mostra a Figura 3. Observe
que, quando um esquema de relação tem várias chaves candidatas, a escolha de uma para se tornar a
chave primária é um tanto quanto arbitrária; porém, normalmente é melhor escolher uma chave primária
com um único atributo ou um pequeno número de atributos. As outras chaves candidatas são designadas
como chaves únicas (unique keys), e não são sublinhadas.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Outra restrição sobre os atributos especifica se valores NULL são permitidos ou não. Por exemplo, se
cada tupla de ALUNO precisar ter um valor válido, diferente de NULL, para o atributo Nome, então
Nome de ALUNO é restrito a ser NOT NULL.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

BD relacional e esquemas de BD relacional


Um banco de dados relacional costuma conter muitas relações, com tuplas nas relações que estão
relacionadas de várias maneiras.

Um esquema de banco de dados relacional S é um conjunto de esquemas de relação S = {R1 , R2 , ...,


Rm} e um conjunto de restrições de integridade RI. Um estado de banco de dados relacional10 DB de S
é um conjunto de estados de relação DB = {r1 , r2 , ..., rm}, tal que cada ri é um estado de Ri e tal que os
estados da relação ri satisfazem as restrições de integridade especificadas em RI. A figura 4 mostra um
esquema de banco de dados relacional que chamamos de EMPRESA = {FUNCIONARIO,
DEPARTAMENTO, LOCALIZACAO_DEP, PROJETO, TRABALHA_EM, DEPENDENTE}. Os
atributos sublinhados representam chaves primárias.

Figura 4: Diagrama de esquema para o esquema de banco de dados relacional EMPRESA

A Figura 5 mostra um estado de banco de dados relacional correspondente ao esquema EMPRESA.


Quando nos referimos a um banco de dados relacional, implicitamente incluímos seu esquema e seu
estado actual. Um estado de banco de dados que não obedece a todas as restrições de integridade é
chamado de estado inválido, e um estado que satisfaz a todas as restrições no conjunto definido de
restrições de integridade RI é chamado de estado válido.

Na Figura 4, o atributo Dnumero em DEPARTAMENTO e LOCALIZACAO_DEP significa o conceito


do mundo real — o número dado a um departamento. O mesmo conceito é chamado Dnr em
FUNCIONARIO e Dnum em PROJETO. Os atributos que representam o mesmo conceito do mundo
real podem ou não ter nomes idênticos em diferentes relações. Como alternativa, os atributos que
representam diferentes conceitos podem ter o mesmo nome em diferentes relações. Por exemplo,
poderíamos ter usado o nome de atributo Nome para Projnome de PROJETO e Dnome de
DEPARTAMENTO; nesse caso, teríamos dois atributos compartilhando o mesmo nome, mas
representando diferentes conceitos do mundo real — nomes de projecto e nomes de departamento.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Em algumas versões antigas do modelo relacional, era feita uma suposição de que o mesmo conceito
do mundo real, quando representado por um atributo, teria nomes de atributo idênticos em todas as
relações. Isso cria problemas quando o mesmo conceito do mundo real é usado em diferentes papéis
(significados) na mesma relação. Por exemplo, o conceito de Cadastro de Pessoa Física aparece duas
vezes na relação FUNCIONARIO da Figura 4: uma no papel do CPF do funcionário e outra no papel
do CPF do supervisor. Precisamos dar-lhes nomes de atributo distintos — Cpf e Cpf_supervisor,
respectivamente — porque eles aparecem na mesma relação e a fim de distinguir seu significado.

Restrições de integridade são especificadas em um esquema de banco de dados e espera-se que sejam
mantidas em cada estado de banco de dados válido desse esquema. Além das restrições de domínio,
chave e NOT NULL, dois outros tipos de restrições são considerados parte do modelo relacional:
integridade de entidade e integridade referencial.

Integridade, integridade referencial e chaves estrangeiras


A restrição de integridade de entidade afirma que nenhum valor de chave primária pode ser NULL. Isso
porque o valor da chave primária é usado para identificar tuplas individuais em uma relação. Ter valores
NULL para a chave primária implica que não podemos identificar algumas tuplas. Por exemplo, se duas
ou mais tuplas tivessem NULL para suas chaves primárias, não conseguiríamos distingui-las ao tentar
referenciá-las por outras relações.

A restrição de integridade referencial é especificada entre duas relações e usada para manter a
consistência entre tuplas nas duas relações. Informalmente, a restrição de integridade referencial afirma
que uma tupla em uma relação que referencia outra relação precisa se referir a uma tupla existente nessa
relação. Por exemplo, na Figura 5, o atributo Dnr de FUNCIONARIO fornece o número de
departamento para o qual cada funcionário trabalha; logo, seu valor em cada tupla FUNCIONARIO
precisa combinar com o valor de Dnumero de alguma tupla na relação DEPARTAMENTO.

Para definir a integridade referencial de maneira mais formal, primeiro estabelecemos o conceito de
uma chave estrangeira (ChE — foreign key). As condições para uma chave estrangeira, dadas a seguir,
especificam a restrição de integridade referencial entre os dois esquemas de relação R1 e R2. Um
conjunto de atributos ChE no esquema de relação R1 é uma chave estrangeira de R1 que referencia a
relação R2 se ela satisfizer as seguintes regras:

1. Os atributos em ChE têm o mesmo domínio (ou domínios) que os atributos de chave primária ChP
de R2; diz-se que os atributos ChE referenciam ou referem-se à relação R2.

2. Um valor de ChE em uma tupla t1 do estado actual r1 (R1) ocorre como um valor de ChE para alguma
tupla t2 no estado actual r2 (R2) ou é NULL. No primeiro caso, temos t1[ChE] = t2[ChP], e dizemos que
a tupla t1 referencia ou refere-se à tupla t2.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Nessa definição, R1 é chamada de relação que referencia e R2 é a relação referenciada. Se essas


condições se mantiverem, diz-se que é mantida uma restrição de integridade referencial de R1 para R2.
Em um banco de dados de muitas relações, normalmente existem muitas restrições de integridade
referencial.

Para especificar essas restrições, primeiro devemos ter um conhecimento claro do significado ou papel
que cada atributo, ou conjunto de atributos, que fazem parte nos diversos esquemas de relação do banco
de dados. As restrições de integridade referencial surgem com frequência dos relacionamentos entre as
entidades representadas pelos esquemas de relação.

Por exemplo, considere o banco de dados mostrado na Figura 5. Na relação FUNCIONARIO, o atributo
Dnr refere-se ao departamento para o qual um funcionário trabalha; portanto, designamos Dnr para ser
a chave estrangeira de FUNCIONARIO que referencia a relação DEPARTAMENTO. Isso significa
que um valor de Dnr em qualquer tupla t1 da relação FUNCIONARIO precisa combinar com um valor
da chave primária de DEPARTAMENTO — o atributo Dnumero — em alguma tupla t2 da relação
DEPARTAMENTO, ou o valor de Dnr pode ser NULL se o funcionário não pertencer a um
departamento ou for atribuído a um departamento mais tarde. Por exemplo, na Figura 5, a tupla para o
funcionário ‘João Silva’ referencia a tupla para o departamento ‘Pesquisa’, indicando que ‘João Silva’
trabalha para esse departamento.

Figura 5: Um estado de banco de dados possível para o esquema de banco de dados relacional EMPRESA.

Observe que uma chave estrangeira pode se referir a sua própria relação. Por exemplo, o atributo
Cpf_supervisor em FUNCIONARIO refere-se ao supervisor de um funcionário; este é outro

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

funcionário, representado por uma tupla na relação FUNCIONARIO. Logo, Cpf_supervisor é uma
chave estrangeira que referencia a própria relação FUNCIONARIO. Na Figura 5, a tupla que o
funcionário ‘João Silva’ referencia é a tupla do funcionário ‘Fernando Wong’, indicando que ‘Fernando
Wong’ é o supervisor de ‘João Silva’.

Podemos exibir em forma de diagrama as restrições de integridade referencial, desenhando um arco


direccionado de cada chave estrangeira para a relação que ela referencia. Para ficar mais claro, a ponta
da seta pode apontar para a chave primária da relação referenciada. A Figura 6 mostra o esquema da Fi
gura 5 com as restrições de integridade referencial mostradas dessa maneira.

Figura 6: Restrições de integridade referencial exibidas no esquema de banco de dados relacional EMPRESA

Todas as restrições de integridade deverão ser especificadas no esquema de banco de dados relacional
(ou seja, definidas como parte de sua definição) se quisermos impor essas restrições sobre os estados
do banco de dados. Logo, a DDL inclui meios para especificar os diversos tipos de restrições de modo
que o SGBD possa impô-las automaticamente. A maioria dos SGBDs relacionais admite restrições de
chave, integridade de entidade e integridade referencial. Essas restrições são especificadas como uma
parte da definição de dados na DDL.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Modelo Entidade Relacionamento MER


Apresentados aqui os conceitos de modelagem do modelo entidade-relacionamento (ER), que é um
modelo conceitual popular de alto-nível. Esse modelo é frequentemente usado para o projecto
conceitual de aplicações de banco de dados e muitas ferramentas de projecto de BD empregam esses
conceitos. É apresentada ainda uma notação diagramática associada ao modelo ER, conhecida como
diagramas entidade-relacionamento.

O modelo ER descreve entidades, atributos e relacionamentos.


O objecto básico que o modelo ER representa é uma entidade, que é algo no mundo real com uma
existência independente. Uma entidade pode ser um objecto com uma existência física (por exemplo,
uma pessoa em particular, um carro, uma casa ou um funcionário), ou pode ser um objecto com uma
existência conceitual (por exemplo, uma empresa, um cargo ou um curso universitário). Cada entidade
possui atributos — as propriedades específicas que a descrevem. Por exemplo, uma entidade
FUNCIONARIO pode ser descrita pelo nome, idade, endereço, salário e cargo do funcionário. Uma
entidade em particular terá um valor para cada um de seus atributos. Os valores de atributo que
descrevem cada entidade tornam-se uma parte importante dos dados armazenados no banco de dados.

Para melhor entendimento deste tema temos como exemplo uma aplicação simples de base de dados de
uma UNIVERSIDADE, que a usaremos para fazer compreender os conceitos básicos do modelo ER.
O banco de dados UNIVERSIDADE mantém dados dos alunos, professores, disciplinas, cursos e
departamentos da universidade. Suponha que após a fase de colecta e análise de requisitos os
projectistas do banco de dados provêm a seguinte informação sobre o mini-mundo - a parte da
universidade que deve ser representada no banco de dados.

 A universidade é organizada em departamentos. Cada departamento tem um nome único, um


código único e um endereço. Um departamento emprega vários professores, cuja data de início
no departamento deve ser armazenada.
 Um curso é oferecido por um departamento e é composto por um conjunto de disciplinas. Para
o curso deve-se armazenar seu código único, seu nome e seu turno. Para a disciplina deve-se
armazenar seu código único, seu nome, sua descrição e seus pré-requisitos, que são outra(s)
disciplina(s). Uma disciplina pode também fazer parte de vários cursos.
 O banco de dados deve armazenar o nome, CPF (único), data de nascimento, titulação e salário
dos professores. Já para os alunos requer-se o armazenamento do nome, matrícula, data de
nascimento, curso e endereço. Um professor é associado a um único departamento para o qual
trabalha.
 O professor pode ter ainda dependentes, para os quais deve ser armazenado o nome, data de
nascimento e relacionamento do dependente com o professor.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

 Uma disciplina é oferecida por um professor e nessa oferta diversos alunos podem se matricular.
Para cada disciplina ofertada é necessário armazenar o ano e o semestre em que foi ofertada.
Para cada aluno que participa dessa oferta de disciplina é necessário armazenar a nota e a
frequência obtidas.

A figura 7, como o esquema para essa aplicação de banco de dados pode ser representado por meio de
um diagrama entidade-relacionamento. De seguida são apresentados os passo-a-passo para a geração
desse diagrama bem como os conceitos associados serão apresentados nos textos a seguir.

Figura 7: Diagrama ER para o banco de dados UNIVERSIDADE

Tipos e Conjuntos de Entidades, Chaves e Domínios de Atributos


Tipos e Conjuntos de Entidades
Um tipo de entidade define uma colecção (ou conjunto) de entidades que têm os mesmos atributos. A
colecção de todos os elementos de um tipo de entidade é chamada de conjunto da entidade. Um tipo de
entidade é representado no modelo ER como um rectângulo encapsulando e seu nome. Nomes de
atributos são encapsulados em forma oval e ligados à entidade correspondente por uma linha reta.
Atributos compostos são ligados aos seus atributos originários por linhas retas. Atributos multi-
valorados são exibidos com ovais duplos. A Figura 8 apresenta uma entidade PROFESSOR
representada nessa notação.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Figura 8: Entidade PROFESSOR representada no modelo ER.

Atributos Chave
Uma importante restrição aos registros de uma entidade é a chave ou restrição de unicidade em atributos.
Uma entidade comumente tem um ou mais atributos que têm que ser distintos para cada registro dessa
entidade. Esse atributo é chamado de atributo chave e pode ser usado para identificar um registro
unicamente. Por exemplo, para a entidade ALUNO o atributo chave é a Matricula. Às vezes mais de
um atributo juntos formam a chave, por exemplo a entidade DEPARTAMENTO, que tem como chaves
o nome e o número. Um atributo chave é identificado no modelo ER com o nome sublinhado.

Domínio dos Atributos


Cada atributo de uma entidade é mapeado para um conjunto de valores, ou domínio, que especifica o
conjunto de valores que pode ser atribuído a esse atributo. O atributo salário de um PROFESSOR por
exemplo tem como domínio o conjunto de números decimais não-negativos. Já o atributo turno de um
curso tem como domínio os caracteres ’V’ (vespertino) e ’N’ (nocturno).

Projecto Conceitual Inicial do Banco de Dados UNIVERSIDADE


Pode-se agora definir no modelo ER para as entidades do banco de dados UNIVERSIDADE. A Figura
9 define as entidades e os atributos de cada entidade.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Figura 9: Diagrama ER inicial para o banco de dados UNIVERSIDADE contendo apenas as


entidades e atributos.

Tipos de Relacionamentos e Restrições Estruturais


Na Figura 9 há diversos relacionamentos implícitos entre as entidades. Por exemplo, o atributo chefe
do DEPARTAMENTO se relaciona ao professor que chefia o departamento. No modelo ER essas
relações não devem ser representadas como atributos, mas sim como relacionamentos.

Tipos de Relacionamentos, Conjuntos e Instâncias


Um tipo de entidade define uma colecção (ou conjunto) de entidades que têm os mesmos atributos. A
colecção de todos os elementos de um tipo de entidade é chamada de conjunto da entidade.

Um tipo de relacionamento R relaciona n tipos de entidades E1; E2; : : : ;En e define um conjunto de
relações entre esses tipos de entidades. Cada relacionamento ri do tipo de relacionamento R é uma
associação de entidades, onde a associação inclui exactamente uma entidade de cada tipo de entidade
envolvida. Por exemplo, considere o tipo de relacionamento TRABALHA entre PROFESSOR e
DEPARTAMENTO, que relaciona cada professor com o departamento no qual ele trabalha. A colecção
de todos os elementos de um tipo de relacionamento é chamada conjunto do relacionamento. Nos
diagramas ER tipos de relacionamentos são representados como losangos que são conectados por linhas
retas às entidades que dele participam.

Graus de Relacionamentos, Papéis e Relacionamentos Recursivos


O grau de um relacionamento é o número de entidades que participam dele. Assim, o relacionamento
TRABALHA é de grau dois, pois relaciona um PROFESSOR a um DEPARTAMENTO. Um

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

relacionamento de grau dois é chamado binário, enquanto um relacionamento de grau três é chamado
ternário. Um exemplo de relacionamento ternário é OFERTA, que relaciona uma DISCIPLINA a um
PROFESSOR e a um ALUNO. Nesse caso oferta foi representada como uma entidade associativa
ligando as três entidades que relaciona. Raramente um relacionamento envolve mais de três entidades.

Cada entidade que participa de um relacionamento representa um determinado papel. Por exemplo, no
relacionamento TRABALHA o PROFESSOR representa o papel de empregado e o departamento
representa o papel de empregador. Em alguns casos a mesma entidade participa mais de uma vez num
mesmo relacionamento em diferentes papéis. Esses são os relacionamentos recursivos. Por exemplo, a
entidade DISCIPLINA participa duas vezes do relacionamento PREREQUISITO, uma no papel de
“depende de” e outra no papel de “é necessária para”.

Restrições em Relacionamentos
Comumente relacionamentos têm restrições que limitam seu número de participantes. Essas restrições
são derivadas do mini-mundo que o modelo ER representa. Por exemplo, um PROFESSOR deve ser
associado a exactamente um DEPARTAMENTO. Esses tipos de restrições devem ser representados no
modelo. Há dois tipos principais de restrições em relacionamentos: as de taxa de cardinalidade e de
participação.

Restrições de Taxa de Cardinalidade


A taxa de cardinalidade de um relacionamento representa o número máximo de instâncias de um
relacionamento que uma entidade por participar. Por exemplo, para o relacionamento TRABALHA a
taxa de cardinalidade DEPARTAMENTO:PROFESSOR é de 1:N representando que cada
departamento pode estar relacionado a vários professor (N) enquanto que um professor pode estar
relacionado a apenas um departamento. As taxas de cardinalidade possíveis para relacionamentos
binários são: 1:1, 1:N, N:1 e M:N.

Um exemplo de relacionamento 1:1 é OFERECE, que associa um departamento ao curso que oferece.
O relacionamento CONTEM é um relacionamento M:N pois um curso contém várias disciplinas e uma
disciplina pode estar presente em vários cursos.

As restrições de taxa de cardinalidade são representadas na ponta da linha que liga o relacionamento à
entidade. Uma ponta com um traço indica participação individual da entidade no relacionamento; uma
ponta tripla representa a participação de N elementos da entidade no relacionamento. Por exemplo, na
Figura 7 participam do relacionamento TRABALHA um DEPARTAMENTO e N entidades de
PROFESSOR.

Restrições de Participação
A restrição de participação especifica se a existência de uma entidade depende dela ser relacionada a
outra via relacionamento. Essa restrição especifica um número mínimo de entidades que deve participar

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

de um relacionamento. Há dois tipos de restrição de participação: total e parcial. Se uma universidade


define que cada professor tem que trabalhar para um departamento, esse professor existe apenas se
estiver associado a um departamento. Assim, a participação de PROFESSOR no relacionamento
TRABALHA é chamada total.

Como exemplo, não se espera que cada departamento ofereça um curso, dessa forma a participação de
DEPARTAMENTO no relacionamento OFERECE é parcial, significando que alguns departamentos
são relacionados a um curso via OFERECE, mas não necessariamente todos. Um exemplo dessa
situação é o departamento de ciências exactas em um instituto de engenharia. Esse departamento oferece
diversas disciplinas, mas não é responsável por nenhum dos cursos de engenharia. As restrições de taxa
de cardinalidade e de participação são consideradas conjuntamente como as restrições estruturais de um
relacionamento.

As restrições de participação são representadas também na ponta da linha que conecta o relacionamento
à entidade, antes do indicador de taxa de cardinalidade. Uma participação total é representada por um
círculo e uma participação parcial é representada por um traço. Por exemplo, considere na Figura 7 que
há uma participação parcial de DEPARTAMENTO no relacionamento OFERECE e uma participação
total de CURSO nesse mesmo relacionamento.

Atributos de Relacionamentos
Relacionamentos também podem ter atributos. Por exemplo, a nota que um aluno obteve em uma
OFERTA de disciplina pode ser incluída como um atributo do relacionamento OFERTA. Outro
exemplo é a DataInicio em que um professor começou a trabalhar em um departamento, que pode ser
definido como um atributo do relacionamento TRABALHA.

Entidades Fracas
Entidades que não têm atributos chave próprios são chamadas entidades fracas. Registros pertencentes
a uma entidade fraca são identificadas por serem relacionadas a outras entidades em combinação com
um ou mais de seus atributos. Essa outra entidade é chamada entidade proprietária e o relacionamento
que relaciona a entidade fraca a sua proprietária é chamado relacionamento identificador da entidade
fraca.

Uma entidade fraca sempre tem uma restrição de participação total em seu relacionamento identificador.
Por exemplo, a entidade DEPENDENTE, relacionada a um PROFESSOR. Os atributos de um
dependente são seu nome, sua data de nascimento e relacionamento (com o professor). É possível que
dois dependentes de dois professores distintos tenham o mesmo nome, género e relacionamento. Esses
são identificados como registros distintos apenas ao examinar o professor com o qual estão
relacionados.
Uma entidade fraca normalmente tem uma chave parcial, que é o atributo que pode identificar
unicamente registros de uma entidade fraca que são relacionadas à mesma entidade proprietária. Nos

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

diagramas ER, ambas entidades fracas e seu relacionamento identificador são distinguidos por conter
linhas duplas no rectângulo e losango que os representam.

Refinando o Modelo ER do Banco de Dados UNIVERSIDADE


É possível refinar o modelo ER presente na Figura 9 mudando os atributos que representam
relacionamentos para relacionamentos explícitos. As restrições estruturais são determinadas de acordo
com os requisitos listados no inicio do tema. Nesse exemplo podem ser especificados os seguintes
relacionamentos:
TRABALHA que é um relacionamento 1:N entre DEPARTAMENTO e PROFESSOR. Ambas
participações são totais, indicando que todo professor tem que fazer parte de um
departamento e todo departamento tem que ter ao menos um professor;
OFERECE um relacionamento 1:1 entre DEPARTAMENTO e CURSO. A participação de CURSO é
total, indicando que todo CURSO tem que ter um DEPARTAMENTO responsável,
enquanto que a participação de DEPARTAMENTO foi considerada parcial, permitindo
que exista departamento que não seja responsável por nenhum curso;
LECIONA um relacionamento 1:N entre PROFESSOR e OFERTA. A participação do PROFESSOR
é total, indicando que toda OFERTA tem que ter um professor e a participação de
OFERTA é parcial pois pode haver professor que não OFERTA qualquer disciplina;
OCORRE um relacionamento 1:N entre DISCIPLINA e OFERTA. A participação da DISCIPLINA é
total, indicando que toda OFERTA tem que ter uma disciplina e a participação de
OFERTA é parcial pois pode haver disciplina que não seja ofertada;
MATRICULA um relacionamento 1:N entre ALUNO e OFERTA. A participação do ALUNO é total,
indicando que toda OFERTA tem que ter um aluno e a participação de OFERTA é parcial
pois pode haver aluno que não se matricula em nenhuma OFERTA;
CONTEM um relacionamento M:N entre DISCIPLINA e CURSO, indicando que uma disciplina pode
estar presente em diversos cursos e um curso é composto de diversas disciplinas. Ambas
participações são totais;
CURSA um relacionamento 1:N entre ALUNO e CURSO, indicando que um aluno cursa apenas um
curso e que um curso possui vários alunos. Ambas participações são totais, indicando
que não há ALUNO sem CURSO, nem CURSO sem ALUNO;
PREREQUISITO um relacionamento M:N entre DISCIPLINA (no papel de “depende de”) e
DISCIPLINA (no papel de “é necessária para”). Ambas participações são determinadas
como parciais, visto que não há restrição que obriga uma disciplina a ter pré-requisito
nem uma disciplina a ser pré-requisito de outra;
DEPENDE um relacionamento 1:N entre PROFESSOR e DEPENDENTE, que também é o
relacionamento identificador da entidade fraca DEPENDENTE. A participação de
PROFESSOR é parcial, enquanto que a participação de DEPENDENTE é total.

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.
UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE – INSTIUTO DE ENSINO A
DISTANCIA (IED)

Referencias bibliográficas
Navathe, E. &. (2011). Sistemas de Banco de Dados. In T. Baboaka & R. Trimer (Eds.), Journal
of Chemical Information and Modeling (6th ed., Vol. 6ed). Sao Paulo, Brasil:

Fonseca, G. H. da. (2020). Ciência de Dados - Fundamentos de Banco de Dados (Vol. 1; J. C.


Alvarenga, ed.). PPGEP-UFOP-ICEA/DEENP;

França, C. T. P. L., & Celestino Jr., J. (2015). Computação Banco Banco de Dados (2nd ed.;
(Conselho Editorial), Ed.). Fortaleza-Ceará: EdUECE;

Direitos reservados ©2023


Para uso exclusivo dos estudantes da IED-UCM como material de apoio.

Você também pode gostar