Aula 7 SBD ER para Relacional. Profa. Elaine Faria UFU

Documentos relacionados
Aula 4 SBD Modelo Entidade Relacionamento Parte 2. Profa. Elaine Faria UFU

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

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

DCC011 Revisão: Modelagem de Dados

12.4 DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade

MODELAGEM DE DADOS PARTE 3

Projeto Conceitual Usando o Modelo-Entidade Relacionamento

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Aula 2 BD Introdução. Profa. Elaine Faria UFU

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

Bancos (Bases) de Dados Aula #5 - Projeto do BD Relacional pelo

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Mapeamento Modelo Entidade Relacionamento para Modelo Relacional. Evandro E.S Ruiz, Ph.D.

Modelagem Conceitual parte I

Modelagem Conceitual parte I

IEC Banco de Dados I Aula 09 Modelo E. R. para relacional

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Aula 12 BD1 Dependências Funcionais e Normalização. Profa. Elaine Faria UFU

Banco de Dados. Aula 7 - Prof. Bruno Moreno 13/09/2011

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Projeto de BD Relacional

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

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

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Projeto de BD Relacional

DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados

Revisão de Bancos de Dados

Projeto de BD Relacional

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

INE 5623 Projeto de Banco de Dados

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

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

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

Bases de Dados. Parte III. O Modelo Relacional

Modelo Entidade-Relacionamento

Correção da 1a Prova de GBD1 2009/2. Profa. Sandra de Amo

SQL Básica. Andre Noel

Modelo Entidade-Relacionamento (E-R)

Unidade 2 Modelo Conceitual

MAPEAMENTO OBJETO RELACIONAL. Professora Lucélia Oliveira

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Prof.: Clayton Maciel Costa

MODELO RELACIONAL PARTE 2

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

Banco de Dados. Modelo Entidade Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

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

Modelo de dados relacional e as restrições de um BD relacional

A linguagem SQL

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

Sistemas de Banco de Dados Prof. Flávio de Oliveira Silva, M.Sc. O esquema de uma relação é escrito da seguinte forma:

Projeto Conceitual Usando o Modelo-Entidade Relacionamento

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Bibliografia. Bases de Dados 2012/2013 Modelo Relacional. Helena Galhardas. Raghu Ramakrishnan, Database Management Systems, Cap. 3 10/2/ IST

Modelagem de dados usando MER. Andre Noel

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro

Unidade 4 Projeto de BD Relacional

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Do geral para o particular (Top-down) 1) Modelo conceptual E-R; 2) Regras de mapeamento para modelo lógico; 3) Modelo de dados.

Banco de Dados I Introdução SQL

Projeto Lógico de Bancos de Dados Relacionais

Linguagem de Consulta Estruturada (SQL)

Banco de Dados. Modelo Entidade Relacionamento Estendido DCC IME USP. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Bases de Dados 2013/2014 Modelo Entidade-Associação (EA) Helena Galhardas 2013 IST. Bibliografia

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Modelo Lógico de Dados. Modelo Relacional

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

Monitoria GDI. Aula Prática. OR (Aula 1)

Disciplina: Banco de Dados I Professora: Ms. Márcia Jani. Trabalho de BD1

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

MODELAGEM DE DADOS PARTE 2

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Transformação ER para modelo relacional

Correção da 1a Prova de GBD1 2010/1. Profa. Sandra de Amo

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

BD Objeto-Relacional - Motivação

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011

Banco de Dados. Linguagem SQL

Modelo Entidade Relacionamento

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

BCD29008 Banco de dados

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

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

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

Projeto Banco de Dados

Mapeamento de Modelos ER para DDL da SQL

2. Revisão e Dicas de Modelagem Conceitual

Prof. Fabiano Taguchi

Bases de Dados. Parte II. Os Modelos ER e EER

INF1383 -Bancos de Dados

Importar e Exportar Dados

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Fundamentos de Banco de Dados e Modelagem de Dados

MODELAGEM DE DADOS PARTE 1

SQL - Criação de Tabelas

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

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Banco de Dados I Unidade 3: Projeto de BD Relacional. Cláudio Baptista

Transcrição:

Aula 7 SBD ER para Relacional Profa. Elaine Faria UFU - 2017

Introdução Modelo ER Conveniente para representar um projeto de BD inicial de alto nível Modelo Relacional Pode ser usado para suportar a implementação de aplicações É necessário que exista um SGBD que se apóie no modelo relacional: um SGBDR Dado um DER é adotada uma estratégia padrão para gerar um esquema de BD relacional

Introdução Como transformar um diagrama ER para um esquema de Banco de Dados Relacional?

Tipo de Entidade para Tabelas Um tipo de entidade é mapeado em uma tabela (relação) Cada atributo do tipo de entidade torna-se um atributo da tabela O domínio de cada atributo e a chave primária são conhecidos

Tipo de Entidade para Tabelas CPF Nome Vaga Empregado CPF Nome Vaga 111.111.111-11 João 48 222.222.222.22 Maria 33 CREATE TABLE Empregado ( CPF CHAR(14), Nome CHAR(30), Vaga INTEGER, PRIMARY KEY (CPF) ) 333.333.333-33 Pedro 22

Tipo de Relacionamento N:M para Tabelas Tipo de relacionamento tabela Os atributos incluem Atributos chave primária de cada tipo de entidade participantes chave estrangeira Atributos descritivos do conjunto de relacionamentos O conjunto de atributos não descritivos é uma superchave para a tabela

Tipo de Relacionamento N:M para Tabelas DataIn cpf nome Vaga Empregado Trabalha-em Departamento Id-depto nome Or CREATE TABLE Trabalha_em cpf CHAR(14), end id_depto INTEGER, LOCAL Capacidade end CHAR(20), DataIn DATE, PRIMARY KEY (cpf, id_depto,end), FOREIGN KEY (cpf) REFERENCES Empregado, FOREIGN KEY (id_depto) REFERENCES Departamento, FOREIGN KEY (end) REFERENCES Local )

Tipo de Relacionamento N:M para Tabelas cpf nome End Empregado supervisor subordinado Reporta_a CREATE TABLE Report_a ( supervisor_cpf CHAR(14), subordinado_cpf CHAR(14), PRIMARY KEY (supervisor_cpf, subordinado_cpf), FOREIGN KEY (supervisor_cpf) REFERENCES Empregado (cpf), FOREIGN KEY (subordinado_cpf) REFERENCES Empregado (cpf) )

Tipo de Relacionamento 1:N para Tabelas Primeira estratégia Identificar a tabela S que representa o lado N do tipo de relacionamento Incluir como chave estrangeira em S, a chave primária da tabela T que representa o lado 1 do tipo de relacionamento Inconveniente Ex: espaço desperdiçado Campos preenchidos com o valor null

Tipo de Relacionamento 1:N para Tabelas DataIn cpf nome end Empregado 1 Gerencia N Departamento Id-depto nome Or CREATE TABLE Departamento( id_depto INTEGER, nome CHAR(20), Or REAL, cpf CHAR(14), DataIn DATE, PRIMARY KEY (id_depto), FOREIGN KEY (cpf) REFERENCES Empregado )

Tipo de Relacionamento 1:N para Segunda estratégia Tabelas Criar uma tabela separada R cujos atributos são chaves primárias de S e T Chaves estrangeiras Definir a chave primária de R igual à chave primárias de S

Tipo de Relacionamento 1:N para Tabelas DataIn cpf nome end Empregado 1 Gerencia N Departamento Id-depto nome Or CREATE TABLE Gerencia( cpf CHAR(14), id_depto INTEGER, DataIn DATE, PRIMARY KEY (id_depto), FOREIGN KEY (cpf) REFERENCES Empregado, FOREIGN KEY (id_depto) REFERENCES Departamento )

Tipo de Relacionamento 1:N com Restrição de Participação Total Restrição Todo departamento deve ter um gerente usar 1ª estratégia não pode ser capturada usando-se a 2ª estratégia Relacionamentos 1:N com restrição de participação total 1ª estratégia

Tipo de Relacionamento 1:N com Restrição de Participação Total DataIn cpf nome end Empregado 1 Gerencia N Departamento Id-depto nome Or CREATE TABLE Departamento( id_depto INTEGER, nome CHAR(20), Or REAL, cpf CHAR(14) not null, DataIn DATE not null, PRIMARY KEY (id_depto), FOREIGN KEY (cpf) REFERENCES Empregado )

Restrição de Participação Total Como garantir a participação Total de Departamentos em Trabalha_em? Uso de Asserções em SQL (programas específicos)

Tipo de Entidade Fraca Um tipo de entidade fraca sempre Participa de um relacionamento binário, 1:N e tem participação total Passos Entidade fraca F com tipo de entidade proprietária E tabela R Todos os atributos simples de F Chave estrangeira de R: atributos de chave primária de E Chave primária de R: chave primária de E e chave parcial de F

Tipo de Entidade Fraca custo cpf nome End Tel Empregado Apólice Dependentes nomed idade CREATE TABLE ApoliceDependente ( nomed CHAR(20), idade INTEGER, custo REAL, cpf CHAR(14) NOT NULL, PRIMARY KEY (nomed, cpf), FOREIGN KEY (cpf) REFERENCES Empregado ON DELETE CASCADE)

Hierarquia de classe Superclasse C {ch, a 1,..,a n } e m subclasses {S 1,S 2,..,S m } Múltiplas Tabelas Criar uma tabela L para C Criar uma tabela L i para cada subclasse S i com Atr(L i ) = {ch} U {atributos de S i } Ideal para qualquer especialização: total ou parcial, disjunta ou sobreposta

Hierarquia de classe Superclasse C {ch, a 1,..,a n } e m subclasses {S 1,S 2,..,S m } Múltiplas Tabelas somente subclasse Criar uma tabela L i para cada subclasse S i com Atr(L i ) = {atributos de S i } U {ch, a 1,..., a n } Só funciona para especialização cujas subclasses são totais Recomendada se houver restrição de disjunção

Hierarquia de classe Superclasse C {ch, a 1,..,a n } e m subclasses {S 1,S 2,..,S m } Tabela única com um atributo tipo Criar uma única tabela L com Atr(L) = {ch, a 1,..., a n } U {atributos de S i } U... U {atributos de S m } U {t} T é o atributo Tipo indica a subclasse Só funciona para especialização cujas subclasses são disjuntas Problema: gera muitos valores null

Hierarquia de classe Superclasse C {ch, a 1,..,a n } e m subclasses {S 1,S 2,..,S m } Relação isolada com atributos de múltiplos tipos Crie uma única tabela L com Atr(L) = {ch, a 1,..., a n } U {atributos de S i } U... U {atributos de S m } U {t 1,t 2,..,t m } T i atributo do tipo booleano pertence a S i ou não Usado para especialização cujas classes são sobrepostas

Hierarquia de classe Imagem retirada do livro Sistema de Banco de Dados

Hierarquia de classe Empregado CPF chave P PNome Minicial Unome DataNasc Endereco TipoTrabalho Secretaria CPF chave primária/estrangeira VelocidadeDigitacao Tecnico CPF chave primária/estrangeira TGrau Engenheiro CPF chave primária/estrangeira TipoEng

Hierarquia de classe

Hierarquia de classe Carro id_veiculo Chave P Placa Preco Veloc_Max NroPass Caminhao id_veiculo Chave P Placa Preco Nro_Eixos Capacidade_Peso

Diagramas ER com Agregação cpf nome End Empregado Monitora até Projeto Financia Departamento Id-depto inicio Orçamento Id-proj nome Or DataIn

Diagramas ER com Agregação Mapear os conjuntos de entidades Projeto, Empregado e Departamento para Tabelas Mapear o conjunto de relacionamentos Financia id_depto, id_proj e DataIn Pode-se criar uma nova chave para a tabela. Ex: ID_Financia Para monitora, cria-se uma tabela contendo Os atributos chave de Empregado (cpf) Os atributos chave de financia (id_depto e id_proj) Os atributos descritivos de Monitora (até) FINANCIA PROJ DEP MONITORA EMP

Referências R. Elmasri e S. B. Navathe, Sistema de Banco de Dados, 6ª edição, Pearson, 2011. R. Ramakrishnan e J. Gehrke, Database Management Systems, 3a Edição, McGraw-Hill, 2003. Slides da Profa. Sandra de Amo FACOM - UFU