Modelo Entidade/Relação (Modelo E/R - Modelo de representação de dados)
MODELO E/R É um instrumento de análise e desenho de base de dados. Fornece um método para estruturar os dados e as relações entre os dados. ENTIDADE Algo que se identifica através de um nome ou de uma descrição. Objecto que existe fisicamente ou na mente do “programador” e é identificado de maneira única e tem um conjunto de atributos que são sua propriedade.
RELAÇÃO DO TIPO UM PARA MUITOS ou 1:N Descrição da relação E2 1 N X Entidade X Y Atributo ou campo de uma determinada entidade Relacionamento Numa relação de 1:N, na entidade do “lado do N” tem que existir um campo que é chave estrangeira e por isso tem o mesmo nome e tipo da chave primária da entidade do “lado do 1”. Campo que faz parte da Chave primária Esquema relacional E1(X) E3(Y, X)
RELAÇÃO DO TIPO MUITOS PARA MUITOS ou N:N X Y E1 Descrição da relação E2 A1) N N Y E1 E3 E2 Descrição da relação Descrição da relação A2) 1 N 1 N X Y X Entidade de intersecção Esquema relacional E1(X) E3(X,Y) E2(Y) Na entidade de intersecção a chave primária é formada pelos campos com o mesmo nome e tipo dos campos que são chave primária das entidade que lhe deram origem. Transformação A1 para A2 é necessária para representação nos esquemas relacionais
RELAÇÃO DO TIPO UM PARA UM ou 1:1 Numa relação de 1:1 as chaves primárias de ambas as entidades são iguais (são campos com o mesmo nome e do mesmo tipo). X X E1 E2 Descrição Da relação 1 1 Esquema relacional E1(X) E2(X)
Exemplos
RELAÇÃO DO TIPO UM PARA MUITOS ou 1:N Pretende-se criar uma base de dados para fazer a gestão dos produtos existentes num armazém. Especificação 1: Cada tipo de produto tem um único fornecedor e cada fornecedor fornece vários produtos. Fornecedor N 1 fornece Produto Código fornecedor Código produto ...
Desenho do modelo de relações no Access ∞ 1 Código Fornecedor Código produto Nome produto ... Produto Nome fornecedor Fornecedor
Representação do esquema relacional Produto (Código Produto, Código fornecedor, Nome produto) Fornecedor(Código Fornecedor, Nome Fornecedor) Tabelas relacionadas através do campo comum Código de fornecedor que é chave primária na tabela fornecedor e é chave externa (estrangeira) na tabela Produto.
RELAÇÃO DO TIPO MUITOS PARA MUITOS ou N:N Pretende-se criar uma base de dados para fazer a gestão dos produtos de uma empresa de venda directa ao público. Especificação 1: Posso fazer encomendas de vários produtos. Um tipo de produto pode ser encomendado por vários clientes. Encomenda Produto N Detalhes (Items) da Encomenda 1 contém Nº Encomenda Código produto A1) A2) Transformação A1 para A2 é necessária para representação nos modelos relacionais
Desenho do modelo de relações no Access N:N Desenho do modelo de relações no Access Encomenda Nº da Encomenda Valor ... Nº da Encomenda Código do produto ... Detalhes da encomenda Código produto Nome produto ... Produto ∞ 1 1 ∞
Representação do esquema relacional N:N Representação do esquema relacional Encomenda (Nº da encomenda ,Valor) Detalhes da encomenda (Nº da encomenda , Código do produto) Produtos (Código produto , Nome produto) As encomendas e o produtos relativos a uma encomenda estão relacionados com o auxilio de uma tabela de intersecção: Detalhes da encomenda.
RELAÇÃO DO TIPO UM PARA UM ou 1:1 Pretende-se criar uma base de dados para fazer a gestão dos alunos da escola. Especificaçao 1: Um aluno para frequentar a escola tem que estar matriculado. Uma matricula corresponde a um único aluno. Nº Aluno Nº Aluno Aluno corresponde Matrícula 1 1 Nome
Desenho do modelo de relações no Access 1:1 Desenho do modelo de relações no Access Aluno Nº Aluno ... Nº Aluno Nome ... Matrícula 1 1
Representação do esquema relacional 1:1 Representação do esquema relacional Aluno (NºAluno) Matrícula (NºAluno, Nome)