160 likes | 297 Views
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.
E N D
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 E1 E2 N 1 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 Y X E2 E1 Descrição da relação A1) N N Y E1 E2 E3 Descrição da relação Descrição da relação A2) 1 N 1 N Y X 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 E2 E1 Descrição Da relação 1 1 Esquema relacional E1(X) E2(X)
fornece Fornecedor Produto N 1 Código fornecedor ... Código fornecedor Código produto 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.
1:N ∞ 1 Código Fornecedor Nome fornecedor ... Fornecedor Código Fornecedor Código produto Nome produto ... Produto Desenho do modelo de relações no Access
1:N 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.
Código produto Nº Encomenda Produto Encomenda contém N N Código produto Encomenda Produto Detalhes (Items) da Encomenda contém contém 1 N 1 N Código produto Nº Encomenda Nº Encomenda 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. A1) A2) Transformação A1 para A2 é necessária para representação nos modelos relacionais
N:N Nº da Encomenda Código do produto ... Detalhes da encomenda Código produto Nome produto ... Produto Desenho do modelo de relações no Access Nº da Encomenda Valor ... Encomenda ∞ 1 1 ∞
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 Matrícula Aluno corresponde 1 1 Nome
1:1 Nº Aluno Nome ... Matrícula Desenho do modelo de relações no Access Nº Aluno ... Aluno 1 1
1:1 Representação do esquema relacional Aluno (NºAluno) Matrícula (NºAluno, Nome)