A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Profa. Ana Karina Barbosa Abril/2008

Apresentações semelhantes


Apresentação em tema: "Profa. Ana Karina Barbosa Abril/2008"— Transcrição da apresentação:

1 Profa. Ana Karina Barbosa Abril/2008
Banco de Dados Parte 4 Profa. Ana Karina Barbosa Abril/2008

2 Mapeamento E-R / Relacional
Modelo Conceitual Modelo Lógico

3 Mapeamento E-R / Relacional
Estas abordagens propõem modelar os dados em diferentes níveis de abstração Abordagem E-R (Modelo Conceitual) Independente do SGBD considerado Abordagem Relacional (Modelo Lógico) Modela os dados a nível de SGBD relacional Um esquema relacional pode ser facilmente obtido a partir de um esquema conceitual E-R Existem algumas regras para realização desta tarefa que foram projetadas com dois objetivos: Boa performance Desenvolvimento simplificado

4 Mapeamento E-R/Relacional
Implementação de entidades Para cada entidade no esquema E-R, criar uma tabela correspondente. Cada atributo da entidade define uma coluna desta tabela. Os atributos identificadores correspondem às colunas que compõem a chave primária da tabela Código Endereço PESSOA Data nascimento Nome (0,1) Esquema relacional simplificado correspondente: Pessoa (CodPessoa, Nome, Endereco, DataNasc)

5 Mapeamento E-R/Relacional
Implementação de entidades Esquema Relacional completo Especificando a tabela Pessoa CAMPO TIPO NOT NULL DESCRIÇÂO Codigo Integer Not Null Chave Primária Nome Varchar(20) Nome do pessoa Endereço Varchar(50) Endereço da pessoa DataNasc Date Null Data de Nascimento

6 Mapeamento E-R/Relacional
Nomes de Atributos e Nomes de Colunas Não é aconselhável transcrever diretamente os nomes dos atributos para nomes de colunas. Nomes de colunas são referenciados em programas, por isso: Devem ser curtos. Não podem conter brancos. A recomendação é que se use sempre a mesma abreviatura em todo o Banco de Dados.

7 Mapeamento E-R/Relacional
Implementando Relacionamentos (1:1) Identificar as tabelas das entidades participando do relacionamento R. Escolher uma das tabelas e incluir como chave estrangeira, a chave primária da outra tabela. Incluir todos os atributos do relacionamento na relação escolhida. data regime Identificador Identificador 1 1 HOMEM CASAMENTO MULHER nome nome Mulher (IdentM, Nome, IdentH, Data, Regime) Homem (IdentH, Nome)

8 Mapeamento E-R/Relacional
Implementando Relacionamentos (1:1) Especificação das tabelas Homem e Mulher CAMPO TIPO NOT NULL DESCRIÇÂO IdentH Integer Not Null Chave Primária. Nome Varchar (50) Nome do Homem CAMPO TIPO NOT NULL DESCRIÇÂO IdentM Integer Not Null Chave Primária. Nome Varchar(50) Nome da Mulher IdentH Null Iden. do marido. FK tabela Homem Data Date Data do casamento Regime Varchar (50) Regime: parcial, separação total, comunhão total

9 Mapeamento E-R/Relacional
Implementando Relacionamentos (1:1) Tabela Cliente código código 1 0,1 CLIENTE TEM CARTÃO MAGNÉTICO Data Exp. nome CAMPO TIPO NOT NULL DESCRIÇÂO CodCliente Integer Not Null Chave Primária Nome Varchar (50) CodCartao Null Codigo do Cartao DataExp Date Data de Expiração

10 Mapeamento E-R/Relacional
Implementando Relacionamentos (1:N) Identificar a tabela S que representa a entidade do lado N. Incluir como chave estrangeira a chave primária da tabela que representa a entidade do lado 1. Incluir todos os atributos do relacionamento em S. Num parcelas Taxa juros Id codigo 1 N FINANCEIRA FINANCIA VENDA nome data Financeira (Codigo, Nome) Venda (Id, data, CodFinan, NumParcelas, Txjuros)

11 Mapeamento E-R/Relacional
Relacionamento com Entidade Fraca Cria-se uma tabela para a entidade fraca e inclui os seus atributos como campos. Acrescenta na tabela o identificador da entidade “forte”. A chave primária da tabela será o identificador da entidade “fraca” + o identificador da entidade “forte”. Numero Sequencia código 1 N EMPREGADO DEPENDENTE tem nome nome

12 Mapeamento E-R/Relacional
Entidade Fraca Especificação da Tabela Dependente CAMPO TIPO NOT NULL DESCRIÇÂO CodEmp Integer Not Null Chave Primária. FK da Tabela Empregado NumSeq Chave primária Nome Varchar (50) Nome do dependente

13 Mapeamento E-R/Relacional
Implementando Relacionamentos (N:N) Criar uma nova tabela para representar relacionamento R. Incluir como chave estrangeira as chaves primárias das tabelas que participam em R, estas chaves combinadas formarão a chave primária da relação. Incluir também eventuais atributos de R. N N ENGE- NHEIRO ATUAÇÃO PROJETO codigo titulo código nome função Engenheiro (CodEng, Nome) Projeto (CodProj, Titulo) Atuação (CodEng, CodProj, Função)

14 Mapeamento E-R/Relacional
Implementando Relacionamentos - Quando existir dois ou mais relacionamentos entre as mesmas entidades Utilizar as regras anteriores para cada relacionamento independente dos outros. trabalha Código N N ENGENHEIRO PROJETO Título coordena 1 1 Nome Código Engenheiro (CodEng, Nome) Projeto (CodProj, Titulo, CodCoordenador) Trabalha (CodEng, CodProj)

15 Mapeamento E-R/Relacional
Implementando Relacionamentos - Auto-Relacionamento Utilizar as mesmas regras descritas anteriormente. supervisor Código 1 supervisão EMPREGADO Nome N supervisionado Empregado (CodEmp, Nome, CodSupervisor)

16 Mapeamento E-R/Relacional
Implementando Relacionamentos - Auto-Relacionamento composta Código N contém PEÇA Nome N componente Peça (CodPeça, Nome) Contém(CodPecaComposta, CodPecaComponente)

17 Mapeamento E-R/Relacional
Exercício 5 Fazer o Modelo Relacional correspondente ao Modelo Entidade-Relacionamento de um banco de dados de suporte a uma Biblioteca Escolar. Uma Biblioteca possui livros. Um livro está associado a um determinado tema. Para um mesmo tema pode-se ter vários livros. Um livro pode fazer referência a outros livros. Um livro está localizado em uma prateleira. Um aluno pode fazer empréstimo de vários livros. Um mesmo livro pode ser emprestado a vários alunos. Associado ao processo de empréstimo tem-se a data de locação, a data de retorno e a multa, caso o livro seja retornado com atraso. Dados Complementares: Livro: Código, título, editora Tema: Código, título, descrição Prateleira: Código, corredor Aluno: Matrícula, Nome, Data de Nascimento

18 Mapeamento E-R/Relacional
Para cada relacionamento com grau maior que dois (n-ário, n>2): Criar uma nova tabela para representar o relacionamento n-ário R. Incluir como chaves estrangeiras as chaves primárias das tabelas que representam as entidades participantes. Incluir os eventuais atributos de R. A chave primária da nova tabela é normalmente a combinação das chaves estrangeiras.

19 Mapeamento E-R/Relacional
Para cada relacionamento com grau maior que dois (n-ário, n>2): CIDADE DISTRI- BUIDOR código nome código nome N 1 DISTRI- BUIÇÃO Data início N PRODUTO código nome

20 Mapeamento E-R/Relacional
Para cada relacionamento com grau maior que dois (n-ário, n>2): (cont.) Produto (CodProd, Nome) Cidade (CodCid, Nome) Distribuidor (CodDistr, Nome) Distribuição (CodPod, CodCid, CodDistr, DataInicio)

21 Mapeamento E-R/Relacional
Para cada atributo multivalorado Criar uma nova tabela. Incluir nesta tabela um atributo correspondente a A. Incluir a chave primária R da tabela que tem A como atributo. A chave primária da nova tabela é a combinação de A e R. (1,N) CLIENTE código nome Telefones Cliente (CodCli, Nome) Telefone (CodCli, NumTelefone)

22 Mapeamento E-R / Relacional
Implementação de generalização/especialização: Há três alternativas a considerar: Uso de uma única tabela para toda hierarquia de generalização/especialização. Uso de uma tabela para cada entidade. Uso de uma tabela para cada entidade especializada.

23 Mapeamento E-R / Relacional
Uma tabela por hierarquia: Todas as tabelas referentes às especializações de uma entidade genérica são fundidas em uma única tabela Esta tabela terá: Chave primária correspondente ao identificador da entidade mais genérica. Uma coluna Tipo, que identifica que tipo de entidade especializada está sendo representada por cada linha da tabela. Uma coluna para cada atributo da entidade genérica. Colunas referentes aos relacionamentos dos quais participa a entidade genérica e que sejam implementados pela alternativa de adicionar colunas à tabela da entidade genérica.

24 Mapeamento E-R / Relacional
Uma tabela por hierarquia: Esta tabela terá (Cont.): Uma coluna para cada atributo de cada entidade especializada (que devem ser definidas como opcionais, já que somente terão valores quando a linha for referente à entidade especializada em questão). Colunas referentes aos relacionamentos dos quais participa cada entidade especializada e que sejam implementados através da adição de colunas à tabela da entidade.

25 Mapeamento E-R / Relacional
Uma tabela para cada entidade da hierarquia: Cria-se uma tabela para cada entidade que compõe a hierarquia. Acrescentar o atributo TIPO à tabela referente à entidade genérica. Inclui-se a chave primária da tabela correspondente à entidade genérica, em cada tabela correspondente a uma entidade especializada .

26 Mapeamento E-R / Relacional
Uma tabela para cada entidade especializada: Cria-se uma tabela para cada entidade especializada que não possua outra especialização. Esta tabela contém tanto os dados da entidade especializada, quanto os de suas entidades genéricas. Esta alternativa pode ser utilizada quando a especialização for total.

27 Mapeamento E-R / Relacional
Comparação entre as alternativas: Vantagem da implementação com tabela única: Todos os dados referentes a um ocorrência de entidade genérica, bem como os dados eferentes a ocorrência de sua especialização estão em uma única linha. A chave primária é armazenada uma única vez. Vantagem da implementação com uma tabela por entidade: As colunas opcionais que aparecem são aquelas referentes a atributos que podem ser vazios do ponto de vista da aplicação. O controle de colunas opcionais passa a ser feito pelo SGBD e não só pela aplicação como acontece na abordagem anterior utilizando o atributo TIPO.

28 Mapeamento E-R / Relacional
Comparação entre as alternativas: Vantagem da implementação com uma tabela por entidade especializada: As colunas opcionais que aparecem são aquelas referentes a atributos que podem ser vazios do ponto de vista da aplicação. Não possui chaves primárias redundantes. A chave primária não é também chave estrangeira, como na solução anterior. OBS: O projetista deve ponderar os prós e contras de ambas soluções e optar por aquela que seja mais adequada ao problema.

29 Mapeamento E-R/Relacional
Exercício 6 Fazer o Modelo Relacional correspondente ao modelo Entidade-Relacionamento do banco de dados de suporte a uma empresa de engenharia.

30 Mapeamento E-R/Relacional
Exercício 7 Fazer o Modelo Relacional correspondente ao modelo Entidade-Relacionamento do banco de dados de suporte a realização de Congressos.


Carregar ppt "Profa. Ana Karina Barbosa Abril/2008"

Apresentações semelhantes


Anúncios Google