SQL语句基础学习之外键

SQL语句基础学习之外键,第1张

SQL语句基础学习之外键,第2张

外键是指向另一个表的主键的一个(或几个)字段。外键的目的是确定数据的引用完整性。换句话说,只有允许的数据值才会存储在数据库中。

例如,假设我们有两个表:一个客户表,记录所有客户的信息;另一个订单表单,记录客户订单的所有信息。这里的一个限制是,订购材料中的所有客户都必须存在于客户表中。这里,我们将在ORDERS表中设置一个外键,这个外键是CUSTOMER表中的主键。这样,我们可以确保订单表中的所有客户都存在于客户表中。换句话说,在ORDERS表中,不能有任何customer表中不存在的客户。

这两个表的结构如下:

客户表

name属性
SID主键
姓氏
名字

订单表

字段属性
Order_ID主键
Order _ date
customer _ sid外键
金额

在上面的示例中,ORDERS表中的customer_SID字段是一个外键,它指向CUSTOMERS表中的SID字段。

下面介绍几种在构建ORDERS表时指定外键的方法:

MySQL:
Create Table ORDERS
(order _ id整数,
order _ date日期,
Customer_SID整数,
Amount double,
主键(Order _ ID),
外键(Customer_SID)引用客户(SID));

Oracle:
创建表ORDERS
(Order_ID整数主键,
Order_Date日期,
Customer_SID整数引用客户(SID),
Amount double);

SQL Server:
CREATE TABLE ORDERS
(Order _ ID整数主键,
Order_Date日期时间,
Customer_SID整数引用客户(SID),
Amount double);

以下示例通过更改表架构来指定外键。这里,假设已经构建了ORDERS表,但是还没有指定外键:

MySQL:
ALTER TABLE ORDERS
添加外键(customer_sid)引用客户(sid);

Oracle:
ALTER TABLE ORDERS
ADD(CONSTRAINT fk _ ORDERS 1)外键(customer_sid)引用客户(sid);

SQL Server:
ALTER TABLE ORDERS
ADD FOREIGN KEY(CUSTOMER _ sid)REFERENCES CUSTOMER(sid);

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » SQL语句基础学习之外键

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情