1 / 19

Mapeamento ER-Relacional

Mapeamento ER-Relacional. Prof. Daniel Callegari Material elaborado pela Profa. Karin Becker. Mapeamento ER-Relacional. Técnica: Redefinição de nomes Mapeamento de Entidades Definição de identificações Atributos compostos Atributos multivalorados

dong
Download Presentation

Mapeamento ER-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. Mapeamento ER-Relacional Prof. Daniel Callegari Material elaborado pela Profa. Karin Becker

  2. Mapeamento ER-Relacional • Técnica: • Redefinição de nomes • Mapeamento de Entidades • Definição de identificações • Atributos compostos • Atributos multivalorados • Resolução de identificação externa (entidade fraca) • Mapeamento de Relacionamentos • Tabela Própria • Colunas Adicionais • Fusão • Hierarquias Generalização/Especialização • Revisão do modelo resultante

  3. Mapeamento: Redefinição de nomes • Redefinir, quando conveniente, os nomes dos diversos elementos notacionais para que passem a ser mais adequados operacionalmente: • nomes mais curtos • eliminação de espaços em branco e caracteres especiais • adoção de padrões da organização para definição de nomes

  4. Mapeamento: Entidade • Entidade : transformar em tabela • identificação • a chave primária é o identificador primário da Entidade • trocar identificador do UdD por código, quando inadequado do ponto de vista computacional (longo, composto, muito complexo e/ou muito referenciado) • podem ser definidas restrições UNIQUE para identificações alternativas • atributos • obrigatórios: use a cláusula NOT NULL • opcionais: não use a cláusula NOT NULL • mantenha nomes de atributos curtos e padronizados • indexe atributos muito consultados

  5. Mapeamento: Entidade Create table cliente (cic char(11) not null primary key, nome varchar(60) not null, sexo char(1)); Create table conta (nro number(5) not null primary key, Saldo number(10,2) not null); (1-N) (0-N) POSSE CONTA CLIENTE tem é-de nome sexo (0-1) nro saldo CIC data CONTA CLIENTE Nro Saldo CIC nome sexo

  6. Mapeamento: Entidade • Requerem tratamento especial: • Atributo composto • Atributo multi-valorado • Identificador externo (entidade fraca)

  7. CLIENTE nro rua ap (0-1) Mapeamento: Entidade • Eliminação de atributos compostos • Alternativas : • esquecer de agregações lógicas (“aplainar”) • esquecer da composição (“combinar”) endereço rua CLIENTE nro ap (0-1) CLIENTE endereço

  8. Mapeamento: Entidade • Eliminação de atributos multivalorados • Alternativas • substituir por n atributos fixos • desde que se saiba e possa limitar o valor de “n” • criar uma nova Entidade, relacionada à Entidade original • identificação da nova Entidade pode ser o próprio atributo, ou um identificador externo

  9. Eliminação de Atributo Repetitivo : Exemplo LIVRO isbn titulo autor (1-n) pal-chave(1-3) pc1 LIVRO pc2 (0-1) pc3 (0-1) isbn titulo autor (1-n)

  10. LIVRO isbn titulo autor (1-n) LIVRO isbn titulo LIVRO isbn titulo Eliminação de Atributo Repetitivo : Exemplo escrito-por escreveu Autoria AUTOR (1-n) (1-1) ou nome escrito-por escreveu Autoria (1-n) (1-n) AUTOR nome

  11. Mapeamento: Entidades Fracas • Eliminação de identificadores externos • Na tabela correspondente à entidade fraca, incluir um campo correspondente à chave primária da tabela correspondente à entidade forte • Definir este campo como chave estrangeira • Criar uma chave primária para a entidade fraca composta do identificador da entidade fraca mais a chave estrangeira

  12. Eliminação de Identificador Externo : Exemplo tem é-de DEP Dependente Sócio (0-n) (1-1) matr nome nome parentesco Dependente Sócio matr nome nome parentesco matr DEPENDENTE SOCIO nome matr parentesco matr nome Chave estrangeira

  13. Grupo Grupo codg Eliminação de Identificador Externo : propagação de identificadores 1-1 1-n 1-1 1-n Empresa Empregado GE EE codg code codemp 1-n 1-1 Empregado EE Empresa codemp codg code Empresa Empregado Grupo codg codg code codg code codemp

  14. Mapeamento: Relacionamento • Relacionamentos são implementados usando chaves estrangeiras • Chaves primárias representando as entidades participantes. • Três Técnicas • Tabela Própria • Aconselhado para cardinalidades máximas N:M • Colunas Adicionais em Tabela de Entidade • Aconselhado para cardinalidades máximas 1:1 e 1:N • Fusão de Tabelas de Entidades • Aconselhado para alguns casos de cardinalidades máximas 1:1

  15. Mapeamento: Relacionamento • Mapeamento de Relacionamento por tabela própria • Transformar o relacionamento em tabela contendo • Atributos identificadores das Entidades participantes da relação. • Defini-las como chaves estrangeiras. • Atributos do relacionamento, se existirem. • Identificação • Relacionamento é identificado por entidades participantes? • Composição dos identificadores das Entidades . • Relacionamento é identificado por composição das entidades participantes e atributos do relacionamento? • Composição dos identificadores das entidades e destes atributos.

  16. Mapeamento de relacionamento por Tabela Própria: Exemplo (1-N) (0-N) POSSE CONTA CLIENTE tem é-de nome nro saldo CIC data CLIENTE CONTA CIC Nome Nro Saldo Chave estrangeira Chave estrangeira POSSE CIC Nro Data

  17. Tabela Própria: Exemplo CLIENTE CONTA CIC Nome Nro Saldo Chave estrangeira Chave estrangeira POSSE CIC Nro Data Create table cliente (cic char(11) not null primary key, nome varchar(60) not null); Create table conta (nro number(5) not null primary key, Saldo number(10,2) not null); Create table Posse (cic char(11) not null, Nro number(5) not null, Data date not null, Primary key(cic, nro), Foreign key cic references cliente, Foreign key nro references conta);

  18. Mapeamento de relacionamento por Tabela Própria: Exemplo (1-N) (0-N) LOCAÇÂO VIDEO CLIENTE locou loc-por valor (0-1) nome codv título CIC data CLIENTE VIDEO CIC Nome Codv Titulo LOCACAO valor CIC Codv Data

  19. Mapeamento de relacionamento por Tabela Própria: Exemplo CLIENTE VIDEO CIC Nome Codv Titulo LOCACAO valor CIC Codv Data Create table cliente (cic char(11) not null primary key, nome varchar(60) not null); Create table video (codv number(3) not null primary key, titulo varchar(100) not null); Create table locacao (cic char(11) not null, codv number(3) not null, data date not null, valor number(4,2), Primary key(cic, nro, data), Foreign key cic references cliente, Foreign key codv references video);

More Related