• Nenhum resultado encontrado

OficinaModelagemDados-ERBD2007

N/A
N/A
Protected

Academic year: 2021

Share "OficinaModelagemDados-ERBD2007"

Copied!
85
0
0

Texto

(1)

Oficina:

Modelagem de Dados

Ronaldo S. Mello

INE/CTC/UFSC

(2)

Objetivo da Oficina

• Teoria e prática de projeto de Bancos de Dados

Relacionais (BDRs)

• Foco: modelagem conceitual e lógica de BDRs

– Dicas avançadas de modelagem entidade-relacionamento (ER)

– Regras detalhadas de mapeamento ER-relacional

• Exercícios práticos de modelagem

– ferramenta acadêmica brModelo

• Bibliografia principal

– Projeto de Banco de Dados - Carlos Alberto Heuser - 5a Ed. Série Livros Didáticos – Instituto de Informática da UFRGS, número 4. Editora Sagra-Luzzatto, 2004.

(3)

Sumário

1. Projeto de BD: objetivo e etapas

2. Modelagem Conceitual

2.1 Modelo ER

2.2 Dicas de Modelagem

2.3 Exercícios

3. Mapeamento ER-Relacional

3.1 Regras de Mapeamento

3.2 Exercícios

(4)

Sumário

1. Projeto de BD: objetivo e etapas

2. Modelagem Conceitual

2.1 Modelo ER

2.2 Dicas de Modelagem

2.3 Exercícios

3. Mapeamento ER-Relacional

3.1 Regras de Mapeamento

3.2 Exercícios

(5)

Projeto de Banco de Dados

• Parte integrante do desenvolvimento de

um sistema de informação

– preocupação com a representação adequada

de dados operacionais

• Atividade de projeto de BD

– modelagem de dados em diferentes níveis de

abstração

(6)

Projeto de BD - Etapas

Análise de Requisitos

Modelagem Conceitual

Modelagem Lógica

(7)

Projeto de BD - Etapas

Análise de Requisitos

Modelagem Conceitual

Modelagem Lógica

Modelagem Física

• Coleta de informações sobre os dados, suas restrições e seus

relacionamentos na organização • Forma de realização: reuniões com os usuários; observação do funcionamento da organização • Resultado: documento com a

(8)

Projeto de BD - Etapas

Análise de Requisitos

Modelagem Conceitual

Modelagem Lógica

Modelagem Física

• Modelagem dos dados e seus relacionamentos independente da

estrutura de representação do SGBD (modelagem conceitual)

• Forma de realização: análise da especificação de requisitos

• Resultado: esquema conceitual + restrições de integridade

(9)

Vantagens da Modelagem Conceitual

• Abstração de dados de alto nível

– indicação de dados e seus relacionamentos da

forma como percebidos no mundo real

– independência de detalhes de representação de

SGBDs

• Fácil compreensão pelo usuário leigo

– facilita a validação da modelagem dos dados

• Facilita a manutenção dos dados

– modificação dos requisitos

– migração de SGBD

(10)

Projeto de BD - Etapas

Análise de Requisitos Modelagem Conceitual Modelagem Lógica Modelagem Física Especificação de requisitos Esquema conceitual

• Conversão do esquema conceitual para o esquema de representação de um SGBD (esquema lógico)

• Forma de realização: aplicação de regras de conversão

• Resultado: esquema lógico (tabelas, RIs, transações, consultas relevantes e

(11)

Projeto de BD - Etapas

Análise de Requisitos Modelagem Conceitual Modelagem Lógica Modelagem Física Especificação de requisitos Esquema conceitual

• Definição do esquema lógico

em um SGBD adequado ao modelo • Forma de realização: SQL

• Resultado: esquema físico

(12)

Análise de Requisitos Modelagem Conceitual Modelagem Lógica Modelagem Física Especificação de requisitos Esquema conceitual Esquema lógico

Esquema físico ou implementação

(13)

Projeto de BD - Etapas

• Modelagem Conceitual

– preocupação: correta abstração do mundo real

(captura correta da semântica da aplicação)

• Modelagem Lógica + Física

– preocupação: escolhas corretas na conversão

para o esquema do SGBD

(relacional)

para

maximizar o desempenho

(14)

Sumário

1. Projeto de BD: objetivo e etapas

2. Modelagem Conceitual

2.1 Modelo ER

2.2 Dicas de Modelagem

2.3 Exercícios

3. Mapeamento ER-Relacional

3.1 Regras de Mapeamento

3.2 Exercícios

(15)

Modelagem Conceitual – Modelo ER

• Modelo definido por Peter Chen em 1976

– modelo sofreu diversas extensões e notações

ao longo do tempo

• Padrão para modelagem conceitual de BD

– modelo simples

• poucos conceitos

– representação gráfica

– modelo de fácil compreensão

• Um esquema conceitual de BD é também

chamado de diagrama ER

(16)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

(17)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

(18)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

entidade fraca

(19)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

entidade associativa

(20)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

(21)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

(22)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

relacionamento ternário

(23)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

atributo identificador

(24)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

atributo

(25)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

atributo

(26)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

atributo composto

(27)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

atributo opcional atributo

(28)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

especialização

(29)

Modelo ER - Notação

E1 E2 a4 (0,1) a1 r 1 a3 (1,N) (0,3) r 2 (1,N) a2 (0,N) E3 (1,1) (1,N) E4 a8 (1,N) a7 a5 a6 r 3 (0,N) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,N) (1,1) r 5 (1,N) (0,N) E10 E11 r 6 (1,1) E12 (0,1) a9

a10 a12 a13

a11

especialização

(30)

Sumário

1. Projeto de BD: objetivo e etapas

2. Modelagem Conceitual

2.1 Modelo ER

2.2 Dicas de Modelagem

2.3 Exercícios

3. Mapeamento ER-Relacional

3.1 Regras de Mapeamento

3.2 Exercícios

(31)

Dicas de Modelagem Conceitual

• Entidade X Atributo

– a opção por

entidade

é válida se existem

propriedades (atributos e relacionamentos) e

transações relevantes para o fato

Empregados salário Salários deduçãoIRPF valorBruto categoria valorLíquido gratificação remuneração (1,1) Empregados (1,N)

(32)

Dicas de Modelagem Conceitual

• Entidade X Atributo Composto

– a opção por

atributo composto

é válida se

existe noção de agregação

Pessoas Imóveis localização valor proprietário (1,1) Pessoas (0,N) imóvel localização valor

aplicação de negócio imobiliário

(33)

Dicas de Modelagem Conceitual

• Entidade X Atributo Multivalorado

– a opção por

atributo multivalorado

é válida se

existe noção de agregação

Pessoas Linhas Telefônicas DDD número proprietário (1,N) Pessoas (0,1) telefone(0,N)

aplicação: companhia telefônica

(34)

Dicas de Modelagem Conceitual

• Entidade Fraca X Atributo

– a opção por

atributo

é válida se o fato não

possui outros relacionamentos

Pedidos Itens número composição (1,1) Pedidos (1,N) itens (1,N) descrição quantidade quantidade referência (1,1) (0,N) Produtos valor

(35)

Dicas de Modelagem Conceitual

• Entidade X Relacionamento

– admite-se representações equivalentes

• a opção por relacionamento é recomendada se não

existem propriedades associadas ao fato

• a opção por entidade é recomendada se existe um

identificador explícito para o fato (ex.: ID da consulta)

Médicos Pacientes data nome código CRM nome hora consulta (0,N) (0,N) Médicos Pacientes data nome código CRM nome hora (0,N) (0,N) Consultas (1,1) (1,1)

(36)

Dicas de Modelagem Conceitual

• Entidade X Relacionamento

– a opção por

entidade

introduz uma indireção na

associação entre fatos

• não recomendável, especialmente para casos

um-para-um e um-para-muitos

– não geram o mesmo banco de dados relacional!

Pessoas Automóveis marca chassi CPF nome posse (0,1) (0,N) Pessoas Automóveis marca chassi CPF nome (0,N) (0,1) Posses (1,1) (1,1)

(37)

Dicas de Modelagem Conceitual

• Entidade X Entidade Associativa

– admite-se representações equivalentes

• levar em conta as recomendações do caso anterior (entidade X relacionamento) Médicos Pacientes data nome código CRM nome hora consulta (0,N) (0,N) Medicamentos nome código prescrição (0,N) (0,N) intervaloHoras Consultas

(38)

Dicas de Modelagem Conceitual

• Entidade X Entidade Associativa

Medicamentos nome código prescrição (0,N) (0,N) intervaloHoras Médicos Pacientes data nome código CRM nome hora (0,N) (0,N) Consultas (1,1) (1,1)

(39)

Dicas de Modelagem Conceitual

• Entidade Associativa X Relacionamento N-Ário

– recomenda-se a opção por

relacionamento n-ário

apenas se a participação for obrigatória para todas

as entidades

• evita problemas de identificação do relacionamento

Empregados Projetos nome código CPF nome alocação (1,N) (1,N) Tarefas nome código (1,N)

(40)

Dicas de Modelagem Conceitual

• Entidade Associativa X Relacionamento N-Ário

– recomenda-se a opção por

entidade associativa

se

a participação não for obrigatória para todas as

entidades

Empregados Projetos nome código CPF nome alocação (1,N) (0,N) Tarefas nome código execução (0,N) (0,N) Alocações

(41)

Dicas de Modelagem Conceitual

• Relacionamento X Especialização

– a opção por

especialização

é válida se houver

uma associação um-para-um entre as

entidades participantes

Pessoas CPF nome Professores titulação Pessoas CPF nome Professores habilitação formação (1,N) (0,N) aplicação universitária

aplicação de uma escola de música tempo

experiência código

(42)

Dicas de Modelagem Conceitual

• Atributo X Especialização

– a opção por

especialização

é valida se houver

atributos e/ou relacionamentos relevantes

para os fatos especializados

Pessoas CPF nome função Pessoas CPF nome Motoristas nroHabilitação Engenheiros CREA

(43)

Dicas de Modelagem Conceitual

• Atributo X Especialização

– atenção:

atributos opcionais

podem sugerir a

modelagem de uma entidade especializada

Pessoas CPF nome nroHabilitação (0,1) Pessoas CPF nome Motoristas nroHabilitação veículosHabilitados (0,N) veículosHabilitados (1,N)

(44)

Dicas de Modelagem Conceitual

• Limitações no poder de expressão!

– exige a documentação de restrições de

integridade em anexo

Empregados supervisão

(0,N)

(0,1) supervisor supervisionado

RIs: - um empregado não pode ser supervisor de si próprio - ciclos em hierarquias de supervisão não são permitidos

Cursos Pós-Graduação Graduação emCurso G emCurso PG Alunos (0,1) (0,N) (0,1) (0,N)

RIs: - um aluno não pode estar cursando ambos os cursos

- um aluno deve estar cursando pelo menos um dos cursos

aplicação de um depto universitário

(45)

Dicas de Modelagem Conceitual

• Consideração de aspectos temporais

– atenção:

alteram a modelagem conceitual!

Empregados salário Salários remuneração (1,1) Empregados (1,N) valor data Departamentos lotação (1,1) Empregados (0,N) Departamentos lotação (1,N) Empregados (0,N) data temporal temporal instantâneo instantâneo

(46)

Dicas de Modelagem Conceitual

• Entidade isolada

– pode-se admitir a sua representação

Departamentos lotação (1,1) Empregados (0,N) Empresa Home-Pages definição (0,N) Escolas (1,1)

DicasDidáticas (mostrada aleatoriamente sempreque uma home-page é aberta)

OK !

(47)

Dicas de Modelagem Conceitual

• Validação do esquema conceitual

– substantivos

para nomes de relacionamentos

• minimizam a redundância de nomes

• nomes mais adequados para futuros conceitos lógicos (tabelas, atributos)

– cardinalidade de relacionamentos

• na dúvida, definir cardinalidades opcionais

– menos restritivas

– reduzem os controles de integridade no BD

» dependências de inserção e controles na atualização

Setores lotação (1,1) Máquinas (0,N) Setores possui (1,1) Máquinas (1,N) revisão

(48)

Sumário

1. Projeto de BD: objetivo e etapas

2. Modelagem Conceitual

2.1 Modelo ER

2.2 Dicas de Modelagem

2.3

Exercícios

3. Mapeamento ER-Relacional

3.1 Regras de Mapeamento

3.2 Exercícios

(49)

Ferramenta brModelo

• Modelagem conceitual ER – notação Peter Chen • Mapeamento semi-automático ER-relacional

(50)

Exercício Modelagem 1 - Clínica

Cada médico que trabalha na clínica é identificado pelo seu CRM, possui um nome, uma data de admissão na clínica e um salário. Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica. Para todo paciente internado na clínica são cadastrados alguns dados pessoais: código (único), nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento. Um paciente tem sempre um determinado médico como responsável, com um horário de visita diário predeterminado. Pacientes estão sempre internados em quartos individuais, que são identificados por um número e estão em um andar da clínica.

(51)

Exercício 2 - Museu

Cada obra no museu possui um código, um título e um ano. Obras ou são pinturas ou são esculturas. No primeiro caso, são dados importantes o estilo (por exemplo, impressionista). No caso de esculturas, são importantes o peso e os materiais de que é feita (por exemplo, argila, madeira, etc). Uma obra pode estar exposta em um único salão, em uma determinada posição neste salão. Um salão, que geralmente abriga várias obras, é identificado por um número e está em um andar do museu. Certos dados a respeito dos autores de cada obra também são relevantes: código, nome e

nacionalidade. Uma obra é produzida por apenas um autor, porém, pode existir mais de

uma obra de um mesmo autor no museu. No museu trabalham funcionários, cada um possuindo um ID, CPF, um nome e um salário. Funcionários ou são guardas ou são restauradores de obras. No primeiro caso, mantêm-se dados sobre a hora de entrada e

hora de saída. No caso de restauradores, qual a sua especialidade. Um guarda é

responsável pela segurança de um único salão, que pode ser vigiado por vários guardas. Um restaurador pode estar realizando a manutenção de várias obras. Uma obra, caso esteja em manutenção, está nas mãos de apenas um restaurador. Para cada manutenção deve-se registrar a data de início e a data prevista de término do trabalho, uma descrição do serviço a ser feito e um custo previsto para realizar a manutenção. Uma manutenção pode estar utilizando uma ou mais matérias-primas. Uma matéria-prima possui um código, um nome e uma quantidade em estoque. Uma matéria-matéria-prima pode estar sendo utilizada em várias manutenções, em uma certa quantidade.

(52)

Exercício 3

(se der tempo...)

- Biblioteca

Um livro tem vários exemplares na biblioteca, como por exemplo, Liv1-Ex1, Liv1-Ex2, Liv2-Ex1. Exemplares estão dispostos em estantes. São mantidos dados detalhados sobre autores e editoras dos livros para fins de consulta. Na biblioteca trabalham bibliotecárias. Cada estante é periodicamente organizada por uma única bibliotecária. Bibliotecárias também realizam empréstimos de exemplares para clientes. Empréstimos cadastrados no BD devem conter a data da devolução e o valor diário da multa, permanecendo no BD até o cliente entregar o exemplar. A bibliotecária que realizou o empréstimo também é relevante de ser mantido no BD. Algumas bibliotecárias são estagiárias. Uma bibliotecária estagiária está sempre sob a responsabilidade de uma bibliotecária efetiva. Deve-se saber também a instituição de ensino da qual a estagiária vem. Defina os atributos que julgares relevantes para os fatos identificados.

(53)

Sumário

1. Projeto de BD: objetivo e etapas

2. Modelagem Conceitual

2.1 Modelo ER

2.2 Dicas de Modelagem

2.3 Exercícios

3. Mapeamento ER-Relacional

3.1 Regras de Mapeamento

3.2 Exercícios

(54)

Modelagem Lógica de BD

• Foco

– mapeamento ER->relacional

• Para 1 esquema ER – N esquemas

relacionais

– existem várias maneiras de “se implementar”

uma modelagem conceitual abstrata

(55)

Prática de Modelagem Lógica

• Compromisso entre

– evitar um grande número de tabelas

• evitar um tempo longo de resposta nas consultas e atualizações de dados

– implica minimizar junções entre tabelas

– evitar atributos opcionais

• evitar tabelas sub-utilizadas

– implica evitar desperdício de espaço

– evitar muitos controles de integridade no BD

• evitar organizações de dados em tabelas que gerem muitos controles de integridade

(56)

Processo de Mapeamento

1. Mapeamento preliminar de entidades e

seus atributos

2. Mapeamento de especializações

3. Mapeamento de relacionamentos e seus

atributos

(57)

Mapeamento de Entidades

Empregados

Idade

NomeCPF

(58)

Mapeamento de Entidades Fracas

Itens (

NroPedido

, NroItem, Produto, Quantidade)

Itens

Composição

Pedidos

Número Número Produto (1,N) (1,1) Quantidade

• Identificador da entidade forte torna-se

– parte da chave primária na

tabela

correspondente à entidade fraca (

tabelaFraca

)

– chave estrangeira na

tabelaFraca

(59)

Mapeamento de Atributos

Empregados

Idade Nome CPF

Empregados (CPF, Nome, Idade, PlanoSaúde,

Rua, Número, Cidade)

Telefone(CPF, Número) ou Telefone (CPF, Número) Telefone (1,N) PlanoSaúde (0,1) Endereço Cidade NúmeroRua

(60)

Mapeamento de Atributos

Empregados

Idade Nome CPF

Empregados (CPF, Nome, Idade, PlanoSaúde, Rua, Número, Cidade,

FoneRes, FoneCom, Celular)

Telefone (1,3)

PlanoSaúde (0,1)

Endereço Cidade

(61)

Processo de Mapeamento

1. Mapeamento preliminar de entidades e

seus atributos

2. Mapeamento de especializações

3. Mapeamento de relacionamentos e seus

atributos

(62)

Mapeamento de Especializações

Três alternativas são geralmente adotadas

1. tabela única

para entidade genérica e suas

especializações

2. tabelas para a

entidade genérica

e as

entidades especializadas

3. tabelas apenas para as

entidades

especializadas

(63)

Alternativa 1

Servidores (CPF, Nome,

Tipo

, Função, Titulação,

Categoria

)

Servidores

Professores

Funcionários

CPF Nome Função Titulação Categoria

• Tipo pode assumir mais de um valor se a especialização é

(64)

Alternativa 2

Servidores

Professores

Funcionários

CPF Nome Função Titulação Categoria Servidores (CPF, Nome) Funcionários (CPF, Função)

(65)

Alternativa 3

Servidores

Professores

Funcionários

CPF Nome Função Titulação Categoria

Funcionários (CPF, Nome, Função)

Professores (CPF, Nome, Titulação, Categoria)

(66)

Processo de Mapeamento

1. Mapeamento preliminar de entidades e

seus atributos

2. Mapeamento de especializações

3. Mapeamento de relacionamentos e seus

atributos

(67)

Mapeamento de Relacionamentos

Recomendações de mapeamento

baseiam-se na

análise da cardinalidade

dos relacionamentos

– com base nesta análise, 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

(68)

Relacionamento 1-1

• Obrigatório em ambos os sentidos

Comissões

Organização

Conferências

Sigla eMail Número Endereço Nome DataInstalação (1,1) (1,1)

Conferências (Sigla, Nome,

DataInstCom

,

NroCom,

EndereçoCom

,

eMailCom

)

(69)

Relacionamento 1-1

• Opcional em um dos sentidos

alternativa 1

CarteirasMotorista

Pessoas

Código Número Nome DataExpedição (0,1) (1,1)

Posse

Validade Categoria

Pessoas (Código, Nome,

NúmeroCarteiraMotorista

,

DataExpedição

,

Validade

,

Categoria

,

DataRetirada

)

(70)

Relacionamento 1-1

• Opcional em um dos sentidos

alternativa 2

CarteirasMotorista

Pessoas

Código Número Nome DataExpedição (0,1) (1,1)

Posse

Validade Categoria

Pessoas (Código, Nome)

CarteirasMotorista (Número, DataExpedição,

Validade, Categoria,

Código,

DataRetirada

)

(71)

Relacionamento 1-1

• Opcional em ambos os sentidos

Mulheres

Casamento

Homens

CPF Nome Data (0,1) (0,1)

Homens (CPF, Nome)

Casamento (CPFh, CPFm, Data)

CPF Nome

Mulheres (CPF, Nome)

alternativa 1

(72)

Relacionamento 1-1

• Opcional em ambos os sentidos

Mulheres

Casamento

Homens

CPF Nome Data (0,1) (0,1) CPF Nome alternativa 2

Homens (CPF, Nome)

(73)

Relacionamento 1-N

• Obrigatório/opcional no “lado N”

Departamentos

Lotação

Empregados

CPF Código Nome Nome Data (1,1) (1,N)

Departamentos (Código, Nome)

Empregados (CPF, Nome,

CodDepto

,

DataLotação

)

(74)

Relacionamento 1-N

• Opcional no “lado 1”

Pessoas

Posse

Automóveis

Chassi CPF Nome Modelo DataCompra (0,1) (1,N)

Pessoas (CPF, Nome)

Automóveis (Chassi, Modelo, Ano)

Posse (CPF, Chassi, DataCompra)

(0,N)

Ano

(75)

Relacionamento 1-N

• Opcional no “lado 1”

Pessoas

Posse

Automóveis

Chassi CPF Nome Modelo DataCompra (0,1) (1,N) (0,N) Ano alternativa 2

Pessoas (CPF, Nome)

(76)

Relacionamento N-M

Projetos

Participação

Empregados

CPF Código Nome Nome DataInício (1,N) (1,N)

Empregados (CPF, Nome)

Projetos (Código, Nome)

Participação (CPF, Código, DataInício)

(0,N) (0,N)

(77)

Auto-Relacionamento

• Valem as mesmas recomendações

anteriores

Alternativas:

1)

Empregados(CPF, Nome, Idade)

Gerência(CPFe, CPFg)

2)

Empregados(CPF, Nome, Idade,

CPFg

)

(0,N) (0,1) subordinado gerente Idade Nome CPF

Empregados

gerência

(78)

Relacionamentos com Entidades Associativas

• Valem as mesmas recomendações anteriores

– questão: “localizar” a entidade associativa

Clientes

empréstimo

Livros

(0,1) (0,N) cadastro (1,1) (0,N)

Bibliotecárias

Livros (Código, ...,

CPFcli, DataDevolução, CPFbibl

)

Clientes (CPFcli, ...)

Bibliotecárias(CPFbibl, ...)

DataDevolução

alternativa 2

(79)

Relacionamentos com Entidades Associativas

CartõesMagnéticos Contas Concessão Clientes (1,N) vínculo (1,N) (1,1) (0,1)

Correntista(CPF, NroCta,

NroCartão, DataExp)

Número DataExp CPF Número Correntistas

• Outro exemplo

alternativa 1

(80)

Relacionamentos Ternários

(1,N)

Instituições

Pesquisadores

Projetos

Pesquisa (1,N) (0,N) Sigla Número CPF DataInício

Instituições (Sigla, ...) Projetos (Número, ...)

Pesquisadores (CPF, ...)

Pesquisa (Sigla, Número, CPF, DataInício)

Caso N:N:N

(81)

Relacionamentos Ternários

(0,1)

Produtos

Distribuidores

Cidades

Distribuição (0,N) (0,N) Código Código

Produtos (Código, ...)

Cidades (Código, ...)

Distribuidores (CPF, ...)

Distribuição (CodProduto, CodCidade, CPF)

CPF

(82)

(1,1)

Empregados

Salários

Atividades

Remuneração (0,N) (1,1) CPF Código

Empregados (CPF, Nome)

Atividades (Código, Descrição)

Salários (ID, valor)

Remuneração (CodAtiv, CPF, ID-Salario)

Nome ID Caso 1:1:N

Relacionamentos Ternários

Valor Descrição

• Uma das RIs pode ser chave primária

(83)

Relacionamentos Ternários

(0,1)

Painéis

Latarias

Veículo (0,1) (0,1) Código Código Código Caso 1:1:1 Fabricante Peso

Motores

Modelo

Painéis (Código, Peso)

Motores (Código, Fabricante)

Latarias (Código, Modelo)

(84)

Sumário

1. Projeto de BD: objetivo e etapas

2. Modelagem Conceitual

2.1 Modelo ER

2.2 Dicas de Modelagem

2.3 Exercícios

3. Mapeamento ER-Relacional

3.1 Regras de Mapeamento

3.2 Exercícios

(85)

Exercícios

• Mapeamento das modelagens conceituais

definidas nos exercícios anteriores

Referências

Documentos relacionados

Se você ainda não explorou todo nosso blog ou não baixou seu guia de viagem gratuito, clique nos links cima e aproveite este material. Já falamos diversas vezes sobre as épocas do

[r]

Daqui resulta que, o prestador demonstra ter já adotado medidas de forma a adequar o seu comportamento de acordo com a instrução projetada, o que justifica uma alteração numa parte

Objetivou-se neste estudo comparar as matrizes curriculares dos cursos de ciências contábeis das Instituições de Ensino Superior da França e do Brasil em relação ao

1 — o sujeito, seu predicativo e seu adjunto adnominal (desde que não seja regido pela preposição de) vão para o caso NOMINATIVO, em Latim.. Você vai à festa,

LISTAGEM E REPRESENTAÇÃO GRÁFICA DOS ACESSÓRIOS:.. endoscopia KARL STORZ. 20300186 0,008 Adaptador de conexão ao tubo, para uso com o Irrigador/Aspirador para endoscopia KARL

- o nome e o código do cargo ou o nome e o código da especialidade ou da área de atuação informado nesta capa de prova corresponde ao nome e código do cargo ou nome e código

- o nome e o código do cargo ou o nome e o código da especialidade ou da área de atuação informado nesta capa de prova corresponde ao nome e código do cargo ou nome e código