zoukankan      html  css  js  c++  java
  • 定义外键

    外键是非常重要的概念,也是体现关系数据库中“关系”二字的体现,通过使用外键,我们才能把互相独立的表关联起来,从而表达丰富的业务语义。

    外键是定义在源表中的,定义位置同样为所有字段定义的后面,使用FOREIGN KEY关键字来定义外键字段,并且使用REFERENCES关键字来定义目标表名以及目标表中被关联的字段,格式为:

    
    FOREIGN KEY 外键字段名称REFERENCES 目标表名(被关联的字段名称)
    

    比如我们创建一张部门信息表,表中记录了部门主键FId、部门名称FName、部门级别FLevel等字段,建表SQL如下:

    
    MYSQL,MSSQLServer:
    
    CREATE TABLE T_Department (FId VARCHAR(20),FName VARCHAR(20),
    
    FLevel INT,PRIMARY KEY (FId))
    
    Oracle:
    
    CREATE TABLE T_Department (FId VARCHAR2(20),FName VARCHAR2(20),
    
    FLevel NUMBER (10) ,PRIMARY KEY (FId))
    
    DB2:
    
    CREATE TABLE T_Department (FId VARCHAR(20) NOT NULL,FName VARCHAR(20),
    
    FLevel INT,PRIMARY KEY (FId))
    

    接着创建员工信息表,表中记录工号、姓名以及所属部门等信息,为了能够建立同部门信息表之间的关联关系,我们在员工信息表中保存部门信息表中的主键,保存这个主键的字段就被称为员工信息表中指向部门信息表的外键。

    建表SQL如下:

    
    MYSQL,MSSQLServer,DB2:
    
    CREATE TABLE T_Employee (FNumber VARCHAR(20),FName VARCHAR(20),
    
    FDepartmentId VARCHAR(20),
    
    FOREIGN KEY (FDepartmentId) REFERENCES T_Department(FId))
    
    Oracle:
    
    CREATE TABLE T_Employee (FNumber VARCHAR2(20),FName VARCHAR2(20),
    
    FDepartmentId VARCHAR2(20),
    
    FOREIGN KEY (FDepartmentId) REFERENCES T_Department(FId))
  • 相关阅读:
    1405ST软件测试课的要求补充说明
    软测实验课安排和考试
    Asp.Net 4.0 FormAuthentication 原理
    微信支付-“申请退款”接口遇到curl出错,错误码:58
    前端资源构建-Grunt环境搭建
    微信服务号开发-获取用户位置信息
    微信支付开发-当前页面的URL未注册
    Using Redis to store php session
    nginx performance monitor
    thinkphp nginx php-fpm url rewrite 导致 404 错误
  • 原文地址:https://www.cnblogs.com/yuyu666/p/9823680.html
Copyright © 2011-2022 走看看