DCC011 Introdução a Banco de Dados -20. Revisão: Modelagem de Dados. Revisão: Processo de Projeto de BD. Revisão: Projeto de Bancos de Dados



Documentos relacionados
Revisão: Modelagem de Dados. Introdução a Banco de Dados 20. Mapeamento ER Relacional. Revisão: Projeto de Bancos de Dados. Revisão: equivalência

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

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

Herança. Herança. Especialização. Especialização

Modelo Relacional. Modelo Relacional. Tabelas

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

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

Projeto de BD Relacional

Projeto de BD Relacional

Banco de Dados - Senado

Projeto de BD Relacional

Modelo Relacional. Aécio Costa

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

O modelo de dados relacional e as restrições de um banco de dados relacional

Funcionários. Funcionários. PrimeiroNome NomesDoMeio ÚltimoNome. CPF Nome Salário. CPF PrimeiroNome NomesDoMeio ÚltimoNome Salário

Modelo Entidade-Relacionamento

Profa. Daniela Barreiro Claro

Curso Superior de Tecnologia em BD

Ciclo de vida de um banco de dados relacional

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

MC536 Bancos de Dados: Teoria e Prática

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

Conceitos Básicos de Banco de Dados

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

SISTEMA GERENCIADOR DE BANCO DE DADOS

Disciplina de Banco de Dados Parte V

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

Persistência e Banco de Dados em Jogos Digitais

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)

LINGUAGEM DE BANCO DE DADOS

Modelo Entidade-Relacionamento DCC011. Modelo Entidade-Relacionamento. Processo de Projeto de Bancos de Dados

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Projeto Conceitual (geralmente no modelo E-R):

3. Modelagem de Dados Utilizando o Modelo Entidade Relacionamento (ER)

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

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

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

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

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.

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

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

Modelagem de dados e uso do SGBD MySQL

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

CICLO DE VIDA DE UM BD

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

GBC043 - Sistemas de Banco de Dados Mapeamento ER, EER para o Relacional

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Faculdade Lourenço Filho - ENADE

BDII SQL Junção Revisão 8

Aula VI -MODELO RELACIONAL

Prova de Fundamentos de Bancos de Dados 1 a Prova

Introdução à Banco de Dados. Definição

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Softwares Aplicativos Banco de Dados

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO

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

Modelo de Dados. Modelos Conceituais

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

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Depois de obtido o diagrama E/A há que estabelecer o esquema relacional correspondente.

Projeto de Banco de Dados

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

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

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

Prof.: Clayton Maciel Costa

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

MODELO ENTIDADE - RELACIONAMENTO

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

Técnicas e Linguagens para Banco de Dados I

Avaliação DCC011. Programa. Conceitos Básicos. Definição de Banco de Dados. Sist. de Gerência de Banco de Dados. [Elmasri & Navathe, 2000]

Construindo modelos ER. Capítulo 3

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

Banco de Dados 1 2º Semestre

AULA Entidade-Relacionamento

Prof.: Clayton Maciel Costa

Abordagem relacional Capítulo 4

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

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

Conceitos de Banco de Dados

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

INTRODUÇÃO. Diferente de Bando de Dados

Roteiro 3 Modelagem relacional

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

MODELO RELACIONAL - UFMA

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

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

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

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

Modelo de Entidade e Relacionamento (MER) - Parte 07

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

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

OBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs.

ENGENHARIA DA COMPUTAÇÃO

Transcrição:

DCC011 Introução a Banco e Daos -20 Revisão: Moelagem e Daos Mirella M. Moro Departamento e Ciência a Computação Universiae Feeral e Minas Gerais mirella@cc.ufmg.br Revisão: Projeto e Bancos e Daos Inepenente e SGBD Específico para um SGBD Requisitos Funcionais Análise Funcional Especificação as Transações (em alto nível) Projeto as Aplicações Implementação Mini-Muno Análise e Requisitos Requisitos o BD Projeto Conceitual Esquema Conceitual (em um moelo e aos e alto nível) Projeto Lógico Esquema Lógico (em um moelo e aos lógico) Projeto Físico Esquema Físico (para um SGBD específico) Moelo ER Moelo Relacional SGBD Relacional Revisão: Processo e Projeto e BD Caracterização Complexiae Multipliciae e tarefas Fases Coleção e análise e requisitos Projeto conceitual Escolha e um SGBD Projeto lógico ou mapeamento para o moelo e aos o SGBD escolhio Projeto físico Implementação e tuning Programas DCC011 - profa. Mirella 3 4 Revisão:Estratégias para o Projeto o Esquema Conceitual Centralizao Toos os requisitos são capturaos e uma vez Aboragem e integração e visões Uma visão éprojetaa para caa grupo e usuários e aplicações Subseqüentemente essas visões são integraas em um esquema conceitual global Revisão: Proprieaes e Moelos ER (a) Moelo ER é um moelo formal Preciso, não ambíguo (b) Poer e expressão é limitao Restrições e integriae (c) Equivalência entre moelos Expressam a mesma realiae 5 6

Revisão: equivalência Revisão: Processo e Construção A. Ientificano construções Atributo versus entiae relacionaa Atributo versus especialização/generalização Atributo opcional Atributo multivalorao B. Verificação o moelo Moelo eve ser correto, completo, livre e reunâncias C. Moelo eve refletir o aspecto temporal D. Estratégias e moelagem 7 8 EXEMPLO Reserva e passagens aéreas O objetivo o trabalho é projetar um sistema e reservas para uma companhia e aviação. O sistema contará com um banco e aos central, que será acessao por aplicações clientes, roano tanto entro a própria companhia, quanto fora ela. A transação central o sistema é a reserva. Uma reserva é ientificaa por um cóigo gerao pelo sistema em computaor. A reserva é feita para um único passageiro, o qual se conhece apenas o nome. A reserva compreene um conjunto e trechos e vôos, que acontecerão em eterminaa ata/hora. Para caa trecho, a reserva é feita em uma classe (econômica, executiva, etc) Um vôo é ientificao por um cóigo e possui uma origem e um estino. Por exemplo, o vôo 959 sai e Porto Alegre com estino a São Paulo. Um vôo é composto e vários trechos, corresponeno às escalas intermeiárias o vôo. Por exemplo, o vôo 959 é composto e ois trechos, um e Porto Alegre a Lonrina, o outro e Lonrina a São Paulo. Cabe salientar que há ciaes que são servias por vários aeroportos. Por isso, é importante informar ao passageiro que faz a reserva qual é o aeroporto no qual o vôo passa. Reserva e passagens aéreas Às vezes os clientes, ao fazer a reserva querem saber qual é o tipo e aeronave que será utilizaa em eterminao trecho e vôo. Alguns poucos vôos, principalmente internacionais, têm troca e aeronave em eterminaas escalas. Nem toos vôos operam em toos ias a semana. Inclusive, certos vôos têm pequenas muanças e horário em certos ias a semana. Caa reserva possui um prazo e valiae. Caso os bilhetes não tenham sio emitios até esgotar-se o prazo a reserva, a mesma é cancelaa. Reservas poem ser prorrogaas. Como o check-in e toos os vôos está informatizao, a companhia possibilita a reserva e assento para o passageiro. Reservas e assento poem ser feitas com até três meses e anteceência. Além e efetivar reservas, o sistema eve servir para vários tipos e consultas que os clientes poem querer fazer: Possibiliaes e viagem e uma ciae ou e um aeroporto para outro O mesmo, mas restrito a eterminaos ias a semana Horários e chegaa ou e saía em eterminaos vôos Disponibiliae e vagas em um trecho e vôo Disponibiliae e eterminaos assentos em um trecho e vôo 9 10 a. entiaes b. relacionamentos Entiaes Companhia, reserva, passageiro, trecho, voo, ciae, aeroporto, tipo-aeronave, horário, assento Não foi criaa uma entiae Pessoas que efetivaram a reserva Problema e homônimos Atributo reserva 11 12

c. Atributos e ientificaores. Restrições e integriae RESERVA (coigo reserva, passageiro, prazo) VOO (numero) TRECHO () AEROPORTO (coigo, nome) CIDADE (coigo, nome, país) TIPO AERONAVE (coigo, escrição) HORARIO (ia semana, horário partia, horário chegaa) ASSENTO (numero, classe) RSRV-TRCH (ata) Uma reserva e trecho somente poe ser realizaa caso existam vagas no trecho em questão na ata em questão Uma reserva para um assento somente poe ser feita se o assento em questão existir no tipo e aeronave utilizaa no trecho e vôo em questão 13 14 e. Reunância e esempenho Observação geral Solução aotaa conceitual Não inclui reunâncias e aos que objetivem melhorar o esempenho Não atributos reunantes Número e vagas em um trecho e vôo, em uma ata, inclusive iscriminao por classe Criar entiae TRECHO-DIA Etapa e projeto Mapeamento ER - Relacional 1. Transformações entre Moelos 2. Algoritmo e mapeamento ER Relacional 15 1. Transformações entre Moelos Transformações entre Moelos Uma vez efinio o moelo conceitual, o próximo passo é efinir o moelo lógico Uma alternativa: mapear as construções o moelo conceitual para o lógico 17 18

Transformações entre Moelos Transformações ER para Relacional Regras gerais Aplicáveis à maioria os casos Há situações Por exigências a aplicação, outros mapeamentos são usaos Implementaas em ferramentas CASE Objetivos básicos Bom esempenho Simplificar o esenvolvimento 19 20 Regras gerais e traução A. Evitar junções A. Evitar junções B. Diminuir o número e chaves C. Evitar campos opcionais Junções Operação para buscar aos e iversas linhas associaas pela igualae e campos Daos e empregaos e seus respectivos epartamentos SGBD relacional normalmente armazena os aos e uma linha contiguamente em isco Junção envolve iversos acessos a isco Preferível Ter os aos necessários a uma consulta em uma única linha 21 22 B. Chave e Ínice C. Campos opcionais Implementação eficiente o controle e chaves: SGBD usa um ínice Ínices tenem a ocupar espaço consierável em isco Inserção e remoção e entraas em um ínice Poem exigir iversos acesso a isco Campo opcional = campo que poe assumir o valor vazio(null em SQL) SGBD relacional não esperiça espaço pelo fato e campos e uma linha estarem vazios Campo opcional não tem influência no esempenho EVITAR porque controle e campo opcional poe complicar programação Verifica quais campos poem estar vazios 23 24

2. Algoritmo e Mapeamento Elmasri & Navathe a. Entiaes regulares b. Atributos multivaloraos c. Entiaes fracas. Relacionamentos.1 1:1.2 1:N.3 N:M.4 Relacionamentos N-ários e. Hierarquias (Especializações/Generalizações) Exemplo e um Diagrama ER NomeEmp Salário NDept NomeDept N Trabalha-para 1 Departamento 1 1 Gerencia 1 1 Possui M Controla N N Participa-e N Depenente Projeto Ramal NomeDep DataNasc NProj HsTrab NomeProj Local 25 26 a. Entiaes regulares (sem atributos multivaloraos) Entiaes regulares (sem atributos multivaloraos) Entiae regular E Relação R Atributo em E Coluna em R Atributo ientificaor em E Chave primária em R NomeEmp Salário (, NomeEmp, Salário) 27 28 Observação: Nomes e colunas Referenciaos freqüentemente em programas e outras formas e texto em computaor Para iminuir o trabalho e programaores manter os nomes e colunas curtos SGBD relacional: nome e uma coluna não poe conter brancos Não transcrever os nomes atributos nomes colunas Nomes e colunas não necessitam conter o nome a tabela Preferível usar o nome e coluna NOME a usar os nomes e coluna NOMEPESS ou NOMEPESSOA Observação: Nome a chave Chave primária Poe aparecer em outras tabelas na forma e chave estrangeira Recomenável Nomes as colunas que compõem a chave primária: sufixaos ou prefixaos com o nome ou sigla a tabela na qual aparecem como chave primária Exemplo: CoigoPess 29 30

b. Atributos Multivaloraos c. Entiae Fraca Departamento NDept NomeDept Ramal 1 N Possui Depenente NomeDep DataNasc Departamento (NDept, NomeDept) Ramal-Departamento (NDept, Ramal) NDept referencia Departamento, por propagação (,...) Depenente (,NomeDep, DataNasc) referencia, por propagação 31 32. Relacionamentos.1. Relacionamento binário 1:1 (aição e colunas) Tabela própria Aição e colunas a uma as tabelas Fusão e tabelas Alternativa epene a carinaliae (máxima e mínima) o relacionamento.1 1:1.2 1:N.3 N:M.4 Relacionamentos N-ários (,...) 1 Gerencia Departamento (NDept,..., ) 1 Departamento NDept Chave alternativa referencia, por bloqueio 33 34 Relacionamento binário 1:1 (fusão e tabelas) Relacionamento binário 1:1 (aição e colunas) Conferência (CoConf, Nome, DataInstComOrg, EnerComOrg) Departamento (CoDept, Nome) (CoEmp, Nome, CoDept, DataLota) CoDept referencia Departamento 35 36

Relacionamento binário (0,1) (1,1) (0,1) (0,1) ambas opcionais Aição e Colunas Mulher (IentM, Nome, IentH, Data, Regime) IentH referencia Homem Homem (IentH, Nome) 37 38 (0,1) (0,1) ambas opcionais (0,1) (0,1) ambas opcionais Tabela Própria Mulher (IentM, Nome) Homem (IentH, Nome) Casamento (IentM, IentH, Data, Regime) IentM referencia Mulher IentH referencia Homem Fusão e Tabelas Casamento (IentM, IentH, Data, Regime, NomeH, NomeM) 39 40 (0,1) (0,1) ambas opcionais (0,1) (1,1) opcional e obrigatória Solução por fusão e tabelas é inviável Chave primária artificial Solução por aição e colunas melhor Menor número e junções Menor número e chaves Solução por tabela própria aceitável Fusão e Tabelas Correntista (CoCorrent, Nome, CoCartao, DataExp) 41 42

(0,1) (1,1) opcional e obrigatória (0,1) (1,1) opcional e obrigatória Aição e Colunas Correntista (CoCorrent, Nome) Cartao (CoCartao, DataExp, CoCorrent) CoCorrent referencia Correntista Tabela Própria Correntista (CoCorrent, Nome) Cartao (CoCartao, DataExp) CartaoCorrentista (CoCartao, CoCorrent) CoCorrent referencia Correntista CoCartao referencia Cartao 43 44 (0,1) (1,1) opcional e obrigatória Solução por tabela própria é pior que a solução por aição e colunas Maior número e junções Maior número e ínices Nenhum tem problema e campos opcionais Aição e colunas versus fusão e tabelas Fusão é melhor em termos e número e junções e número e chaves Aição é melhor em termos e campos opcionais Fusão é consieraa a melhor e aição é aceitável Fusão e Tabelas (1,1) (1,1) ambas obrigatórias Conferência (CoConf, Nome, DataInstComOrg, EnerComOrg) 45 46 (1,1) (1,1) ambas obrigatórias.2. Relacionamento binário 1:N Nenhuma as emais alternativas atene plenamente Em ambas Entiaes que participam o relacionamento seriam representaas através e uas tabelas istintas Estas tabelas teriam a mesma chave primária e relação um-para-um entre suas linhas Maior número e junções Maior número e chaves primárias 47 N Trabalha -para (,...) Departamento (NDept,...) Trabalha-para(, Nept) referencia, por propagação NDept referencia Departamento, por bloqueio π()= π (Trabalha-para) 1 Departamento NDept 48

Relacionamento binário 1:N (mapeamento otimizao) (1:N) N Trabalha -para 1 Departamento NDept (,..., NDept) NDept referencia Departamento, por bloqueio Departamento (NDept,...) 49 50 (1,1) (0,N) (1,1) (0,N) Aição e Colunas Departamento (CoDept, Nome) (CoEmp, Nome, CoDept, DataLota) CoDept referencia Departamento Tabela Própria Departamento (CoDept, Nome) (CoEmp, Nome) Lotacao (CoEmp, CoDept, DataLota) CoDept referencia Departamento CoEmp referencia 51 52 (1,1) (0,N) (0,1) (0,N) Fusão e Tabelas Não se aplica Implicaria em Reunância e aos e epartamento ou Tabela aninhaa Aição e colunas é melhor que tabela própria Menor número e chaves Menor número e junções Não há problema e campos opcionais Aição e Colunas Financeira (CoFin, Nome) Vena (IVena, Data, CoFin, NoParc, TxJuros) CoFin referencia Financeira 53 54

(0,1) (0,N) (0,1) (0,N) Implementação por tabela própria também é aceitável É melhor em relação a campos opcionais Pere em relação a junções e número e chaves Tabela Própria Financeira (CoFin, Nome) Vena (IVena, Data) Financiam (IVena, CoFin, NoParc, TxJuros) IVena referencia Vena CoFin referencia Financeira 55 56.3. Relacionamento binário N:M Relacionamento binário (N:M) M Participa -e N Projeto HsTrab NProj (,...) Projeto (NProj,...) Participa-e(, NProj, HsTrab) referencia, por propagação NProj referencia Projeto, por propagação 57 58 Relacionamento binário (N:M).4. Relacionamento N-ario Tabela Própria Engenheiro (CoEng, Nome) Projeto (CoProj, Titulo) Atuacao (CoEng, CoProj, Funcao) CoEng referencia Engenheiro CoProj referencia Projeto Não são efinias regras específicas O relacionamento é transformao em uma entiae São aplicaas regras e implementação e relacionamentos binários Nova entiae Rel Colunas = chaves primárias as tabelas relacionaas 59 60

Relacionamento N-ario e. Hierarquias Geralmente quatro opções e.1. Relações : superclasse e subclasses e.2. Relações : subclasses e.3. Relação única e.4. Relação única : atributos tipo 61 62 Hierarquias e.1. Relações superclasse+subclasses NomeEmp Salário Gerente Técnico = Gerente Técnico Gerente Técnico = φ SalA Formação 63 Gerente Técnico SalA Formação (,...) Gerente (, SalA) Técnico (, Formação) p Gerente [] [] p Técnico [] [] π(gerente) π (Técnico) = φ π(gerente) π (Técnico) = π () 64 e.1. Relações superclasse + subclasses e.2. Relações subclasses Gerente (,..., SalA) Técnico (,..., Formação) Gerente Técnico π(gerente) π (Técnico) = φ π(gerente) π (Técnico) = toos empregaos 65 SalA Formação 66

e.3. Relação única Gerente Técnico (,..., SalA, Formação) π π π (σ SalA nulo (σ Formação nulo (σ SalA nulo ()) ()) = φ ()) π (σ Formação nulo ()) = π () 67 SalA Formação 68 e.4. Relação única: atributos tipo o 69 70