Bonjour à tous,
Je cherche à savoir comment je dois annoter ma classe OrderLine qui possède 2 clé primaire pointant chacune sur une table différente.
Voici mes "obligations" :
Voici mes 2 autres contraintes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 -- CREATE TABLES CREATE TABLE ORDER_LINES (QUANTITY INTEGER NOT NULL, ORDERS_ID INTEGER NOT NULL, BOOKS_ID VARCHAR(17) NOT NULL, PRIMARY KEY (ORDERS_ID, BOOKS_ID)); CREATE TABLE BOOKS (ISBN13 VARCHAR(17) NOT NULL, TITLE VARCHAR(50) NOT NULL, EDITOR VARCHAR(20), UNIT_PRICE FLOAT, AUTHOR_ID INTEGER, PRIMARY KEY (ISBN13)); CREATE TABLE ORDERS (ID INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, ORDER_DATE TIMESTAMP, USER_ID VARCHAR(30), SHIPPING_ADR_ID INTEGER, PRIMARY KEY (ID));
A la base je pensais annoter ma classe OrderLine avec @idClasse car la clé primaire est composé de 2 colonnes mais je ne vois pas comment faire pour que mes FK contraints soient respectés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 -- ADD FK CONSTRAINTS ALTER TABLE ORDER_LINES ADD CONSTRAINT ORDERLINESORDERSID FOREIGN KEY (ORDERS_ID) REFERENCES ORDERS (ID); ALTER TABLE ORDER_LINES ADD CONSTRAINT ORDERLINESBOOKS_ID FOREIGN KEY (BOOKS_ID) REFERENCES BOOKS (ISBN13);
Pourriez-vous m'aider svp ?
Partager