Aula07_Modelo ER

Transcrição

Aula07_Modelo ER
IEC Banco de Dados I Aula 07 – Modelo En5dade Relacional Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E-­‐mail: [email protected] Ambiente virtual: hLp://bdufam.wordpress.com Análise de Requisitos
Projeto Conceitual
Projeto Lógico
Projeto Físico
BD
PROJETO CONCEITUAL
(1)  Descrição de + alto nível da
estrutura do BD
(2)  Não contém detalhes de
implementação
(3)  Independente do tipo de SGBD
usado
(4)  Construção de modelos
semânticos
(5)  Ponto de partida do projeto de
BD
Modelagem Conceitual O obje5vo É: Representar a semân5ca da informação, independente de considerações de eficiência. O obje5vo NÃO É: Descrever a estrutura do armazenamento do banco de dados. Requisitos de um modelo conceitual: -­‐ clareza (facilidade de compreensão) -­‐ exa5dão (formal) Ex: Modelo Entidade-Relacionamento Qual finalidade do Modelo E/R?
4
¨ 
O Modelo E/R nos permite definir o Projeto
Conceitual de um BD
¤  Tipos
de dados e como eles se associam.
¤  Não define como os dados são alterados.
Projeto descritos usando diagramas
entidade-relacionamento (DER)
¨  Mais tarde: Conversão de um DER para um
esquema relacional
¨ 
Exemplo de Banco de Dados
§ 
COMPANHIA
§ 
§ 
§ 
§ 
§ 
Empregados, departmentos, e projetos
Companhia é organizada em departamentos
Departmentos controlam vários projetos
Empregado: Nome, cpf, endereço, salario, sexo
(genero), e nascimento
Dependentes de cada empregado
Entidade
7
¨ 
Entidade= “Coisa” ou objeto.
¤ 
¨ 
É o objeto básico do modelo ER. É uma “coisa” do mundo
real com uma existência independente. Pode ser um objeto
com uma existência física (pessoa, carro, casa, empregado)
ou pode ser um objeto com existência conceitual (empresa,
serviço, curso)
Conjunto de Entidades = Coleção de Entidades
similares.
¤  Similar
¨ 
a uma Classe em linguagem orientada à objeto.
Atributo = propriedade de um conjunto de
entidades.
¤  Atributos
são valores simples, como por exemplo:
inteiros ou strings de caracteres.
w  Há diversos tipos de atributos:
w  simples ou compostos;
w  de valor único ou multivalorados;
w  armazenados ou derivados;
Atributos Compostos ou Simples (Atômicos) ¨ 
Atributos Compostos: podem ser divididos em subpartes menores, que representam outros atributos básicos com significados diferentes. ¤  Ex: Endereço da en5dade empregado [e1] pode ser subdividido em EndereçoLocal (nome do logradouro e número), Cidade, Estado e CEP ¨ 
Atributos Simples (Atômicos): não são divisíveis. Atributos Compostos ou Simples ¨ 
Atributos compostos podem formar uma hierarquia, ex: endereçoLocal pode ser subdividido em três atributos simples: NumeroLogradouro,NomeLogradouro, NumeroApartamento. Atributos de Valor Único e Mul5valorado (Múl5plos Valores) ¨ 
Valor Único: Atributos que possuem um único valor para uma en5dade (a maioria). ¤ 
¨ 
Ex: Data de Nascimento é um valor único por pessoa; Mul5valorado ou Múl5plos Valores: apresentam mais de um valor para a mesma en5dade. Um atributo mul5valorado pode possuir limites inferior e superior quanto ao número de valores permi5dos para cada en5dade individual ¤  Ex: Um empregado pode ter vários Telefones de contato Atributos Armazenados ou Derivados ¨ 
Atributos Armazenados ou Derivados: Em alguns casos, dois (ou mais) valores estão relacionados – por exemplo, os atributos Idade e DataNascimento. ¤  Para uma determinada en5dade pessoa, o valor de Idade pode ser determinado a par5r da data atual e do valor DataNascimento daquela pessoa. ¤  O atributo Idade é chamado Atributo Derivado e DataNascimento Atributo Armazenado. ¨ 
Alguns valores de atributos podem ser derivados das en#dades relacionadas. Ex: Número de funcionários do departamento Valores Nulos ¨ 
Em alguns casos uma determinada en5dade pode não ter um valor aplicável para um atributo. ¤  Ex: NúmerodoApartamento ¨ 
Também ocorre de não conhecermos o conteúdo de um determinado atributo. ¤  Ex: Telefone ¨ 
No primeiro caso o atributo é nulo por ser não aplicável, já no segundo caso, ele é nulo por ser desconhecido. Atributos Complexos ¨ 
¨ 
¨ 
Atributos compostos e mul5valorados podem ser agrupados de modo arbitrário. Podemos representar o agrupamento arbitrário juntando os componentes de um atributo composto entre parênteses () e separando os componentes com vírgulas, Exibindo atributos mul5valorados entre chaves. Esses atributos são chamados atributos complexos. {EndereçoTelefone(Telefone(CódigodeÁrea,NúmerodoTelefone)}, Endereço(NúmeroNomedoLogradouro(Número,Logradouro,NúmerodoAp
artamento),Cidade,Estado,CódigoPostal))} Tipos de En5dade Tipo de En5dade : define uma coleção (ou conjunto) de en5dades que possuem os mesmos atributos. Cada 5po de en5dade no banco de dados é descrita através de seu nome e atributos. ¤  Um 5po de en5dade (ou simplesmente en5dade) é representado nos diagramas ER como uma caixa retangular contendo o nome do 5po de en5dade. Tipo de En5dade Os nomes dos atributos são colocados dentro de formas ovais e são ligados a seu 5po de en5dade através de linhas retas. ¨  Os atributos compostos estão ligados a seus atributos componentes através de linhas retas. ¨  Os atributos mul3valoradas são exibidos em formas ovais duplas. ¨ 
Exemplo
17
Conjunto de
Entidades Doces tem
dois atributos, sendo:
nome e fabr
(fabricante).
¨  Cada entidade
Doces tem valores
para estes dois
atributos, e.x.
(Twizzlers, Hershey)
¨ 
nome fabr Doces Conjunto de En5dade Conjunto de En5dade : é a coleção de todas as en5dades de um determinado 5po de en5dade no banco de dados. Geralmente nos referimos ao conjunto de en5dades u5lizando o mesmo nome do 5po de en5dade. Ex: EMPREGADO se refere ao 5po de en5dade e ao conjunto de todas as en5dades empregado do banco de dados. Tipo de En5dade e Conjunto de En5dade ¨ 
¨ 
Um Tipo de En5dade descreve o esquema para um Conjunto de En5dades que compar5lham a mesma estrutura. A coleção de en5dades de um determinado 5po de en5dade é agrupada num conjunto de en5dades, que também é chamado de extensão do 5po de en5dade. Atributos Chave ¨ 
Atributos Chaves de um 5po de En5dade: O atributo chave de uma en5dade iden5fica univocamente aquela en5dade. ¤ 
¨ 
Uma en5dade pode ser iden5ficada univocamente através de um conjunto de atributos, pode-­‐se definir um atributo composto para ser a chave será dessa en5dade ¤ 
¤ 
¨ 
Ex: o atributo nome é uma chave da en5dade EMPRESA; CPF para en5dade PESSOA Ex: Iden5dade de uma PESSOA é formado pelo Número do documento, Órgão Expedidor e UF Como pôde ser visto, a en5dade PESSOA pode possuir duas chaves Uma en5dade pode não possuir chave (en5dade fraca) Atributos Chave ¨ 
Na notação do diagrama ER cada atributo chave possui um nome sublinhado dentro da forma oval. Conjunto de Valores (Domínios) dos Atributos ¨ 
Cada atributo simples de uma en5dade está associado a um conjunto de valores (ou domínio de valores) ¤ 
¤ 
¨ 
Idades de empregados entre 16 e 70 anos Nomes: alfabé5cos separados por espaços Os conjuntos de valores não são exibidos nos diagramas ER Relacionamentos ¨ 
Sempre que um atributo de uma en5dade se refere a outra en5dade existe algum relacionamento. Ex: ¤ 
¤ 
¤ 
¤ 
¤ 
¨ 
O atributo Gerente de DEPARTAMENTO se refere ao empregado que gerencia o departamento O atributo DepartamentoControlador de PROJETOS se refere ao departamento que controla o projeto. O atributo Supervisor do EMPREGADO se refere a um outro empregado O atriuto Departamento de EMPREGADO se refere ao departamento para o qual o empregado trabalha Etc. Chaves estrangeiras em M.R. Relacionamentos ¨ 
¨ 
No modelo ER, essas referências não devem ser representadas como atributos e sim como RELACIONAMENTOS! No projeto inicial das en5dades, normalmente os relacionamentos são capturados em forma de atributos, à medida que o projeto é refinado esses atributos são conver5dos em relacionamentos. Relacionamento
25
Tipo de Relacionamentos descrevem um
relacionamento entre entidades.
¨  Um conjunto de relacionamentos conecta dois
ou mais conjunto de entidades.
¨  Representado por um losangulo, com linhas
para cada conjunto de entidades envolvida no
relacionamento.
¨ 
Exemplo
26
nome nome endereço Lojas Doces Vende Frequenta fabr Gosta Loja vende doces.
Consumidor gosta de
algum doce.
Consumidor frequenta
alguma loja.
nome Consumidor endereço Grau w  O grau de um Tipo de Relacionamento é o número do
tipo de entidades participantes.
w  Ex: O relacionamento TRABALHA_PARA é de grau 2,
também chamado relacionamento binário
Relacionamento
de grau 3 ou
ternário.
Grau w  Algumas vezes é conveniente imaginar
relacionamentos como atributos. Foi o que fizemos
ao definir a entidade EMPREGADO com o atributo
Departamento.
w  Num relacionamento binário sempre temos duas
opções, criar um atributo multivalorado em
DEPARTAMENTO chamado Empregados (contendo
todos os empregados do departamento) ou um
atributo Departamento em EMPREGADO
Nome do relacionamento w 
O nome do papel desempenhado significa o papel de cada entidade
participante desempenha em um tipo de relacionamento.
Exemplo
31
nome nome endereço Lojas Doces Vende Frequenta fabr Gosta Loja vende doces.
Consumidor gosta de
algum doce.
Consumidor frequenta
alguma loja.
nome Consumidor endereço Nome de Relacionamentos ¨ 
Relacionamentos recursivos. ¤  Mesma en5dade par5cipa mais de uma vez em um relacionamento com papéis diferentes ¤  Deve-­‐se especificar o nome do papel na linha Restrições de tipos de
relacionamentos binários
§ 
Cardinalidade de um relacionamento binário
§ 
§ 
Especifica número máximo de relacionamentos
que uma entidade pode participar
Restrição de participação
§ 
§ 
Especifica se a existência de uma entidade
depende dela se relacionar com outra.
Tipos: total e parcial
Relacionamento Muitos-para-Muitos
34
Relacionamento binário, tal como Vende entre
Lojas e Doces.
¨  Em um relacionamento muitos-muitos, uma
entidade de qualquer conjunto pode ser
conectada para muitas entidades de outros
conjuntos.
¨ 
¤  E.x.,
uma Loja vende muitos tipos de doces; um
tipo doce é vendido por muitas Lojas.
35
muitos-muitos
Relacionamento um-para-Muitos
36
Alguns relacionamento binários são um-paraMuitos de um conjunto de entidades para
outro.
¨  Uma entidade do primeiro conjunto pode ser
conectado para zero,uma, ou muitas
entidades do segundo conjunto.
¨  Cada entidade do segundo conjunto é
conectado para uma entidade do primeiro.
¨ 
37
um-para-muitos
Exemplo
38
Favorito, de Doces para Consumidores é umpara-muitos.
¨  Um consumidor possui um doce favorito.
¨  Mas um doce pode ser o favorito de qualquer
número de consumidores, incluindo zero.
¨ 
Relacionamento um-para-um
39
Em um relacionamento um-para-um , cada
entidade de qualquer conjunto-entidade é
relacionada pelo menos com uma entidade do
outro conjunto.
¨  Exemplo: Relacionamento Mais-vendido entre
conjunto-entidade Fabr (fabricante) e Doces.
¨ 
¤  Um
doce não pode ser o mais vendido fabricado por
mais que um fabricante, e nenhum fabricante pode
ter mais que um Mais-vendido.
40
um-para um
Exemplo w 
w 
Ex: Cada empregado deve trabalhar para exatamente 1
departamento, mas departamentos tem vários funcionários.
Em TRABALHA_PARA, DEPARTAMENTO:EMPREGADO possui
razão de cardinalidade 1:N significando que cada departamento
pode ter 1 ou mais empregados e um empregado trabalha
exatamente para um departamento
1:1 w Ex: 1:1 – Gerência restrição de que um empregado pode
gerenciar apenas um departamento, e cada departamento
tem1 gerente
N:M (ou N:N) w Ex: N:M: O tipo de relacionamento TRABALHA_EM pois
um empregado pode trabalhar em vários projetos e um
projeto pode ter vários empregados.
Restrição de Par5cipação w A restrição de participação especifica se a existência de uma
entidade depende dela ser relacionada a uma outra entidade através
do tipo de relacionamento.
w Total ou Parcial
w Ex: Se a empresa estabelece que todo empregado deve trabalhar
para um departamento, então, uma entidade EMPREGADO somente
pode existir se participar de uma instância do relacionamento
TRABALHA_PARA. Logo, a participação de EMPREGADO em
TRABALHA_PARA é TOTAL, também chamada de dependência de
existência.
Par5cipação Parcial w Não é esperado que todo funcionário gerencie um
departamento, portanto a participação de EMPREGADO no
relacionamento GERENCIA é parcial.
Atributos de Relacionamento w  Relacionamentos também podem possuir atributos. Ex: O
número de horas por semana é um atributo do
relacionamento TRABALHA_EM.
Atributos de Relacionamento w  Os atributos de tipos de relacionamento com cardinalidade
1:1 ou 1:N podem ser migrados para as entidades.
w  Por exemplo, a data de início de gerência de
departamento, embora seja um atributo do relacionamento
GERENCIA (1:1) pode ser migrado para EMPREGADO
ou DEPARTAMENTO.
M:N w  Em um relacionamento de cardinalidade M:N, alguns
atributos podem ser determinados através da
combinação de entidades participantes numa instância
do relacionamento, e não através da entidade.
w  Esses atributos devem ser especificados como atributos
do relacionamento.
En5dades Fracas w 
w 
w 
w 
w 
Tipos de Entidades que não possuem atributos chave são
chamados de tipos de entidades fracas.
Tipos de Entidades vinculadas às entidades fracas são
chamadas entidade identificadora ou proprietária.
O tipo de relacionamento que atribui uma entidade fraca à
sua proprietária é chamado relacionamento identificador
da entidade fraca.
Uma entidade fraca sempre possui uma restrição de
participação total.
No diagrama ER, tanto uma entidade fraca quanto seu
relacionamento identificador são diferenciados,
contornando suas caixas e losângulos com linhas duplas.
w Entidades fracas podem ter chave parcial que é o conjunto de atributos que podem
univocamente identificar entidades fracas que estão relacionadas à mesma entidade
proprietária.
w Entidades, às vezes, podem ser representadas com atributos complexos (compostos e
multivalorados)
Nomenclatura ¨ 
¨ 
Foram u5lizados nomes no singular para os Tipos de En5dade, uma vez que o nome se aplica a cada en5dade individual pertencente ao 5po; Outras convenções: ¤ 
¤ 
¤ 
¨ 
Nomes de ENTIDADES e RELACIONAMENTOS em caixa alta Nomes de Atributos apenas com iniciais em maiúscula Nomes dos papéis desempenhados em minúsculas Prá3ca Geral ¤ 
¤ 
En5dades nominadas como SUBSTANTIVOS Relacionamentos como VERBOS Resumo da Notação Exercício 1 ¨ 
Transforme em E.R. Aluno(Nmat,nome, nascimento) Matricula(Naluno,Ndisc,periodo,turma,data_mat,nota) Disciplina(Ndisc,periodo,turma, nome,data_ini,idprof) Professor(Id,nome, nascimento,salario) Exercício 2 ¨ 
Uma imobiliária deseja montar um banco de dados contendo os dados de imóveis que estão a venda ou que já foram vendidas. Devem ser considerados os seguintes requisitos: ¤ 
¤ 
¤ 
¤ 
¤ 
No banco de dados somente estarão armazenados dados de apartamentos residenciais em edivcios. Cada edivcio é iden5ficado por um código de 5 dígitos e é necessário saber seu nome, seu endereço, o bairro em que está localizado e o ano de construção, bem como os apartamentos que estão a venda ou já foram vendidos. Para cada apartamento, além de saber se ele já foi ou não vendido, é necessário conhecer seu preço, sua área total, sua área real, bem como o seu número iden5ficador dentro do prédio. Para cada apartamento é necessário conhecer os compar5mentos que o compõem. Cada compar5mento tem um número que o iden5fica dentro do apartamento, tem uma descrição (como "sala" ou "cozinha") e é necessário conhecer sua área. Alguns apartamentos estão relacionados a uma ou mais vagas de estacionamento. Uma vaga tem um número que a iden5fica dentro do prédio (atenção, não é um número que iden5fica a vaga dentro do apartamento). Para cada vaga é necessário saber sua área, quantos veículos nela cabem e o seu 5po (se é coberta ou não). 

Documentos relacionados

Projeto de Banco de Dados e o Modelo E-R – Parte 2

Projeto de Banco de Dados e o Modelo E-R – Parte 2 • Representada por um componente triângulo rotulado ISA (por exemplo, cliente “é uma” pessoa). • Herança de atributo — Um conjunto de entidades de nível inferior herda todos os atributos e a partic...

Leia mais

Modelagem

Modelagem São informações que qualificam uma entidade e descrevem seus elementos ou características. Quanto transpostos para o modelo modelo físico são chamados de colunas ou campos. Um atributo é uma caract...

Leia mais

Projetando banco de dados - Gestão de Tecnologia da Informação

Projetando banco de dados - Gestão de Tecnologia da Informação armazenadas. Atributos descrevem uma Entidade pela qualificação, identificação, quantificação ou expressão de estado da Entidade. O que descreve uma Entidade? No caso de uma pessoa, um funcionário ...

Leia mais