BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br
PROJETO LÓGICO Passos para transformação ER Relacional: 1) Tradução inicial de Entidades e seus Atributos; 2) Tradução de Relacionamentos e seus Atributos; 3) Tradução de Generalizações/Especializações.
MAPEAMENTO DE ENTIDADES E ATRIBUTOS Regra Inicial: Cada entidade é traduzida para uma tabela; Cada atributo da entidade gera uma coluna na tabela; Atributos identificadores das entidades serão as chaves primárias da tabela.
MAPEAMENTO DE ENTIDADES E ATRIBUTOS Projeto Numero Localizacao Projeto(#Numero,, Localizacao)
MAPEAMENTO DE ENTIDADES E ATRIBUTOS Atributos Multivalorados: Opção 1/2: Criar uma nova entidade relacionada à original; A chave primária pode ser o próprio atributo concatenado com a chave primária da entidade origem. Telefone(1,3) Cliente Codigo Cliente(#Codigo, ) Telefone(#&Codigo, #Telefone)
MAPEAMENTO DE ENTIDADES E ATRIBUTOS Atributos Multivalorados: Opção 2/2: Substituir por atributos fixos; Deve ser realizado somente quando a quantidade for pequena. Telefone(1,3) Cliente Codigo Cliente(#Codigo,, TelRes, TelCom, TelCel)
MAPEAMENTO DE ENTIDADES E ATRIBUTOS Entidades Fracas: Identificador da entidade forte torna-se: Parte da chave primária da tabela fraca; Chave estrangeira na tabela fraca. Empregado 1 tem N é dependente de Dependente Codigo NroSequencia Dependente(#&Codigo, #NroSequencia, )
PROJETO LÓGICO Passos para transformação ER Relacional: Tradução inicial de Entidades e seus Atributos; Tradução de Relacionamentos e seus Atributos; Tradução de Generalizações/Especializações.
MAPEAMENTO DE RELACIONAMENTOS Os relacionamentos são implementados usando chave estrangeira. Existem três técnicas: Fusão de Tabelas: 1:1 Colunas Adicionais: 1:n e 1:1 Criar Tabela Própria: cardinalidades n:n
MAPEAMENTO DE RELACIONAMENTOS 1:1 Opção 1 - Fusão de tabelas: Utilizado quando o relacionamento é obrigatório em ambos sentidos; Substituir as duas entidades originais por uma única tabela; Escolher uma das identificações como chave primária. Código Número Eventos (1,1) (1,1) organização Comissões DataRealizacao Eventos (#Código,, DataRealizacao, NumCom, Com)
MAPEAMENTO DE RELACIONAMENTOS 1:1 Opção 2 Escolha da Chave Estrangeira: Utilizado quando o relacionamento é opcional em um dos sentidos; Escolher a entidade com participação total para possuir a chave estrangeira da outra entidade. Matricula Numero Empregado (1,1) (0,1) Gerencia Departamento DataInicio Departamento(#Numero,, &MatriculaGer, DataInicioGer) Empregado(#Matricula, )
MAPEAMENTO DE RELACIONAMENTOS 1:1 Opção 3 Relação de Relacionamento: Utilizado quando o relacionamento é opcional em ambos sentidos. RG RG Homem (0,1) (0,1) Casamento Mulher Regime Homens (#RG, ) Mulheres (#RG, ) Casamento (#&RGH, #&RGM, Regime)
MAPEAMENTO DE RELACIONAMENTOS 1:N Relacionamento obrigatório ou opcional no lado N. Matricula Numero Empregado n 1 Trabalha Departamento Empregado(#Matricula,,&NumDepto) Departamento(#Numero, )
MAPEAMENTO DE RELACIONAMENTOS N:N Criar uma tabela para o relacionamento; Inserir atributo(s) do relacionamento; A chave primária é formada pela concatenação das chaves de todas as entidades envolvidas no relacionamento. Matricula Numero Empregado (1,N) Trabalha_Em (1,N) Projeto Empregado(#Matricula, ) Projeto(#Numero, ) Trabalha_em(#&Matricula,#&Numero, Horas) Horas
MAPEAMENTO DE RELACIONAMENTOS Auto-relacionamento: Mesmas regras dos demais relacionamentos Matricula Empregado 1 N supervisor Empregado(#Matricula,,&MatriculaSup)
PROJETO LÓGICO Passos para transformação ER Relacional: Tradução inicial de Entidades e seus Atributos; Tradução de Relacionamentos e seus Atributos; Tradução de Generalizações/Especializações.
MAPEAMENTO DE ESPECIALIZAÇÕES Alternativa 1/3: Tabela única para toda hierarquia. RG Pessoa Endereço CPF CNPJ Física Jurídica Pessoa (#RG,, Endereco, Tipo, CPF, CNPJ)
MAPEAMENTO DE ESPECIALIZAÇÕES Alternativa 2/3: Tabelas para a entidade genérica e as especializadas. RG Pessoa Endereço CPF CNPJ Física Jurídica Pessoa (#RG,, Endereço) Física (#&RG, CPF) Jurídica (#&RG, CNPJ)
MAPEAMENTO DE ESPECIALIZAÇÕES Alternativa 3/3: Tabelas apenas para as entidades especializadas. RG Pessoa Endereço CPF CNPJ Física Jurídica Física (#RG,, Endereco, CPF) Jurídica (#RG,, Endereco, CNPJ)
BIBLIOGRAFIA BÁSICA ELMASRI, Ramez, NAVATHE, Shamkant B. Sistemas de banco de dados - fundamentos e aplicações. 4 ed., 2005. Capítulo 7.