Modelos conceituais - IC

Propaganda
Conteúdo do curso
Modelos conceituais
Universidade Estadual de Campinas - UNICAMP
Instituto de Computação - IC
MC536 – Bancos de Dados: Teoria e Prática
Aula #3 – Modelos conceituais: MER e MER Estendido
Profs. Anderson Rocha e André Santanchè
Campinas, 1 de Agosto de 2012
Anderson Rocha
Arquitetura de Banco de Dados
1/44
Conteúdo do curso
Modelos conceituais
Conteúdo do curso
1. Introdução: arquitetura de banco de dados.
2. Modelos de dados: modelagem e abstrações.
3. Modelos conceituais: modelo entidade-relacionamento (ER)
básico e estendido.
4. Modelo relacional: definições e formalização.
5. Mapeamento do modelo ER para o modelo relacional.
6. Dependências funcionais e normalização.
7. Linguagens de definição e de manipulação de dados.
I
I
Álgebra relacional;
Cálculo relacional.
8. Processamento de consultas.
9. Controle de concorrência.
10. Mecanismos de proteção e recuperação.
Anderson Rocha
Arquitetura de Banco de Dados
2/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Modelagem de dados usando o modelo ER
I
O modelo Entidade/Relacionamento (ER) é um modelo de
dados conceitual de alto nı́vel.
I
Utilizado para o projeto conceitual dos dados.
Precisa de informações das especificações das operações
básicas feitas pelos usuários finais
I
I
I
Especificação de requisitos.
Criado em 1976 por Peter Chen.
Anderson Rocha
Arquitetura de Banco de Dados
3/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Abordagem Entidade-Relacionamento
I
Modelo de dados é representado através de um modelo
entidade-relacionamento (MER).
I
MER é representado graficamente por um diagrama de
entidade-relacionamento (DER).
Anderson Rocha
Arquitetura de Banco de Dados
4/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Conceitos básicos do modelo ER (1)
Conceito
Definição
São conjuntos de instâncias, objetos
Entidade
da realidade modelada.
São ações que interagem com as enRelacionamento
tidades.
São caracterı́sticas comuns às
Atributos
instâncias que formam entidades/relacionamentos.
Restrição imposta às entidades e
aos relacionamentos, onde todas as
instâncias de 1 entidade têm que esTotalidade
tar relacionadas a instâncias da outra
entidade envolvida no relacionamento
Anderson Rocha
Arquitetura de Banco de Dados
5/44
Sı́mbolo
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Conceitos básicos do modelo ER (2)
I
Entidades são objetos ou “coisas” do mundo real que
possuem uma existência independente e são de interesse para
uma determinada aplicação.
I
Atributos são propriedades usadas para descrever uma
entidade/relacionamento.
Anderson Rocha
Arquitetura de Banco de Dados
6/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Conceitos básicos do modelo ER (3)
Figura: Entidade Livros, é composta pelos atributos Código, Tı́tulo e
Idioma.
Anderson Rocha
Arquitetura de Banco de Dados
7/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Atributos (1)
I
Simples: geralmente é só um conjunto de caracteres.
I
Compostos: formado pelo conjunto de n atributos simples.
Exemplo: Endereço = rua + número + bairro.
Figura: Atributo composto.
Anderson Rocha
Arquitetura de Banco de Dados
8/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Atributos (2)
I
Monovalorados: cada atributo possui uma instância.
I
Multivalorados: um atributo pode possuir n instâncias, por
exemplo um livro que possui várias edições. Neste caso,
edições seria um atributo multivalorado de livros. Exemplo:
Figura: Atributo multivalorado.
Anderson Rocha
Arquitetura de Banco de Dados
9/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Atributos (3)
I
Armazenados-básicos: são os atributos comuns desenhados
explicitamente no modelo ER).
I
Derivados: não são armazenados no BD, possuem valores
calculados quando necessário e são representados por linha
tracejada. Exemplo: lucro da venda de um livro pode ser
calculado já que existem os valores de preço de venda e de
custo.
Figura: Atributo derivado.
I
Cada atributo de um tipo de entidade possui um conjunto de
valores, ou domı́nio.
Anderson Rocha
Arquitetura de Banco de Dados
10/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Atributo Identificador (Chave) (1)
I
Atributo (ou combinação de atributos) que identifica
univocamente uma instância de entidade.
I
Atributo identificador pode ser composto.
I
Uma entidade pode tem mais de um atributo identificador.
Anderson Rocha
Arquitetura de Banco de Dados
11/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Atributo Identificador (Chave) (2)
Figura: Atributos identificadores.
Anderson Rocha
Arquitetura de Banco de Dados
12/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Atributo Identificador (Chave) (3)
I
O conceito de chave foi introduzido por Peter Chen em 1976,
com o motivo de identificar uma instância.
I
Porém a chave deve ser vista de forma mais ampla, como uma
restrição de integridade. Para o conceito de chave deve-se
entender que a instância é única.
I
O valor de um atributo que é chave não pode se repetir
dentro do conjunto de todas as instâncias da entidade.
Anderson Rocha
Arquitetura de Banco de Dados
13/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Relacionamento (1)
I
Um relacionamento é uma associação entre duas ou mais
entidades distintas (ou instâncias da entidade), com um
determinado significado.
I
Exemplo: Empregado João Trabalha Em Departamento
Pesquisa.
I
Um tipo de relacionamento R entre n tipos de entidades
e1 , e2 , . . . , en define um conjunto de associações entre
entidades desse tipo.
Anderson Rocha
Arquitetura de Banco de Dados
14/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Auto-Relacionamento
I
Relacionamento entre instâncias da mesma entidade.
I
Instâncias participam com papéis diferentes.
Anderson Rocha
Arquitetura de Banco de Dados
15/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Grau de relacionamento (1)
I
O grau de um relacionamento é o número de entidades
participantes
1. Unários;
2. Binários;
3. Ternários.
Anderson Rocha
Arquitetura de Banco de Dados
16/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Grau de relacionamento (2)
Figura: Relacionamento unário.
Anderson Rocha
Arquitetura de Banco de Dados
17/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Grau de relacionamento (3)
Figura: Relacionamento binário.
Anderson Rocha
Arquitetura de Banco de Dados
18/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Grau de relacionamento (4)
Figura: Relacionamento ternário.
Anderson Rocha
Arquitetura de Banco de Dados
19/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Relacionamento
I
Mais do que um relacionamento pode existir entre as mesmas
entidades.
Anderson Rocha
Arquitetura de Banco de Dados
20/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Restrições sobre tipos de relacionamento (1)
I
Relação de cardinalidade – especifica o número de instâncias
de um tipo de relacionamento que uma entidade pode
participar.
I
I
Pode ser: 1 para 1 (1:1), 1 para n (1:n), n para 1 (n:1) ou n
para n (n:n).
Relação de participação – especifica se a existência das
entidades dependem de ela estar associada ou não a outra
entidade. Pode ser chamada de obrigatória (total) ou opcional
(parcial).
Anderson Rocha
Arquitetura de Banco de Dados
21/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Restrições sobre tipos de relacionamento (2)
I
CARDINALIDADE + PARTICIPAÇÃO = RESTRIÇÕES
ESTRUTURAIS.
I
As restrições estruturais definem como as entidades serão
representadas, ou seja, a participação mı́nima e máxima das
instâncias dos tipos de entidades nos relacionamentos.
Anderson Rocha
Arquitetura de Banco de Dados
22/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Cardinalidade máxima
I
Um-para-um (1:1).
I
Um-para-muitos (1:N) ou muitos-para-um (N:1).
I
Muitos-para-muitos (N:M).
Anderson Rocha
Arquitetura de Banco de Dados
23/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Relacionamento N : 1
Figura: Relacionamento N : 1.
Anderson Rocha
Arquitetura de Banco de Dados
24/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Relacionamento N : M
Figura: Relacionamento N : M.
Anderson Rocha
Arquitetura de Banco de Dados
25/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Cardinalidade mı́nima (1)
I
Também chamada de restrição de participação ou restrição de
dependência de existência.
I
I
Zero (participação opcional, existência não dependente)
“Associação opcional”.
Um ou muitos (participação obrigatória, existência
dependente) “Associação obrigatória”.
Anderson Rocha
Arquitetura de Banco de Dados
26/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Cardinalidade mı́nima (2)
I
Especificada em cada participação de uma entidade E em um
relacionamento R.
I
Especifica que cada entidade e ∈ E se relaciona com no
mı́nimo min e no máximo max instâncias do relacionamento
em R.
I
Padrão (sem restrição): min = 0, max = n.
I
Deve ter min ≤ max, min ≥ 0, max ≥ 1.
I
Derivada do conhecimento do domı́nio da aplicação.
Anderson Rocha
Arquitetura de Banco de Dados
27/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Cardinalidade mı́nima (3)
Figura: Exemplo de cardinalidade mı́nima e máxima.
Anderson Rocha
Arquitetura de Banco de Dados
28/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Cardinalidade mı́nima (3)
Figura: Exemplo de cardinalidade mı́nima e máxima.
Anderson Rocha
Arquitetura de Banco de Dados
29/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Entidade Associativa (1)
I
Tipo de entidade que associa instâncias de um ou mais tipos
de entidades e contém atributos que são peculiares para o
relacionamento.
Anderson Rocha
Arquitetura de Banco de Dados
30/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Entidade Associativa (2)
I
Como identificar?
I
I
I
I
Relacionamento do tipo N : M;
A entidade associativa tem significado independente;
Tem um ou mais atributos;
Participa de um ou mais relacionamentos independentemente
das entidades do relacionamento associado.
Anderson Rocha
Arquitetura de Banco de Dados
31/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Entidade Associativa (3)
Anderson Rocha
Arquitetura de Banco de Dados
32/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Entidade Associativa (4)
Anderson Rocha
Arquitetura de Banco de Dados
33/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Exercı́cios (1)
I
Uma pequena locadora de vı́deos possui cerca de 2.000 fitas
de vı́deo, cujo empréstimo deve ser controlado.
I
Cada fita possui um número.
I
Para cada filme, é necessário saber seu tı́tulo e sua categoria
(comédia, drama, aventura, . . . ).
I
Cada filme recebe um identificador próprio. Para cada fita é
controlado que filme ela contém.
I
Para cada filme há pelo menos uma fita, e cada fita contém
somente um filme.
I
Alguns poucos filmes necessitam duas fitas.
I
Os clientes podem desejar encontrar os filmes estrelados pelo
seu ator predileto. Por isso, é necessário manter a informação
dos atores que atuam em cada filme.
Anderson Rocha
Arquitetura de Banco de Dados
34/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Exercı́cios (2)
I
Nem todo filme possui atores considerados “estrelas”.
I
Os clientes, às vezes, desejam receber referências de
determinado ator, tais como o nome real, a data de
nascimento, etc.
I
A locadora possui muitos clientes cadastrados.
I
Somente clientes cadastrados podem alugar fitas.
I
Para cada cliente é necessário saber seu pré-nome e seu
sobrenome, seu telefone e seu endereço.
I
Cada cliente recebe um número de associado.
I
Desejamos saber quais fitas estão locadas por um dado cliente.
I
Um cliente pode locar várias fitas ao mesmo tempo. Não são
mantidos registros históricos de aluguéis.
Anderson Rocha
Arquitetura de Banco de Dados
35/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Solução
Figura: Uma solução possı́vel para o problema da videolocadora.
Anderson Rocha
Arquitetura de Banco de Dados
36/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
MER estendido
I
I
Inclui todos os conceitos do MER básico.
Conceitos adicionais
1.
2.
3.
4.
Subclasses/Superclasses;
Especialização/Generalização;
Herança de atributos;
Agregação
Anderson Rocha
Arquitetura de Banco de Dados
37/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Subclasses e superclasses
I
Uma entidade pode ter subgrupos adicionais de suas
entidades.
I
Uma entidade que é membro de uma subclasse herda todos os
atributos e relacionamentos da entidade superclasse.
I
Processos de Especialização e Generalização.
Anderson Rocha
Arquitetura de Banco de Dados
38/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Restrição de não-sobreposição
I
I
Conhecida como Disjointness Constraint.
Especifica que as subclasses da especialização sejam disjuntas
I
I
I
Uma entidade pode ser um membro de no máximo uma
subclasse da especialização;
Representação: d no diagrama EER.
Se não é disjunto, há sobreposição
I
I
A mesma instância pode ser membro de mais de uma
subclasse da especialização;
Representação: o no diagrama EER.
Anderson Rocha
Arquitetura de Banco de Dados
39/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Restrição de Completude
I
I
Conhecida como Completeness Constraint.
Total
I
I
I
Especifica que toda instância na superclasse deve ser membro
de alguma subclasse;
Representação: t no diagrama EER.
Parcial
I
I
Permite que uma entidade não pertença a nenhuma das
subclasses;
Representação: p no diagrama EER.
Anderson Rocha
Arquitetura de Banco de Dados
40/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Generalização
Figura: Exemplo de generalização.
Anderson Rocha
Arquitetura de Banco de Dados
41/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Agregação
I
Agrega duas ou mais entidades em “conceito” (entidade) de
mais alto nı́vel.
Figura: Exemplo de agregação.
Anderson Rocha
Arquitetura de Banco de Dados
42/44
Conteúdo do curso
Modelos conceituais
Anderson Rocha
MER básico (ER)
MER estendido (EER)
Arquitetura de Banco de Dados
43/44
Conteúdo do curso
Modelos conceituais
MER básico (ER)
MER estendido (EER)
Dúvidas?
Figura: O pensador - Auguste Rodin.
Anderson Rocha
Arquitetura de Banco de Dados
44/44
Download