我有一个数据库设计,利用复合主要钥匙确保独一无二,也是外国钥匙。
这些表格以同样方式与其他表格相连接,因此最终复合钥匙可达到4或5列。 这导致了一些相当庞大的日本航天研究所,因此,我认为一个简单的解决办法是使用一个汽车加固栏,该栏不是主要钥匙的一部分,而是作为其他表格的主要部分。
Here is some pseudo code showing the general layout :
CREATE TABLE Item (
id AUTO_INCREMENT,
...
PRIMARY KEY (id)
) ENGINE = InnoDB;
CREATE TABLE PriceCategory (
id AUTO_INCREMENT,
...
PRIMARY KEY (id)
)
CREATE TABLE ItemPriceCategory (
itemId,
priceCategoryId,
id AUTO_INCREMENT,
...
UNIQUE INDEX id,
PRIMARY KEY (eventId, priceCategoryId)
)
CREATE TABLE ClientType (
id AUTO_INCREMENT,
...
PRIMARY KEY (id)
)
CREATE TABLE Price (
itemPriceCategoryId,
clientTypeId,
id AUTO_INCREMENT,
...
UNIQUE INDEX id,
PRIMARY KEY (itemPriceCategoryId, clientTypeId)
)
table Purchase (
priceId,
userId,
amount,
PRIMARY KEY (priceId, userId)
)
表格名称已经修改,以保护无辜者。 此外,在参考文献方面,实际布局更为深入。
因此,我的问题是,从业绩和数据的完整性角度看,这是否是一项可行的战略? 是否最好从<编码>上所有参考表格中找到所有关键数据?
提前感谢。