INSTITUTO POLITÉCNICO DE BEJA

ESCOLA SUPERIOR DE TECNOLOGIA E GESTÃO

Disciplina: Bases de Dados

DIAGRAMA DE ENTIDADE-ASSOCIAÇÃO

1- Conceitos

2- Símbolos

3- Casos Particulares

4- Transformação para o Modelo relacional

Introdução ao processo de Normalização

Referências

  1. CONCEITOS

Entidade é um conceito abstracto. Pretende representar a realidade que queremos modelar. A definição de uma entidade passa pela identificação dos elementos e de um conjunto de atributos comuns do mundo real que estamos a analisar. Por exemplo, considere um Instituto Politécnico. Nesse Instituto, e dependendo do objectivo a alcançar, podemos identificar, as entidades ALUNO, PROFESSOR, DISCIPLINA, etc.. A entidade ALUNO representa todos os alunos do Instituto e o aluno "José Pires" é uma instância da entidade ALUNO.

Atributos, representam os dados da entidade. Por exemplo, para representar a entidade ALUNO, torna-se necessário definir os atributos nome, apelido, morada, telefone, etc..

Cada atributo se encontra definido num determinado domínio de valores. Assim, o atributo nome é definido por um conjunto de caracteres, telefone, é definido por um conjunto de nove números. Nota: numa Entidade não podem existir dois atributos com a mesma designação.

Chave Primária, é o conjunto mínimo de atributos que permite determinar univocamente uma instância numa entidade.

Associações, são utilizadas para relacionar entidades. As entidades interagem umas com as outras, através de associações. Existem dois aspectos fundamentais nas associações: Cardinalidade e Obrigatoriedade. A cardinalidade, também designada por tipo de associação, indica, dada uma instância de uma entidade, o número de instâncias da outra entidade com que ela se relaciona. De uma forma geral, existem três tipos de associações: 1:1 (um-para-um), 1:N (um-para-muitos) e N:M (muitos-para-muitos).

Uma associação 1:1 é quando cada elemento da entidade A está relacionado , no máximo, com um elemento da entidade B.

Uma associação 1:N é definida se cada elemento da entidade A está relacionado com vários elementos da entidade B, mas cada elemento da entidade B apenas está relacionado com um elemento da entidade A.

Uma associação M:N é definida se cada elemento da entidade A está relacionado com vários elementos da entidade B, e cada elemento da entidade B está relacionado com vários elementos da entidade A.

A obrigatoriedade da associação prende-se com o facto de pretendermos especificar se é obrigatório ou não que todas as instâncias estejam relacionadas a pelo menos uma instância da outra entidade

 

2- DIAGRAMAS

Símbolos:

 

Exemplo 1: Associação N:M

 

Nota: A associação inscrito é chamada uma entidade associativa. E é uma forma de simplificar

o desenho.

Exemplo 2: Associação N:1

 

3- CASOS PARTICULARES

3.1.- Entidade Fraca

É uma entidade dependente de outra entidade. Geralmente tem uma associação de 1:N e a entidade fraca caracteriza-se por não possuir um atributo chave. Por exemplo, observe o seguinte diagrama que pretende modelar os funcionários de uma empresa e o seu agregado familiar.

Verifique o símbolo utilizado para caracterizar a associação. A entidade fraca é Dependente, e a sua chave primária é Cod_funcionario que é uma atributo da entidade Empregado.

3.2.- Particularizações/Generalizações (IS A)

São casos particulares das associações do tipo 1:1.

Observe o seguinte exemplo:

 

O relacionamento IS A associada à entidade Pessoa generaliza as entidades particulares Funcionário e Cliente. A generalização é útil pois evita repetir atributos comuns, neste caso nome, morada.

 

3.3.- Relações Ternárias e Relações Recursivas

Uma associação recursiva (unária) ocorre quando uma entidade está relacionada com ela própria.

Exemplo1:

 

Exemplo2:

Associações Ternárias são associações com três entidades.

Exemplo3:

 

4- TRANSFORMAÇÃO PARA O MODELO RELACIONAL

Quando se transforma um diagrama de entidade-associação para o modelo relacional, é necessário realizar um conjunto de alterações. Este processo de transformação será feito considerando os vários tipos de associações que envolvem as entidades. Para isto, torna-se ainda necessário considerar alguns conceitos.

Relação, é uma estrutura bidimensional com um conjunto de linhas e colunas. As colunas indicam o tipo de dados a armazenar e as linhas são as instâncias da relação.

Chave Estrangeira (ou importada ou externa), é o atributo que é chave primária numa outra relação.

4.1.- Associações 1:N

Considere o seguinte exemplo:

A transformação deste diagrama passa por colocar o atributo que é a chave primária da relação Departamento (lado 1 da associação) na relação Empregado (lado n da associação). Assim, de uma forma geral, temos o seguinte modelo relacional:

Empregado(cod_aluno, nome, bi, cod_departamento, ...)

Departamento(cod_departamento, nome, localização,....)

Onde os atributos sublinhados são as chaves primárias das respectivas relações e o atributo cod_departamento em Empregado, é chave estrangeira, pois referencia a chave primária de Departamento.

4.2.- Associações M:N

Considere o seguinte exemplo:

A transformação deste diagrama passa por adicionar uma relação, além da relação Aluno e da relação Disciplina. Assim, de uma forma geral, temos o seguinte modelo relacional:

Aluno(cod_aluno, nome, bi, ...)

Disciplina(cod_disciplina, nome, duração, ...)

Inscrição(cod_aluno, cod_disciplina, data_inscrição)

Onde os atributos sublinhados são as chaves primárias das respectivas relações e os atributos cod_disciplina e cod_aluno da relação Inscrição, são chaves estrangeiras pois fazem referência as chaves primárias das relações Disciplina e Aluno, respectivamente; além de constituírem a chave primária da referida relação.

4.3.- Casos particulares. Entidades fracas

Considere o exemplo do ponto 3.1.

A transformação desse diagrama passa por colocar a chave primária da relação Funcionário como atributo da relação Dependente (entidade fraca). Assim, de uma forma geral, temos o seguinte modelo relacional:

Empregado(cod_funcionario, nome, ...)

Dependente(cod_funcionario, nome, ...)

Verifique os atributos que são chave primária em Dependente. O atributo cod_funcionario em Dependente faz parte da chave primária, além de ser chave estrangeira.

4.4.- Casos particulares. Associações recursivas

Considere o exemplo2 do ponto 3.3.

A transformação desse diagrama passa por considerar duas relações Produto e Componente, e colocar a chave primária da relação Produto como atributo da relação Componente. Assim, de uma forma geral, temos o seguinte modelo relacional:

Produto(numero, custo, ...)

Componente(numero, numero_componente, quantidade)

Verifique que os atributos que são chave primária de Componente (numero e numero_componente) também são chave estrangeira. Portanto, estes atributos referenciam o atributo numero da relação Produto.

4.5.- Casos particulares. Associações ternárias

Considere o exemplo3 do ponto 3.3.

A transformação desse diagrama passa por considerar quatro relações Paciente, Tratamento, Médico e Consulta (entidade-associação). Esta última irá conter as chaves primárias das três primeiras relações. Assim, de uma forma geral, temos o seguinte modelo relacional:

Paciente(numero_paciente, bi, ...)

Tratamento(numero_tratamento, ...)

Médico(cod_medico, ...)

Consulta(cod_medico, numero_tratamento, numero_paciente)

Verifique que os atributos que são chave primária de Consulta também são chave estrangeira. Portanto, estes atributos referenciam os atributos cod_medico de Médico, numero_tratamento de Tratamento e numero_paciente de Paciente.

4.6.- Casos particulares. Generalização

Considere o exemplo do ponto 3.2.

A transformação desse diagrama passa por considerar três relações Cliente (particular), Funcionário (particular) e Pessoa (generalização). Observe o modelo relacional:

Pessoa(numero_pessoa, nome, morada, ...)

Funcionário(numero_func, categoria, ...)

Cliente(numero_cliente, contribuinte, ...)

As chaves primárias das relações Funcionário e Cliente são também chaves estrangeiras, pois referenciam o atributo numero_pessoa, que é chave primária da relação Pessoa.

 

 

 

INTRODUÇÃO AO PROCESSO DE NORMALIZAÇÃO

 

Trata-se de um processo, que pretende identificar e remover a redundância dos dados, para assim evitar problemas na actualização, eliminação e inserção de dados. O modelo relacional, inicialmente, previa a existência de três formas normais. Estas formas normais podem ser descritas desta forma:

1FN (1.ª Forma Normal)

Uma entidade está na 1FN quando todos os seus atributos são elementares.

2FN (2.ª Forma Normal)

Uma entidade está na 2FN quando estiver na 1FN e os seus atributos que não são chave dependerem inteiramente da chave.

Nota: Para verificar este facto poderíamos perguntar :

1.       Qual é a chave primária da entidade? Se não for composta por mais de um atributo, está na 2FN.

2.       Se a chave primária é composta por mais de um atributo, há atributos que não são chave e que dependem apenas de parte da chave? Se não, está na 2FN.

 

3FN (3.ª Forma Normal)

Uma entidade está na 3FN quando estiver na 2FN e nenhum atributo que não seja chave primária depender de outro que também não seja chave.

 

 

REFERÊNCIAS

"Modern Database Management"; Fred R. McFadden, Jeffrey A. Hoffer e Mary B. Prescott; Fifth Edition, 1999 Addison-Wesley.

"Tecnologia de Bases de Dados"; José L. Pereira; 2ª. Edição, FCA.

Voltar

 

Docente Responsável:

Isabel Sofia Sousa Brito