1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Relacionar um tabela com outra tabela que tenha chave primária composta?

Vou usar um exemplo para ajudar na pergunta, imaginem as seguintes tabelas no banco de dados:

CREATE TABLE LANCHE(
  ID NUMBER(10),  
  DESCRICAO VARCHAR2(50)
  CONSTRAINT CHAVE_PRIMARIA PRIMARY KEY (ID)
);

CREATE TABLE LANCHE_CUSTOMIZADO(
  LACHE_ID NUMBER(10),
  TIPO_ID NUMBER(10),
  VALOR NUMBER(10,2)
  CONSTRAINT CHAVE_PRIMARIA PRIMARY KEY (LANCHE_ID, TIPO_ID)
  CONSTRAINT FK_TIPO FOREIGN KEY(TIPO_ID) REFERENCES TIPO(ID)
);

CREATE TABLE TIPO(
  ID NUMBER(10),
  NOME VARCHAR(20)
  CONSTRAINT CHAVE_PRIMARIA PRIMARY KEY (ID)
);

Agora imagine que eu tenho as seguintes tabelas:

CREATE TABLE PEDIDO(
  DATA DATE;
);

CREATE TABLE LANCHES_DO_PEDIDO(
  PEDIDO_ID NUMBER(10),
  ?
);

Como eu faço para relacionar a tabela TABELA LANCHES_DO_PEDIDO com a tabela LANCHE_CUSTOMIZADO, sendo que o id é composto?

Isso sem criar uma nova chave primária. E também pergunto, é um boa prática fazer assim, ou é melhor criar uma chave primária?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags sql ou faça a sua própria pergunta.