我遇到了一個問題,試圖瞭解我的表應該如何與我的數據庫相關聯。我是一個初學者,並試圖自己研究。該表是低於外鍵關係沒有意義,有沒有更好的方法?
CREATE TABLE PIZZA
(
pizza_id INT AUTO_INCREMENT PRIMARY KEY,
pizza_name VARCHAR (255),
pizza_desc VARCHAR (255),
pizza_price DOUBLE
);
CREATE TABLE CUSTOMER
(
cust_id INT AUTO_INCREMENT PRIMARY KEY,
cust_first_name VARCHAR (255),
cust_last_name VARCHAR (255),
cust_street VARCHAR (255),
cust_apt VARCHAR (255),
cust_city VARCHAR (255),
cust_state CHAR(2),
cust_zip CHAR(5),
cust_home_phone CHAR(10),
cust_mobile_phone CHAR(10),
cust_other_phone CHAR(10)
);
CREATE TABLE PIZZA_ORDER
(
pizza_order_id INT AUTO_INCREMENT PRIMARY KEY,
pizza_id INT,
cust_id INT,
order_date TIMESTAMP,
order_quantity INT,
order_notes VARCHAR (255),
FOREIGN KEY (pizza_id) REFERENCES PIZZA(pizza_id),
FOREIGN KEY (cust_id) REFERENCES CUSTOMER(cust_id)
);
我的問題是,如何將這項工作如果在PIZZA_ORDER表中的記錄也讓我們說兩個不同的比薩餅,這意味着兩個不同的pizza_ids?我正在考慮讓PIZZA_ORDER的主鍵不是唯一的,並且每個實際訂單都有x個記錄。但我不確定這是如何工作的。再次感謝你們在這方面的任何亮光。
你的比薩表需要一個外鍵Pizza_Order表,你有它向後 – reggaeguitar
你,先生,有許多一對多的關係存在。見http://stackoverflow.com/questions/1273715/many-to-many-relationship-in-database-design – kittykittybangbang
@kittykittybangbang謝謝,是的,我有一個多對多的比薩餅和比薩餅。我想在將來,如果可能的話,我應該儘量避免多對多。謝謝你的幫助。 – Rusty