Modelos Conceituais de Dados Motivação Projeto de BD

Propaganda
Pós-graduação em Ciência da Computação
CCM-202 Sistemas de Banco de Dados
Motivação
Objetivo da abordagem de BD:
Modelos Conceituais de Dados
Profa. Maria Camila Nardini Barioni
[email protected]
Bloco B - sala 937
oferecer abstração dos dados
separar aplicações dos usuários dos detalhes de
hardware
ferramenta utilizada: modelo de dados
Modelo de dados:
conjunto de ferramentas conceituais para a
descrição dos dados e dos relacionamentos
existentes entre os dados, da semântica e das
restrições que atuam sobre estes
2° quadrimestre de 2011
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Categorias de Modelos de Dados
2
Categorias de Modelos de Dados
Modelo de dados de implementação
Divisão baseada nos tipos de conceitos
oferecidos para descrever a estrutura do BD
Modelo de dados conceitual
oferece conceitos que
podem ser facilmente utilizados por usuários finais
não estão distantes da maneira na qual os dados estão
organizados dentro do computador
modelo de alto nível
oferece conceitos próximos aos usuários
exemplo: modelo entidade-relacionamento
Modelo de dados físico
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
3
independe do SGBD
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
depende do SGBD
análise de
requisitos
esquema
conceitual
projeto
conceitual
esquema em linguagem
de implementação
mapeamento
para modelo
entrevistas a usuários de BD
documentação do sistema
Projeto conceitual
projeto
físico
Modelo Relacional
Modelo Entidade
Mapeamento
Relacionamento
MER para o
(MER)
Modelo Relacional
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
4
Análise de requisitos
conjunto de
necessidades
modelo de baixo nível
descreve como os dados estão armazenados
fisicamente no computador
Projeto de BD
Modelo de Dados e o Projeto de BD
minimundo
é implementado de maneira direta
exemplo: modelo relacional
5
utiliza modelo de dados de alto nível
descreve de maneira concisa as necessidades dos
usuários
inclui descrições detalhadas dos tipos de dados,
relacionamentos e restrições
é fácil de ser entendido
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
6
1
Pós-graduação em Ciência da Computação
CCM-202 Sistemas de Banco de Dados
Projeto de BD
Modelo
Entidade-Relacionamento
Mapeamento para modelo
tradução do esquema conceitual em uma
linguagem de alto nível para uma linguagem de
implementação
(Parte 1)
Projeto físico
Profa. Maria Camila Nardini Barioni
[email protected]
Bloco B - sala 937
especificação de estruturas internas de
armazenamento
especificação das formas de organização de
arquivos para BD
2° quadrimestre de 2011
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
7
Modelo Entidade Relacionamento
Modelo Entidade Relacionamento
Características
O ME-R oferece 4 Construtores para a
representação da semântica:
foi desenvolvido para facilitar o projeto lógico do
BD
permite a representação da estrutura lógica global
do BD
é um dos modelos de dados com maior
capacidade semântica
representa um problema como um conjunto de
entidades e relacionamentos entre estas entidades
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
9
Entidade
Tipo-Relacionamento
Atributos de Relacionamentos
10
Caracterizam uma entidade ou um
relacionamento
Pode ser um objeto com:
existência física: uma pessoa, um carro
existência conceitual: uma companhia, um
emprego, um curso
exemplo: tipo-entidade cliente
atributos: nome_cliente
endereço_cliente
data_nascimento
Domínio de um atributo
Descrita por propriedades particulares:
atributos
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Atributos de Entidades
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Possui existência independente
Tipo-Entidade
Atributos
Qualquer coisa do mundo real envolvida no
problema
11
conjunto de valores possíveis para o atributo
pode assumir valor nulo (i.e., null)
exemplos: nome_cliente: varchar(50)
data_nascimento: date
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
12
2
Exemplos
Classificação dos Atributos
Tipo-entidade cliente atributos: nome_cliente
endereço_cliente
data_nascimento
entidade e1:
Simples versus Compostos
não pode ser decomposto (dividido) em atributos mais
básicos
exemplo: sexo
nome_cliente: Márcia
endereço_cliente: Rua X, 1
data_nascimento: 12/03/1970
atributos mais básicos
possui como valor a concatenação dos valores dos
atributos simples que o formam
exemplo: atributo endereço, composto de nome_rua,
nro_casa, complemento, nome_bairro, ...
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
13
Atributos Compostos
endereço
estado
nro
valores: 222-0000, 222-0001, ...
se nenhuma consulta será realizada sobre os
atributos mais básicos de um atributo composto,
então o atributo composto pode ser armazenado no
BD como um atributo simples
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
pode possuir limites inferior/superior com relação à
multiplicidade dos valores assumidos
exemplo: nro_min = 0, nro_max = 3
15
Classificação dos Atributos
Descrito por um nome e uma lista de
atributos
atributo derivado
pode ser determinado através de outros atributos ou
Entidades de um tipo-entidade
através de entidades relacionadas
exemplos: idade = data_atual - data_nascimento
nro_empregados = soma das entidades
empregado para um
departamento
pode ou não ser armazenado no BD
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
16
Conjunto de entidades do mesmo tipo
atributo armazenado
está realmente armazenado no BD
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Tipo-Entidade
Armazenados versus Derivados
atributo multivalorado
possui múltiplos valores para cada entidade
exemplo: atributo telefone
nro_apartamento
Observação
atributo monovalorado
possui um único valor para cada entidade
exemplo: idade
cep
nome
14
Monovalorados versus Multivalorados
podem formar hierarquias
cidade
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Classificação dos Atributos
Atributos Simples x Compostos
rua
atributo composto
pode ser decomposto (dividido) em vários outros
entidade e2:
nome_cliente: Romualdo
endereço_cliente: Rua Floriano Peixoto, 10
data_nascimento: 10/10/1982
atributo simples ou atômico
17
compartilham os mesmos atributos
possuem seus próprios valores para cada
atributo
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
18
3
Representação
Restrição de Chave
CPF_empregado
EMPREGADO
Chave primária
nome_empregado
endereço_empregado
tipo-entidade: empregado
conjunto mínimo de atributos que identificam de
maneira única uma entidade
escolhida pelo projetista do BD como o principal
meio de identificação de um tipo-entidade
Exemplo:
entidades (instâncias)
CPF_empregado
CPF_empregado: 192876433-0
nome_empregado: Maria
endereço_empregado: Rua X
CPF_empregado: 150150150-0
nome_empregado: José
endereço_empregado: Rua Y
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
EMPREGADO
endereço_empregado
19
Relacionamento e
Tipo-relacionamento
associação entre entidades
conjunto de relacionamentos do mesmo tipo
Exemplo: pessoa trabalha para empresa
é opcional
deve ser feita sempre que possa existir ambigüidade
na interpretação
Contrata
Empresa
trabalha
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
21
Restrição de Cardinalidade
Cardinalidades
EMPREGADO
um-para-um ( 1 : 1 )
um-para-muitos ( 1 : n )
muitos-para-um ( n : 1)
muitos-para-muitos ( m : n )
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Contrata
Contrata
Curso
Contratada
por
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
EMPREGADO
Determina o número de entidades às quais
outras entidades podem ser associadas
através de um relacionamento
Contratada
por
22
Restrição de Cardinalidade
Restrição Estrutural
20
Cada Tipo-Entidade que participa de um TipoRelacionamento tem um PAPEL no
relacionamento
A indicação de cada papel
Tipo-relacionamento
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Papéis nos Relacionamentos
Relacionamento
nome_empregado
EMPREGADO
23
1
n
m
gerencia
trabalha
desenvolve
1
1
n
DEPARTAMENTO
DEPARTAMENTO
PROJETO
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
24
4
Exercício
Atributo de Tipo-Relacionamento
Diferencie semanticamente as duas
modelagens representadas a seguir:
a)
Determinado pela combinação das
entidades participantes em uma
instância do relacionamento
horas_trabalhadas
Exemplo:
cod_funcionário
nome_funcionário
FUNCIONÁRIO
nro_telefone
b)
m
FUNCIONÁRIO
n
utiliza
EMPREGADO
TELEFONE
nro_telefone
cod_funcionário
nome_funcionário
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
25
atributos de curso: código_curso, nome_curso
atributos de disciplina: código_disciplina,
nome_disciplina, carga_horária
PROJETO
CPF_empregado
nro_projeto
nome_empregado
nome_projeto
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
26
Um setor do hospital é responsável por realizar vários procedimentos
(ex. do setor de cirurgia: cirurgia vascular, radiocirurgia, etc), cada um
com um código único, um nome e um custo total.
Um médico do hospital pode trabalhar em vários setores, sendo
determinada a especialidade em que ele atua em cada setor.
Faça duas diferentes modelagens, de acordo
com as especificações a seguir
n
Um hospital é organizado em setores (ex.: maternidade, prontosocorro, cirurgia, etc), cada um com um nome único, uma sigla e um
médico responsável por gerenciá-lo. Uma data determina quando o
médico iniciou suas atividades de gerência no setor.
Dados os tipos-entidade curso e disciplina
desenvolve
Exemplo – Hospital
Exercício
m
Para cada médico são armazenadas informações como: nome, CPF,
endereço, telefone(s) de contato, salário e CRM. As buscas pelos
médicos são sempre realizadas por meio de seu CRM.
uma disciplina é obrigatória ou optativa,
independentemente do curso (modelagem 1)
uma disciplina pode ser obrigatória para um curso
e optativa para outro curso (modelagem 2)
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Para a realização de cada procedimento são utilizados vários materiais,
cada um com um código único, um nome e a nacionalidade. Cada
material pode ser usado em quantidades variadas em diversos
procedimentos.
27
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
28
Exemplo – Administradora de imóveis
data_início
nome
1
gerencia
sigla
(descrição adaptada de Carlos Alberto Heuser)
CPF
1
CRM
A administradora trabalha tanto com administração de
condomínios, quanto com a administração de aluguéis
Uma entrevista com o gerente da administradora resultou
nas seguintes informações:
nome
SETOR
m
n
trabalha
MÉDICO
salário
endereço
1
especialidade
telefone
realiza
n
PROCEDIMENTO
código
n
m
usa
quantidade
MATERIAL
código
nome
nome
custo
nacionalidade
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
29
A administradora administra condomínios formados por unidades
condominiais. Para cada condomínio a administradora precisa saber
seu nome (que é único) e endereço (nome da rua, número, bairro
e cep). Para cada unidade condominal seu número único e o andar;
Cada unidade condominial é de propriedade de uma ou mais
pessoas. Uma pessoa pode possuir diversas unidades;
Cada unidade pode estar alugada para no máximo uma pessoa.
Uma pessoa pode alugar diversas unidades. Uma data determina
quando a pessoa alugou uma unidade condominal;
Para cada pessoa são armazenadas informações como CPF, nome,
telefones (residencial, comercial e celular) e endereços (comercial e
para correspondência).
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
30
5
rua
número
nome
nro
endereço
bairro
cep
CONDOMÍNIO
Bibliografia
andar
1
composto
n
UNIDADE
m
Elmasri, Ramez; Navathe, Shamkant B. Sistemas de
banco de dados. 4 ed. São Paulo: Addison Wesley,
2005, 724 p. Bibliografia: p. [690]-714.
n
data
possui
aluga
n
Heuser, Carlos Alberto. Projeto de banco de
dados. 5 ed. Porto Alegre: Sagra Luzzatto, 2004,
236 p.
1
PESSOA
nome
cpf
rua
telefone
número
endereço
Material Didático produzido pelos professores Cristina
Dutra de Aguiar Ciferri e Caetano Traina Júnior
bairro
cep - 2° quadrimestre de 2011
CCM-202 Sistemas de Banco de Dados
31
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
32
6
Download