Fórum Relacionamento 0...1 na prática #541918
08/01/2016
0
- pedido
- endereço
- mesa
Os pedidos podem ser efetuados na pizzaria, ou seja, para uma mesa. Pode ser uma entrega(endereço) ou pode ser um pedido para viagem, onde ele não pertence a ninguém. No SQL da tabela pedido, no momento tenho o seguinte:
CREATE TABLE pedido
(
cod_ped INT NOT NULL,
cod_mesa INT,
cod_end INT,
val_ped DECIMAL(18,2),
tipo_ped CHAR(1) NOT NULL,
data_ins DATETIME,
CONSTRAINT pk_cod_ped
PRIMARY KEY(cod_ped),
CONSTRAINT fk_cod_mesa
FOREIGN KEY (cod_mesa)
REFERENCES mesa(cod_mesa),
CONSTRAINT fk_cod_end
FOREIGN KEY (cod_end)
REFERENCES endereco(cod_end),
);
porém, como explicado, um mesmo pedido pode pertencer tanto a 1 mesa/endereço quanto a nenhum. Criando a chave estrangeira, estaria obrigando este pedido a ter um endereço e uma mesa. Como resolver este problema?
Leonardo Coelho
Curtir tópico
+ 0Posts
08/01/2016
Romário Beckman
cod_mesa INT NULL DEFAULT NULL, cod_end INT NULL DEFAULT NULL,
Gostei + 0
08/01/2016
Claudio Lopes
Talvez a sua solução seja de criar uma mesa e um endereço "coringa" onde todos os pedidos que sejam direcionados para entrega possam ser tabulados dessa forma.
Ou você terá que alterar sua modelagem para que possa contornar essa situação.
Gostei + 0
14/01/2016
Ricardo
Você criando esta "mesa" coringa irá te ajudar na hora de fazer o controle dos pedidos, pois você ter o controle de onde este pedido foi feito. O que acredito que sejam os pedidos feitos no caixa para viagem.
Isso te ajudará bastante na hora de gerar relatórios!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)