modelagem de dados - vqv.com.br ()

Propaganda
MODELAGEM DE DADOS
O uso da
análise e do
projeto
Orientados a
Objetos
atenuou a
separação!
Unidade I
1
Banco de Dados I
MODELAGEM DE DADOS
Etapas do Projeto do BD
Análise de Requisitos
Projeto Conceitual
• Coleta de informações sobre os
dados e seus relacionamentos na
organização
• Forma de realização: reuniões
reuniões,
entrevistas, análise de documentos
• Resultado: documento com a
especificação de requisitos
Projeto Lógico
Projeto Físico
Unidade I
2
Banco de Dados I
MODELAGEM DE DADOS
Exemplo de Especificacao de Requisitos
Sistema Administrativo da Universidade
Todo servidor possui uma identificação única na
universidade e está lotado em um departamento, onde
exerce uma determinada função...
Servidor:
-possui uma identificação única na Universidade;
-está
está lotado em um departamento;
-exerce uma função no departamento no qual esta
lotado;
-...
Unidade I
3
Banco de Dados I
MODELAGEM DE DADOS
Coleta e Análise de Requisitos
• As expectativas dos usuários: o detalhamento máximo
• As aplicações existentes e as pretendidas
• Atividades que se referem à fase:
–
–
–
–
–
Identificação de grupos de usuários e áreas de aplicação
Inspeção da documentação existente
Entrada e saída para as transações
Tipos e frequência das transações
Coleta, análise, modelagem, especificação e revisão
Unidade I
4
Banco de Dados I
MODELAGEM DE DADOS
Unidade I
5
Banco de Dados I
MODELAGEM DE DADOS
Etapas do Projeto do BD
Análise de Requisitos
Especificação de requisitos
Projeto Conceitual
• Modelagem dos dados e seus
relacionamentos independente da
estrutura
t t
d
de representação
t ã do
d
SGBD (modelagem conceitual)
Projeto Lógico
• Forma de realização: análise da
especificação de requisitos
Projeto Físico
Unidade I
• Resultado: esquema conceitual
6
Banco de Dados I
MODELAGEM DE DADOS
Exemplo de Projeto Conceitual
Diagrama Entidade-Relacionamento
N t ã CHEN
Notação
EMPREGADO
(1,1)
(0,N)
LOTAÇÃO
Ç
Função
Matrícula
DEPTO
Código
Nome
Nome
Notação Engenharia da Informação
estáá lotado
l d em
EMPREGADO
DEPTO
tem lotado
z
Notação suportada por diversas ferramentas CASE
z
Somente
So
e te ad
admite
te relacionamentos
e ac o a e tos b
binários
á os
Unidade I
7
Banco de Dados I
MODELAGEM DE DADOS
Etapas do Projeto do BD
Análise de Requisitos
Especificação de requisitos
Projeto Conceitual
Esquema conceitual
Projeto Lógico
Projeto Físico
• Conversão do esquema conceitual
no esquema
q
de representação
p
ç de um
SGBD (esquema lógico)
• Forma de realização: aplicação de
regras de conversão
• Resultado: esquema lógico
Unidade I
8
Banco de Dados I
MODELAGEM DE DADOS
Exemplo de Projeto Lógico
(1,1)
((0,N)
, )
EMPREGADO
LOTAÇÃO
Função
Matrícula
DEPTO
Código
Nome
Nome
Conversão ER-Modelo relacional
Empregados (Matricula, Nome, Funcao, CodigoDepto)
CodigoDepto referencia Departamentos
Departamentos (Codigo, Nome)
Unidade I
9
Banco de Dados I
MODELAGEM DE DADOS
MODELO LÓGICO
Ver notações no
DBDesigner!!!!
LIVRO (idLivro, titulo, autor, editora)
COMPRA (idLivro, idCliente, dtCompra)
idLi
idLivro
referencia
f
i idLi
idLivro em LIVROS
idCliente referencia idCliente em CLIENTE
CLIENTE (idCliente, nome, telefone, endereco)
Unidade I
10
Banco de Dados I
MODELAGEM DE DADOS
Etapas do Projeto do BD
Análise de Requisitos
Projeto Conceitual
• Definição
D fi i ã d
do esquema lógico
ló i
em um SGBD adequado ao modelo
• Consideração de aspectos de
performance e segurança (índices
(índices,
buffers, autorizações de acesso, ...)
• Forma de realização: DDL do SGBD
• Resultado: esquema físico
Projeto Lógico
Esquema lógico
Projeto Físico
Unidade I
11
Banco de Dados I
MODELAGEM DE DADOS
Exemplo
p de Projeto
j
Físico
Empregados (Matricula, Nome, Funcao, CodigoDepto)
CodigoDepto
g
p referencia Codigo
g em Departamentos
p
Departamentos (Codigo, Nome)
Especificação em SQL / DDL
CREATE table Empregados (
M t i l iinteger,
Matricula
t
N
Nome char(50),
h (50) F
Funcao char(20),
h (20)
CodigoDepto integer,
primary key(Matricula),
foreign key(CodigoDepto)
references Departamentos(Codigo)
);
CREATE table Departamentos (
Codigo integer, Nome char(30)
primary key(Codigo)
);
Unidade I
12
Banco de Dados I
MODELAGEM DE DADOS
MODELO FÍSICO
Ver
DBDesigner!!!
Unidade I
13
Banco de Dados I
CREATE TABLE Livro (
idLivro INTEGER NOT NULL,
titulo VARCHAR(100) NULL,
autor
t VARCHAR(100) NULL
NULL,
editora VARCHAR(100) NULL,
PRIMARY KEY(idLivro)
);
CREATE TABLE Cliente (
idCliente INTEGER NOT NULL,
nome VARCHAR(100) NULL
NULL,
telefone VARCHAR(15) NULL,
endereco VARCHAR(100) NULL,
PRIMARY KEY(idCliente)
);
14
CREATE
C
A TABLE
A
C
Compra (
idCliente INTEGER UNSIGNED NOT NULL,
idLivro INTEGER UNSIGNED NOT NULL
NULL,
dtCompra DATE NULL,
PRIMARY KEY(idCliente,
(
, idLivro),
),
FOREIGN KEY(idCliente)
REFERENCES Cliente(idCliente),
FOREIGN KEY(idLi
KEY(idLivro))
REFERENCES Livro(idLivro)
);
15
MODELAGEM DE DADOS
Escolha de um Sistema Gerenciador de
Banco de Dados
• Finalidade
a dade do ssistema
ste a
• Fatores técnicos, econômicos e políticos
• Custos :
–
–
–
–
–
–
–
do SGBD
do hardware
da manutenção
criação ou conversão
pessoal
treinamento
operação
• Qual dos SGBDs escolher?
– popularidade,
popularidade familiaridade,
familiaridade suporte
Unidade I
16
Banco de Dados I
MODELAGEM DE DADOS
P
Preocupações
õ no Projeto
P j t de
d BD
• Projeto Conceitual
- correta abstração do mundo real
((captura
t
correta
t da
d semântica
â ti do
d d
domínio
í i d
da
aplicação)
• Projeto Lógico
ó
+ Físico
í
- escolhas corretas no mapeamento
para o modelo do SGBD (relacional) e
consideração de aspectos de performance
(correta distribuição dos dados em tabelas)
Unidade I
17
Banco de Dados I
MODELAGEM DE DADOS
Etapas do Projeto do BD
Análise de Requisitos
Especificação de requisitos
Projeto Conceitual
Esquema conceitual
Projeto Lógico
Esquema conceitual
Projeto Físico
Esquema físico ou implementação
SGBD específico
Unidade I
Descritivo
Não
Conceitual
Não
Lógico
Não
Fí i
Físico
Si
Sim
18
Banco de Dados I
MODELAGEM DE DADOS
Modelos de Dados
- Descrição formal dos tipos de dados que estão armazenados
em um banco de dados
Ex: modelo de uma indústria
Informa:
- que são armazenadas informações sobre produtos
- para cada produto, são armazenados seu código, descrição
e preço
Não informa:
- quais os produtos que estão armazenados no banco
ABORDAGEM ENTIDADE-RELACIONAMENTO
Técnica
éc ca ut
utilizada
ada pa
para
a implementar
p e e ta a modelagem
ode age co
conceitual
ce tua
de dados
Padrão de fato para a modelagem conceitual
((criada em 1976 p
por Peter Chen))
Não é a única:
- Engenharia da Informação
- UML (técnica para modelos Orientados a Objetos)
Unidade I
19
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
MODELO ENTIDADE RELACIONAMENTO – MER
“O modelo de dados entidade-relacionamento baseia-se na
percepção de um universo constituído por um grupo básico de
objetos chamados entidades e por relacionamentos entre estes
objetos.
bj
El
Ele foi
f i desenvolvido
d
l id a fim
fi de
d facilitar
f ili o projeto
j de
d
banco de dados permitindo a especificação de um esquema de
empreendimento Tal esquema representa a estrutura lógica
empreendimento.
global do banco de dados.”
C
Conceitos
i
centrais:
i
- Entidade;
- Relacionamento;;
- Atributo;
- Generalização/Especialização; e
- Entidade Associativa.
Associativa
Unidade I
20
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
• Entidade:
– Conjunto de objetos (concretos ou abstratos) da
realidade modelada sobre os quais deseja-se manter
informações
f
no Banco de Dados
Mundo real:
Empresa
p
Produto
Empregado
Departamento
Projeto
de BD
Empregad
o
Cliente
Cliente
ÎAtributos:
Especificação das propriedades das entidades
entidades.
„ Caracteriza a entidade (lhe dá “personalidade”)
„ Possibilita identificar uma entidade (diferenciar
uma ocorrência de entidade das demais)
„
Unidade I
21
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
• Exercício: Identificar entidades
1) Uma Administradora de imóveis trabalha tanto com a
administração de condomínios quanto com a administração de
aluguéis.
aluguéis
Uma entrevista com o gerente da Administradora resultou nas
seguintes informações:
– A Ad
Administradora
i i t d
administra
d i i t condomínios
d
í i formados
f
d por
unidades condominiais.
– 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
p
p
alugar
g diversas unidades.
2) Deseja-se construir um banco de dados para um sistema de
vendas Em cada venda são vendidos vários produtos e um
vendas.
determinado produto pode aparecer em diferentes vendas.
Cada venda é efetuada por um vendedor para um determinado
cliente Um produto está armazenado em uma prateleira.
cliente.
prateleira
Unidade I
22
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
RELACIONAMENTO
Conjunto de associações entre entidades.
REPRESENTAÇÃO GRÁFICA
EMPREGADO
ENTIDADE
EMPREGADO
RELACIONAMENTO
LOTAÇÃO
ENTIDADE
DEPARTAMENTO
Unidade I
DEPARTAMENTO
LOTAÇÃO
Ç
e1
e2
e1,d1
d1
e7
e3
3
e4
e6
e2,d1
d2
e8
e5
e4,d2
e5,d3
d3
23
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
AUTO-RELACIONAMENTO
AUTO
RELACIONAMENTO
• Relacionamento binário:
– Não precisa ser, necessariamente, com entidades diferentes
p1
p3
p6
p5
p4
p2
p7
marid
o
marid
o
esposa
p1,p3
Unidade I
esposa
p4, p7
24
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
CARDINALIDADE DE RELACIONAMENTOS
- Máxima;
- Mínima.
CARDINALIDADE MÁXIMA (1 ou n)
A cardinalidade máxima de uma entidade em relacionamento
é o número
ú
máximo
á i
de
d ocorrências
ê i de
d entidade
tid d associadas
i d à uma
ocorrência da entidade em questão através do relacionamento.
EMPREGADO
LOTAÇÃO
n
DEPARTAMENTO
1
- 1:1 ( um-para-um );
- 1:n ( um-para-muitos ); e
- n:n ( muitos-para-muitos).
p
)
Unidade I
25
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
EXEMPLOS DE RELACIONAMENTOS BINÁRIOS
1:1( um-para-um)
EMPREGADO
ALOCAÇÃO
1
BANCADA
1
EMPREGADO
marido
esposa
1
1
CASAMENTO
Unidade I
26
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
EXEMPLOS DE RELACIONAMENTOS BINÁRIOS
1:n( um-para-muitos )
EMPREGADO
DEPENDENTE
TEM
1
n
EMPREGADO
n
1
Chefia
Unidade I
27
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
EXEMPLOS DE RELACIONAMENTOS BINÁRIOS
n:n( muitos-para-muitos )
PACIENTE
TEM
MÉDICO
n
n
PRODUTO
composto
componente
n
n
COMPOSIÇÃO
Unidade I
28
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
CARDINALIDADE DE RELACIONAMENTOS
- Máxima;
- Mínima.
CARDINALIDADE MÍNIMA (0 ou 1)
A cardinalidade mínima de uma entidade em
relacionamento
l i
t é o número
ú
mínimo
í i
de
d ocorrências
ê i de
d entidade
tid d
associadas à uma ocorrência da entidade em questão através do
relacionamento.
EMPREGADO
ALOCAÇÃO
(0,1)
Unidade I
BANCADA
(1,1)
29
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO - CARDINALIDADES
VERBO
CARDINALIDADE
RELACIONAMENTO
MÍNIMA MÁXIMA
pode
deve
0
1
GRAU
TIPO
1
um e inclusive nenhum
n
muitos e inclusive nenhum
1
um e somente um
opcional
b i tó i
obrigatório
n
muitos ou um
LEITURA DE RELACIONAMENTOS
FUNCIONÁRIO
( 1,1 )
RESPONSÁVEL
( 0,n )
DEPENDENTE
Unidade I
Objeto
E tid d S
Entidade
Sujeito
j it
Cada
f
funcionário
i á i
Verbo de Opcionalidade pode
Relacionamento
ser responsável por
Grau de Relacionamento muitos
E tid d Obj
Entidade
Objeto
t
d
dependentes
d t
30
Banco de Dados I
ABORDAGEM ENTIDADE-RELACIONAMENTO
CONTROLE ACADÊMICO
Ê
* MODELO CONCEITUAL*
PRÉ-REQUISITO
liberadora
liberada
(0,n)
RESPONSÁVEL
DEPARTAMENTO
(1,1)
(0,n)
DISCIPLINA
(0,n)
(0,n)
(
, )
DISC/CURSO
(0 n)
(0,n)
(0,n)
ALUNO
Unidade I
(1,1)
INSCRIÇÃO
CURSO
31
Banco de Dados I
Download