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

Documentos relacionados
Modelo Relacional Normalização Diagramas E-R e Tabelas Originadas

Informática II Cap. 5-1 Modelo Relacional, Normalização e Diagramas E-R

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

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

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

Bases de Dados. Parte II Os Modelos ER e EER

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

Modelo Entidade-Relacionamento

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

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

Sumário. Modelo Entidade-Associação : Avançado 1 Associações Ternárias. Exemplo. Associações Ternárias. Exemplo. André Restivo. September 21, 2010

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Modelo Lógico de Dados (MLD) Origens do modelo relacional

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

Projeto Banco de Dados

António Rocha Nuno Melo e Castro

Prof. Fabiano Taguchi

Capítulo 2 Modelo Entidade- Relacionamento. Prof. Mario Dantas

Unidade 4 Projeto de BD Relacional

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

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

Extensões do Modelo Entidade-Relacionamento

Modelo Entidade-Associação

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

O que é modelo lógico. Tipos de modelo

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa

Prof.: Clayton Maciel Costa

Modelo Entidade-Relacionamento

IEC Banco de Dados I Aula 08 Modelo E. E. R.

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

Conjuntos de entidades Conjuntos de relações Restrições de Mapeamento Chaves Diagrama ER Opções de desenho Extensões ao modelo ER Exemplo

Abordagem ER. Capítulo 2

BDI Capitulo 2 Revisão 9

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Normalização de dados

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

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

MODELAGEM DE DADOS PARTE 3

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

conteúdos. bases de dados, SGBD e aplicações. conceitos. modelo relacional (DER) conceitos

Análise de Sistemas de Informação

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

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

Modelo Entidade-Associação (EA)

Banco de Dados. André Luís Duarte Capítulo 2. exatasfepi.com.br

Base de Dados Modelo EER --> Modelo Relacional. Vitor Vaz da Silva

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

2010 Diagrama Entidade - Associação

MC536. Modelo Entidade- Relacionamento

GES013 Sistema de Banco de Dados Modelo de Entidade-Relacionamento (ER)

Abordagem ER. Capítulo 2

Abordagem ER. Capítulo 2

UML Unified Modeling Language

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

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

Modelo ER. Ricardo Terra rterrabh [at] gmail.com

Bases de Dados. Parte III. O Modelo Relacional

Migração Modelo ER-Relacional

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

Modelo Entidade Relacionamento Estendido (ERE)

MAPEAMENTO OBJETO RELACIONAL. Professora Lucélia Oliveira

Unidade 2 Modelo Conceitual

GEE051 - Banco de Dados Projeto de BD Projeto Conceitual. Ilmério Reis da Silva UFU/FACOM /2

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

Banco de Dados I Dicas de Modelagem

Aula 2 Abordagem Entidade-Relacionamento Cleverton Hentz

Técnicas de Modelação de Dados

MODELAGEM DE DADOS UNIDADE 3 Modelo Entidade-Relacionamento. Luiz Leão

BCD29008 Banco de dados

Modelo Entidade-Relacionamento. Aécio Costa

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

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS I PROFA. CLEIANE GONÇALVES OLIVEIRA

GBD PROF. ANDREZA S. AREÃO

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

Computação Instrumental

Projeto de BD Relacional

Transformação de Diagramas MER em Diagramas DR

Projeto de BD Relacional

O Modelo ER. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

2. Revisão e Dicas de Modelagem Conceitual

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional. Fernando Fonseca Ana Carolina

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;

Estrutura das Bases de Dados Relacionais Redução a tabelas de um Esquema ER Álgebra Relacional Operações Estendidas da Álgebra Relacional Modificação

Projeto de BD Relacional

Modelo Entidade Relacionamento

Retrospectiva (Aula 2) O Modelo Entidade-Relacionamento. O Modelo Entidade- Relacionamento. O Modelo Entidade- Relacionamento

Modelo Comportamental

Conceitos básicos e diagramas ER

Modelo Lógico de Dados. Modelo Relacional

Ciclo de Desenvolvimento de BD

Projeto Conceitual Usando o Modelo-Entidade Relacionamento

Bases de Dados. Modelo Entidade-Associação. Exemplo do banco. IST DEI Bases de Dados

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

Técnicas de Modelação de Dados

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

BANCO DE DADOS. Engenharia da Computação Univasf. Modelo Entidade-Relacionamento. Aula 2. Conjuntos de Entidades - Representação Exemplo:

Faculdade Ieducare. 5º Semestre Sistemas de Informação. Professor: Rhyan Ximenes. Banco de Dados II 1. Banco de Dados II

Transcrição:

Estratégias de concepção do modelo de dados Relacional Do particular para o geral (Bottom-up) 1) Relação universal; 2) Análise de dependências funcionais; 3) Modelo de dados. Pequenos projectos (até 6-8 entidades) Do geral para o particular (Top-down) 1) Modelo conceptual E-R; 2) Regras de mapeamento para modelo lógico; 3) Modelo de dados. Grandes projectos Construção de modelo de dados relacional pelo método de Entidade-Relacionamento Construir o modelo conceptual de dados: Identificar todas as entidades e todos os relacionamentos importantes para a situação a tratar; Construir o diagrama de Entidade-Relacionamento (DER); Identificar todos os atributos relevantes e associa-los a uma das entidades preliminares já definidas (ou a relacionamentos existentes entre estas); Derivar o modelo de dados relacional: Identificar as chaves do conjunto de entidades preliminares; Aplicar as regras de derivação do modelo relacional; Verificar o resultado aplicando a teoria da normalização. 2.5 - TM Dados: Concepção do modelo lógico relacional 1

Regras de derivação do modelo de dados relacional #Disc Designação Disciplina N... Disciplina #Disc Designação... NDoc Leccionada Docente 1 Docente NDoc Nome... NDoc Nome...... Principais factores com influência nas regras de derivação: Grau de relacionamento (1:1, 1:N, N:M); Tipo de participação das entidades no relacionamento (obrigatória/opcional); Tipo de relacionamento (binário, n_ário, recursivo, etc.); Tipo de entidade. Principais situações a tratar: Relacionamentos binários; Relacionamentos binários múltiplos; Relacionamentos não binários; Relacionamentos recursivos; Atributos multivalor; Entidades Fracas; Entidades subordinadas e representação de papéis; Hierarquias e malhas de especialização/generalização; Categorias. 2.5 - TM Dados: Concepção do modelo lógico relacional 2

Relacionamento binário de grau 1:1 Caso 1 (1:1) - participação obrigatória das duas entidades: Todos os docentes têm de leccionar uma só disciplina; Cada disciplina tem de ser assegurada por um docente. Docente 1 1 Ensina Disciplina P1 P2 P3 D1 D2 D3 Docente (Ndoc, Nome, Tel, #Disc, Prereq) NDoc Nome Tel #Disc Prereq 1001 Couto 721334 Inf2 Inf1 1662 Nunes 776188 SOC LP 977 Peixoto 722876 Inf1 Nenhum Regra 1 Relacionamento binário de grau 1:1 e participação obrigatória de ambas as entidades. É apenas necessário uma entidade; A chave primária dessa relação pode ser a chave primária de qualquer das entidades. 2.5 - TM Dados: Concepção do modelo lógico relacional 3

Relacionamento binário de grau 1:1 Caso 2 (1:1) - participação obrigatória de apenas uma das entidades: Todos os docentes têm de leccionar uma só disciplina. Docente 1 1 Ensina Disciplina P1 P2 P3 D1 D2 D3 D4 NDoc Nome Tel #Disc Prereq 1001 Couto 721334 Inf2 Inf1??? IG2 IG1 => Docente (Ndoc, Nome, Tel, #Disc) Disciplina (#Disc, Prereq) NDoc Nome Tel #Disc #Disc Prereq 1001 Couto 721334 Inf2 Inf2 Inf1 IG2 IG1 Regra 2 Relacionamento binário de grau 1:1 e participação obrigatória de apenas uma das entidades. São necessárias duas entidades; A chave primária de cada entidade serve de chave primária na entidade correspondente; A chave primária da entidade com participação não obrigatória tem de ser usada como atributo na entidade correspondente à entidade cuja participação é obrigatória. 2.5 - TM Dados: Concepção do modelo lógico relacional 4

Relacionamento binário de grau 1:1 Caso 3 (1:1) - sem participação obrigatória em ambas as entidades: Os docentes leccionam uma só disciplina, se não estiverem dispensados do serviço docente; Cada disciplina é assegurada por um docente, excepto se for opcional e se o número de inscrições for inferior a 15 alunos. Docente 1 1 Ensina Disciplina P1 P2 P3 P4 D1 D2 D3 D4 NDoc Nome Tel #Disc Prereq 1001 Couto 721334 Inf2 Inf1 1662 Nunes 776188 SOC LP??? IG2 IG1 1056 Martins 734976?? Com a utilização de uma só entidade, surgem valores nulos quer para as disciplinas que ainda não têm docente, quer para os docentes que não leccionam nenhuma disciplina. 2.5 - TM Dados: Concepção do modelo lógico relacional 5

Docente (Ndoc, Nome, Tel, #Disc) Disciplina (#Disc, Prereq, NDoc) NDoc Nome Tel #Disc #Disc Prereq NDoc 1001 Couto 721334 Inf2 Inf2 Inf1 1001 1662 Nunes 776188 SOC SOC LP 1662 1056 Martins 734976? IG2 IG1? A subdivisão da entidade em duas, segundo solução análoga à regra 2, também origina valores nulos. Docente Disciplina Leccionar (Ndoc, Nome, Tel) (#Disc, Prereq) (Ndoc, #Disc) NDoc Nome Tel #Disc Prereq NDoc #Disc 1001 Couto 721334 Inf2 Inf1 1001 Inf2 1662 Nunes 776188 SOC LP 1662 SOC 1056 Martins 734976 IG2 IG1 Obs.: A chave da entidade Leccionar pode ser NDoc ou #Disc. Regra 3 Relacionamento binário de grau 1:1 e participação não obrigatória em ambas as entidades. São necessárias três entidades, uma para cada entidade e a terceira para o relacionamento; A chave primária de cada entidade serve de chave primária na entidade correspondente; A entidade correspondente ao relacionamento terá entre os seus atributos as chaves primárias das duas entidades. 2.5 - TM Dados: Concepção do modelo lógico relacional 6

Relacionamento binário de grau 1:N Caso 4 (1:N) - participação obrigatória do lado N: Docente (a participação obrigatória no lado 1 não afecta resultado) Os docentes podem leccionar várias disciplinas; Cada disciplina têm de ser assegurada por um só docente. 1 N Ensina Disciplina P1 P2 P3 NDoc Nome Tel #Disc Prereq 1662 Nunes 776188 SOC LP 1662 Nunes 776188 SDP SOC 1056 Martins 734976?? D1 D2 D3 D4 Docente (Ndoc, Nome, Tel) Disciplina (#Disc, Prereq, NDoc) NDoc Nome Tel #Disc Prereq NDoc 1662 Nunes 776188 SOC LP 1662 1056 Martins 734976 SDP SOC 1662 Regra 4 Relacionamento binário de grau 1:N e participação obrigatória do lado N. São necessárias duas entidades; A chave primária de cada entidade serve de chave primária na entidade correspondente; A chave primária da entidade do lado 1 tem de ser usada como atributo na entidade correspondente à entidade do lado N. 2.5 - TM Dados: Concepção do modelo lógico relacional 7

Relacionamento binário de grau 1:N Caso 5 (1:N) - participação não obrigatória do lado N. Docente 1 N Ensina Disciplina P1 P2 P3 NDoc Nome Tel #Disc Prereq 1662 Nunes 776188 SOC LP 1662 Nunes 776188 SDP SOC 1056 Martins 734976????? IG2 IG1 D1 D2 D3 D4 Docente Disciplina Leccionar (Ndoc, Nome, Tel) (#Disc, Prereq) (#Disc, NDoc) NDoc Nome Tel #Disc Prereq #Disc NDoc 1662 Nunes 776188 SOC LP SOC 1662 1056 Martins 734976 SDP SOC SDP 1662 IG2 IG1 Regra 5 Relacionamento binário de grau 1:N e participação não obrigatória do lado N. São necessárias três entidades, uma para cada entidade e a terceira para o relacionamento; A chave primária de cada entidade serve de chave primária na entidade correspondente; A entidade relativa ao relacionamento terá de ter entre os seus atributos as chaves primárias de cada uma das entidades. 2.5 - TM Dados: Concepção do modelo lógico relacional 8

Relacionamento binário de grau N:M Caso 6 (N:M) - Quando o grau de relacionamento binário é N:M, independentemente do tipo de participação, são sempre necessárias 3 entidades. Um docente pode leccionar várias disciplinas Uma disciplina pode ser leccionada por vários docentes Docente N M Ensina Disciplina P1 P2 P3 P4 D1 D2 D3 D4 D5 NDoc Nome Tel #Disc Prereq 1001 Couto 721334 Inf2 Inf1 1662 Nunes 776188 SOC LP 1662 Nunes 776188 SDP SOC 1033 Reis 716633 IA LP 1052 Neves 714356 IA LP 1056 Martins 734976????? IG2 IG1 Com a utilização de uma só entidade, surgem valores nulos quer para as disciplinas que ainda não têm docente, quer para os docentes que não leccionam nenhuma disciplina. 2.5 - TM Dados: Concepção do modelo lógico relacional 9

Docente Disciplina Leccionar (Ndoc, Nome, Tel) (#Disc, Prereq) (#Disc, NDoc) NDoc Nome Tel #Disc Prereq #Disc NDoc 1001 Couto 721334 Inf2 Inf1 Inf2 1001 1662 Nunes 776188 SOC LP SOC 1662 1033 Reis 716623 SDP SOC SDP 1662 1052 Neves 714356 IA LP IA 1033 1056 Martins 734976 IG2 IG1 IA 1052 Regra 6 Relacionamento binário de grau N:M. São sempre necessárias três entidades, uma para cada entidade e uma terceira para o relacionamento; A chave primária de cada entidade serve de chave primária na entidade correspondente; A entidade relativa ao relacionamento terá de ter entre os seus atributos as chaves primárias de cada uma das entidades. 2.5 - TM Dados: Concepção do modelo lógico relacional 10

Relacionamentos binários múltiplos Na maioria dos casos, uma entidade pode ter relacionamentos binários com diversas entidades, ou seja, relacionamentos binários múltiplos. Exemplo: Um aluno pode inscrever-se em vários seminários; Um seminário é dirigido por vários instrutores; Um instrutor dirige vários seminários. Aluno N Inscrito M Seminário N Dirigido M Instrutor 3 entidades 3 entidades Aluno (N_aluno,...) Instrutor (N_Instrutor,...) Seminário (N_Seminário,...) Seminário ( ) Inscrição (N_Seminário, N_aluno,...) Direcção (N_seminário, N_Instrutor,..) Supondo que um aluno tem de ser orientado por um instrutor nos vários seminários (a intervenção do aluno é sempre a mesma, mas ocorre em vários seminários), seria necessário acrescentar outro relacionamento, obtendo-se: N M N M Aluno Inscrito Seminário Dirigido Instrutor N 1 Orientado 2.5 - TM Dados: Concepção do modelo lógico relacional 11

O novo relacionamento dá origem às seguintes entidades: Aluno (N_aluno,..., N_instrutor,...) Instrutor (N_Instrutor,...) O Modelo final seria: Aluno (N_aluno,..., N_instrutor,...) Instrutor (N_Instrutor,...) Seminário (N_Seminário,...) Inscrição (N_Seminário, N_aluno,...) Direcção (N_seminário, N_Instrutor,...) Supondo ainda, que o mesmo aluno pode ter vários instrutores, que poderão ser diferentes consoante o seminário (intervenções diferentes em cada seminário ), o relacionamento orientado passaria a ser do tipo N:M. O modelo final passaria a ser: Aluno (N_aluno,...) Instrutor (N_Instrutor,...) Seminário (N_Seminário,...) Inscrição (N_Seminário, N_aluno,...) Direcção (N_seminário, N_Instrutor,...) Orientação (N_aluno, N_Instrutor,...) Questão: Quem é(são) o(s) orientador(es) de um aluno num dado seminário? só é possível determinar quais são os instrutores de um seminário e quais são os orientadores de um dado aluno. 2.5 - TM Dados: Concepção do modelo lógico relacional 12

Relacionamento ternário Seminário M Aluno N Inscrito P Instrutor Regra 7 Relacionamento ternário (e superior) São sempre necessárias quatro entidades, uma para cada entidade e uma quarta para o relacionamento; A chave primária de cada entidade serve de chave primária na entidade correspondente; A entidade relativa ao relacionamento terá de ter entre os seus atributos as chaves primárias de cada uma das entidades; Num relacionamento de grau n são necessárias n+1 relações, de modo inteiramente idêntico. O modelo final passaria a ser: Aluno (N_aluno,...) Instrutor (N_Instrutor,...) Seminário (N_Seminário,...) Inscrição (N_Seminário, N_aluno, N_instrutor,...) Obs.: Se cada aluno tiver um só instrutor num dado seminário, a chave primária da entidade seria somente N_Aluno, N_seminário. 2.5 - TM Dados: Concepção do modelo lógico relacional 13

Resumo das regras do método Entidade-Relacionamento Relacionamento Nº Entidades Observações 1:1 1:1 1:1 1 2 3 A Chave primária pode ser a chave de qualquer das entidades. A Chave da entidade c/ participação não obrigatória tem de ser atributo na outra. A entidade do relacionamento terá como atributos as chaves de ambas as entidades 1:N 1:N 2 3 A Chave da entidade do lado 1 tem de ser atributo na entidade do lado N. A entidade do relacionamento terá como atributos as chaves de ambas as entidades. N:M 3 A entidade do relacionamento terá como atributos as chaves de ambas as entidades. N+1 A entidade do relacionamento terá como atributos as chaves de todas as entidades. 2.5 - TM Dados: Concepção do modelo lógico relacional 14

Relacionamentos recursivos Caso particular dos papéis em que não existem atributos específicos para algumas instâncias da entidade. Nome Morada BI Salário 1 Empregado N Supervisa Relacionamento não obrigatório do lado N (Regra 5) 3 entidades: Empregado, Empregado e Supervisão. Empregado (BI, Nome, Morada, Salário) Supervisão (BI_empregado, BI_Supervisor) Regra Relacionamentos recursivos. Usam-se as regras já definidas para os relacionamentos não recursivos. 2.5 - TM Dados: Concepção do modelo lógico relacional 15

Atributos Multivalor Localizações Número Data_início_activ Departamento O atributo localizações é um atributo multivalor, pois um departamento possui várias localizações. Departamento (Número, Data_início_activ) Local (N_dep, Localização) Regra Atributos multivalor. Um atributo multivalor M origina uma nova entidade que conterá esse atributo M e a chave estrangeira K, sendo K o conjunto de atributos que constitui a chave primária da entidade já existente; A chave primária da nova entidade será constituída pela combinação de M com K. 2.5 - TM Dados: Concepção do modelo lógico relacional 16

Tipos de entidades Entidade independente As entidades independentes são, frequentemente, entidades centrais num modelo de dados. Possuem nomes claramente distinguíveis, pelo facto de ocorrerem no mundo real. Adicionalmente, por norma, possuem chaves simples como código de Departamento ou código de Funcionário. Exemplos de entidades independentes: Funcionário (N_Funcionário, Nome,...) Departamento (N_Departamento, Designação_departamento,...) Entidade de agregação É criada quando várias entidades diferentes possuem atributos similares distinguíveis somente pelos prefixos ou sufixos. Estas entidades normalmente tornam-se entidades independentes. Exemplo: Cliente (#cliente, morada_cliente, telefone_cliente, Fax_cliente) Fornecedor (#fornecedor, morada_fornec, telefone_fornec, Fax_fornec.) Contactos (#entidade, Tipo_entidade, morada, telefone, fax) 2.5 - TM Dados: Concepção do modelo lógico relacional 17

Entidade de intersecção Este tipo de entidade resulta de relacionamentos de N:M entre entidades, ou de relacionamentos sem participação obrigatória em ambas as entidades. Por vezes, estas entidades possuem nomes óbvios pelo facto de ocorrerem no mundo real. Em caso contrário, utilizam-se os nomes das duas entidades, como por exemplo Categoria_Funcionário. As entidades de intersecção podem representar: - Relacionamentos correntes - A entidade inclui nos seus atributos ambas as chaves primárias das entidades iniciais; - Relacionamentos históricos - Para além dos atributos que constituem a chave primária das entidades iniciais, a entidade possui atributos de medidas temporais. Se a entidade de intersecção tiver uma chave primária própria, esta torna-se uma entidade independente. Exemplo: Categoria N M Atribuída Funcionário Categoria 1 N M 1 Posição Funcionário 2.5 - TM Dados: Concepção do modelo lógico relacional 18

Entidade dependente ou fraca Este tipo de entidade depende de outra entidade na sua existência e/ou identificação. Exemplo: Funcionário 1 Tem N Dependente Entidade forte/ identificadora Relacionamento de dependência/ identificador Entidade fraca Características de entidades dependentes: - Num relacionamento de dependência a participação da entidade fraca é sempre obrigatória; - Se a entidade fraca não possui atributos que possam constituir chaves candidatas, o conjunto de atributos que permitem identificar univocamente uma ocorrência da entidade fraca, para uma dada ocorrência da entidade identificadora, é a chave parcial da entidade fraca. Regra Entidade dependente ou fraca. A entidade fraca terá de incluir nos seus atributos a chave estrangeira K, sendo K a chave primária da entidade forte; Se existe dependência da identificação, a chave primária da entidade fraca é a combinação da sua chave parcial com K. Entidades resultantes do exemplo: Funcionário (N_funcionário, Nome_f,...) Dependente (N_funcionário, Nome_D, Parentesco,...) 2.5 - TM Dados: Concepção do modelo lógico relacional 19

Entidade subordinada e representação de papéis Este tipo de entidade é necessária quando existem instâncias que possuem atributos específicos não associados com todos os membros de uma entidade. Entidade fonte (agregação) Empregado Entidades Subordinadas (Papéis) Supervisor 1 Supervisa N Montador Regra Instâncias com atributos diferentes, ou, situação de uso de papéis. A entidade fonte gera uma relação que agrupa os atributos comuns e cuja chave primária é a chave da entidade; Os atributos específicos são separados em entidades subordinadas (papéis); A chave da entidade fonte terá de ser usada como atributo nas entidades subordinadas; As entidades que representam os papéis são tratadas como entidades normais, às quais se aplicam as regras já conhecidas. Aplicando a regra 4 e a presente regra, obtém-se: Empregado (Ncontrib, Nome, Telef_casa, Morada) Supervisor (NcontribS, Telef_trab, Salário, Área) Montador (NcontribM, Pagam_hora, #taref, NcontribS) Conforme já foi referido, esta representação possui limitações. 2.5 - TM Dados: Concepção do modelo lógico relacional 20

Relacionamentos Superclasse/subclasse e hierarquia ou malha de especialização/generalização A implementação de relacionamentos superclasse/subclasse pode ser representada por relações distintas, relacionadas pelo atributo chave em comum com a superclasse; Usualmente, existe uma condição, baseada no valor de algum atributo, que permite avaliar se um objecto pertence a uma subclasse: - No caso de uma disjunção pode usar-se um atributo que recebe um só valor; - No caso de sobreposição pode usar-se vários atributos booleanos. Exemplo: N_pessoa Funcionário Aluno Pessoa BI Nome Sexo Morada O N_pessoa Tipo_funcionário N_funcionário Funcionário Data_admissão d N_pessoa Aluno N_pessoa N_pessoa N_aluno Data_ingresso Função Não docente Docente Departamento Horário Gabinete 2.5 - TM Dados: Concepção do modelo lógico relacional 21

Regra Relacionamentos Superclasse/Subclasse e hierarquias de especialização /generalização A superclasse gera uma relação com chave primária K; Cada subclasse gera uma relação que contém os atributos específicos; Cada subclasse deve conter o(s) atributo(s) K, que também deve ser a chave primária da subclasse. Considerar ainda as seguintes alternativas de implementação: Se as subclasses são disjuntas e a especialização é total (cada instância pertence sempre a uma das suclasses) Criar uma relação para cada subclasse, cada contendo os atributos comuns e os específicos; OBS: No caso de sobreposição conduziria a redundância dos atributos comuns; No caso de especialização parcial perdem-se instâncias. Se existem poucos atributos específicos nas subclasses Criar uma relação que conterá os atributos comuns, os atributos específicos e um ou vários atributos (respectivamente, no caso de disjunção e sobreposição) para indicar a(s) subclasse(s) a que o tuplo pertence. Regra Subclasses partilhadas e malhas de especialização/generalização Aplicam-se as regras anteriores, pois todas as classes têm de possuir a mesma chave primária; A subclasse partilhada recebe o atributo K comum às suas superclasses. 2.5 - TM Dados: Concepção do modelo lógico relacional 22

Categorias As superclasses de uma categoria podem ter atributos chave diferentes ou iguais. Exemplo: Morada N_pessoa N_banco Nome_b Endereço_b N_empresa Endereço_a BI Pessoa Banco Empresa Nome NIF U NIF Nome_e União Proprietário M Possui N Veículo_registado Data_compra N_registo Distrito Id_veículo U Id_veículo... Carro Camião Capacidade Ano... Dimensões Regra Categorias cujas superclasses possuem chaves primárias distintas Criar uma chave substituta S na categoria Adicionar a chave substituta S como chave estrangeira a cada superclasse, para especificar as correspondências em valores entre a chave substituta e a chave de cada superclasse. 2.5 - TM Dados: Concepção do modelo lógico relacional 23

Regra Categorias cujas superclasses possuem a mesma chave primária A chave primária das superclasses pode ser utilizada para relacionar as classes. Modelo de dados resultante: Chave substituta: Id_proprietário Pessoa (N_Pessoa,..., Id_proprietário) Banco (N_banco,..., Id_proprietário) Empresa (N_empresa,..., Id_proprietário) Proprietário (Id_proprietário,...) Veículo_registado (Id_veículo,...) Carro (Id_veículo,...) Camião (Id_veículo,...) Registo_propriedade (Id_veículo, Id_proprietário,..., data_compra) 2.5 - TM Dados: Concepção do modelo lógico relacional 24