Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 10 Semestre de 2013 Banco de Dados I – BD I Prof. Lineu Mialaret Aula 9: Mapeamento MER – Modelo Relacional Banco de Dados I Aula 9 - 1/51 ©Prof. Lineu Mialaret Desenvolvimento de um um Aplicativo de Banco de Dados Requisitos + Regras de Modelo Lógico Modelo Físico Mapeamento Visão de Sistema Projeto Negócio Modelo Conceitual Visão de Negócio Análise Modelo Funcional BD Operacional Banco de Dados I Aula 9 - 2/51 ©Prof. Lineu Mialaret Introdução Um Banco de Dados em conformidade com o Modelo Entidade Relacionamento - MER pode ser representado por uma coleção de tabelas no Modelo Lógico Relacional ou Modelo Relacional. Para cada conjunto de entidades (e dependendo do tipo de conjunto de relacionamentos) há, internamente no Banco de Dados Relacional, em princípio uma tabela única, registrando o nome do conjunto de entidades (ou relacionamentos) correspondente. Tanto o MER quanto o Modelo Relacional são abstratos, ou seja, são representações abstratas e lógicas de domínios conhecimento, os quais podem representar empresas reais. de Como esses dois modelos empregam princípios similares, pode-se converter, de maneira adequada, o Modelo Relacionamento - MER num Modelo Relacional. Entidade Em ferramentas CASE robustas, esse mapeamento é realizado de forma transparente ao usuário. Banco de Dados I Aula 9 - 3/51 ©Prof. Lineu Mialaret Mapeamento do MER para o Modelo Relacional Passos gerais para o mapeamento MER - Modelo Relacional: Identificar todas as entidades, atributos e relacionamentos para o contexto de negócio. Construir o Modelo Entidade Relacionamento – MER. Encontrar o conjunto de tabelas preliminares e identificar as suas respectivas chaves primárias. Identificar todos os atributos relevantes e associá-los às tabelas preliminares já definidas. Há uma série de regras para realizar o devido mapeamento do Modelo Entidade Relacionamento para o Modelo Relacional. Banco de Dados I Aula 9 - 4/51 ©Prof. Lineu Mialaret Diagrama de Entidade-Relacionamento Ensina Professor NDoc Nome Disciplina CodDisc Tel PreReq Notação 1 (Chen) Entidade: algo relativo a um domínio de conhecimento (problema) a ser tratado e sobre a qual há um interesse em armazenar e manipular dados e informação. Relacionamento: ligação semântica entre entidades. Atributo: propriedade de uma entidade (em certos casos também de um relacionamento). Disciplina Professor NDoc Nome Tel Banco de Dados I Ensina CodDisc PreReq Aula 9 - 5/51 Notação 2 (EI) ©Prof. Lineu Mialaret Regra 0 Conjunto de Entidades Fortes Mapeamento: É necessária apenas uma tabela para representar a entidade. A chave primária dessa entidade se torna a chave primária da tabela relacional. Banco de Dados I Aula 9 - 6/51 ©Prof. Lineu Mialaret Conjunto de Entidades Fortes (1) Um conjunto de entidades fortes se transforma numa tabela no Modelo Relacional com os mesmos atributos. customer-name Jones Smith Hayes customer-id 321-12-3123 019-28-3746 677-89-9011 customer-street customer-city Main Harrison North Rye Main Harrison customer relation Banco de Dados I Aula 9 - 7/51 ©Prof. Lineu Mialaret Conjunto de Entidades Fortes (2) (a) CUSTOMER entity with simple attributes (b) CUSTOMER relation Banco de Dados I Aula 9 - 8/51 ©Prof. Lineu Mialaret Grafo de Ocorrências ou Cardinalidade O grafo de ocorrências ou cardinalidade exemplifica os relacionamentos que ocorrem entre as entidades de conjuntos de entidades. A associação que ocorre entre conjuntos de entidades é definida como uma participação, a qual pode ser obrigatória ou opcional. Professor P1 • P2 • P3 • P4 • Ensina Participação obrigatória Disciplina • D1 • D2 • D3 • D4 Participação opcional Professor Professor Notação Chen usada para se referir a participação. Banco de Dados I Aula 9 - 9/51 ©Prof. Lineu Mialaret Participação – Relacionamento 1:1 Professor Professor Professor Professor Banco de Dados I Disciplina Disciplina Disciplina Disciplina Aula 9 - 10/51 P1 • P2 • P3 • P4 • • D1 • D2 • D3 • D4 P1 • P2 • P3 • • D1 • D2 • D3 • D4 P1 • P2 • P3 • P4 • • D1 • D2 • D3 P1 • P2 • P3 • P4 • • D1 • D2 • D3 • D4 ©Prof. Lineu Mialaret Participação - Relacionamento 1:N Professor Professor Professor Professor Banco de Dados I P1 • P2 • P3 • P4 • • D1 • D2 • D3 • D4 • D5 Disciplina P1 • P2 • P3 • • D1 • D2 • D3 • D4 • D5 Disciplina P1 • P2 • P3 • • D1 • D2 • D3 • D4 Disciplina P1 • P2 • P3 • • D1 • D2 • D3 • D4 • D5 Disciplina Aula 9 - 11/51 ©Prof. Lineu Mialaret Participação – Relacionamento N:1 Professor Professor Professor Professor Banco de Dados I Disciplina Disciplina Disciplina Disciplina Aula 9 - 12/51 P1 • P2 • P3 • P4 • P5 • P1 • P2 • P3 • P4 • P5 • • D1 • D2 • D3 • D4 • D1 • D2 • D3 • D4 P1 • P2 • P3 • P4 • • D1 • D2 • D3 P1 • P2 • P3 • P4 • P5 • • D1 • D2 • D3 ©Prof. Lineu Mialaret Participação - Relacionamento N:M Professor Professor Professor Professor Banco de Dados I P1 • P2 • P3 • P4 • P5 • • D1 • D2 • D3 • D4 • D5 P1 • P2 • P3 • P4 • P5 • • D1 • D2 • D3 • D4 • D5 Disciplina P1 • P2 • P3 • P4 • P5 • • D1 • D2 • D3 • D4 Disciplina P1 • P2 • P3 • P4 • P5 • • D1 • D2 • D3 • D4 • D5 Disciplina Disciplina Aula 9 - 13/51 ©Prof. Lineu Mialaret Regra 1 Relacionamento Binário 1:1 e Participação Obrigatória de Ambas as Entidades Mapeamento Solução 1: É necessária apenas uma tabela. A chave primária dessa tabela pode ser a chave primária de qualquer uma das entidades envolvidas no relacionamento. Solução 2: São necessárias duas tabelas, cada uma representando uma entidade, e a chave primária de cada uma das tabelas se torna a chave estrangeira (foreign key) da outra tabela. (Isto implica que há uma navegação bidirecional. Pode ser usada uma solução que implique numa navegação parcial) Banco de Dados I Aula 9 - 14/51 ©Prof. Lineu Mialaret Relacionamento Binário 1:1 Participação Obrigatória das duas Entidades NDoc Ensina Professor Nome Disciplina CodDisc Tel PreReq Solução 1: ProfessorDisciplina NDoc Nome Tel CodDisc PreReq 1001 Altino 721334 ALGA Nenhum 977 Ferreira 722876 LP EPPA 667 Fragoso 87761 EPPA Nenhum 778 Nunes 765342 SO LP Banco de Dados I Aula 9 - 15/51 O atributo CodDisc também poderia ser chave primária dessa tabela ©Prof. Lineu Mialaret Relacionamento Binário 1:1 Participação Obrigatória das duas Entidades Ensina Professor NDoc Nome Disciplina CodDisc Tel PreReq Solução 2: Professor NDoc Nome Tel CodDisc Disciplina CodDisc PreReq NDoc 1001 Altino 721334 ALGA ALGA Nenhum 1001 977 Ferreira 722876 LP LP EPPA 977 667 Fragoso 87761 EPPA EPPA LP 667 778 Nunes 765342 SO SO LP 778 chave estrangeira Banco de Dados I Aula 9 - 16/51 chave estrangeira ©Prof. Lineu Mialaret Regra 2 Relacionamento Binário 1:1 e Participação Obrigatória de apenas uma das Entidades Mapeamento: São necessárias duas tabelas, uma para cada entidade. A chave primária de cada entidade serve de chave primária na tabela correspondente. A chave primária da entidade com participação não obrigatória é usada como atributo (chave estrangeira) na tabela correspondente à entidade cuja participação é obrigatória. Banco de Dados I Aula 9 - 17/51 ©Prof. Lineu Mialaret Relacionamento Binário 1:1 Participação Obrigatória de apenas uma das Entidades NDoc Nome Ensina Professor Disciplina CodDisc Tel PreReq ProfessorDisciplina NDoc Nome Tel CodDisc PreReq 1001 Altino 721334 ALGA Nenhum 977 Ferreira 722876 LP EPPA 667 Fragoso 87761 EPPA Nenhum 778 Nunes 765342 SO LP Null Null Null TAP LP Banco de Dados I Aula 9 - 18/51 Surgem valores nulos (Null) sempre que há uma disciplina que não tem professor. Essa solução é válida, mas não adequada ©Prof. Lineu Mialaret Relacionamento Binário 1:1 Solução: Professor NDoc Nome Tel CodDisc Disciplina 1001 Altino 721334 Alga CodDisc PreReq 977 Ferreira 722876 LP Alga Nenhum 667 Fragoso 87761 EPPA LP EPPA EPPA Nenhum SO LP TAP LP 778 Nunes 765342 SO São necessárias duas tabelas: Professor (NDoc, Nome, Tel, CodDisc) Disciplina (CodDisc, PreReq) Banco de Dados I Aula 9 - 19/51 É uma chave estrangeira ©Prof. Lineu Mialaret Regra 3 Relacionamento Binário 1:1 e Participação Opcional de ambas Entidades Mapeamento: São necessárias duas tabelas, uma para cada entidade. A chave primária de cada entidade serve de chave primária na tabela correspondente. A chave primária de cada uma das tabelas se torna chave estrangeira (foreign key) da outra. Banco de Dados I Aula 9 - 20/51 ©Prof. Lineu Mialaret Relacionamento Binário 1:1 Participação Obrigatória de nenhuma das Entidades NDoc Nome Null Disciplina CodDisc Tel ProfessorDisciplina NDoc Nome Null Ensina Professor Tel CodDisc PreReq Null ALGA Nenhum 977 Ferreira 722876 LP EPPA 667 Fragoso 87761 EPPA Nenhum 778 Nunes 765342 Null Null Banco de Dados I Aula 9 - 21/51 PreReq Surgem valores nulos (Null) quer para as disciplinas que não têm professor, quer para os professores que não lecionam nenhuma disciplina. Não há como chavear a tabela. ©Prof. Lineu Mialaret Relacionamento Binário 1:1 Participação Obrigatória de nenhuma das Entidades Solução: Professor NDoc Nome Tel CodDisc Disciplina CodDisc PreReq NDoc 1001 Altino 721334 ALGA ALGA Nenhum Null 977 Ferreira 722876 LP LP EPPA 977 667 Fragoso 87761 EPPA EPPA LP 667 778 Nunes 765342 Null Banco de Dados I Aula 9 - 22/51 ©Prof. Lineu Mialaret Regra 4 Relacionamento Binário 1:N com Participação Obrigatória ou Opcional no lado 1 e Participação Obrigatória do lado N Mapeamento: São necessárias duas tabelas, uma para cada entidade. A chave primária de cada entidade serve de chave primária na tabela correspondente. A chave primária da entidade do lado 1 é usada como atributo (chave estrangeira) na tabela correspondente à entidade do lado N. Banco de Dados I Aula 9 - 23/51 ©Prof. Lineu Mialaret Relacionamento Binário 1:N Participação obrigatória do lado N NDoc Nome Ensina Professor Disciplina CodDisc Tel ProfessorDisciplina NDoc Nome Tel PreReq CodDisc PreReq 1001 Altino 721334 ALGA Nenhum 977 Ferreira 722876 LP EPPA 667 Fragoso 87761 EPPA Nenhum 977 Ferreira 765342 SO LP 667 Fragoso 87761 EBD LP 778 Nunes 765342 Null Null Banco de Dados I Aula 9 - 24/51 Surgem valores nulos (Null) sempre que há um professor que não tem disciplina. Não há como chavear a tabela ©Prof. Lineu Mialaret Relacionamento Binário 1:N Solução: Professor NDoc Nome Disciplina CodDisc PreReq NDoc Tel ALGA Nenhum 1001 1001 Altino 721334 LP EPPA 977 977 Ferreira 722876 EPPA Nenhum 667 667 Fragoso 87761 SO LP 977 778 Nunes 765342 EBD LP 667 São necessárias duas relações: Professor (Ndoc, Nome, Tel) Disciplina (CodDisc, PreReq, NDoc) Banco de Dados I Aula 9 - 25/51 Chave estrangeira ©Prof. Lineu Mialaret Regra 5 Relacionamento Binário 1:N com Participação Obrigatória ou Opcional no lado 1 e Participação Opcional do lado N Mapeamento: São necessárias duas tabelas, uma para cada entidade. A chave primária de cada entidade serve de chave primária na tabela correspondente. A chave primária da entidade do lado 1 é usada como atributo (chave estrangeira) na tabela correspondente à entidade do lado N. Banco de Dados I Aula 9 - 26/51 ©Prof. Lineu Mialaret Relacionamento Binário 1:N Participação Opcional de ambos os lados NDoc Nome Ensina Professor Disciplina CodDisc Tel ProfessorDisciplina NDoc Nome Tel CodDisc PreReq 1001 Altino 721334 ALGA Nenhum 977 Ferreira 722876 LP EPPA 667 Fragoso 87761 EPPA Nenhum Null Null Null TI SD 977 Ferreira 765342 SO LP 667 Fragoso 87761 EBD LP 778 Nunes 7653342 Null Null Banco de Dados I Aula 9 - 27/51 PreReq Por que a solução em uma tabela única não é viável? ©Prof. Lineu Mialaret Relacionamento Binário 1:N Solução: Disciplina CodDisc PreReq Professor NDoc Nome Tel NDoc ALGA Nenhum 1001 LP EPPA 977 EPPA Nenhum 667 SO LP 977 1001 Altino 721334 977 Ferreira 722876 667 Fragoso 87761 EBD LP 667 778 Nunes 765342 TI SD Null São necessárias duas relações: Professor (Ndoc, Nome, Tel) Disciplina (CodDisc, PreReq, NDoc) Banco de Dados I Aula 9 - 28/51 Chave estrangeira ©Prof. Lineu Mialaret Regra 6 Relacionamento Binário M:N Mapeamento: São necessárias três tabelas, uma para cada entidade e uma terceira para o relacionamento. A chave primária de cada entidade serve de chave primária na tabela correspondente. A tabela relativa ao relacionamento terá de ter entre os seus atributos chaves (que compõem a chave primária da tabela) as chaves primárias de cada uma das entidades envolvidas no relacionamento. Banco de Dados I Aula 9 - 29/51 ©Prof. Lineu Mialaret Relacionamento Binário M:N (1) NDoc Nome Ensina Professor Disciplina CodDisc Tel PreReq ProfessorDisciplina NDoc Nome Tel CodDisc PreReq 1001 Altino 721334 ALGA Nenhum 977 Ferreira 722876 LP EPPA 667 Fragoso 87761 EPPA Nenhum Null Null Null TI SD 977 Ferreira 765342 SO LP 667 Altino 87761 EBD LP 778 Nunes 765342 Null Null 1002 Anacleto 643246 SO LP 988 M Teresa 812354 Null Null Banco de Dados I Aula 9 - 30/51 Por que a solução em uma tabela única não é viável? ©Prof. Lineu Mialaret Relacionamento Binário M:N (2) Quando o relacionamento binário é M:N, e independentemente do tipo de participação, são sempre necessárias três tabelas. Solução: Professor NDoc Nome Tel 1001 Altino 721334 Ensina NDoc 977 Ferreira 722876 667 Frgoso 778 Disciplina CodDisc PreReq CodDisc ALGA Nenhum 1001 ALGA LP EPPA 87761 977 LP EPPA Nenhum Nunes 765342 667 EPPA TI SD 1002 Anacleto 643246 977 SO SO LP 988 M Teresa 812354 667 EBD EBD LP 1002 SO Banco de Dados I Aula 9 - 31/51 ©Prof. Lineu Mialaret Regra 7 Relacionamento Ternário (e superior) Mapeamento: São sempre necessárias quatro tabelas, uma para cada entidade e uma quarta para o relacionamento. A chave primária de cada entidade serve de chave primária na tabela correspondente. A tabela relativa ao relacionamento terá de ter entre os seus atributos chave (que compõem a chave primária da tabela) as chaves primárias de cada uma das outras tabelas. Em relacionamentos de grau N são necessárias N+1 tabelas, de modo inteiramente com o mapeamento de mode análogo. Banco de Dados I Aula 9 - 32/51 ©Prof. Lineu Mialaret Relacionamento Ternário ou Superior (1) (a) Ternary relationship. Banco de Dados I Aula 9 - 33/51 ©Prof. Lineu Mialaret Relacionamento Ternário ou Superior (2) (b) Mapping the ternary relationship. Banco de Dados I Aula 9 - 34/51 ©Prof. Lineu Mialaret Regra 8 Atributos Multivalorados Mapeamento: É necessária uma tabela para a entidade (ou relacionamento) e seus atributos que não são multivalorados. Cria-se uma nova tabela R que inclui como atributos o atributo multivalorado A mais a chave primária K da tabela que representa a entidade (ou relacionamento) que tem A como atributo. A chave primária de R é a combinação de A e K. Banco de Dados I Aula 9 - 35/51 ©Prof. Lineu Mialaret Atributos Multivalorados (a) a) Mapping a multivalued attribute. Multivalued attribute becomes a separate relation with foreign key. (b) b) 1:M relationship between original entity and new relation. Banco de Dados I Aula 9 - 36/51 ©Prof. Lineu Mialaret Regra 9 Atributos Compostos Mapeamento: É necessária uma tabela para a entidade (ou relacionamento) e seus atributos que não são compostos. Se o atributo é composto, incluir seus componentes atômicos na tabela correspondente à entidade que possui esse atributo. Banco de Dados I Aula 9 - 37/51 ©Prof. Lineu Mialaret Atributos Compostos (a) CUSTOMER entity with composite attribute (b) CUSTOMER relation with address detail Mapping a composite attribute. Banco de Dados I Aula 9 - 38/51 ©Prof. Lineu Mialaret Regra 10 Entidades Fracas Mapeamento: Para cada entidade fraca W relacionada com uma entidade forte E, cria-se uma tabela R e incluí-se todos os atributos simples de W como atributos de R. Incluí-se como atributos da chave estrangeira de R os atributos que compõem a chave primária da entidade forte E. A chave primária da tabela R é a combinação da chave primária da entidade forte E (que é chave estrangeira em W) e a chave parcial da entidade fraca W. Banco de Dados I Aula 9 - 39/51 ©Prof. Lineu Mialaret Entidades Fracas (1) a) Example of a weak entity DEPENDENT. Banco de Dados I Aula 9 - 40/51 ©Prof. Lineu Mialaret Entidades Fracas (2) Foreign key Composite primary key b) Relations resulting from weak entity. Banco de Dados I Aula 9 - 41/51 ©Prof. Lineu Mialaret Regra 11 Relacionamento Recursivo Mapeamento: Para relacionamentos recursivos 1:N Usar de uma chave estrangeira recursiva (um atributo que referencia o atributo chave da própria tabela) na mesma tabela. Para relacionamentos recursivos M:N Criar duas tabelas, sendo uma para a entidade envolvida. A outra tabela é usada para representar o relacionamento recursivo, sendo que sua chave primária possui dois atributos, ambos tomados da chave primária da entidade. Banco de Dados I Aula 9 - 42/51 ©Prof. Lineu Mialaret Relacionamento Recursivo (1) (a) EMPLOYEE entity with Manages relationship (b) EMPLOYEE relation with recursive foreign key Mapping a unary 1:N relationship. Banco de Dados I Aula 9 - 43/51 ©Prof. Lineu Mialaret Relacionamento Recursivo (2) (a) Bill-of-materials relationships (M:N) (b) ITEM and COMPONENT relations Mapping a unary M:N relationship. Banco de Dados I Aula 9 - 44/51 ©Prof. Lineu Mialaret Regra 12 Relacionamento de Herança Mapeamento: É criada uma tabela para o supertipo e uma tabela para cada subtipo. Os atributos do supertipo (incluindo as suas chaves) são mapeados para uma tabela correspondente. os atributos dos subtipos são mapeados para tabelas correspondentes aos subtipos, e a chave primária do supertipo se torna chave primária (chave estrangeira) do subtipo. Banco de Dados I Aula 9 - 45/51 ©Prof. Lineu Mialaret Relacionamento de Herança (1) Supertype/subtype relationships. Banco de Dados I Aula 9 - 46/51 ©Prof. Lineu Mialaret Relacionamento de Herança (2) Mapping Supertype/subtype relationships to relations Banco de Dados I Aula 9 - 47/51 ©Prof. Lineu Mialaret MER no PowerDesigner (1) Entity_1 Relationship_1 Attribute_1 Attribute_2 Entity_4 Attribute_3 Attribute_4 Relationship_2 Attribute_1 Attribute_2 Entity_6 Attribute_1 Attribute_2 Entity_3 Attribute_3 Attribute_4 Relationship_3 Entity_5 Attribute_3 Attribute_4 Attribute_1 Attribute_2 Entity_8 Entity_2 Relationship_4 Entity_7 Attribute_3 Attribute_4 Entity_10 Relationship_5 Attribute_1 Attribute_2 Entity_12 Attribute_3 Attribute_4 Relationship_6 Attribute_1 Attribute_2 Entity_14 Attribute_1 Attribute_2 Entity_11 Attribute_3 Attribute_4 Relationship_7 Attribute_1 Attribute_2 Entity_16 Entity_9 Entity_13 Attribute_3 Attribute_4 Relationship_8 Entity_15 Attribute_3 Attribute_4 MER no PowerDesigner com Diversos Tipos de Participações. Banco de Dados I Aula 9 - 48/51 ©Prof. Lineu Mialaret Modelo Relacional no PowerDesigner (1) Entity_1 Attribute_1 <pk> Attribute_3 <fk> Attribute_2 Relationship_1 Relationship_1 Entity_6 Attribute_1 <pk> Attribute_3 <fk> Attribute_2 Relationship_2 Relationship_2 Attribute_3 <pk> Attribute_1 <fk> Attribute_4 Attribute_1 <pk> Attribute_2 Entity_3 Attribute_3 <pk> Attribute_1 <fk> Attribute_4 Relationship_5 Entity_11 Relationship_3 Relationship_3 Attribute_1 <pk> Attribute_2 Attribute_3 <pk> Attribute_1 <fk> Attribute_4 Relationship_4 Attribute_3 <pk> Attribute_1 <fk> Attribute_4 Attribute_3 <pk> Attribute_1 <fk> Attribute_4 Entity_13 Attribute_1 <pk> Attribute_2 Relationship_7 Attribute_3 <pk> Attribute_4 Relationship_7 Relationship_7 Entity_7 Relationship_4 Relationship_6 Attribute_1 <pk,fk1> Attribute_3 <pk,fk2> Entity_16 Entity_15 Attribute_1 <pk> Attribute_2 Attribute_3 <pk> Attribute_4 Relationship_8 Modelo Relacional no PowerDesigner Gerado do MER Anterior. Banco de Dados I Attribute_3 <pk> Attribute_1 <fk> Attribute_4 Entity_14 Entity_5 Entity_8 Attribute_1 <pk> Attribute_3 <fk> Attribute_2 Entity_10 Entity_12 Entity_4 Attribute_1 <pk> Attribute_3 <fk> Attribute_2 Entity_9 Entity_2 Aula 9 - 49/51 Relationship_8 Relationship_8 Attribute_1 <pk,fk1> Attribute_3 <pk,fk2> ©Prof. Lineu Mialaret MER no PowerDesigner (2) Employee EmployeeNumber EmployeeName Address EmployeeType Data_Hired Inheritance_1 HourlyEmployee SalariedEmployee Hourly_Rate Annual_Salary Stock_Options Consultor Contract_Number Billing_Rate MER com Herança no PowerDesigner. Banco de Dados I Aula 9 - 50/51 ©Prof. Lineu Mialaret Modelo Relacional no PowerDesigner (2) Employee EmployeeNumber <pk> EmployeeName Address EmployeeType Data_Hired Inheritance_1 Inheritance_1 Inheritance_1 HourlyEmployee SalariedEmployee Consultor H_EmployeeNumber <pk,fk> Hourly_Rate E_EmployeeNumber <pk,fk> Annual_Salary Stock_Options C_EmployeeNumber <pk,fk> Contract_Number Billing_Rate Modelo Relacional Gerado no PowerDesigner com Base no MER Anterior. Banco de Dados I Aula 9 - 51/51 ©Prof. Lineu Mialaret