Вы находитесь на странице: 1из 42

Modelagem de Dados

Profa Dra Jeroniza Nunes Marchaukoski

Modelagem de Dados
Conceitos:
Apia a estrutura de um banco de dados Conjunto de ferramentas conceituais que descrevem dados, relaes, semntica de dados e restries de consistncia

Categorias de Modelos de Dados


Modelos de dados de alto nvel
Modelos conceituais Prximo da percepo dos usurios Maior poder semntico para descrever o mundo real

Modelos de dados de baixo nvel


Descrevem detalhes dos dados de como eles so armazenados Modelo baseado em registro Relacional Semi-estruturados XML

Modelagem de Dados

Modelo EntidadeRelacionamento (MER)


um modelo de dados conceitual de altonvel Utilizado durante o processo de projeto da base de dados.

MER - Entidade
Um objeto do mundo real, algo singular, nico que pode ser identificado entre outros objetos. Pode ser um objeto com uma existncia fsica - pessoa, carro empregado Pode ser um objeto com existncia conceitual - companhia, trabalho, curso.

MER - Entidade
Particularidades de uma entidade:
Contm um conjunto de atributos (propriedades, caractersticas) que as descrevem. Deve ter algum valor nico que a identifique. Ex: matrcula, rg, cpf

MER - Entidade
Empregado

Nome= Joo da Silva

Endereo= Rua Abacaxi Nr 5, Curitiba, PR

Data de nascimento= 30/04/1968

Telefone=1111)

MER - Conjunto de Entidades


representao abstrata da um objeto do mundo real. Exemplo: conjunto dos Clientes, conjunto dos Alunos, Empregado etc. Ele abrange entidades do mesmo tipo. Exemplo: o conjunto de entidades EMPREGADO abrange os empregados cod=2222, cod=3333, ou seja, todos os empregados. Ele compartilha as mesmas propriedades atributos. Exemplo: o conjunto de entidades ALUNO contm os atributos matr, nome, sexo, data-nasc, que so caractersticas de todos os alunos.

MER - Conjunto de Entidades


Representao Grfica: Conjunto de Entidade: Retngulo.

Empregado

MER - Atributo
Propriedades que descrevem entidade. Podem ser:
Simples ou Compostos
Simples no pode ser dividido em partes. Ex: matrcula do aluno. Compostos podem ser divididos. Ex: nome (primeiro nome, nome intermedirio, sobrenome); endereo (rua, cidade, estado, CEP)

um

conjunto

de

Monovalorado ou Multivalorado
Monovalorado s pode haver um valor. Ex: data-nasc do aluno, matrcula do aluno, nome do aluno. Multivalorado pode haver mais de um valor, ou nenhum para a mesma instncia. Ex: telefone do aluno.

Nulo: quando no possui valor, quando no existe ou desconhecido. Ex: o complemento do endereo. Derivado: pode ser derivado de outros atributos ou entidade a ele relacionados. Ex: idade do aluno, tempo_de_curso.

MER - Diagrama
Representao Grfica: Atributo: Elipse.

Nome Endereo

Data de nasciment o

Telefone

MER - Diagrama
Atributo chave Unicidade da entidade Representao Grfica: Conjunto de Entidade com Atributos

Nome

Endereo

Data de nasciment o Telefone

Empregado

MER Conjunto e Instncia de Relacionamento


Um Conjunto de Relacionamento R entre n Conjuntos de entidades E 1 , E 2 , ..., En um conjunto de associaes entre entidades desse conjunto. Cada entidade E 1 , E 2 , ..., En participa no Conjunto de relacionamento R As entidades individuais e 1 , e 2 , ..., en participam na instncia do relacionamento r i =(e 1 , e 2 , ..., en). O ndice i indica que podem existir vrias instncias de relacionamento.

MER - Relacionamento
Associao entre uma conjuntos de entidades
Exemplo: E1=Empregado R=TRABALHA E2=Empresa.... Os conjunto de entidade Empregado e Empresa participam do conjunto de relacionamento Trabalha

MER - Relacionamento
Uma instncia de relacionamento representa a existncia de uma associao entre essa entidade e o mundo real.
Exemplo: E1=Empregado (nome=Joo...) E2=Empresa (nome = Volvo) participam da instncia do relacionamento TRABALHA Cliente Tiago emprstimo 16 participam na instncia do relacionamento devedor.

A funo que uma entidade desempenha em um relacionamento chamada papel

MER - Relacionamento
Empregado TRABALHA e1 e2 e3 e4 e5 e6 r1 r2 r3 r4 r5 r6 Empresa c1 c2 c3

Relacionamento Binrio de Muito para Um

MER - Grau do Conjunto de relacionamento


O grau indica o nmero de conjuntos de entidades participantes.
Relacionamento binrio: ex: devedor e agencia, isto um relacionamento que envolve 2 conjuntos de entidades.A maioria binria. Ternrio relacionamento com mais de dois conjuntos de entidade: ex: conjuntos de entidades cliente, emprstimo, agencia ... Ligados pelo conjunto de relacionamento devedor.

MER - Grau do Conjunto de relacionamento

Um exemplo de um Conjunto de relacionamento ternrio FORNECE:


cada instncia de relacionamento ri associa trs entidades um fornecedor s, uma pea p e um projeto j onde o fornecedor s fornece a pea p para o projeto j.

MER - Relacionamento
Fornecedor s1 s2 FORNECE Projeto r1 r2 r3 Pea p1 p2 r4 r5 r6 r7 j1 j2 j3

p3

Relacionamento Ternrio de Muito para Muitos

MER - Relacionamento Cardinalidade


Relacionamento Cardinalidade: Representa freqncia com que existe o relacionamento. a
Relacionamento 1:1 (1 para 1): uma entidade A esta associada no max a uma entidade B e vice-versa. Exemplo: Paulo casado com Ana... Homem CASADO Mulher Relacionamento 1:M (1 para muitos): A est associada a vrios elementos de B, B s a no mximo um de A. Exemplo: Paulo trabalha no setor de peridicos... Empregado TRABALHA Setor. Relacionamento M:M (muitos para muitos): A est associada a vrios elementos de B, e B est associado a vrios elementos de A. Exemplo: Paulo est matriculado em Banco de Dados 1 e Matemtica, Ana tambm est matriculada em Banco de Dados 1... Aluno MATRICULADO Disciplina.

MER Conjunto de Relacionamento


Representao Grfica Empregado

Trabalha Binrio M - 1

Empresa

Fornecedor

Pea

Fornece Ternrio M - M

Projeto

MER Conjunto de Relacionamento


Relacionamento com atributos descritivos: Quando um determinado relacionamento possui atributos, tambm conhecido como relacionamento valorado. Ex: aluno ESTUDA (atributo sala) turma.
sala Aluno Estuda Turma

MER Conjunto de Relacionamento


Relacionamento recursivo: Quando desempenha outros papis. Ex: Empregado... Gerente, produo. Um mesmo conjunto de entidade participa mais que uma vez em um conjunto de relacionamento com diferentes papis. Um conjunto de entidade se relaciona com ele mesmo

MER Conjunto de Relacionamento


Relacionamento recursivo: O conjunto de relacionamento SUPERVISIONA relaciona um empregado com o seu supervisor Ambas entidades so membros do mesmo tipo de entidade EMPREGADO. Conjunto de entidade EMPREGADO participa duas vezes: uma vez no papel de supervisor e outra no papel de supervisionado.

Empregado

Supervision a

MER Conjunto de Relacionamento

(O.K. Takai; I.C.Italiano; J.E. Ferreira. Introduo a Banco de Dados, 2005)

Onde 1 corresponde ao papel supervisiona e 2 supervisionado

MER Conjunto de Entidade Fraca


Conjunto de entidades que no tem atributos suficiente para formar a chave primria. Ex: dependente (nome, dataNasc) O conjunto de entidade fraca totalmente dependente da conjunto entidade forte, ou seja, no existe sem ela. Conjunto entidade forte: dominante. Possui atributos para formar a prpria chave primria. Conjunto entidade fraca: subordinada. Conjunto entidade fraca precisam de um identificador chamado chave parcial (o campo deve ser pontilhado. Ex: nome em dependente. A chave primria do conjunto de relacionamento formada pela chave parcial + a chave primria da forte. conjunto relacionamento liga a fraca ao proprietrio forte. O retngulo da fraca duplo, o losango do conjunto relacionamento duplo e a linha que liga o conjunto entidade ao conjunto relacionamento dupla indicando dependncia total (ou seja no existe sem a outra)

MER Conjunto de Entidade Fraca


Representao grfica de conjunto de entidade fraca

CPF

nome

tel

nome

dt_nasc

Empregado

Dependede

Dependente

Forte

Fraca

MER Herana
uma propriedade criada pela especializao/ generalizao. Os atributos do conjunto de entidade nvel superior so herdados pelos conjunto entidades de nvel inferior. As sub-classses tambm herdam a participao em conjunto de relacionamento das quais as super classes participam. Conjunto entidade de nvel superior: seus atributos e conjunto relacionamento so aplicados a todas as entidades do nvel inferior Conjunto entidade nvel inferior: armazena suas caractersticas distintas, que so apenas aplicadas a ela em particular.

MER Herana (Especializao)


Processo de isolar sub-grupos dentro de um conjunto de entidade. Este sub-grupos contm atributos que no so utilizados por todas as entidades. Sua funo refinar o esquema. Exemplo: cliente especial...valor de desconto, cliente pssimo...nome do fiador Cliente conjunto entidade superior Especial: conjunto entidade inferior a cliente Pssimo: conjunto entidade inferior a cliente Modelagem top-down .... um conjunto de entidade refinado em conjunto de sub-entidade

MER Herana (Especializao)


CPF nome tel maq Comissao Empregado CPF nome tel

Empregado

ISA

Comissao

maq

Administrativo

Produo

MER Herana (Generalizao)


Quando conjunto entidades so sintetizados em um conjunto de entidade de alto nvel com base em atributos comuns. Exemplo: aluno(cpf, nome, endereo, tel, curso), professor(cpf, nome, endereo, tel, disciplina), funcionrio(cpf, endereo, tel, cargo), visitante(cpf, nome, endereo, tel, obs) Todos os conjuntos de entidades acima tem em comum (cpf, nome, endereo, tel), ento estes sero reunidos em uma entidade comum chamada pessoa. Ento teremos: Pessoa(cpf, nome, endereo, tel) ... conjunto entidade superior Aluno(curso) .... conjunto entidade inferior dependente de Pessoa Professor(disciplina) .... conjunto entidade inferior dependente de Pessoa Funcionrio(cargo) .... conjunto entidade inferior dependente de Pessoa Visitante(obs) .... conjunto entidade inferior dependente de Pessoa Modelagem bottom-up .... conjunto de entidades com atributos comuns, estes so unificados em uma entidade superior

MER Herana (Generalizao)


CPF nome tel curso CPF nome tel

Pessoa
Aluno

CPF

nome

tel

rea

ISA

Professor
curso nome CPF tel Horrio Aluno Professor Administrativo

rea

Horrio

Administrativo

MER Herana - restries de integridade


Definida por condio:conjuntos de entidade de nvel inferior definido com base um um predicado. Exemplo: superior conta inferior corrente ou inferior poupana. Definida pelo usurio: o usurio determina quando e para qual entidade de nvel inferior. Exemplo: superior cliente vai para inferior especial aps critrios no fixos da loja (qtde comprada, pagto no prazo) OU para inferior simples. Mutuamente exclusivos (disjuntos): Quando uma entidade pode pertencer a apenas um conjunto de entidades inferior. Exemplo: Conta ou corrente ou poupana; funcionrio ou produo ou administrativo. Sobrepostos: Quando uma entidade pode pertencer a mais de um conjunto de entidades inferior. Exemplo: Pessoa aluno, estagirio, funcionrio. Total: Cada entidade de nvel superior deve pertencer a um conjunto de entidade de nvel inferior. Parcial: A entidade pode pertencer a qualquer conjunto inferior ou nenhum. Cliente sem classificao.

MER Agregao
Agregao: a abstrao por meio da qual os conjuntos de relacionamentos so tratados como conjunto de entidade de nvel superior. Exemplo: cliente <devedor> emprstimo; cliente <atendente> emprstimo e empregado. Em relacionamentos separados perde-se informao de ligao. Unidos os relacionamentos h a ligao do cliente, emprstimo, relacionamento devedor e relacionamento atendente

MER Agregao (DER Caso


cpf nom e

professor aula dia


nr local

horrio

Classe

sala

ClasseAlun o

cpf

nom e aluno

MER Agregao
cpf nom e

professor aula dia nr local

horrio

Classe

sala

ClasseAlun o

cpf

nom e aluno

MER Smbolos

MER Correspondncia ER - UML


Entidade de Relacionamento
1- Conjunto de entidade e atributos

UML Diagrama de Classes

2- Relacionamentos

3- Restries de cardinalidade

4- Generalizao Especializao

Silberschatz A.; et al, 2006

MER Do Mini-mundo ao DER


A companhia organizada em departamentos. Cada departamento tem um nome, um nmero e um empregado que gerencia o departamento. Armazena-se a data de incio que o empregado comeou a gerenciar o departamento. Um departamento pode ter diversas localizaes; Um departamento controla inmeros projetos, sendo que cada um tem um nome, um nmero e uma localizao; Do empregado armazena-se o nome, o nmero do seguro social, endereo, salrio, sexo e data de nascimento. Todo empregado associado a um departamento, mas pode trabalhar em diversos projetos, que no so necessariamente controlados pelo mesmo departamento. Armazena-se, tambm, o nmero de horas que o empregado trabalha em cada projeto. Mantm-se, ainda, a indicao do supervisor direto de cada projeto; Os dependentes de cada empregado so armazenados para propsito de garantir os benefcios do seguro. Para cada dependente ser armazenado o nome, sexo, data de nascimento e o relacionamento com o empregado. (O.K. Takai; I.C.Italiano; J.E. Ferreira.
Introduo a Banco de Dados, 2005)

MER Do Mini-mundo ao DER

(O.K. Takai; I.C.Italiano; J.E. Ferreira. Introduo a Banco de Dados, 2005)

MER Exerccios
1. 2. 3. 4. Construa um diagrama ER para uma seguradora de veculos, em que cada cliente possui um ou mais carros. Cada carro est associado a um cliente e tem vinculados a ele 0 a qualquer nmero de acidentes. Como transformar um conjunto de entidade fraca em conjunto de entidade forte ? Descreva as desvantagens dessa transformao e como estas desvantagens poderiam ser contornadas ? Um atributo multivalorado pode ser modelado de outra forma ? Exemplifique e coloque as vantagens no uso da segunda forma. Considere um sistema para um consultrio mdico com pacientes, mdicos, funcionrios da rea de sade, administrativos e da manuteno. As informaes de dependentes (nome, data de nascimento, sexo) so armazenadas para todos os funcionrios para questes de benefcios. Os pacientes podem marcar consulta com um mdico ou profissional da sade com dia, horrio, confirmao, dados para contatos, pagamento confirmado. Os funcionrios da rea de sade e mdicos recebem remunerao por paciente atendido, j os administrativos por carga horria e os da manuteno por setor atendido e servio realizado cumprindo a escala com dia, horrio e especificao de local. Construa um DER.