Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 11 - 简介 » SQL Anywhere 11 概述 » 数据管理技术概述 » 关系数据库概念 » 表间的关系

 

主键

关系数据库中的每个表都应有一个主键。主键是唯一标识每一行的一列或列集合。在一个表中不能有两个行具有相同的主键值。

示例

在 SQL Anywhere 示例数据库 (samples-dir\demo.db) 中,Employees 表用于存储雇员的个人信息。其主键列名为 EmployeeID,用于保存指派给每名雇员的唯一 ID 号。用单一列保存 ID 号是指派主键的一种常见方式,ID 号优于名称和其它标识符,因为后两者并不总是唯一的。

在 SQL Anywhere 示例数据库的 SalesOrderItems 表中包含更为复杂的主键。该表用于保存与公司订单上各项目有关的信息,它包含以下各列:

  • ID   订单号,标识某项所属于的订单。

  • LineID   行号,标识任一订单上的每一项。

  • ProductID   产品 ID,标识所订购的产品。

  • Quantity   数量,显示订购了多少项。

  • ShipDate   发货日期,显示发货的时间。

特定的销售订单项由其所属订单及订单上的行号来标识。这两个号码存储在 ID 和 LineID 列中。多个项目可以共享一个 ID 值(对应于包含多个项目的一张订单),或者也可以共享一个 LineID 号(不同订单上所有第一个项目的 LineID 均为 1)。但不会有两个项同时共享这两个值,因此主键由这两列组成。