SQL语句基础学习之外键
外键是指向另一个表的主键的一个(或几个)字段。外键的目的是确定数据的引用完整性。换句话说,只有允许的数据值才会存储在数据库中。
例如,假设我们有两个表:一个客户表,记录所有客户的信息;另一个订单表单,记录客户订单的所有信息。这里的一个限制是,订购材料中的所有客户都必须存在于客户表中。这里,我们将在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);
0条评论