相关疑难解决方法(0)

主键还是唯一索引?

在工作中,我们有一个大型数据库,具有唯一索引而不是主键,一切正常.

我正在为一个新项目设计新的数据库,我有一个两难的境地:

在DB理论中,主键是基本元素,没关系,但在REAL项目中,两者的优点和缺点是什么?

你在项目中使用了什么?

编辑: ...那么MS SQL服务器上的主键和复制呢?

sql database database-design

120
推荐指数
4
解决办法
14万
查看次数

自然键vs代理键是一个innodb外键

一个问题:

我有2张桌子:

Product
id INT
name VARCHAR(64)
something TEXT
else INT
entirely BOOL
Run Code Online (Sandbox Code Playgroud)

Ingredient
id INT
name VARCHAR(64)
description TEXT
Run Code Online (Sandbox Code Playgroud)

现在我还有一个链接表

Products_Ingredients
product_id INT
ingredient_id INT
Run Code Online (Sandbox Code Playgroud)

为了我的多对多关系.

现在,产品和配料都有独特的名称.所以我可以使用名称作为自然键...但这是一个好主意吗?

说我有一个产品:Paint Thinner Supreme 含有成分:Butylonitrotetrocycline

将这些名称用作链接表中的复合键是否是一个好主意?

尽管我理解在代理人之上使用自然键背后的想法,我有点不能不再认为使用简单整数作为主键(和外键)会更快.MySQL服务器消化这些不同密钥的方式会有区别吗?

你有什么意见?

mysql database database-design foreign-keys relational-database

12
推荐指数
1
解决办法
2934
查看次数