aula 5 - introdução ao modelo mer e der - 2015 - slides
DESCRIPTION
diagramas, conteúdo para utilização em Diagramas.TRANSCRIPT
-
03/08/2015
1
Introduo ao Modelo de
Entidade e Relacionamento
(MER)
Modelo Entidade e Relacionamento
(MER) um modelo conceitual e deve estar o mais
prximo possvel da viso que o usurio
tem dos dados, no se preocupando em
representar como estes dados estaro
realmente armazenados.
Modelo baseado na percepo do mundo
real, que consiste em um conjunto de
objetos bsicos chamados entidades e nos
relacionamentos entre esses objetos.
Objetivos:
Descrever quais dados devem ser
armazenados pela aplicao e quais desses
dados se relacionam.
Facilitar o projeto de banco de dados,
possibilitando a especificao da estrutura
lgica geral do banco de dados.
Exemplo
MER apresentado utiliza uma
representao grfica chamada de Diagrama
de Entidade e Relacionamento (DER).
O MER define os conceitos que sero
aplicados no desenvolvimento de DER. O
DER ser utilizado para representar
graficamente o conjunto de objetos do
MER, tais como entidade, atributos,
atributos-chave, relacionamento,
restries estruturais, etc.
Diagrama Entidade-Relacionamento -
DER
A estrutura lgica geral de um banco de
dados pode ser expressa graficamente por
um Diagrama Entidade- Relacionamento.
Componentes do DER (Peter Chen):
Retngulos: representam conjuntos-
entidade
Elipses: representam atributos
-
03/08/2015
2
Losangos: representam conjuntos-
relacionamento
Linhas: ligam atributos a conjuntos-
entidade e conjuntos-entidade a
conjuntos-relacionamento
Entidade e Atributos Uma entidade representa um conjunto de
objetos do mesmo tipo do mundo real e
sobre os quais se pretende armazenar
dados.
Uma entidade representada graficamente
por um retngulo com o nome da entidade
dentro do retngulo.
Exemplo:
PROFESSOR
Atributo
Elemento de dado que contm informao
que descreve uma entidade.
O atributo pode ser representado
graficamente por uma elipse com o nome
do atributo dentro da elipse. A elipse
ligada entidade por uma linha.
PROFESSOR
Telefone_prof
Nome_profMatricula_prof
CPF_prof
Uma entidade deve ter ao menos dois atributos, se possui apenas um atributo no entidade e esse nico atributo deveria estar em alguma outra entidade do modelo.
Um atributo possui um tipo de dado que representa os valores permitidos para aquele atributo. Esse tipo de dados d-se o nome de domnio do atributo.
Exemplo: entidade cadeira, atributos (nmero de pernas, cor, tamanho, peso, altura, tecido, etc).
O atributo nmero de pernas do tipo inteiro, ou seja, s permite que sejam armazenados valores inteiros para esse atributo.
Os tipos de dados dependem do SGBD (sistema de gerenciamento do banco de dados)
que o desenvolvedor est utilizando.
Disponibilizam tipos de dados como: inteiro,
caracter, real (ou float), data e hora.
Depois de definido o tipo de atributo pode-
se definir o tamanho mximo que o atributo
vai permitir armazenar.
Exemplo: atributo nome do tipo caracter
(500), armazena no mximo 500 caracteres.
Atributos podem ser divididos em 6
categorias.
Simples;
Compostos;
Monovalorado;
Multivalorado;
Derivado;
Nulo.
Os atributos podem pertencer a mais de uma categoria ao mesmo tempo. Isso significa que comum um nico atributo ser simples, monovalorado e derivado ao mesmo tempo.
-
03/08/2015
3
Atributo Simples
o atributo indivisvel, que no pode ou
no deve ser decomposto.
Exemplo: CPF, nmero da matricula, RG,
preo de venda.
Atributo Composto o atributo que pode ser decomposto
em outros atributos simples.
Exemplo: o atributo endereo pode ser
decomposto em nome da rua, numero e
complemento, cidade, estado
Rua
Nmero
Complemento
Atributo Monovalorado
Permite apenas o armazenamento de um
valor por vez.
Exemplo: CPF monovalorado porque
uma pessoa possui apenas um nmero de
CPF.
Atributo Multivalorado
Permite armazenar mais de um valor ao
mesmo tempo no mesmo campo.
Exemplo: e-mail pode ser multivalorado
uma vez que uma pessoa possui,
normalmente, mais de um endereo de e-
mail.
Atributo Nulo
Permite que seja inserido um valor nulo a
ele. Representa a inexistncia de um
valor. Significa que o usurio no precisa
cadastrar um valor para o atributo e pode
deix-lo vazio.
Atributo Derivado
o atributo cujo valor para ele deriva de
outro(s) atributo(s).
Exemplo:
-
03/08/2015
4
Representaes de Atributos
Atributo Simples
e MonovaloradoAtributo Chave (Nulo)
Atributo Composto
Atributo Multivalorado
Atributo Derivado
Chave Primria Uma Chave Primria (Primary Key) um
atributo da entidade que identifica apenas um
objeto dessa entidade.
O valor no pode ser nulo e nem repetido.
Ao se definir uma chave primria est-se
definindo uma restrio de integridade, que
deve ser obedecida em todos os estados
vlidos do BD.
Ex.:
Chaves Candidatas
Atributos habilitados a se tornarem
chave primria
Observao:
Somente uma chave candidata se
tornar primria; o restante passa a ser
considerada como chave alternativa
Exemplo: Escolha de Chave Primria
Atributos da Tabela ELEITOR
Nome do Eleitor
Junta Eleitoral
Seo Eleitoral
Nmero de Identidade
Nmero de CPF
Nmero do Ttulo de Eleitor
Tabela: ELEITOR
Chaves Candidatas:
Nmero do Ttulo de Eleitor
Nmero de Identidade
Nmero de CPF
Chave Primria Escolhida:
Nmero doTtulo de Eleitor
Chave Estrangeira
Mecanismo que permite a implementao
dos relacionamentos em um BDR
As chaves estrangeiras so os elos de
ligao entre as tabelas
Estrangeira porqu?
uma chave pertencente a uma tabela;
No est no seu local de origem, mas sim
no local para onde foi migrada
(estrangeiro)
-
03/08/2015
5
Chave Estrangeira - Exemplo
Tabela UNIDADE FEDERACO
Chave Primria: SIGLA-UF
Colunas: Nome, rea-m2
Tabela ELEITOR
Chave Primria: NUM-TITULO-ELEITOR
Colunas: CPF,RG, Nome, Estado-Civil
Chave Estrangeira: SIGLA-UF
ELEITORUNIDADE
FEDERACOvotaN 1
Tipos de Chave primria Simples.
Composta.
Chave primria simples aquele que ser formada
por apenas um atributo. Por exemplo:
matricula_professor.
Chave primria composta formada por dois ou
mais atributos. Por exemplo: uma entidade chamada
Localizao tem os seguintes atributos: nome da cidade, nome do estado, nome do pas. Esses
atributos sozinhos no podem ser chave primrio
porque eles se repetem.
Entidade Fraca Entidade fraca um tipo de entidade que
no possui atributo chave primria por si
s. Isso significa que no possvel
definir uma chave primria, nem simples e
nem composto, para a entidade.
Uma entidade fraca dependente de uma
outra entidade, e o relacionamento entre
a entidade fraca e a outra entidade
normalmente 1:N, e o N fica junto
entidade fraca.
Exemplo de entidade Contato uma
entidade fraca, porque no possui um
atributo que identifique um nico objeto.
Conjunto de Relacionamentos
Um relacionamento uma associao entre uma
ou vrias entidades (objetos da realidade)
Ex. um relacionamento entre um scio Joo com
o show S-15.
Esse relacionamento especifica que o scio Joo
compareceu ao show que foi designado com o
numero S-15.
Relacionamento Um conjunto de relacionamentos um conjunto de relacionamentos de mesmo tipo.
O relacionamento representado por um
losango com o nome do relacionamento no
centro.
Ex.
-
03/08/2015
6
Um relacionamento pode ter atributos.
Esses atributos so denominados de atributos
descritivos
Ex.
O relacionamento entre uma entidade fraca e
outra entidade chamado relacionamento
identificador, e este relacionamento no possuiu
atributos descritivos.
O esquema de E-R de uma empresa pode
definir certas restries, as quais o contedo do
banco de dados deve respeitar. Isso feito
utilizando o Mapeamento de Cardinalidade.
As restries de mapeamento ou cardinalidade
expressam o nmero de objetos de uma
entidade ao qual outra entidade pode ser
associada, via um relacionamento.
Restries de Mapeamento ou
cardinalidade
Cardinalidade mxima: indica a quantidade mxima
de ocorrncias de entidades que podem estar
associadas a uma ocorrncia da outra entidade (1 ou
n).
Ex.: A entidade Empregado tem cardinalidade mxima
1 no relacionamento.
Trabalha: uma ocorrncia de Empregado pode estar
associada a no mximo uma ocorrncia de
Departamento, ou em outros termos um empregado
pode estar trabalhando somente em um
departamento.
Cardinalidade de relacionamento A entidade Departamento tem cardinalidade mxima de 120 no relacionamento.
Trabalha: uma ocorrncia de Departamento
pode esta associada a no mximo 120 de
Empregado, isto , um departamento pode ter
no mximo 120 empregados trabalhando nele.
Duas cardinalidades mximas so relevantes:
A cardinalidade mxima 1
A cardinalidade mxima muitos
representada pela letra n
Cardinalidade Mnima: especifica se a
participao de todas as ocorrncias das entidades
no relacionamento obrigatria ou opcional.
Em um projeto de BD usada somente duas
cardinalidades mnimas: a cardinalidade mnima 0 e
a cardinalidade mnima 1.
A cardinalidade mnima 1 recebe a denominao
de associao obrigatria.
A cardinalidade mnima 0 recebe a denominao
de associao opcional.
-
03/08/2015
7
Para um conjunto de relacionamentos R
binrio entre os conjuntos de entidades A
e B, o mapeamento das cardinalidades
deve seguir uma das instrues abaixo:
Um para Um (1:1)
Um para Muitos (1:N)
Muitos para Muitos (N:N)
Mapeamento das Cardinalidades A cardinalidade 1:1 ocorre quando um objeto de
uma entidade pode se relacionar a apenas um
objeto de outra entidade e vice-versa.
Ex. Uma entidade em A est associada no
mximo a uma entidade em B, e uma
entidade em B est associada a no
mximo uma entidade em A.
Cardinalidade Um para Um (1:1)
Ex. Cardinalidade 1:1
Um professor dirige uma escola e uma escola
dirigida por um professor.
A cardinalidade 1:N ocorre quando um objeto
de uma entidade pode se relacionar a vrios
objetos de outra entidade, mas o contrrio
no verdadeiro.
Ex. Uma entidade em A est associada a
vrias entidades em B. Uma entidade
em B, entretanto, deve estar associada
no mximo a uma entidade em A.
Cardinalidade Um para Muitos (1:N)
Ex. Cardinalidade 1:N
Um professor pode trabalhar em 1 e apenas 1
escola, mas uma escola pode ter 1 ou vrios
professores trabalhando nela.
A cardinalidade N:N ocorre quando um
objeto de uma entidade pode se
relacionar a vrios objetos da outra
entidade e vice-versa.
Ex. Uma entidade em A est associada
a qualquer nmero de entidades em
B e uma entidade em B est associada
a um nmero qualquer de entidades
em A.
Cardinalidade Muitos para Muitos (N:N)
-
03/08/2015
8
Ex. Cardinalidade N:N
Um professor ministra uma ou vrias
disciplinas e uma disciplina pode ser
ministrada por um ou vrios professores.
Os relacionamentos apresentados at agora
foram binrios, entre duas entidades.
Mas um relacionamento pode ocorrer
tambm entre trs ou mais entidades.
Ex. um professor pode dar aulas de uma ou
mais disciplinas e poderia existir um ou
mais professores que dessem a mesma
disciplinas em diferentes turmas.
Relacionamento Ternrio ou
maiores
O Relacionamento ministra possui ainda o atributo
ano que permite distinguir qual foi o professor
que ministrou determinada disciplina para uma
turma em um determinado ano.
Um tipo especial de relacionamento aquele
que relaciona objetos de uma mesma
entidade. Esse tipo de relacionamento
denominado de relacionamento recursivo ou
autorrelacionamento.
Ex. Existam alguns alunos que representem
grupos de outros alunos em reunies e
assuntos estudantis.
Relacionamento Recursivo
O objeto aluno representa vrios outros
objetos dentro da mesma entidade.
Consiste na subdiviso de uma entidade
mais genrica (ou entidade pai) em um
conjunto de entidade especializada (ou
entidades filhas)
Ocorre quando um conjunto de
entidades pode conter subgrupos de
entidades com atributos especficos a
cada subgrupo.
Especializao
-
03/08/2015
9
Ex.
Especializao
Ex.
As entidades filhas herdam todos os atributos da
entidade pai e, portanto, no se devem repetir os
atributos da entidade pai nas entidades filhas.
Para utilizar uma especializao, deve-se analisar
antes se as entidades filhas possuem atributos
especficos ou relacionamentos especficos ou
ainda outra especializao.
Se a entidade filha no tiver nem atributo
especfico, nem relacionamento especfico ou
nem outra especializao, ento ela no deve ser
especializada. Dizemos que o modelo deve ser
generalizado, ou seja, deve passar por um
processo de generalizao.
A generalizao o processo inverso da
especificao. Em vez de subdividir a entidade,
cria-se uma entidade mais genrica.
Ex. Ex.
-
03/08/2015
10
Ex.
Agregao ou Entidade Associativa