Modelagem de Dados e Conversão de Modelos. Frederico Damasceno Bortoloti freddb@ltc.ufes.br



Documentos relacionados
BANCO DE DADOS -PROJETO LÓGICO. Prof. Angelo Augusto Frozza, M.Sc.

Projeto de Banco de Dados

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

Banco de Dados. Banco de Dados (aulas 7 e 8) 1 Wedson Quintanilha da Silva - Banco de Dados

Curso de Gestão em SI MODELAGEM DE DADOS. Rodrigo da Silva Gomes. (Extraído do material do prof. Ronaldo Melo - UFSC)

Revisão e Dicas de Projeto Conceitual Modelo ER

Exercícios Propostos de Modelagem parte II

Exercícios Propostos de Modelagem parte II

Modelagem de dados usando o modelo BANCO DE DADOS 1º TRIMESTRE PROF. PATRÍCIA LUCAS

Processo de Projeto Bottom-Up. esquema conceitual do BD. engenharia reversa do esquema relacional. esquema relacional integrado do BD (esquema global)

Processo de Projeto Bottom-Up. esquema conceitual do BD. engenharia reversa do esquema relacional. esquema relacional integrado do BD (esquema global)

Modelagem Lógica de BD

Disciplina: Unidade II: Prof.: Período:

I Requisitos de um modelo conceitual: - clareza (facilidade de compreensão) - exatidão (formal)

Modelagem ER - Clinica

Modelagem Lógica de BD

1) O QUE NÃO É BANCO DE DADOS?

Modelagem de Dados. Aula 04 Introdução ao Modelo Entidade- Relacionamento. Maxwell Anderson

GBC043 Sistemas de Banco de Dados Modelo de Entidade-Relacionamento (ER)

BANCO DE DADOS PROFESSOR MAURÍCIO - MAURICIO.MELLO@PUCPR.BR AULA 02. O Modelo Entidade-Relacionamento ( MER )

ENGENHARIA DA COMPUTAÇÃO

MODELAGEM DE DADOS. Banco de Dados I. O uso da análise e do projeto Orientados a Objetos atenuou a separação! Unidade I

Ciclo de Desenvolvimento de Sistemas de BD

Modelo Entidade-Relacionamento

SISTEMAS DE INFORMAÇÃO GERENCIAIS

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Administração de Bancos de Dados

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

Banco de Dados. MER Estendido. Profa. Flávia Cristina Bernardini

Aula II Introdução ao Modelo de Entidade-Relacionamento

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento. Modelo Entidade-Relacionamento. Modelo Entidade-Relacionamento

Modelo Relacional. 2. Modelo Relacional (Lógico)

Prof.: Clayton Maciel Costa

Banco de Dados Transformação Modelo Conceitual para Lógico Relacional. Prof. Juliano Lucas Gonçalves

Profa. Daniela Barreiro Claro

Fernando Fonseca Ana Carolina

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS. PROFESSOR: DOUGLAS DUARTE DISCIPLINA: BDA1-3º SEMESTRE. Modelagem de Dados

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Roteiro. Modelagem de Dados: Usando o Modelo Entidade-Relacionamento. BCC321 - Banco de Dados I. Processo de Projeto de Banco de Dados.

III. Projeto Conceitual de Banco de Dados. Pg. 1 Parte III (Projeto Conceitual de Banco de Dados)

Modelagem de Dados MODELAGEM DE DADOS. Lista de Exercícios - AV02. Luiz Leão luizleao@gmail.com Lista de Exercícios AV1

Banco de Dados I. Modelagem Conceitual Parte 2. Cardinalidades, atributos em relacionamentos, identificadores, generalização. Prof.

O Modelo de Entidade Relacionamento (ER ou MER) Parte 1

Curso Superior de Tecnologia em BD

PROJETO LÓGICO. Passos para transformação ER Relacional: 1) Tradução inicial de Entidades e seus Atributos;

Núcleo de Pós Graduação Pitágoras

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

MC536 Bancos de Dados: Teoria e Prática

Curso Superior em Tecnologia de Análise e Desenvolvimento de Sistemas. Campus Alegrete. Banco de Dados I. Cristhiano Bossardi de Vasconcellos.

MER Modelo de entidade e Relacionamento. Prof. Me. Hélio Esperidião

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

Modelo Entidade-Relacionamento

4- PROJETO DE BANCO DE DADOS

INF Fundamentos de Banco de Dados Exercícios sobre normalização

Banco de Dados para Redes. Cassio Diego cassiodiego.com/bdr

Banco de Dados 1 2º Semestre

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL -EXERCÍCIOS. Prof. Angelo Augusto Frozza, M.Sc.

Ciclo de vida de um banco de dados relacional

Modelos de Armazenamento de dados. Prof. Guilherme Tomaschewski Netto

MODELO ENTIDADE - RELACIONAMENTO

Banco de Dados Lista de Exercícios 01

Banco de Dados I. 1. Conceitos de Banco de Dados

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Prof. Alexandre Unterstell Banco de Dados I

Lista de Exercício Resolvido 01 Modelagem Conceitual parte I

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

descreve relacionamentos entre objetos de dados; conduz à modelagem de dados; atributos de cada objeto => Descrição de Objetos de Dados;

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Banco de Dados - Senado

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

2. Revisão e Dicas de Modelagem Conceitual

Universidade Paulista

Propriedades de entidades

Banco de Dados I. Modelo Entidade Relacionamento Mapeamento para tabelas. Apresentação. Ementa

Aula VI -MODELO RELACIONAL

Banco de Dados I. Prof. Bal. Emerson Meneses Inocente

Modelo Relacional. Modelo Relacional. Tabelas

INTRODUÇÃO. Enfoque abstrato. Enfoque Intermediário

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Abordagem relacional Capítulo 4

Bancos de Dados Exercícios de Modelagem Entidade Relacionamento

Níveis de Abstração. Mundo Real. Transformações entre modelos. Analista. Mini-mundo. Banco de Dados I. Unidade I. Modelo de Banco de Dados.

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Projeto Lógico de BD. Objetivo do Projeto Lógico

INF1383 -Bancos de Dados

Projeto de Banco de Dados. Disciplina: Banco de Dados I José Antônio da Cunha

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Unidade II ADMINISTRAÇÃO DE. Prof. Luiz Fernando de Lima Santos

Lista de exercícios 01

MODELAGEM DE DADOS. Unidade II Arquiteturas do SGBD

BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING -PROJETO LÓGICO RELACIONAL. Prof. Angelo Augusto Frozza, M.Sc.

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

SISTEMA GERENCIADOR DE BANCO DE DADOS

Dicas de Projeto Lógico Relacional

Banco de Dados - Senado

Profº Aldo Rocha. Banco de Dados

Figura 5 - Workflow para a Fase de Projeto

Desenvolvimento estruturado versus orientado a objetos.

Transcrição:

Modelagem de Dados e Conversão de Modelos Frederico Damasceno Bortoloti freddb@ltc.ufes.br

Objetivo 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 entidaderelacionamento (ER) Regras detalhadas de mapeamento ER-relacional Bibliografia principal Projeto de Banco de Dados - Carlos Alberto Heuser - 5 a Ed. Série Livros Didáticos Instituto de Informática da UFRGS, número 4. Editora Sagra-Luzzatto, 2004. www.ltc.ufes.br, Banco de Dados

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

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

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 nível conceitual, lógico e físico

Projeto de BD - Etapas Análise de Requisitos Modelagem Conceitual Modelagem Lógica Modelagem Física

Projeto de BD - Etapas Análise de Requisitos Modelagem Conceitual Modelagem Lógica 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 especificação de requisitos Modelagem Física

Projeto de BD - Etapas Análise de Requisitos Especificação 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

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 Tradução para qualquer modelo de SGBD

Projeto de BD - Etapas Análise de Requisitos Especificação de requisitos Modelagem Conceitual Esquema conceitual Modelagem Lógica Modelagem Física 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 visões, autorizações de acesso,...)

Projeto de BD - Etapas Análise de Requisitos Especificação de requisitos Modelagem Conceitual Definição do esquema lógico em um SGBD adequado ao modelo Esquema conceitual Forma de realização: SQL Resultado: esquema físico Modelagem Lógica Esquema lógico Modelagem Física

Projeto de BD - Etapas Análise de Requisitos Especificação de requisitos Modelagem Conceitual Esquema conceitual Modelagem Lógica Esquema lógico Modelagem Física Esquema físico ou implementação

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 (distribuição adequada dos dados em tabelas)

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

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

Modelo ER - Notação a7 a2 a5 a6 E3 a8 a9 E1 a4 (0,1) a1 (0,3) r 1 a3 r 2 E4 p r 4 E2 E7 E8 papel 1 papel 2 r 5 E5 E6 E9 E10 E11 a11 r 3 r 6 E12 (0,1) a10 a12 a13

Modelo ER - Notação a2 a5 a6 E1 a7 E3 a8 a9 r 2 E4 a4 (0,1) a1 (0,3) r 1 entidade p r 4 E2 papel 1 papel 2 a3 E7 E8 r 5 E5 E6 E9 E10 E11 a11 r 3 r 6 E12 (0,1) a10 a12 a13

Modelo ER - Notação a7 a5 a6 E3 a2 a8 entidade fraca a9 E5 E1 r 2 E4 a1 p (0,3) E6 r 1 a3 r 4 E9 a4 (0,1) E7 E2 papel 1 papel 2 E8 r 5 E10 E11 a11 r 3 r 6 E12 (0,1) a10 a12 a13

a7 a5 a6 E3 Modelo ER - Notação a2 a8 a9 E5 E1 r 2 E4 a1 p (0,3) E6 r 1 a3 r 4 E9 a4 (0,1) E7 E2 papel 1 papel 2 E8 r 5 E10 E11 a11 entidade associativa r 3 r 6 E12 (0,1) a10 a12 a13

a7 a2 a5 a6 E3 a8 a9 Modelo ER - Notação E1 a4 (0,1) a1 (0,3) r 1 a3 r 2 E4 p r 4 E2 E7 E8 relacionamento papel 1 papel 2 E11 a11 E5 E6 E9 E10 E12 r 3 r 6 r 5 (0,1) a10 a12 a13

a7 a2 a5 a6 E3 a8 a9 Modelo ER - Notação E1 a4 (0,1) a1 (0,3) r 1 a3 r 2 E4 p r 4 E2 E7 E8 auto-relacionamento papel 1 papel 2 E11 a11 E5 E6 E9 E10 E12 r 3 r 6 r 5 (0,1) a10 a12 a13

relacionamento ternário a5 a6 a7 E3 a8 a9 Modelo ER - Notação a2 E1 a4 (0,1) a1 (0,3) r 1 a3 r 2 E4 p r 4 E2 E7 E8 papel 1 papel 2 r 5 E5 E6 E9 E10 E11 a11 r 3 r 6 E12 (0,1) a10 a12 a13

Modelo ER - Notação a2 a5 a6 E1 a7 E3 a8 a9 r 2 E4 a4 (0,1) a1 (0,3) r 1 atributo identificador p r 4 E2 papel 1 papel 2 a3 E7 E8 r 5 E5 E6 E9 E10 E11 a11 r 3 r 6 E12 (0,1) a10 a12 a13

atributo monovalorado a7 a5 a6 E3 Modelo ER - Notação a2 a8 a9 E5 E1 r 2 E4 a1 p (0,3) E6 r 1 a3 r 4 E9 a4 (0,1) E7 E2 papel 1 papel 2 E8 r 5 E10 E11 a11 r 3 r 6 E12 (0,1) a10 a12 a13

a7 a5 a6 E3 Modelo ER - Notação a2 a8 a9 E5 E1 r 2 E4 a1 p (0,3) E6 r 1 a3 r 4 E9 a4 (0,1) E7 E2 papel 1 papel 2 E8 r 5 E10 atributo multivalorado E11 a11 r 3 r 6 E12 (0,1) a10 a12 a13

a7 a5 a6 E3 Modelo ER - Notação a2 a8 a9 E5 E1 r 2 E4 a1 p (0,3) E6 r 1 a3 r 4 E9 a4 (0,1) E7 E2 papel 1 papel 2 E8 r 5 E10 E11 a11 atributo composto r 3 r 6 E12 (0,1) a10 a12 a13

atributo obrigatório a7 a5 a6 E3 Modelo ER - Notação a2 a8 a9 E5 E1 r 2 E4 a1 p (0,3) E6 r 1 a3 r 4 E9 a4 (0,1) E7 E2 papel 1 papel 2 E8 r 5 E10 E11 a11 atributo opcional r 3 r 6 E12 (0,1) a10 a12 a13

especialização parcial a7 a5 a6 E3 Modelo ER - Notação a2 a8 a9 E5 E1 r 2 E4 a1 p (0,3) E6 r 1 a3 r 4 E9 a4 (0,1) E7 E2 papel 1 papel 2 E8 r 5 E10 especialização total E11 a11 r 3 r 6 E12 (0,1) a10 a12 a13

especialização exclusiva a7 a5 a6 E3 Modelo ER - Notação a2 a8 a9 E5 E1 r 2 E4 a1 p (0,3) E6 r 1 a3 r 4 E9 a4 (0,1) E7 E2 papel 1 papel 2 E8 r 5 E10 especialização não-exclusiva E11 a11 r 3 r 6 E12 (0,1) a10 a12 a13

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

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 deduçãoirpf valorbruto Empregados remuneração Salários categoria gratificação valorlíquido

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óvel localização valor aplicação comercial (setor de crediário de uma loja) localização Pessoas proprietário Imóveis valor aplicação de negócio imobiliário

Dicas de Modelagem Conceitual Entidade X Atributo Multivalorado a opção por atributo multivalorado é válida se existe noção de agregação Pessoas telefone aplicação comercial (setor de crediário de uma loja) DDD Pessoas (0,1) proprietário Linhas Telefônicas número aplicação: companhia telefônica

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 descrição quantidade valor número quantidade Pedidos composição Itens Produtos referência

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) nome CRM hora nome Médicos consulta Pacientes código nome CRM data nome Médicos Consultas Pacientes código data hora

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 umpara-um e um-para-muitos não geram o mesmo banco de dados relacional! nome CPF marca Pessoas (0,1) posse Automóveis chassi nome CPF marca Pessoas (0,1) Posses Automóveis chassi

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) nome CRM hora nome Médicos consulta Pacientes código data Consultas nome intervalohoras prescrição Medicamentos código

Dicas de Modelagem Conceitual Entidade X Entidade Associativa CRM nome Médicos Consultas nome Pacientes código data hora nome intervalohoras prescrição Medicamentos código

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 nome CPF nome Empregados alocação Projetos código nome Tarefas código

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 nome CPF nome Empregados alocação Projetos código Alocações nome execução Tarefas código

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 nome CPF nome CPF Pessoas titulação Professores aplicação universitária código Pessoas formação Professores habilitação aplicação de uma escola de música tempo experiência

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 função nome CPF nome CPF Pessoas Pessoas CREA nrohabilitação Engenheiros Motoristas

Dicas de Modelagem Conceitual Atributo X Especialização atenção: atributos opcionais podem sugerir a modelagem de uma entidade especializada veículoshabilitados nrohabilitação (0,1) nome Pessoas CPF nome Pessoas CPF nrohabilitação veículoshabilitados Motoristas

Dicas de Modelagem Conceitual Limitações no poder de expressão! exige a documentação de restrições de integridade em anexo Alunos Empregados supervisionado (0,1) supervisor supervisão RIs: - um empregado não pode ser supervisor de si próprio - ciclos em hierarquias de supervisão não são permitidos emcurso G emcurso PG (0,1) (0,1) Graduação Pós-Graduação RIs: - um aluno não pode estar cursando ambos os cursos - um aluno deve estar cursando pelo menos um dos cursos Cursos aplicação de um depto universitário

Dicas de Modelagem Conceitual Consideração de aspectos temporais atenção: alteram a modelagem conceitual! Empregados instantâneo salário Empregados temporal remuneração valor data Salários Empregados lotação Departamentos instantâneo data Empregados lotação Departamentos temporal

Dicas de Modelagem Conceitual Entidade isolada pode-se admitir a sua representação Escolas definição Home-Pages DicasDidáticas OK! (mostrada aleatoriamente sempre que uma home-page é aberta) Empregados lotação Departamentos Empresa OK?

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 possui Setores revisão lotação Setores Máquinas Máquinas

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

Ferramenta brmodelo Modelagem conceitual ER notação Peter Chen Mapeamento semi-automático ER-relacional Armazenamento XML de modelagens

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.

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-prima pode estar sendo utilizada em várias manutenções, em uma certa quantidade.

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.

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

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

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 implica evitar muitas dependências entre dados

Processo de Mapeamento 1. Mapeamento preliminar de entidades e seus atributos 2. Mapeamento de especializações 3. Mapeamento de relacionamentos e seus atributos

Mapeamento de Entidades Empregados CPF Nome Idade Empregados (CPF, Nome, Idade)

Mapeamento de Entidades Fracas Identificador da entidade forte torna-se parte da chave primária na tabela correspondente à entidade fraca (tabelafraca) chave estrangeira na tabelafraca Pedidos Composição Itens Quantidade Número Número Produto Itens (NroPedido, NroItem, Produto, Quantidade)

Mapeamento de Atributos PlanoSaúde (0,1) Telefone Rua Número Cidade Endereço Empregados CPF Nome Idade Empregados (CPF, Nome, Idade, PlanoSaúde, Rua, Número, Cidade) Telefone(CPF, Número) ou Telefone (CPF, Número)

Mapeamento de Atributos PlanoSaúde (0,1) Telefone (1,3) Rua Número Cidade Endereço Empregados CPF Nome Idade Empregados (CPF, Nome, Idade, PlanoSaúde, Rua, Número, Cidade, FoneRes, FoneCom, Celular)

Processo de Mapeamento 1. Mapeamento preliminar de entidades e seus atributos 2. Mapeamento de especializações 3. Mapeamento de relacionamentos e seus atributos

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

Alternativa 1 Servidores CPF Nome Função Funcionários Professores Titulação Categoria Servidores (CPF, Nome, Tipo, Função, Titulação, Categoria) Tipopode assumir mais de um valor se a especialização é não-exclusiva

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

Alternativa 3 Servidores CPF Nome Função Funcionários Professores Titulação Categoria Funcionários (CPF, Nome, Função) Professores (CPF, Nome, Titulação, Categoria) Não se aplica a especializações parciais

Processo de Mapeamento 1. Mapeamento preliminar de entidades e seus atributos 2. Mapeamento de especializações 3. Mapeamento de relacionamentos e seus atributos

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

Relacionamento 1-1 Obrigatório em ambos os sentidos Conferências Organização Número Endereço Comissões email Sigla Nome DataInstalação Conferências (Sigla, Nome, DataInstCom, NroCom, EndereçoCom, emailcom)

Relacionamento 1-1 Opcional em um dos sentidos Pessoas Posse (0,1) Número CarteirasMotorista Código Nome DataRetirada DataExpedição Validade Categoria alternativa 1 Pessoas (Código, Nome, NúmeroCarteiraMotorista, DataExpedição, Validade, Categoria, DataRetirada)

Relacionamento 1-1 Opcional em um dos sentidos Pessoas Posse (0,1) CarteirasMotorista Número Código Nome DataRetirada DataExpedição Validade Categoria alternativa 2 Pessoas (Código, Nome) CarteirasMotorista (Número, DataExpedição, Validade, Categoria, Código, DataRetirada)

Relacionamento 1-1 Opcional em ambos os sentidos Homens (0,1) Casamento (0,1) Mulheres CPF Nome Data CPF Nome alternativa 1 Homens (CPF, Nome) Casamento (CPFh, CPFm, Data) Mulheres (CPF, Nome)

Relacionamento 1-1 Opcional em ambos os sentidos Homens (0,1) Casamento (0,1) Mulheres CPF Nome Data CPF Nome alternativa 2 Homens (CPF, Nome) Mulheres (CPF, Nome, CPFmarido, DataCasamento)

Relacionamento 1-N Obrigatório/opcional no lado N Empregados CPF Nome Lotação Data Código Nome Departamentos Departamentos (Código, Nome) Empregados (CPF, Nome, CodDepto, DataLotação)

Relacionamento 1-N Opcional no lado 1 Ano Automóveis Chassi Modelo (0,1) Posse DataCompra alternativa 1 CPF Pessoas Nome Pessoas (CPF, Nome) Automóveis (Chassi, Modelo, Ano) Posse (CPF, Chassi, DataCompra)

Relacionamento 1-N Opcional no lado 1 Ano Automóveis Chassi Modelo (0,1) Posse DataCompra alternativa 2 CPF Pessoas Nome Pessoas (CPF, Nome) Automóveis (Chassi, Modelo, Ano, CPF, DataCompra)

Relacionamento N-M Obrigatório/opcional em ambos os sentidos Empregados CPF Nome Participação DataInício Código Projetos Nome Empregados (CPF, Nome) Projetos (Código, Nome) Participação (CPF, Código, DataInício)

Auto-Relacionamento Valem as mesmas recomendações anteriores Empregados CPF Nome Idade (0,1) gerente gerência subordinado Alternativas: 1) Empregados(CPF, Nome, Idade) Gerência(CPFe, CPFg) 2) Empregados(CPF, Nome, Idade, CPFg)

Relacionamentos com Entidades Associativas Valem as mesmas recomendações anteriores questão: localizar a entidade associativa Empréstimos Livros empréstimo (0,1) Clientes alternativa 2 DataDevolução cadastro Bibliotecárias Livros (Código,..., CPFcli, DataDevolução, CPFbibl) Clientes (CPFcli,...) Bibliotecárias(CPFbibl,...)

Relacionamentos com Entidades Associativas Outro exemplo CPF Número DataExp Clientes Correntistas vínculo CartõesMagnéticos alternativa 1 Contas Concessão (0,1) Número Correntista(CPF, NroCta, NroCartão, DataExp)

Relacionamentos Ternários Gera uma tabela para o relacionamento Sigla Instituições Projetos Número Pesquisa DataInício Caso N:N:N Pesquisadores CPF Instituições (Sigla,...) Projetos (Número,...) Pesquisadores (CPF,...) Pesquisa (Sigla, Número, CPF, DataInício)

Relacionamentos Ternários Código Produtos Cidades Código Distribuição Caso 1:N:N (0,1) CPF Distribuidores Produtos (Código,...) Cidades (Código,...) Distribuidores (CPF,...) Distribuição (CodProduto, CodCidade, CPF)

Relacionamentos Ternários CPF Nome Empregados Atividades Código Descrição Remuneração Caso 1:1:N ID Salários Valor Empregados (CPF, Nome) Atividades (Código, Descrição) Salários (ID, valor) Remuneração (CodAtiv, CPF, ID-Salario) Uma das RIs pode ser chave primária

Relacionamentos Ternários Código Peso Painéis (0,1) Motores Código Fabricante (0,1) Veículo Caso 1:1:1 (0,1) Latarias Painéis (Código, Peso) Motores (Código, Fabricante) Latarias (Código, Modelo) Veículo (CodP, CodM, CodL) Código Modelo Uma das RIs pode ser chave primária

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

Exercícios Mapeamento das modelagens conceituais definidas nos exercícios anteriores