igo*_*ard 35 database-design terminology
关于 SQL(计算/数据库):
当我们在一个表中有两个或多个字段共同唯一地标识其记录时,调用它们的正确方法是什么?复合键还是复合键?
我在网上看到两种用法,所以我不太确定。
nvo*_*gel 35
复合键和复合键都描述了具有多个属性的候选键。根据关系数据库词典 (CJDate),它们的含义相同。
在 ER 建模中,术语“复合键”也有更具体的含义。它意味着一个键,其组成属性是对其他实体中键的引用——即复合键形成识别关系。对于大多数目的,这不是一个特别有用或重要的概念,因此术语复合/化合物通常被视为可互换的。除非您特指复合键的 ER 建模概念,否则最好坚持使用“复合键”。
jco*_*and 23
我仍然不确定为什么没有咨询http://en.wikipedia.org/wiki/Compound_key。它非常清楚地说明(并且是正确的):
在数据库设计中,复合键是由 2 个或多个唯一标识实体出现的属性组成的键。组成复合键的每个属性本身就是一个简单的键。
这通常与复合键混淆,即使这也是由 2 个或多个唯一标识实体事件的属性组成的键,但构成复合键的至少一个属性本身并不是一个简单的键。
复合键由可能是也可能不是外键的元素组成。示例:在交易明细表中,键是(TransactionId, ItemNumber)。交易明细是交易的子实体。TransactionId 是外键,引用 Transactions 表。ItemNumber 本身并不是一个键。它仅在单个事务的上下文中唯一标识一个项目。
复合键是一种键,其中键的任何部分都是外键。示例:在酒店预订系统中,预订具有复合键(GuestId、HotelId、ArrivalDate)。GuestId 标识访客,并引用访客表。HotelId 标识酒店,并引用酒店表。ArrivalDate 标识一个日期。可能有也可能没有它引用的日期表,但它以任何一种方式标识一个实体(日期)。
同样值得注意的是这个事实:简单键是由一列组成的键,而复合键是由两列或更多列组成。
| 归档时间: |
|
| 查看次数: |
50519 次 |
| 最近记录: |