Você está na página 1de 12

UNIP - Universidade Paulista Cincia da Computao

Modelo de Entidade e Relacionamento (MER) - Parte 07


7.1 Definio Consiste em mapear o mundo real do sistema em um modelo grfico que ir representar o modelo e o relacionamento existente entre os dados. Este modelo foi desenvolvido a fim de facilitar o projeto de banco de dados permitindo a especificao de um esquema que representa a estrutura lgica global do Banco de Dados. 7.1.1 Entidade Identifica o objeto de interesse do sistema e tem "vida" prpria, ou seja, a representao abstrata de um objeto do mundo real sobre o qual desejamos guardar informaes. Exemplo: Clientes, Fornecedores, Alunos, Funcionrios, Departamentos, etc. No so entidades: Entidade com apenas 01 elemento; Operaes do sistema; Sadas do sistema; Pessoas que realizam trabalhos (usurios do sistema); Cargos de direo

7.1.2 Atributo Informaes que desejamos guardar sobre a instncia de entidade. Exemplo: Nome do aluno, Nmero da turma, Endereo do fornecedor, Sexo do funcionrio, etc. 7.1.3 Domnio do Atributo Universo de valores que um atributo pode armazenar. Exemplos: Conjunto de valores do atributo Sexo do funcionrio: M ou F; Conjunto de valores do atributo Nome do aluno: 40 caracteres alfanumricos. Conjunto de valores do atributo salrio: inteiro maior que 5000

7.2 - Representao Grfica

Entidade

Relacionamento

Atributo

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

7.2.1 Relacionamento Representa a associao entre os elementos do conjunto de uma entidade com outra entidade. Exemplo: O Joo est matriculado na disciplina de Banco de Dados. Onde: Joo: Elemento do conjunto de valores do atributo Nome do aluno da entidade Aluno; Banco de Dados: Elemento do conjunto de valores do atributo Nome da disciplina da entidade Disciplina; Matriculado: Ligao existente entre um aluno e uma disciplina.

Aluno

Matriculado

Disciplina

7.3 - Cardinalidade de Relacionamentos Representa a freqncia com que existe o relacionamento, que expressa o nmero de entidades ao qual outra entidade pode estar associada via um relacionamento, que pode se uma das seguintes: 7.3.1 Relacionamento 1:1 Exemplo: O Joo casado com a Maria. Onde: Joo: Elemento do conjunto de valores do atributo Nome da entidade Homem. Maria: Elemento do conjunto de valores do atributo Nome da entidade Mulher. Casado: Ligao entre um homem e uma mulher, sendo que um homem pode ser casado com uma e apenas uma mulher, assim como uma mulher pode ser casada com um e apenas um homem.
Casado

Homem

Mulher

1:1

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

7.3.2 Relacionamento 1:N ou N:1 Exemplo: O Pedro trabalha no Departamento Pessoal. Onde: Pedro: Elemento do conjunto de valores do atributo Nome da entidade Funcionrio. Depart. Pessoal: Elemento do conjunto de valores do atributo Nome do departamento da entidade Departamento. Trabalha: Ligao entre um Funcionrio e um Departamento, onde um funcionrio pode trabalhar em um e somente um departamento e um departamento pode ter vrios funcionrios.

7.3.3 Relacionamento N : M Exemplo: O Antnio est matriculado na disciplina Banco de Dados. Onde: Antnio: Elemento do conjunto de valores do atributo Nome da entidade Aluno. Banco de Dados: Elemento do conjunto de valores do atributo Nome da Disciplina da entidade Disciplina. Matriculado: Ligao existente entre um aluno e uma disciplina, onde um aluno pode estar matriculado em vrias disciplinas e cada disciplina pode ter vrios alunos matriculados.

7.4 - Atributos do Relacionamento Quando um determinado relacionamento possui atributos, tambm conhecido como relacionamento valorado. Esta situao ocorre apenas em relacionamento N:M. Exemplo: Pedro trabalha no projeto Alfa 30 horas.

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

Pedro: Elemento do conjunto de valores do atributo Nome da entidade Funcionrio. Alfa: Elemento do conjunto de valores do atributo Nome do Projeto da entidade Projeto. Trabalha: Ligao existente entre um funcionrio e um projeto. Neste caso, este funcionrio trabalha 30 horas neste projeto, porm este mesmo funcionrio poder trabalhar outro nmero de horas em outro projeto, assim como outro funcionrio trabalha outro nmero de horas no mesmo projeto Alfa. Podemos concluir que 30 horas o atributo que pertence ao Pedro no projeto Alfa

7.5 - Grau do Relacionamento Indica o nmero de entidade que se relacionam. 7.5.1 - Relacionamento Binrio Quando existe o relacionamento entre apenas duas entidades.

Exemplo: Um fornecedor comercializa materiais que so utilizados em diversos projetos.

7.5.2 - Relacionamento Ternrio Quando existe o relacionamento entre trs entidades.

Exemplo: Um fornecedor comercializa materiais que so utilizados em projetos especficos.

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

Fornecedores

Materiais

1:N

Utilizado

1:N

N:M

Projetos

Exemplos de Relacionamento: O Professor Alberto leciona Estrutura de Dados e o aluno Pedro cursa Linguagem de Programao

Pedro comprou 1 Kg. de banana do vendedor Manoel

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

Clientes

1:N

Produtos

Venda

1:1

1:N

Vendoderes

Obs. Para que haja uma venda, tem que haver um cliente, um produto e um vendedor. 7.6 Dependncia Existencial Forma outra importante classe de restries. Especificamente, se a existncia da entidade X depende da existncia da entidade Y, ento diz-se que X existencialmente dependente de Y. Operacionalmente, isto significa que se Y for removido, ento x tambm ser. A entidade Y chamada de entidade dominante e X chamada de entidade subordinada. Exemplo: Conta e Transao (Conta dominante e Transao subordinada) Uma entidade fraca representada por um duplo retngulo

7.7 Identificador de Entidade o atributo que a identifica incontestavelmente. Portanto, seu conceito similar ao conceito de chave primria em processamento de dados convencional. Um conjunto de entidades fracas no tem chave primria. Porm, necessitamos criar um identificador que faa a distino de uma determinada entidade fraca associada a entidade forte.

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

7.8 Esquema Relacional Aps a elaborao do diagrama E-R precisamos traduzir para um esquema mais adequado a tarefa de projetos de formatos de registros modelagem de dados. Para traduzirmos um modele E-R num esquema relacional, existem algumas regras bsicas com base no tipo de relacionamento entre as entidades. 7.8.1 Relacionamento definido por dois tipos diferentes de entidades 1 x 1 - A chave de qualquer entidade pode ser inserida na outra entidade. Os atributos do relacionamento, se houver, podem ser colocados normalmente nas entidades envolvidas 1 x N Inserir a chave primria da entidade 1. A entidade N herda o atributo do relacionamento. M x N Criar uma Relao de Ligao contendo; - Chaves primrias das entidades participantes do relacionamento - Atributos do relacionamento 7.8.2 Relacionamentos definidos por mais de dois tipos de entidades; Independente do tipo de relacionamento, a soluo tambm ser criarmos uma Relao de Ligao contendo as chaves primrias de todas as entidades mais os atributos do relacionamento.

7.8.3 Traduo de entidades Fracas Inserir na entidade fraca a chave ao qual ela est subordinada.

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

7.9 Exerccios 1) Elaborar um diagrama E-R para uma seguradora de automveis Entidades: Cliente, Aplice, Carro e Acidentes. Requisitos: a) Um cliente pode ter vrias aplices (no mnimo uma); b) Cada aplice somente d cobertura a um carro; c) Um carro pode ter zero ou n registros de acidentes a ele. Atributos: a) Cliente: Nmero, Nome e Endereo; b) Aplice: Nmero e Valor; c) Carro: Registro e Marca; d) Acidente: Data, Hora e Local; 2) Elaborar um diagrama E-R de um consultrio clnico Entidades: Mdico, Paciente e Exame. Requisitos: O banco de dados dever armazenar informaes sobre os vrios exames de um determinado paciente, com o resultado e o valor pago (pode-se dar desconto para determinados pacientes); Atributos: a) Mdico: Nmero, Nome e Especialidade; b) Paciente: Nmero, Nome, Endereo; c) Tipo Exame, Aceita Convnio, Requisitos, Valor exame. 3) Elaborar um diagrama para uma Indstria. Entidades: Peas, Depsitos, Fornecedor, Projeto, Funcionrio e Departamento. Requisitos: a) Cada Funcionrio pode estar alocado a somente um Departamento; b) Cada Funcionrio pode pertencer a mais de um Projeto; c) Um projeto pode utilizar-se de vrios Fornecedores e de vrias Peas; d) Uma Pea pode ser fornecida por vrios Fornecedores e atender a vrios Projetos; e) Um Fornecedor pode atender a vrios Projetos e fornecer vrias Peas; f) Um Depsito pode conter vrias Peas; g) Deseja-se ter um controle do material utilizado por cada Projeto, identificando inclusive o seu Fornecedor. Gravar as informaes de data de Incio e Horas Trabalhadas no Projeto.

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

Atributos: a) Peas: Nmero, Peso e Cor; b) Depsito: Nmero e Endereo; c) Fornecedor: Nmero e Endereo; d) Projeto: Nmero e Oramento; e) Funcionrio: Nmero, Salrio e Telefone; f) Departamento: Nmero e Setor. 4) Projetar um Banco de Dados satisfazendo as seguintes restries e requisitos: a) Para um Vendedor, armazenar seu cdigo, nome, endereo e comisso; b) Para um cliente, armazenar o seu cdigo, nome, endereo, faturamento acumulado e limite de crdito. Alm disso, armazenar o cdigo e o nome do vendedor que o atende. Um vendedor pode atender muitos clientes, porm um cliente deve ter exatamente um vendedor; c) Para uma pea, armazenar seu cdigo, descrio, preo quantidade em estoque e o nmero do armazm onde a pea est estocada. Uma pea somente pode estar estocada num nico armazm. Para um armazm, armazenar seu cdigo e endereo; d) Para um pedido, armazenar seu nmero, data, cdigo, nome e endereo do cliente, que fez o pedido e o cdigo do vendedor para clculo da comisso. Alm disso, para cada item do pedido armazenar o cdigo da pea, quantidade e preo cotado. H somente um cliente por pedido e um vendedor; e) O preo cotado no pedido pode ser mesmo que o preo corrente no arquivo de peas, mas no necessariamente.

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

Resoluo dos Exerccios 1)

2)
Mdico

( ) cd_Mdico ( ) nm_Mdico ( ) ds_Especialidade

Atende

N:M

1:N
( ) cd_Paciente ( ) nm_Paciente ( ) ds_Endereo ( ) cd_Exame ( ) ds_Exame ( ) ic_Convnio ( ) ds_Requisitos ( ) vl_Exame

Paciente

Faz

Exame

( ) ds_Resultado ( ) vl_ExamePago

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

3)
Departamento

( ) cd_Departamento ( ) ds_Setor

Tem

1:N

Funcionrio

( ) cd_Funcionrio ( ) vl_Salrio ( ) cd_Telefone

Participa

( ) dt_Incio ( ) hr_Trabalhada

N:M
( ) qt_PeaUtilizada

M:N
( ) cd_Projeto ( ) vl_Oramento
Projeto Itens Fornecedor

( ) cd_Fornecedor ( ) ds_Endereo

M:N

N:N

Peas

( ) cd_Pea ( ) ds_Cor ( ) qt_Peso

Contem

1:N

Depsito

( ) cd_Depsito ( ) ds_Endereo

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Cincia da Computao

4)
( ) cd_Vendedor ( ) nm_Vendedor ( ) ds_Endereo
Vendedor

1:N

Atende

( ) cd_Cliente ( ) nm_Cliente ( ) ds_Endereo ( ) vl_FaturaAc ( ) vl_LimiteCr

Cliente

1:N

Tem

( ) tx_Comisso

1:N

Faz

( ) dt_Incio ( ) hr_Trabalhada

( ) cd_Pedido ( ) dt_Pedido

Pedido

M:N

tens

( ) qt_PeaVendida ( ) vl_PeaVendida

Peas

( ) cd_Pea ( ) ds_Pea ( ) vl_Pea

N:1

est

Armazm

( ) cd_Armazm ( ) ds_Endereo

Prof. Marcelo Nogueira