Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivo
Teoria e prtica de projeto de Bancos de Dados Relacionais (BDRs) Foco: modelagem conceitual e lgica de BDRs
Dicas avanadas de modelagem entidaderelacionamento (ER) Regras detalhadas de mapeamento ER-relacional
Bibliografia principal
Projeto de Banco de Dados - Carlos Alberto Heuser 5a Ed. Srie Livros Didticos Instituto de Informtica da UFRGS, nmero 4. Editora Sagra-Luzzatto, 2004. www.ltc.ufes.br, Banco de Dados
Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios
3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios
Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios
3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios
Atividade de projeto de BD
modelagem de dados em diferentes nveis de abstrao
nvel conceitual, lgico e fsico
Projeto de BD - Etapas
Anlise de Requisitos
Modelagem Conceitual
Modelagem Lgica
Modelagem Fsica
Projeto de BD - Etapas
Anlise de Requisitos Coleta de informaes sobre os dados, suas restries e seus relacionamentos na organizao Forma de realizao: reunies com os usurios; observao do funcionamento da organizao Resultado: documento com a especificao de requisitos
Modelagem Conceitual
Modelagem Lgica
Modelagem Fsica
Projeto de BD - Etapas
Anlise de Requisitos Especificao de requisitos Modelagem Conceitual Modelagem dos dados e seus relacionamentos independente da estrutura de representao do SGBD (modelagem conceitual) Forma de realizao: anlise da especificao de requisitos Resultado: esquema conceitual + restries de integridade
Modelagem Lgica
Modelagem Fsica
Projeto de BD - Etapas
Anlise de Requisitos Especificao de requisitos Modelagem Conceitual Esquema conceitual Modelagem Lgica Converso do esquema conceitual para o esquema de representao de um SGBD (esquema lgico) Forma de realizao: aplicao de regras de converso Resultado: esquema lgico (tabelas,
RIs, transaes, consultas relevantes e vises, autorizaes de acesso, ...)
Modelagem Fsica
Projeto de BD - Etapas
Anlise de Requisitos Especificao de requisitos Modelagem Conceitual Definio do esquema lgico em um SGBD adequado ao modelo Esquema conceitual Forma de realizao: SQL Resultado: esquema fsico Modelagem Lgica Esquema lgico Modelagem Fsica
Projeto de BD - Etapas
Anlise de Requisitos Especificao de requisitos Modelagem Conceitual Esquema conceitual Modelagem Lgica Esquema lgico Modelagem Fsica Esquema fsico ou implementao
Projeto de BD - Etapas
Modelagem Conceitual
preocupao: correta abstrao do mundo real
(captura correta da semntica da aplicao)
Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios
3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios
Modelo ER - Notao
a1 a5 a6 a7
(1,1)
a4 (0,1)
(0,3) papel 1 (0,N)
a2 (0,N)
(1,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
a1 a5 a6 a7
(1,1)
a4 (0,1)
(0,3) papel 1 (0,N)
a2 (0,N)
(1,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
entidade
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
a1 a5 a6 a7
(1,1)
a4 (0,1)
(0,3) papel 1 (0,N)
a2 (0,N)
(1,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
(0,N)
entidade fraca
a9
r4
r5
(0,N)
r6
(0,1)
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
a1 a5 a6 a7
(1,1)
a4 (0,1)
(0,3) papel 1 (0,N)
entidade associativa
r3
papel 2 (1,1)
a2 (0,N)
(1,N)
E1
(1,N)
r1
a3
E2
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
a1 a5 a6 a7
(1,1)
a4 (0,1)
(0,3)
relacionamento
papel 1 (0,N)
a2 (0,N)
(1,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
auto-relacionamento
a1 a5 a6 a7
(1,1)
a4 (0,1)
(0,3) papel 1 (0,N)
a2 (0,N)
(1,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
relacionamento ternrio
a5 a6 a7
(1,1)
a1
(1,N)
a4 (0,1)
(0,3) papel 1 (0,N)
a2 (0,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
a1 a5 a6 a7
(1,1)
a4 (0,1)
(0,3) papel 1 (0,N)
a2 (0,N)
(1,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
a8 (1,N)
E4
p
atributo identificador E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
atributo monovalorado
a5 a6 a7
(1,1)
a1
(1,N)
a4 (0,1)
(0,3) papel 1 (0,N)
a2 (0,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
a1 a5 a6 a7
(1,1)
a4 (0,1)
(0,3)
atributo multivalorado
papel 1 (0,N)
a2 (0,N)
(1,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
a1 a5 a6 a7
(1,1)
a4 (0,1)
(0,3)
atributo composto
papel 1 (0,N)
a2 (0,N)
(1,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
atributo obrigatrio
a5 a6 a7
(1,1)
a1
(1,N)
a4 (0,1)
(0,3) papel 1 (0,N)
atributo opcional
r3
papel 2 (1,1)
a2 (0,N)
E1
(1,N)
r1
a3
E2
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
especializao parcial
a5 a6 a7
(1,1)
a1
(1,N)
a4 (0,1)
(0,3)
especializao total
papel 1 (0,N)
a2 (0,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Modelo ER - Notao
especializao exclusiva
a5 a6 a7
(1,1)
a1
(1,N)
a4 (0,1)
(0,3)
especializao no-exclusiva
papel 1 (0,N)
a2 (0,N)
E1
(1,N)
r1
a3
E2
papel 2 (1,1)
r3
E3
r2
(1,N)
E7
(1,1)
E8
(1,N)
E11
a11
(1,1)
a8 (1,N)
E4
p
r4
(0,N)
r5
(0,N)
r6
(0,1)
a9
E5
E6
a10
E9
E10
a12
E12
a13
Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios
3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios
deduoIRPF valorBruto
(1,N) remunerao (1,1)
Empregados
Salrios
gratificao
categoria valorLquido
Pessoas
localizao valor
localizao
(0,N) proprietrio (1,1)
Pessoas
Imveis
valor
Pessoas
Linhas Telefnicas
nmero
Pedidos
Itens
(0,N) (1,1) referncia
Produtos
hora
(0,N)
nome cdigo
Mdicos
nome CRM
(1,1)
consulta
data
(0,N)
Pacientes
nome
(0,N) (1,1)
Mdicos
Consultas
data hora
Pacientes
cdigo
Pessoas
nome CPF
(1,1)
posse
Automveis
Pessoas
Posses
Automveis
chassi
hora
(0,N)
nome cdigo
Mdicos
consulta
data
(0,N)
Pacientes
Consultas
nome
(0,N)
intervaloHoras
prescrio
Medicamentos
cdigo
nome
Mdicos
Consultas
data
(0,N)
Pacientes
cdigo
hora nome
(0,N)
intervaloHoras
prescrio
Medicamentos
cdigo
nome
Empregados
nome
alocao
(1,N)
Projetos
cdigo
Tarefas
cdigo
nome
Empregados
alocao
Projetos
cdigo
Alocaes
(0,N) (0,N)
nome
execuo
Tarefas
cdigo
Pessoas
titulao
Pessoas
(0,N)
formao
(1,N)
Professores
aplicao universitria
cdigo
Professores
Pessoas
CREA
Pessoas
nroHabilitao
Engenheiros
Motoristas
Pessoas
nome
CPF
Pessoas
nroHabilitao
veculosHabilitados (1,N)
Motoristas
Empregados
(0,1)
superviso
supervisor
RIs: - um empregado no pode ser supervisor de si prprio - ciclos em hierarquias de superviso no so permitidos (0,1)
(0,N)
emCurso G emCurso PG
Alunos
(0,N)
(0,1)
RIs: - um aluno no pode estar cursando ambos os cursos - um aluno deve estar cursando pelo menos um dos cursos
valor
(1,N) remunerao
data
Empregados
Salrios
temporal
Empregados
(0,N)
(1,1)
lotao data
Departamentos
instantneo
Empregados
(0,N)
(1,N)
lotao
Departamentos
temporal
definio
Home-Pages
(mostrada aleatoriamente sempre que uma home-page aberta)
DicasDidticas OK !
Empresa Empregados
(0,N) (1,1)
lotao
Departamentos
OK ?
cardinalidade de relacionamentos
na dvida, definir cardinalidades opcionais
menos restritivas reduzem os controles de integridade no BD dependncias de insero e controles na atualizao
(1,1) (1,1)
possui
(1,N)
Setores
reviso
lotao
(0,N)
Setores
Mquinas
Mquinas
Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios
3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios
Ferramenta brModelo
Modelagem conceitual ER notao Peter Chen Mapeamento semi-automtico ER-relacional Armazenamento XML de modelagens
Exerccio 2 - Museu
Cada obra no museu possui um cdigo, um ttulo e um ano. Obras ou so pinturas ou so esculturas. No primeiro caso, so dados importantes o estilo (por exemplo, impressionista). No caso de esculturas, so importantes o peso e os materiais de que feita (por exemplo, argila, madeira, etc). Uma obra pode estar exposta em um nico salo, em uma determinada posio neste salo. Um salo, que geralmente abriga vrias obras, identificado por um nmero e est em um andar do museu. Certos dados a respeito dos autores de cada obra tambm so relevantes: cdigo, nome e nacionalidade. Uma obra produzida por apenas um autor, porm, pode existir mais de uma obra de um mesmo autor no museu. No museu trabalham funcionrios, cada um possuindo um ID, CPF, um nome e um salrio. Funcionrios ou so guardas ou so restauradores de obras. No primeiro caso, mantm-se dados sobre a hora de entrada e hora de sada. No caso de restauradores, qual a sua especialidade. Um guarda responsvel pela segurana de um nico salo, que pode ser vigiado por vrios guardas. Um restaurador pode estar realizando a manuteno de vrias obras. Uma obra, caso esteja em manuteno, est nas mos de apenas um restaurador. Para cada manuteno deve-se registrar a data de incio e a data prevista de trmino do trabalho, uma descrio do servio a ser feito e um custo previsto para realizar a manuteno. Uma manuteno pode estar utilizando uma ou mais matrias-primas. Uma matria-prima possui um cdigo, um nome e uma quantidade em estoque. Uma matria-prima pode estar sendo utilizada em vrias manutenes, em uma certa quantidade.
Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios
3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios
Modelagem Lgica de BD
Foco
mapeamento ER->relacional
Processo de Mapeamento
1. Mapeamento preliminar de entidades e seus atributos 2. Mapeamento de especializaes 3. Mapeamento de relacionamentos e seus atributos
Mapeamento de Entidades
Empregados
CPF Nome Idade
Pedidos
Nmero
Composio
Nmero
Itens
Quantidade
Produto
Mapeamento de Atributos
PlanoSade (0,1) Rua Nmero Cidade Telefone (1,N) CPF Nome Idade
Empregados
Endereo
Empregados (CPF, Nome, Idade, PlanoSade, Rua, Nmero, Cidade) Telefone(CPF, Nmero) ou Telefone (CPF, Nmero)
Mapeamento de Atributos
PlanoSade (0,1) Rua Nmero Cidade Telefone (1,3) CPF Nome Idade
Empregados
Endereo
Empregados (CPF, Nome, Idade, PlanoSade, Rua, Nmero, Cidade, FoneRes, FoneCom, Celular)
Processo de Mapeamento
1. Mapeamento preliminar de entidades e seus atributos 2. Mapeamento de especializaes 3. Mapeamento de relacionamentos e seus atributos
Mapeamento de Especializaes
Trs alternativas so geralmente adotadas
1. tabela nica para entidade genrica e suas especializaes 2. tabelas para a entidade genrica e as entidades especializadas 3. tabelas apenas para as entidades especializadas
Alternativa 1
Servidores
CPF Nome
Funo
Funcionrios
Professores
Titulao Categoria
Alternativa 2
Servidores
CPF Nome
Funo
Funcionrios
Professores
Titulao Categoria
Servidores (CPF, Nome) Funcionrios (CPF, Funo) Professores (CPF, Titulao, Categoria)
Alternativa 3
Servidores
CPF Nome
Funo
Funcionrios
Professores
Titulao Categoria
Processo de Mapeamento
1. Mapeamento preliminar de entidades e seus atributos 2. Mapeamento de especializaes 3. Mapeamento de relacionamentos e seus atributos
Mapeamento de Relacionamentos
Recomendaes de mapeamento baseiam-se na anlise da cardinalidade dos relacionamentos
com base nesta anlise, algumas alternativas de mapeamento podem ser adotadas
1. entidades relacionadas podem ser fundidas em uma nica tabela 2. tabelas podem ser criadas para o relacionamento 3. chaves estrangeiras podem ser criadas em tabelas a fim de representar adequadamente o relacionamento
Relacionamento 1-1
Obrigatrio em ambos os sentidos
(1,1) (1,1)
Nmero Endereo eMail
Conferncias
Sigla Nome
Organizao
Comisses
DataInstalao
Relacionamento 1-1
Opcional em um dos sentidos
Nmero
(1,1)
(0,1)
Pessoas
Cdigo Nome
Posse
DataRetirada
CarteirasMotorista
DataExpedio Validade Categoria
alternativa 1
Relacionamento 1-1
Opcional em um dos sentidos
Nmero
(1,1)
(0,1)
Pessoas
Cdigo Nome
Posse
DataRetirada
CarteirasMotorista
DataExpedio Validade Categoria
alternativa 2
Pessoas (Cdigo, Nome) CarteirasMotorista (Nmero, DataExpedio, Validade, Categoria, Cdigo, DataRetirada)
Relacionamento 1-1
Opcional em ambos os sentidos
(0,1) (0,1)
Homens
CPF Nome
Casamento
Data
Mulheres
CPF Nome
alternativa 1
Homens (CPF, Nome) Mulheres (CPF, Nome) Casamento (CPFh, CPFm, Data)
Relacionamento 1-1
Opcional em ambos os sentidos
(0,1) (0,1)
Homens
CPF Nome
Casamento
Data
Mulheres
CPF Nome
alternativa 2
Relacionamento 1-N
Obrigatrio/opcional no lado N
(1,N) (1,1) Lotao (0,N)
CPF Nome Data Cdigo Nome
Empregados
Departamentos
Relacionamento 1-N
Opcional no lado 1
Ano
(0,1)
CPF
Nome
Automveis
Chassi Modelo
Pessoas
DataCompra
alternativa 1
Pessoas (CPF, Nome) Automveis (Chassi, Modelo, Ano) Posse (CPF, Chassi, DataCompra)
Relacionamento 1-N
Opcional no lado 1
Ano
(0,1)
CPF
Nome
Automveis
Chassi Modelo
Pessoas
DataCompra
alternativa 2
Relacionamento N-M
Obrigatrio/opcional em ambos os sentidos
(1,N) (1,N) (0,N)
DataIncio Cdigo Nome
Empregados
CPF Nome
Participao
Projetos
(0,N)
Empregados (CPF, Nome) Projetos (Cdigo, Nome) Participao (CPF, Cdigo, DataIncio)
Auto-Relacionamento
Valem as mesmas recomendaes anteriores
(0,1) gerente gerncia subordinado
Empregados
(0,N)
CPF Nome Idade
Alternativas: 1) Empregados(CPF, Nome, Idade) Gerncia(CPFe, CPFg) 2) Empregados(CPF, Nome, Idade, CPFg)
(0,N)
(0,1)
Livros
emprstimo
DataDevoluo
Clientes
Bibliotecrias
Livros (Cdigo, ..., CPFcli, DataDevoluo, CPFbibl) Clientes (CPFcli, ...) Bibliotecrias(CPFbibl, ...)
Clientes
(1,N)
(1,N)
vnculo
Correntistas
Nmero DataExp
CartesMagnticos
Concesso
(0,1) alternativa 1
Relacionamentos Ternrios
Gera uma tabela para o relacionamento
Sigla
Instituies
(1,N)
(0,N) Pesquisa
Projetos
Nmero
DataIncio
Caso N:N:N
(1,N)
Pesquisadores
CPF
Instituies (Sigla, ...) Projetos (Nmero, ...) Pesquisadores (CPF, ...) Pesquisa (Sigla, Nmero, CPF, DataIncio)
Relacionamentos Ternrios
Cdigo
Produtos
(0,N)
(0,N)
Distribuio
Cidades
Cdigo
Caso 1:N:N
CPF
(0,1)
Distribuidores
Produtos (Cdigo, ...) Cidades (Cdigo, ...) Distribuidores (CPF, ...) Distribuio (CodProduto, CodCidade, CPF)
Relacionamentos Ternrios
CPF Nome
Empregados
(0,N)
Remunerao
Atividades
(1,1)
Cdigo Descrio
Caso 1:1:N
ID
(1,1)
Salrios
Valor
Empregados (CPF, Nome) Atividades (Cdigo, Descrio) Salrios (ID, valor) Uma das RIs pode Remunerao (CodAtiv, CPF, ID-Salario) ser chave primria
Relacionamentos Ternrios
Cdigo Peso
Painis
(0,1) (0,1) Veculo
Motores
Cdigo Fabricante
Caso 1:1:1
(0,1)
Latarias Painis (Cdigo, Peso) Motores (Cdigo, Fabricante) Latarias (Cdigo, Modelo) Veculo (CodP, CodM, CodL)
Cdigo Modelo
Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios
3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios
Exerccios
Mapeamento das modelagens conceituais definidas nos exerccios anteriores