我正在使用MySQL构建一个新的数据库,以存储从多个项目中汲取的经验教训。当我们在办公室中谈论此问题时,我们通过项目编号和课程编号来引用课程,即PR12-81,其中PR12引用项目,而81引用该项目中的特定课程。我也希望数据库中的主键中也有连字符。
在SQL中定义组合键时,我可以使其引用项目和课程,但不带连字符,即PR1281。我还考虑过创建一个单独的数据类型为CHAR(1)的列,在每行中都添加一个连字符,并说明PK由3列组成。
还有另一种方法可以指定首选格式的主键吗?
让表的主键是一个无意义的自动递增数字,没有任何“含义”。然后,在该表中定义two列:project_number
和lesson_number
。如果两个字段必须唯一,请定义一个包含两个字段的UNIQUE
索引。
Do n't(!)创建数据库密钥,这些密钥将信息嵌入到其中,即使企业这样做也是如此。如果企业需要引用诸如PR12
之类的字符串,那么...创建一个列来存储适当的值,或者使用一对多表。根据需要使用索引来增强唯一性。
我现在已经描述了[[four列:]的通知(!):
project_number
列,可能是projects
表的外键。lesson_number
。 (如果需要,可使用UNIQUE
复合do