1 / 17

Transformando o Modelo E-R no Modelo Relacional

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) ). End. Ne. Tel. cic. Empregado.

trista
Download Presentation

Transformando o Modelo E-R no Modelo Relacional

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Transformando Relacionamento (sem restrição de chave) para Tabela Departamento did DataIn Nd Or End Ne cic Tel Empregado 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) Trabalha-em End LOCAL Area

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

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

  6. 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)

  7. Certas restrições em relacionamentos não podem ser especificadas facilmente... DataIn End Ne cic Tel Departamento Empregado did GERENCIA 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

  8. Certas restrições em relacionamentos não podem ser especificadas facilmente... DataIn End Ne cic Tel Departamento Empregado did GERENCIA 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).

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

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

  11. 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.

  12. 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 Chave Primária CIC

  13. 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 !!!

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

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

  16. Transformando Diagramas E-R com Agregação em Tabelas DataIn Projeto Empregado Trabalha- em USA Maquina

  17. DI CREATE TABLE TRAB ( CIC INTEGER, PID char(4), ID_PAT char(4), DI DATE, CodM char(4), PRIMARY KEY (ID_PAT), FOREIGN KEY (PID) REFERENCES PROJ, FOREIGN KEY (CIC) REFERENCES EMP, FOREIGN KEY CodM REFERENCES MAQ) TRAB EMP PROJ USA MAQ Diagrama Referencial PID PROJ TRAB CIC Não se cria tabela para o relacionamento USA !! CodM EMP MAQ

More Related