DBMS 中的映射约束,映射约束可以用映射基数来解释:
映射基数:
- 一对一:实体集 A 的一个实体可以与实体集 B 中的至多一个实体相关联,实体集 B 中的一个实体可以与实体集 A 中的至多一个实体相关联。
-
一对多:实体集 A 的一个实体可以与实体集 B 的任意数量的实体相关联,并且实体集 B 中的一个实体可以与实体集中 A 的至多一个实体相关联。
-
多对一:实体集 A 的一个实体可以与实体集 B 中的至多一个实体相关联,并且实体集 B 中的一个实体可以与实体集 A 的任意数量的实体相关联。
-
多对多:实体集 A 的一个实体可以与实体集 B 的任意数量的实体相关联,并且实体集 B 中的一个实体可以与实体集 A 的任意数量的实体相关联。
在数据库中创建表时,我们可以使用这些约束。
示例:
CREATE TABLE Customer (
customer_id int PRIMARY KEY NOT NULL,
first_name varchar(20),
last_name varchar(20)
);
CREATE TABLE Order (
order_id int PRIMARY KEY NOT NULL,
customer_id int,
order_details varchar(50),
constraint fk_Customers foreign key (customer_id)
references dbo.Customer
);
假设客户下订单不止一次,上述关系代表一对多关系。同样,我们可以根据需求实现其他映射约束。