Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

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

Modelagem Lógica de BD

Modelagem Lógica de BD

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

Banco de Dados I. Aula 10 - Prof. Bruno Moreno 23/09/2011

PCS3413 Engenharia de Software e Banco de Dados

Introdução e projeto de Bancos de dados Completo

Banco de Dados I Transformação entre Modelos

Projeto de Banco de Dados

Projeto de Banco de Dados

Revisando Banco de Dados. Modelo Relacional

Modelagem de Dados. Modelagem Conceitual

Modelo Entidade- Relacionamento

Modelo Relacional. Aula 02

Prof. Fabiano Taguchi

Modelo Entidade- Relacionamento. Hugo Barros

Prof.: Clayton Maciel Costa

Banco de Dados. Aula 4 - Prof. Bruno Moreno 02/09/2011

Apostila de Modelagem de Banco de Dados

Prof. Fabiano Taguchi

Modelagem Conceitual parte I

Modelagem Conceitual parte I

Abordagem ER. Capítulo 2

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

CONTEÚDO PROGRAMÁTICO

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

Projeto de BD Relacional

Projeto de BD Relacional

Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

Banco de Dados Mapeamento Entidade Relacionamento para Relacional

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS MODELO ENTIDADE- RELACIONAMENTO

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROJETO DE BANCO DE DADOS RELACIONAL. Profº Erinaldo Sanches Nascimento

Modelo Entidade-Relacionamento

Projeto de BD Relacional

MODELAGEM DE DADOS UNIDADE 3 Modelo Entidade-Relacionamento. Luiz Leão

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Com base nos slides vistos em sala de aula resolva os seguintes exercícios:

Abordagem Entidade-Relacionamento. Edmilson Campos

Conceitos básicos e diagramas ER

SISTEMAS DE BANCO DE DADOS CONCEITOS DE MODELAGEM CONCEITUAL DE DADOS

Banco de Dados I Generalização/Especialização

Banco de Dados. Diagramas de Entidade Relacionamento (DER) Ref. Prof. Renato de Oliveira Violin - UFSCar

Modelo Relacional. Modelo Relacional. Tabelas

BANCO DE DADOS MODELAGEM ER. Prof.: Jean Carlo Mendes

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Banco de Dados. Modelagem de Dados. Prof.: Salustiano Rodrigues

Modelo Lógico. Felippe Lima Felippels.wordpress.com

Professor Eros Moura, DSc

Administração e Projeto de Banco de dados. Aula 4 Modelagem Conceitual Tipos de Relacionamentos

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

Abordagem ER. Capítulo 2

Abordagem ER. Capítulo 2

BCD29008 Banco de dados

Marcelo Henrique dos Santos

Projeto Lógico de BDOO

Modelo Entidade-Relacionamento. José Antônio da Cunha CEFET-RN

Introdução. Modelo de dados conceitual para o projeto de BD

Fundamentos de Banco de Dados e Modelagem de Dados

Computação Instrumental

BANCO DE DADOS. Engenharia da Computação Univasf. Modelo Entidade-Relacionamento. Aula 2. Conjuntos de Entidades - Representação Exemplo:

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

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

BANCO DE DADOS E APLICAÇÕES EM NEGÓCIOS: Modelagem usando o Modelo Entidade Relacionamento. Evandro Eduardo Seron Ruiz, Ph.D.!

Sistema de Banco de Dados

Banco de Dados Diagrama Entidade Relacionamento DER

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Modelo Entidade Relacionamento

Aula 02. Modelo de Dados Modelo Conceitual Modelo de Implementação Entidades e Atributos

Modelo Entidade-Relacionamento

BCD29008 Banco de dados

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

Técnicas de Modelação de Dados

Construindo modelos ER. Capítulo 3

Migração Modelo ER-Relacional

António Rocha Nuno Melo e Castro

Bancos de Dados. 7. Mapeamento ER/ERE para Relacional

5 a e 6 a Técnicas de BD Normalização e Modelagem (1)

Retrospectiva (Aula 2) O Modelo Entidade-Relacionamento. O Modelo Entidade- Relacionamento. O Modelo Entidade- Relacionamento

Análise e Projeto de Sistemas

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

Banco de Dados I (MAB489)

CIn/UFPE Projeto Conceitual de BD - Prof. Robson Fidalgo 1

Engenharia Reversa e Normalização

Unidade 4 Projeto de Banco de Dados

Aulas 03, 04 e 05. Relacionamentos entre Entidades Tipos de Relacionamentos Cardinalidade Relacionamento Identificador Entidade Associativa

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

Modelo Entidade Relacionamento

Aula III Introdução ao Modelo Relacional

Análise Estruturada. Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Profa. Daniela Barreiro Claro

Restrições de Integridade. Prof. Jefferson Silva CEFET.PHB - PI

Modelagem de Dados MODELAGEM DE DADOS. Lista de Exercícios 01. Luiz Leão Lista de Exercícios AV1

Banco de Dados I Modelagem Conceitual

UNIP Ciência da Computação AES Análise Essencial de Sistemas MER (Modelo Entidade Relacionamento)

Projeto de Banco de Dados

Administração de Bancos de Dados

Transcrição:

Banco de Dados I Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo

Projeto Lógico

Projeto Lógico Modelo Conceitual Pode haver n maneiras de implementar uma representação abstrata (conceitual) Modelo Lógico #1 Modelo Lógico #n Modelo representado de forma textual Representa como os dados serão agrupados Se baseia na tecnologia de BD

Projeto Lógico É um modelo baseado em regras Objetivos e Princípios: Bom desempenho Evitar junções de registros ter os dados necessários em um único registro Diminuir número de chaves; evitar chaves desnecessárias chaves ocupam espaço adicional em disco Evitar campos opcionais Menor manutenibilidade

Projeto Lógico Passos para a transformação [conceito] [lógico] 1. Tradução das Entidades e seus Atributos 2. Tradução de Generalizações / Especializações 3. Tradução de Relacionamentos e seus Atributos * Passos para a transformação em modelo relacional

Projeto Lógico Nomenclatura : Chave Primária: atributo identificador; identifica unicamente um registro Chave Estrangeira: uma referência a chave primária de outra tabela Chave Alternativa: atributo identificador que não é uma boa chave primária, pois seria uma chave estrangeira ruim Representação: NomeTabela (coluna1, coluna2,..., coluna n)

Mapeamento de Entidades e Atributos Entidade Tabela Atributo de Entidade Coluna da Tabela Atributos Identificadores Chave Primária Notação: # atributo que faz parte de chave primária & atributo que faz parte de chave estrangeira [] atributo opcional Livros (#ISBN, titulo, edicao)

Mapeamento de Entidades e Atributos Exemplo: Como ficaria o mapeamento lógico?

Mapeamento de Atributo Opcional, Composto e Multivalorado Atributo opcional se torna uma coluna opcional Atributo composto é decomposto em colunas Atributo multivalorado se torna uma nova tabela Poderia ser Email( #&RG, email )??? Clientes ( #RG, nome, [CNH], rua, bairro, CEP ) Email ( #&RG, #email ) ou Email ( #cod, &RG, email )

Mapeamento de Especializações Tabela única para toda hierarquia Atributos de entidade especializada vira opcional Cria-se restrições de integridade para especializações Restrições de Integridade: se Pessoa Física tipo = 1 / CPF null se Pessoa Jurídica tipo = 2 / CNPJ null Pessoas ( #código, nome, endereco, [CPF], [CNPJ] )

Mapeamento de Especializações Tabelas para entidade genérica e especializadas Entidades especializadas ganham chave estrangeira Pessoas ( #código, nome, endereco ) PessoasFisicas (#&código, CPF ) PessoasJurídicas (#&código, CNPJ )

Mapeamento de Especializações Tabelas somente para as entidades especializadas Entidades especializadas herdam atributos da entidade genérica Não aplicável a especializações parciais! PessoasFisicas (#&código, nome, endereco, CPF ) PessoasJurídicas (#&código, nome, endereco, CNPJ )

Mapeamento de Especializações As especializações podem ser projetadas como: Tabela única para toda hierarquia o boa quando especializações não tem muitos atributos Tabelas para entidade genérica e especializadas o boa quando entidades genérica e especializadas possuem muitos atributos e/ou relacionamentos Tabelas somente para as entidades especializadas o boa quando a entidade genérica possui poucos atributos e relacionamentos, mas não aplicável em alguns casos

Mapeamento de Especializações Exercício 2: Como ficaria o mapeamento lógico?

Mapeamento de Especializações Exercício 3: Como ficaria o mapeamento lógico?

Mapeamento de Relacionamentos O projeto lógico dos relacionamentos depende da cardinalidade mínima e máxima Os relacionamentos podem ser projetadas como: Fusão entre entidades relacionadas o Comum para cardinalidades menores Adição de colunas para representar relacionamento o Comum para relacionamentos opcionais Nova tabela para relacionamento o Comum para cardinalidades maiores

Mapeamento Relacionamento 1:1 Relacionamento obrigatório em ambos os sentidos Fusão de entidades Eventos ( #código, nome, datainstcom, nrocom, nomecom )

Mapeamento Relacionamento 1:1 Relacionamento opcional em um dos sentidos Opção 1: fusão de entidades Bibliotecárias ( #código, nome, [codarea], [nomearea], [periodicidade] )

Mapeamento Relacionamento 1:1 Relacionamento opcional em um dos sentidos Opção 2: uso de chave estrangeira em uma tabela Bibliotecárias ( #código, nome ) Áreas ( #codarea, &codbiblio, nome, periodicidade )

Mapeamento Relacionamento 1:1 Relacionamento opcional em ambos os sentidos Opção 1: criar tabela para relacionamento (+) organização (-) mais chaves Pessoa ( #RG, nome ) Casamento ( #&RGM, #&RGE, regime ) [usada para esposa e marido]

Mapeamento Relacionamento 1:1 Relacionamento opcional em ambos os sentidos Opção 2: uso de chaves estrangeiras na(s) tabela(s) (+) simples (-) atributos opcionais Pessoa ( #RG, nome, [&RGConjuge], [Regime] ) [usada para esposa e marido]

Mapeamento Relacionamento 1:N Relacionamento obrigatório ou opcional no lado N Uso de chaves estrangeiras no lado N Editoras ( #código, nome ) Livros ( #ISBN, titulo, &codeditora, datapublicacao )

Mapeamento Relacionamento 1:N Relacionamento opcional no lado 1 Opção 1: criar tabela para relacionamento com chave da tabela do lado N Estantes ( #número, capacidade ) Livros ( #ISBN, titulo) Localizacao ( #&ISBN, &nroestante, nrocontrole )

Mapeamento Relacionamento 1:N Relacionamento opcional no lado 1 Opção 2: criar chave estrangeira na tabela do lado N Estantes ( #numero, capacidade ) Livros ( #ISBN, titulo, [&nroestante], [nrocontrole] )

Mapeamento Relacionamento 1:N Exercício 4: Como ficaria o mapeamento lógico?

Mapeamento de Entidades Fracas Chave primária da entidade forte se torna chave estrangeira na entidade fraca Sócios (#matrícula, datanascimento) Dependentes (#&matrícula, #nrosequência, nome)

Mapeamento de Entidades Fracas Exercício 1: Como ficaria o mapeamento lógico?

Mapeamento Relacionamento N:N Relacionamento obrigatório ou opcional em ambos os sentidos Criar nova tabela usando as chaves dos dois lados Livros ( #ISBN, titulo) Compras ( #número, ordemcompra ) Pedido ( #&ISBN, #&nrocompra, quantidade )

Mapeamento Relacionamento N:N Relacionamento obrigatório ou opcional em ambos os sentidos Criar nova tabela usando as chaves dos dois lados As vezes é melhor criar uma nova chave primária para a nova tabela ao invés de usar uma chave composta! Livros ( #ISBN, titulo) Compras ( #número, ordemcompra ) Pedido ( #idped, &ISBN, &nrocompra, quantidade )

Mapeamento Relacionamento com Entidades Associativas Solução varia de acordo com as cardinalidades Livros ( #ISBN,... ) Clientes ( #rg,... ) Bibliotecárias ( #rg,... ) Empréstimos ( #idemp, &ISBN, &rgcliente, &rgbibli, data, [dtdev] )

Mapeamento Relacionamento com Entidades Associativas Solução varia de acordo com as cardinalidades Solução 1: Conta ( #número, &rgcliente, [&nrocartao], [dataexp] ) Cliente ( #rg,... )

Mapeamento Relacionamento com Entidades Associativas Solução varia de acordo com as cardinalidades Solução 2: Conta( #nroconta, #&rgcliente ) Cliente ( #rg,... ) CartoesMagneticos ( #número, dataexp, &nroconta )

Mapeamento Relacionamento Ternários Relacionamento N:N:N Criar nova tabela para a relação com todas as chaves Distribuidores ( #&cnpj,... ) Produtos( #codigo,... ) Cidades ( #codigo,... ) Distribuição( #&cnpjdistr, #&codprod, #&codcidade, data )

Mapeamento Relacionamento Ternários Relacionamento 1:N:N Criar nova tabela para a relação com todas as chaves, sendo a chave do lado 1 apenas estrangeira Pesquisadores ( #RG,... ) Projetos( #número,... ) Instituições ( #sigla,... ) Pesquisa ( #&rgpesq, #&nroproj, &siglainst, datainicio )

Mapeamento Relacionamento Ternários Relacionamento 1:1:N Entidade do lado N recebe chaves estrangeiras Bairros ( #código,... ) Carteiros ( #rg,... ) Correspondências ( #código, peso, &rgcarteiro, &codbairro )

Mapeamento Relacionamento Ternários Relacionamento 1:1:1 Criar uma tabela única unificada Veículo ( #numsérie, #nummodelo, nomemodelo, códigocarroceria, obscarroceria )

Exercício 5: Mapear o diagrama ER ao lado em um projeto lógico. Projeto Lógico

Dicionário de Dados O modelo lógico deve se preocupar também em como os dados serão representados, ou seja, a sua tipagem. ALUNOS Atributo Domínio Tamanho matrícula Numérico Restrição de Integridade Chave primária Descrição Matrícula do aluno nome Texto 50 Não nulo Nome do aluno rg Numérico Chave alternativa cred Numérico Não nulo RG do aluno Quantidade de créditos cursados

Dicionário de Dados Também pode ser produzido por software FABForce DBDesigner No momento não vamos nos preocupar com os tipos aceitos pelos BD relacionais (cada SGBD tem as suas peculiaridades) http://fabforce.eu/downloads.php https://dbdesigner.net/

Projeto Lógico Exercício 6: Faça o mapeamento lógico do seguinte diagrama ER e escreva o dicionário de dados: N

Projeto Lógico Exercício 7: Mapear o diagrama ER ao lado em um projeto lógico (não é necessário elaborar o dicionário de dados)