Transformando o Modelo E-R no Modelo Relacional

Slides:



Advertisements
Apresentações semelhantes
Modelo Relacional e Transformação DER x Relacional
Advertisements

Gerência de Banco de Dados 1 BCC – UFU Profa. Sandra de Amo
Transformação ODMG  Relacional
Banco de Dados Prof. Antonio.
Banco de Dados I Aula 20.
SQL Renata Viegas.
MODELO RELACIONAL Transparências baseadas no capítulo 3 do livro de KORTH e SILBERCHATZ e capítulo 7 do livro de ELMASRI e NAVATHE Juliana Amaral e Rodrigo.
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
Prof.: Bruno Rafael de Oliveira Rodrigues
Mapeamento ER-Relacional
Modelo Relacional + SQL
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Sistema Gerenciador de Banco de Dados SGBD
Objeto-Relacional Prof. Edson E. Scalabrin Telefone: 0xx
cic N N cic Empregado Passageiro ISA ISA Res Piloto Técnico hab pilota
Transformando o Modelo E-R no Modelo Relacional
Soluções de Exercícios Selecionados – Lista 1 de GBD1
Solução de Exercícios Selecionados da Lista 1
Restrições de Integridade
Restrições de Integridade
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Modelo Relacional parte 1
Ferramentas CASE ERwin
INSTITUTO FEDERAL FARROUPILHA
FRB - Maio 2002MCS9–1 Regras (Restrições) de Integridade Sistemas comerciais relacionais são muito finos de restrições para garantir a qualidade dos dados.
Linguagem de Banco de Dados - SQL
Bancos de Dados – SQL – parte 1
Prof. Alfredo Parteli Gomes
Ana Cecília Martins Barbosa (acmb)
SQL Server 2012 Introdução a Modelagem de Dados
Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional Transformação Esquema Objeto Esquema.
Banco de Dados Aplicado ao Desenvolvimento de Software
Autora: Carla DeAngelis Autor: Adilson da Silva Lima
SQL Server 2012 Integridade de Dados
SEQUENCE, PROCEDURE, FUNÇÃO, TRIGGER
Desenvolvendo um script SQL
Rafael Lucio, Desenvolvedor Jr Padrão Informática e Assessor de TI Secretaria Municipal da Saúde;
Banco de dados.
Criação de Tabelas. CREATE TABLE nome_da_tabela ( >>. >> ) Ex.: SQL SERVER 2008 CREATE TABLE pessoa ( CPF VARCHAR(11) NOT NULL, NOME VARCHAR(100) NOT.
Definições de Esquemas, Restrições básicas e buscas
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
SEGUNDA FASE / S2B MIC PERNAMBUCO
Contatos Gladimir Catarino
AULA DE DÚVIDAS 9 de Abril de Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.
Curso de Análise e Desenvolvimento de Sistemas Projeto de Banco de Dados Marcelo da Silveira Siedler.
Banco de Dados I I Comandos SQL
Banco de dados 1 Modelagem de Dados Utilizando MER
©Silberschatz, Korth and Sudarshan (modificado)6.1.1Database System Concepts Capítulo 6: Integridade e Segurança Restrições ao Domínio Integridade Referencial.
Criar Tabelas Professor Esp. Diego André Sant’Ana Disciplina: Banco de Dados II.
1 Introdução à Manipulação de Dados SQL – Structured Query Language  Tabela = Relação  DDL – Data Definition Language  Sub-conjunto do SQL que suporta.
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Modelo Relacional Marcelo Mendes Manaus – 2015.
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Projeto de Banco de Dados Ceça Moraes Dezembro/09.
Linguagem de definição de dados - SQL
Banco de Dados SQL (Structured Query Language) Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Modelo Relacional, Chaves e Relacionamentos
Transformação ODMG  Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto  Esquema Relacional.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Modelo relacional Fundamentos de Banco de Dados
Modelo Relacional Introduzido por Ted Codd, da IBM Research, em Utiliza o conceito de relação matemática. Possui base teórica na teoria dos conjuntos.
Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
ACCESS Prof: Felipe Lira.  O que é o ACCESS ? Microsoft Access (nome completo Microsoft Office Access), também conhecido por MSAccess, é um sistema de.
Modelagem de Banco de Dados através do ERwin
Transcrição da apresentação:

Transformando o Modelo E-R no Modelo Relacional Gerência de Banco de Dados BCC – UFU Profa. Sandra de Amo

Tranformando Entidade em Tabela CREATE TABLE EMP ( CIC integer Ne char(30), End char(30), Tel integer, PRIMARY KEY (CIC) ) cic Ne End Tel Empregado

Transformando Relacionamento (sem restrição de chave) para Tabela Departamento did DataIn Nd Or cic Ne End Tel Empregado Trabalha-em CREATE TABLE TRAB-EM ( CIC integer, DID char(4), End char(30), DataIn DATE, PRIMARY KEY (CID,DID,End), FOREIGN KEY (CIC) REFERENCES EMP, FOREIGN KEY (DID) REFERENCES DEP, FOREIGN KEY (End) REFERENCES LOCAL) End LOCAL Area

Transformando Relacionamento (com restrição de chave) para Tabela DataIn cic Ne End Tel Departamento Empregado GERENCIA did Nd Or CREATE TABLE GERENCIA ( CIC integer, DID char(4), DataIn DATE, PRIMARY KEY (DID), FOREIGN KEY (CIC) REFERENCES EMP, FOREIGN KEY (DID) REFERENCES DEP) CREATE TABLE DEP ( CIC integer, DID char(4), DNOME char(20), OR REAL, DataIn DATE, PRIMARY KEY (DID), FOREIGN KEY (CIC) REFERENCES EMP)

Vantagens e Desvantagens Segunda Alternativa Somente duas tabelas (EMP, DEP) Consultas mais rápidas Problema: quando um departamento não tem gerente, insere-se tupla com valor NULL em CIC Primeira Alternativa Precisa de 3 tabelas (EMP, DEP, GERENCIA) Consultas envolvem junções de 3 tabelas A tabela GERENCIA só contém os dids que correspondem a departamentos com gerentes.

Transformando Relacionamento (com Restrição de Participação) em Tabela DataIn cic Ne End Tel Departamento Empregado GERENCIA did Nd Or Todo departamento tem um gerente e este gerente é único Trabalha-em

Usando a segunda alternativa... CREATE TABLE DEP ( CIC integer NOT NULL, DID char(4), DNOME char(20), OR REAL, DataIn DATE, PRIMARY KEY (DID), FOREIGN KEY (CIC) REFERENCES EMP)

Não é possível utilizar a primeira alternativa ! NÃO É UMA SOLUÇÃO !! Só evita que 1. se delete um gerente associado a um Departamento. 2. se delete um departamento que tem um gerente. NÃO garante que TODO departamento tem um gerente !! CREATE TABLE GERENCIA ( CIC integer NOT NULL, DID char(4) NOT NULL, DataIn DATE, PRIMARY KEY (DID), FOREIGN KEY (CIC) REFERENCES EMP, FOREIGN KEY (DID) REFERENCES DEP)

Logo... Quando houver uma restrição de chave e de participação, a segunda alternativa é melhor para traduzir o relacionamento.

Certas restrições em relacionamentos não podem ser especificadas facilmente... DataIn cic Ne End Tel Departamento Empregado GERENCIA did Nd Or Todos os valores de CIC aparecem na tabela Trabalha-em CIC pode ser declarado em EMP como chave estrangeira Referenciando Trabalha-em ? Não pode ! Pois CIC não é chave Candidata de Trabalha-em Todos os valores de DID aparecem na tabela Trabalha-em DID poderia ser declarado em DEP Como chave estrangeira Referenciando Trabalha-em ? Não pode ! Pois DID não é chave Candidata de Trabalha-em Trabalha-em

Certas restrições em relacionamentos não podem ser especificadas facilmente... DataIn cic Ne End Tel Departamento Empregado GERENCIA did Nd Or Trabalha-em Tais restrições de participação só podem ser especificadas no modelo Relacional utilizando asserções em SQL (programas específicos).

Transformando Relacionamento ISA em Tabelas cic N End Sal DN Empregado ISA ISA Es Piloto Técnico B HV

Primeira Alternativa Uma tabela EMP Atributos CIC, DN, N, End,Sal Chave Primária CIC Uma tabela PILOTO Atributos CIC, B,HV Chave Estrangeira : CIC referencia EMP Uma tabela TEC Atributos CIC, Es Chave Estrangeira CIC referencia EMP

Segunda Alternativa Uma tabela PILOTO Atributos CIC, DN, N, End,Sal, B,HV Chave Primária CIC Uma tabela TEC Atributos CIC, DN, N, End,Sal, Es

Vantagens e Desvantagens Primeira Alternativa com 3 tabelas Mais geral Permite fazer consultas sobre empregados que não são nem pilotos nem técnicos. Não é a adequada quando se quer consultar atributos gerais de Pilotos e Técnicos: é preciso combinar as tabelas PILOTO e TEC com a tabela EMP.

Vantagens e Desvantagens Segunda Alternativa com 2 tabelas É adequada quando se quer consultar somente informações relacionadas a Pilotos ou Técnicos. Não é aplicável se tivermos empregados que não são nem Pilotos nem Técnicos. Não é aplicável se existem Pilotos que também são Técnicos e vice-versa : os dados deveriam ser armazenados duas vezes !!! Uma consulta que pede para listar todos os empregados deve varrer duas tabelas !!!

Transformando Diagramas E-R com Agregação em Tabelas DataInP Departamento Projeto Patrocinado DataInM Monitorado por Empregado

DP CREATE TABLE PAT ( DID char(4), PID char(4), DP DATE, PRIMARY KEY (DID,PID), FOREIGN KEY (PID) REFERENCES PROJ, FOREIGN KEY (DID) REFERENCES DEP) PROJ PAT DEP MON DM EMP CREATE TABLE MONITORA ( CIC integer, DID char(4), PID char(4), DM DATE, PRIMARY KEY (CIC,DID,PID), FOREIGN KEY (CIC) REFERENCES EMP, FOREIGN KEY (DID,PID) REFERENCES PAT) PROJ PAT DEP MONITORA DEP