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

Documentos relacionados
Sumário. Modelo Entidade-Associação. Modelo Entidade-Associação. Entidades. André Restivo. September 21, 2010

Bases de Dados. Parte III. O Modelo Relacional

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Base de Dados. Sistemas de Informação. Base de Dados - Índice Introdução Componentes Base de Dados. Introdução. Introdução. Introdução.

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

MC536. Modelo Relacional

Restrições do modelo relacional

Teste Exemplo Revisão da tentativa 1

Banco de Dados. Aula 7 - Prof. Bruno Moreno 13/09/2011

Modelo Entidade Relacionamento Estendido (ERE)

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

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

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

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

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

Bancos (Bases) de Dados Aula #4 Modelo Relacional

INTRODUÇÃO AO MODELO RELACIONAL

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

Modelo Relacional Prof. Msc Denival A. dos Santos

MODELO DE BANCO DE DADOS RELACIONAL

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

Introdução ao Modelo Relacional

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

António Rocha Nuno Melo e Castro

Sistemas de Informação e Bases de Dados 2012/2013. Modelo Relacional. Alberto Sardinha 2012 IST

Banco de dados. Conteúdo: Modelo relacional Prof. Patrícia Lucas

Chave alternativa. Angélica Toffano Seidel Calazans Abordagem Relacional

SQL - Criação de Tabelas

Revisando Banco de Dados. Modelo Relacional

O que é modelo lógico. Tipos de modelo

Parte II Modelo de Dados Relacional. Evandro E. S. Ruiz

Unidade 4 Projeto de BD Relacional

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

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

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

BCD29008 Banco de dados

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Banco de Dados Modelagem e Normalização

Modelo de Dados Relacional

Modelagem Conceitual parte I

Banco de Dados. Modelo de Dados Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai DCC-IME-USP

Modelagem Conceitual parte I

Modelo Entidade-Relacionamento (E-R)

Bibliografia. Bases de Dados 2012/2013 Modelo Relacional. Helena Galhardas. Raghu Ramakrishnan, Database Management Systems, Cap. 3 10/2/ IST

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

Bases de Dados. Parte III: O Modelo Relacional

Informática. Banco de Dados Relacional. Professor Julio Alves.

SQL Básica. Andre Noel

Administração e Projeto de Banco de dados

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

Abordagem relacional. Capítulo 4

Banco de Dados. Aula 6 - Prof. Bruno Moreno 09/09/2011

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

MODELO RELACIONAL PARTE 2

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

Modelo Lógico de Dados. Modelo Relacional

Sumário SELECT + FROM

Normalização. Prof. Rogério Gonçalves Bittencourt, M.Sc.

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

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

Banco de Dados Mapeamento Entidade Relacionamento para Relacional

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

Banco de Dados I 3 Modelagem de Dados Lógico e Físico

Dependência Funcional e Normalização)

Modelo Relacional Wendel Melo

MODELAGEM DE DADOS PARTE 2

SQL-99: Esquema de BD EMPRESA

Modelo Relacional. Gerenciamento de Dados e Informação. Modelo Relacional Sejam os domínios D 1 (D- Pessoa) e D 2 (D- Endereço) Modelo Relacional

O Modelo Relacional. Criando relações em SQL

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

O Modelo Relacional. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento)

ATRIBUTOS. Prof. Me. Hélio Esperidião

Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática

Banco de Dados. Modelo de Dados Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Base de Dados. Base de Dados. O diagrama Entidade - Relacionamento Setembro, Msc Célio B. sengo. Ano Lectivo 2013

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

Databases. Breves notas sobre a Conversão do DEA para o Modelo Relacional

Modelo de Dados Relacional

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

SQL. Linguagem de Definição de Dados (DDL) Tipos em SQL. Tipos Data/Tempo em SQL (cont.)

Transformação de Diagramas MER em Diagramas DR

2010 Diagrama Entidade - Associação

Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações

AULA 3 Classificação dos Sistemas de Informação

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011

INTRODUÇÃO (MODELAGEM DE BANCO DE DADOS) Professor Carlos Muniz

Curso Profissional de Técnico de Multimédia 11ºAno. Disciplina: Sistemas de Informação

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Instrução Create Table

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO SISTEMAS DE GESTÃO DE BASE DE DADOS O MODELO RELACIONAL

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

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

Modelo Relacional. Aula 02

Fundamentos de Banco de Dados e Modelagem de Dados

Rápida revisão do Modelo Relacional

Bases de Dados. Parte VIII: Normalização

Professor Eros Moura, DSc

GES013 Sistema de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br UFU/FACOM

Transcrição:

Modelo Relacional André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) Modelo Relacional February 24, 2012 1 / 19

Sumário 1 Modelo Relacional 2 Operações 3 Conversão para o Modelo Relacional André Restivo (FEUP) Modelo Relacional February 24, 2012 2 / 19

Modelo Relacional Modelo Relacional Introduzido por Codd (1970) Base de Dados Relacional: Conjunto de Relações (Tabelas) Conjunto de Restrições de Integridade Esquema de uma Relação: Nome da Relação Nome e Tipo de cada Atributo (Colunas) Restrições de Integridade Interna Tuplos ou Instâncias de uma Relação: Os conteúdos das relações (Linhas) André Restivo (FEUP) Modelo Relacional February 24, 2012 3 / 19

Modelo Relacional Tuplos Linhas de cada relação Sequência ordenada de valores (ordem da sequência é importante) Tuplos de uma relação (ou tabela) não têm ordem Os valores das componentes de um tuplo são atómicos Nota No modelo relacional não pode haver atributos compostos ou multivalor André Restivo (FEUP) Modelo Relacional February 24, 2012 4 / 19

Modelo Relacional Chave de uma Relação Identifica de forma única os tuplos da relação Conjunto mínimo de atributos da relação tal que não existam 2 tuplos distintos com valores iguais nesses atributos. Uma relação pode ter várias chaves candidatas: 1 chave primária + chaves alternativas André Restivo (FEUP) Modelo Relacional February 24, 2012 5 / 19

Modelo Relacional Chave Externa Também pode ser chamada de Chave Estrangeira (Foreign Key). Atributo (ou conjunto de atributos) que referencia um atributo (ou conjunto de atributos) de uma outra relação. O conjunto de atributos referenciados tem de ser uma chave candidata da relação. André Restivo (FEUP) Modelo Relacional February 24, 2012 6 / 19

Modelo Relacional Notação Relação Chave Atributo 1 Atributo 2 #Chave Externa Tabela André Restivo (FEUP) Modelo Relacional February 24, 2012 7 / 19

Modelo Relacional Restrições Intrínsecas do Modelo Relacional Integridade de entidade os valores da chave primária não podem ser nulos os valores dos atributos têm de pertencer ao domínio Unicidade da chave não podem existir 2 tuplos diferentes com valores iguais na chave Integridade referêncial um tuplo de uma relação que se refira a uma outra relação, tem de se referir a um tuplo existente nessa relação André Restivo (FEUP) Modelo Relacional February 24, 2012 8 / 19

Modelo Relacional Outras Restrições e Notação Alguns atributos não podem conter valores nulos mesmo não sendo chaves candidatas. Estes atributos podem ser representados colocando um NN (Not Null) junto do atributo. Chaves candidatas que não sejam escolhidas como chave primária podem ser representadas por UK (unique key). André Restivo (FEUP) Modelo Relacional February 24, 2012 9 / 19

Operação de Inserção Operações Permite inserir um ou mais tuplos numa relação, pode violar qualquer dos 3 tipos de restrições: integridade da entidade: se um dos valores não pertencer ao domínio ou se o valor da chave do novo tuplo for null unicidade da chave: o valor da chave do novo tuplo já existe num outro tuplo da tabela integridade referêncial: se o valor de uma chave externa referir um tuplo não existente. Se uma das restrições for violada, opta-se por: rejeitar a operação ou tentar corrigir a razão da rejeição André Restivo (FEUP) Modelo Relacional February 24, 2012 10 / 19

Operações Operação de Remoção Remove tuplos de valores de uma tabela, pode violar apenas a integridade referêncial no caso de o tuplo a remover ser referenciado por uma das chaves externas de outro tuplo na BD. Requer uma condição sobre os atributos de forma a selecionar o tuplo ou tuplos a serem removidos. : remover todos os empregados do departamento 10. Caso ocorra violação, opta-se por: rejeitar a operação ou procurar propagar a operação e remover todos os tuplos que referenciam o que está a ser removido ou alterar para null os valores dos atributos dos tuplos que referenciam o que está a ser removido André Restivo (FEUP) Modelo Relacional February 24, 2012 11 / 19

Passo 1 : Entidade-Tipo Relação Atributos simples da entidade atributos da relação Atributos compostos atributos individuais na relação Atributo chave da entidade chave da relação Atributos multivalor (ver passo 5) Empregado (bi, nome (pnome, unome)) empregado bi pnome unome André Restivo (FEUP) Modelo Relacional February 24, 2012 12 / 19

Passo 2 : Associações de 1 para 1 R(E1, E2) Sejam S1 e S2 as relações correspondentes às entidade E1 e E2, respectivamente. Escolher uma das relações. Normalmente a que tem participação total em R. Por exemplo S1. Incluir como chave externa em S1 a chave principal de S2. A chave externa passa a ser uma chave candidata de S1 pois não pode ter repetidos. Se a participação de E1 em R for total, então a chave externa não pode ter valores nulos. Incluir todos atributos simples da associação R na relação S1. Empregado (bi, nome (pnome, unome)) dirige (Empregado, Departamento) 1:1 p/t departamento num nome #bidir empregado UK, NN André Restivo (FEUP) Modelo Relacional February 24, 2012 13 / 19

Passo 3 : Associações de 1 para N R(E1, E2) Sejam S1 e S2 as relações correspondentes às entidade E1 e E2, respectivamente. Escolhe-se a relação correspondente à entidade participante do lado N em R. Neste caso a relação S2. Incluir como chave externa em S2 a chave principal de S1. Incluir os atributos simples da associação na relação S2. Se a participação de E2 em R for total, então a chave externa não pode ter valores nulos. Empregado (bi, nome (pnome, unome)) trabalhapara (Empregado, Departamento, cargo) N:1 t/p empregado bi pnome unome #num departamento NN cargo NN André Restivo (FEUP) Modelo Relacional February 24, 2012 14 / 19

Passo 4: Associação N:N R(E1,E2) Criar uma nova relação S para representar a associação R: Incluir como chave externa em S as chaves principais das relações que representam as entidades E1 e E2 participantes em R. O conjunto das chaves externas formará a chave principal de S. Incluir todos atributos simples da Associação R na relação S. Empregado (bi, sexo, nome (pnome, unome)) trabalhaem (Empregado, Projecto, horas) N:N p/p trabalhaem #bi empregado #num projecto horas André Restivo (FEUP) Modelo Relacional February 24, 2012 15 / 19

Passo 5: Atributos Multi-Valor Para cada atributo A multivalor, cria-se uma nova relação S que: Inclui o atributo de A mais a chave principal, K, da relação que representa a entidade que tem A como atributo multivalor. A chave principal de S será a combinação de A e K. Departamento (num, nome, {telefone}) telefonedepartamento #num departamento telefone André Restivo (FEUP) Modelo Relacional February 24, 2012 16 / 19

Passo 6: Associação Ternária R(E1,E2,E3) Criar uma nova relação S para representar a associação R: Incluir como chave externa em S as chaves principais das relações que representam as entidades E1, E2 e E3 participantes em R. O conjunto das chaves externas formará a chave principal de S. Incluir todos atributos simples da Associação R na relação S. Produto (id, nome, preço) Fornecedor (nif, nome) encomendou (Projecto, Produto, Fornecedor, quantidade) N:N:N p/p/p encomendou #num projecto #id produto #nif fornecedor quantidade André Restivo (FEUP) Modelo Relacional February 24, 2012 17 / 19

Quadro Resumo Conversão para o Modelo Relacional Cardinalidade Participação Chave Externa Valores Não Nulos. 1:1 t/p Do lado da participação total. Chave única. 1:1 p/p Em qualquer uma das relacões. Chave única. Sem permitir valores nulos. Permitindo valores nulos. N:1 t/p Do lado do N. Sem permitir valores nulos. N:1 p/p Do lado do N. Permitindo valores nulos. N:N. Acrescentar tabela contendo as chaves externas para ambas as relações. Chave primária contém as chaves externas. - André Restivo (FEUP) Modelo Relacional February 24, 2012 18 / 19

Modelo Entidade Associação Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 1: Entidades Relações Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 1: Entidades Relações Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar departamento num nome André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 1: Entidades Relações Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar departamento num nome projecto num nome André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 1: Entidades Relações Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar departamento num nome projecto num nome carro matricula André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 1: Entidades Relações Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar departamento num nome projecto num nome carro matricula modelo marca modelo André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 1: Entidades Relações Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar departamento num nome projecto num nome carro matricula modelo marca modelo fornecedor nif nome André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 1: Entidades Relações Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar departamento num nome projecto num nome carro matricula modelo marca modelo fornecedor nif nome produto ref designacao André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 2: Associações 1:1 Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar departamento num nome #bi empregado UK projecto num nome carro matricula modelo marca modelo fornecedor nif nome produto ref designacao André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 2: Associações 1:1 Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar departamento num nome #bi empregado UK projecto num nome carro matricula #bi empregado NN UK modelo marca modelo fornecedor nif nome produto ref designacao André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 3: Associações N:1 Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar #num departamento NN departamento num nome #bi empregado UK projecto num nome carro matricula #bi empregado NN UK modelo marca modelo fornecedor nif nome produto ref designacao André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 3: Associações N:1 Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar #num departamento NN departamento num nome #bi empregado UK projecto num nome #bi empregado carro matricula #bi empregado NN UK modelo marca modelo fornecedor nif nome produto ref designacao André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 3: Associações N:1 Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar #num departamento NN departamento num nome #bi empregado UK projecto num nome #bi empregado carro matricula #bi empregado NN UK #(marca, modelo) modelo NN modelo marca modelo fornecedor nif nome produto ref designacao André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 4: Associações N:N Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar #num departamento NN departamento num nome #bi empregado UK projecto num nome #bi empregado carro matricula #bi empregado NN UK #(marca, modelo) modelo NN modelo marca modelo fornecedor nif nome produto ref designacao trabalha #bi empregado #num projecto horas André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 5: Atributos Multi-valor Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar #num departamento NN departamento num nome #bi empregado UK projecto num nome #bi empregado carro matricula #bi empregado NN UK #(marca, modelo) modelo NN modelo marca modelo fornecedor nif nome produto ref designacao trabalha #bi empregado #num projecto horas telefone #nif fornecedor telefone André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19

Passo 6: Associações Ternárias Empregado (bi, nome, morada (local, rua, numero, andar)) Carro (matricula) Modelo (marca, modelo) Fornecedor (nif, nome, {telefone}) Produto (ref, designacao) gere (Empregado, Departamento) 1:1 p/p usa (Empregado, Carro) 1:1 p/t pertence (Empregado, Departamento) N:1 t/p controla (Empregado, Projecto) 1:N p/p eum (Carro, Modelo) N:1 t/p trabalha (Empregado, Projecto, horas) N:N p/p compra (Projecto, Produto, Fornecedor, data) N:N:N p/p/p empregado bi nome local rua numero andar #num departamento NN departamento num nome #bi empregado UK projecto num nome #bi empregado carro matricula #bi empregado NN UK #(marca, modelo) modelo NN modelo marca modelo fornecedor nif nome produto ref designacao trabalha #bi empregado #num projecto horas telefone #nif fornecedor telefone compra #num projecto #ref produto #nif fornecedor data André Restivo (FEUP) Modelo Relacional February 24, 2012 19 / 19