如果我在MySQL数据库中做正确的事,我需要一个建议。我将这个名为库存的数据库连接到一个java应用程序,它包含一个名为 item 的表,这里有详细信息:
我已经在库存应用程序的开发中使用它来存储库存,但我现在要做的是添加一个表来存储客户的订单。
我打算这样做:
表格名称:订单
由以下内容组成:
last_date_modified - 时间戳
我的问题是:我是否违反任何MySQL规则,因为我使用相同的变量?
提前致谢:)
答案 0 :(得分:3)
您的设计可能会使用一些规范化,您有大量重复的数据,这违背了MySQL等关系数据库的整体思路。
http://www.devshed.com/c/a/MySQL/An-Introduction-to-Database-Normalization/
答案 1 :(得分:1)
在订单表格中,您可以拥有Customer_Id并制作该外键。 在您为他/她创建订单之前,客户应该在那里。
如果你使用相同的变量,不,你不会违反MYSQL的规则,
当您编写JOINS时,您需要使用Alias来识别并且不要使用CONFUSED
答案 2 :(得分:1)
使用商品表格以及订单和 order_items 表格可能会更好。
订单强>
id int(11), AUTO_INCREMENT
customerid int(11)
orderdate datetime
PRIMARY KEY (id)
FOREIGN KEY (customerid) REFERENCES Customers(Id)
<强> ORDER_ITEMS 强>
orderid int(11),
itemid int(11)
FOREIGN KEY (orderid) REFERENCES Orders(id)
FOREIGN KEY (itemid) REFERENCES Items(Id)
这样可以减少重复的数据。