Guest Visitante Postado Abril 21, 2008 Denunciar Share Postado Abril 21, 2008 ola estou aprendendo sql agora com base em um MER eu crie as tabelas abaixo, mais estou com duvida c realmente esta certoTABELASCreate Table Cliente (cod_cli int primary key, nome char(30), rua char(30), bairro char(15), numero int);Create Table Pedido (cod_ped in primary key, descricao char(30), cod_cli int, foreing key cod_cli references Cliente(cod_cli);Create Table Produto (cod_pro int primary key, descricao char (15), preço float);Create Table ItemPedido (numero int, quantidade int, valor float, cod_pro, cod_ped, foreing key cod_pro references Produto(cod_pro); foreing key cod_ped references Pedido(cod_ped); primary key (numero, cod_pro, cod_ped)); Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Abril 22, 2008 Denunciar Share Postado Abril 22, 2008 Oi, 'Visitante' ! Seu MER está quase certo. Faço duas ressalvas:A primeira, na chave primária do item do pedido que, por mim, ficaria somente com a combinação (cod_ped, numero);A segunda no atributo do relacionamento "Realiza", pois se é um relacionamento de 1 para muitos com pedidos, então o atributo data deverá ficar na tabela de pedidos que é o lado "muitos" do relacionamento. Atributos em relacionamentos devem ser colocados quando estes podem se tornar uma tabela auxiliar. Um exemplo disso está nas relações n_árias(binárias, ternárias, etc) muitos para muitos que usam uma tabela de ligação. Exemplo:Seja a relação "Coberturas" e "planos" de seguros: Um "plano" pode muitas "coberturas" e uma "cobertura" pode estar em muitos "planos". Assim, Para a montagem do modelo físico vamos precisar de três tabelas. A tabela "coberturas", a tabela "planos" e a tabela de ligação "coberturas_planos". Esta última terá, em essência, somente os atributos de cod_plano e cod_cobertura.Porém, se você qusesse saber a data de início de vigência da cobretura em um plano este atributo ficaria na tabela "cobertura_plano".Um abraço Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Visitante
ola estou aprendendo sql agora com base em um MER eu crie as tabelas abaixo, mais estou com duvida c realmente esta certo
TABELAS
Create Table Cliente (cod_cli int primary key, nome char(30), rua char(30), bairro char(15), numero int);
Create Table Pedido (cod_ped in primary key, descricao char(30), cod_cli int,
foreing key cod_cli references Cliente(cod_cli);
Create Table Produto (cod_pro int primary key, descricao char (15), preço float);
Create Table ItemPedido (numero int, quantidade int, valor float, cod_pro, cod_ped,
foreing key cod_pro references Produto(cod_pro);
foreing key cod_ped references Pedido(cod_ped);
primary key (numero, cod_pro, cod_ped));
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados