Você está na página 1de 9

Curso Linguagem SQL Formador Pedro Mesquita

Proposta de Trabalho Material auxiliar , Aula 3

DIAGRAMA DE ENTIDADE-ASSOCIAO

1- Conceitos 2- Smbolos 3- Casos Particulares 4- Transformao para o Modelo relacional Introduo ao processo de Normalizao

Curso Linguagem SQL Formador Pedro Mesquita

Proposta de Trabalho Material auxiliar , Aula 3

1. CONCEITOS
Entidade um conceito abstracto. Pretende representar a realidade que queremos modelar. A definio de uma entidade passa pela identificao dos elementos e de um conjunto de atributos comuns do mundo real que estamos a analisar. Por exemplo, considere o ambiente de uma universidade. Nessa universidade, e dependendo do objectivo a alcanar, podemos identificar, as entidades ALUNO, PROFESSOR, DISCIPLINA, etc.. A entidade ALUNO representa todos os alunos da universidade e o aluno "Jos Pires" uma instncia da entidade ALUNO. Atributos, representam os dados da entidade. Por exemplo, para representar a entidade ALUNO, torna-se necessrio definir os atributos nome, apelido, morada, telefone, etc.. Cada atributo se encontra definido num determinado domnio de valores. Assim, o atributo nome definido por um conjunto de caracteres, telefone, definido por um conjunto de nove nmeros. Nota: numa Entidade no podem existir dois atributos com a mesma designao. Chave Primria, o conjunto mnimo de atributos que permite determinar univocamente uma instncia numa entidade. Associaes, so utilizadas para relacionar entidades. As entidades interagem umas com as outras, atravs de associaes. Existem dois aspectos fundamentais nas associaes: Cardinalidade e Obrigatoriedade. A cardinalidade, tambm designada por tipo de associao, indica, dada uma instncia de uma entidade, o nmero de instncias da outra entidade com que ela se relaciona. De uma forma geral, existem trs tipos de associaes: 1:1 (um-para-um), 1:N (um-para-muitos) e N:M (muitos-para-muitos). Uma associao 1:1 quando cada elemento da entidade A est relacionado , no mximo, com um elemento da entidade B. Uma associao 1:N definida se cada elemento da entidade A est relacionado com vrios elementos da entidade B, mas cada elemento da entidade B apenas est relacionado com um elemento da entidade A. Uma associao M:N definida se cada elemento da entidade A est relacionado com vrios elementos da entidade B, e cada elemento da entidade B est relacionado com vrios elementos da entidade A. A obrigatoriedade da associao prende-se com o facto de pretendermos especificar se obrigatrio ou no que todas as instncias estejam relacionadas a pelo menos uma instncia da outra entidade

2- DIAGRAMAS
Smbolos:

Curso Linguagem SQL Formador Pedro Mesquita

Proposta de Trabalho Material auxiliar , Aula 3

Exemplos:

Nota: A associao inscrito chamada uma entidade associativa. E uma forma de simplificar o desenho.

3- CASOS PARTICULARES 3.1.- Entidade Fraca


uma entidade dependente de outra entidade. Geralmente tem uma associao de 1:N e a entidade fraca caracteriza-se por no possuir um atributo chave. Por exemplo, observe o seguinte diagrama que pretende modelar os funcionrios de uma empresa e o seu agregado familiar.

Curso Linguagem SQL Formador Pedro Mesquita

Proposta de Trabalho Material auxiliar , Aula 3

Verifique o smbolo utilizado para caracterizar a associao. A entidade fraca Dependente, e a sua chave primria Cod_funcionario que uma atributo da entidade Empregado.

3.2.- Particularizaes/Generalizaes (IS A)


So casos particulares das associaes do tipo 1:1. Observe o seguinte exemplo:

O relacionamento IS A associada entidade Pessoa generaliza as entidades particulares Funcionrio e Cliente. A generalizao til pois evita repetir atributos comuns, neste caso nome, morada.

3.3.- Relaes Ternrias e Relaes Recursivas


Uma associao recursiva (unria) ocorre quando uma entidade est relacionada com ela prpria. Exemplo1:

Curso Linguagem SQL Formador Pedro Mesquita

Proposta de Trabalho Material auxiliar , Aula 3

Exemplo2:

Associaes Ternrias so associaes com trs entidades. Exemplo3:

4- TRANSFORMAO PARA O MODELO RELACIONAL


Quando se transforma um diagrama de entidade-associao para o modelo relacional, necessrio realizar um conjunto de alteraes. Este processo de transformao ser feito considerando os vrios tipos de associaes que envolvem as entidades. Para isto, torna-se ainda necessrio considerar alguns conceitos. Relao, uma estrutura bidimensional com um conjunto de linhas e colunas. As colunas indicam o tipo de dados a armazenar e as linhas so as instncias da relao. Chave Estrangeira (ou importada ou externa), o atributo que chave primria numa outra relao.

Curso Linguagem SQL Formador Pedro Mesquita

Proposta de Trabalho Material auxiliar , Aula 3

4.1.- Associaes 1:N


Considere o seguinte exemplo:

A transformao deste diagrama passa por colocar o atributo que a chave primria da relao Departamento (lado 1 da associao) na relao Empregado (lado n da associao). Assim, de uma forma geral, temos o seguinte modelo relacional: Empregado(cod_aluno, nome, bi, cod_departamento, ...) Departamento(cod_departamento, nome, localizao,....) Onde os atributos sublinhados so as chaves primrias das respectivas relaes e o atributo cod_departamento em Empregado, chave estrangeira, pois referencia a chave primria de Departamento.

4.2.- Associaes M:N


Considere o seguinte exemplo:

A transformao deste diagrama passa por adicionar uma relao, alm da relao Aluno e da relao Disciplina. Assim, de uma forma geral, temos o seguinte modelo relacional: Aluno(cod_aluno, nome, bi, ...) Disciplina(cod_disciplina, nome, durao, ...) Inscrio(cod_aluno, cod_disciplina, data_inscrio) Onde os atributos sublinhados so as chaves primrias das respectivas relaes e os atributos cod_disciplina e cod_aluno da relao Inscrio, so chaves estrangeiras pois fazem referncia as chaves primrias das relaes Disciplina e Aluno, respectivamente; alm de constiturem a chave primria da referida relao.

4.3.- Casos particulares. Entidades fracas

Curso Linguagem SQL Formador Pedro Mesquita Considere o exemplo do ponto 3.1.

Proposta de Trabalho Material auxiliar , Aula 3

A transformao desse diagrama passa por colocar a chave primria da relao Funcionrio como atributo da relao 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 so chave primria em Dependente. O atributo cod_funcionario em Dependente faz parte da chave primria, alm de ser chave estrangeira.

4.4.- Casos particulares. Associaes recursivas


Considere o exemplo2 do ponto 3.3. A transformao desse diagrama passa por considerar duas relaes Produto e Componente, e colocar a chave primria da relao Produto como atributo da relao Componente. Assim, de uma forma geral, temos o seguinte modelo relacional: Produto(numero, custo, ...) Componente(numero, numero_componente, quantidade) Verifique que os atributos que so chave primria de Componente (numero e numero_componente) tambm so chave estrangeira. Portanto, estes atributos referenciam o atributo numero da relao Produto.

4.5.- Casos particulares. Associaes ternrias


Considere o exemplo3 do ponto 3.3. A transformao desse diagrama passa por considerar quatro relaes Paciente, Tratamento, Mdico e Consulta (entidade-associao). Esta ltima ir conter as chaves primrias das trs primeiras relaes. Assim, de uma forma geral, temos o seguinte modelo relacional: Paciente(numero_paciente, bi, ...) Tratamento(numero_tratamento, ...) Mdico(cod_medico, ...) Consulta(cod_medico, numero_tratamento, numero_paciente) Verifique que os atributos que so chave primria de Consulta tambm so chave estrangeira. Portanto, estes atributos referenciam os atributos cod_medico de Mdico, numero_tratamento de Tratamento e numero_paciente de Paciente.

4.6.- Casos particulares. Generalizao


Considere o exemplo do ponto 3.2. A transformao desse diagrama passa por considerar trs relaes Cliente (particular), Funcionrio (particular) e Pessoa (generalizao). Observe o modelo relacional:

Curso Linguagem SQL Formador Pedro Mesquita Pessoa(numero_pessoa, nome, morada, ...) Funcionrio(numero_func, categoria, ...) Cliente(numero_cliente, contribuinte, ...)

Proposta de Trabalho Material auxiliar , Aula 3

As chaves primrias das relaes Funcionrio e Cliente so tambm chaves estrangeiras, pois referenciam o atributo numero_pessoa, que chave primria da relao Pessoa.

Curso Linguagem SQL Formador Pedro Mesquita

Proposta de Trabalho Material auxiliar , Aula 3

INTRODUO AO PROCESSO DE NORMALIZAO

Trata-se de um processo, que pretende identificar e remover a redundncia dos dados, para assim evitar problemas na actualizao, eliminao e insero de dados. O modelo relacional, inicialmente, previa a existncia de trs formas normais. Estas formas normais podem ser descritas desta forma:

1FN (1. Forma Normal)


Uma entidade est na 1FN quando todos os seus atributos so elementares.

2FN (2. Forma Normal)


Uma entidade est na 2FN quando estiver na 1FN e os seus atributos que no so chave dependerem inteiramente da chave. Nota: Para verificar este facto poderamos perguntar : 1. 2. Qual a chave primria da entidade? Se no for composta por mais de um atributo, est na 2FN. Se a chave primria composta por mais de um atributo, h atributos que no so chave e que dependem apenas de parte da chave? Se no, est na 2FN.

3FN (3. Forma Normal)


Uma entidade est na 3FN quando estiver na 2FN e nenhum atributo que no seja chave primria depender de outro que tambm no seja chave.

Você também pode gostar