数据库设计:从键的建立到字段规范的确定
1. 键的重要性及类型
在数据库设计中,键起着至关重要的作用,主要体现在以下三个方面:
- 唯一标识记录:确保每条记录在数据库中是独一无二的。
- 建立各种类型的完整性:保证数据的准确性和一致性。
- 建立表之间的关系:使得不同表之间能够相互关联。
常见的键主要有四种类型:
| 键的类型 | 描述 |
| ---- | ---- |
| 候选键 | 可以作为主键的字段或字段组合 |
| 主键 | 从候选键中选出,唯一标识表中每条记录 |
| 外键 | 用于建立表之间的关系 |
| 非键 | 不属于上述三种键的字段 |
2. 候选键的确定
候选键的目的是为表提供可能的主键选项。一个字段或字段组合要成为候选键,需要满足以下元素:
1. 唯一性:候选键的值在表中必须是唯一的。
2. 非空性:候选键的值不能为 NULL。
3. 最小性:候选键不能包含多余的字段。
4. 稳定性:候选键的值不应该频繁变化。
候选键可以由多个字段组成,并且一个表可以有多个候选键。当表中没有合适的字段作为候选键,或者创建一个新字段作为候选键会更合适时,可以使用人工候选键。
以 Mike’s Bikes 数据库中的 CUSTOMERS 表为例,在确定候选键时,对 STATUS、CUSTHOME PHONE 以及 CUSTFIRST NAME 和 CUSTLAST NAME 的组合进行了评估。通过加载样本数据进行测试后发现:
- STATUS 可能包含重复值,因为随着业务增长