zoukankan      html  css  js  c++  java
  • Day09 约束

    1. 什么是约束
     

    2. 注意事项

     
     
    3. 表级约束和列级约束
     
     
    4. 定义约束

     
     
     
     
    5. Not Null约束
     
     
    6. Unique约束
     
     
    7. Primary Key约束
     
     
    8.Foreign Key约束
     
     
     
    9. Check约束
     
     
    10. 添加约束的语法
     
     
     
     
     
     
     
     
     
     
    总结
     
    1. 定义非空约束
     
     1). 非空约束只能定义在列级.
     
     2). 不指定约束名
     create table emp2 (
     name varchar2(30) not null,
     age number(3)
     );
     
     3). 指定约束名
     create table emp3(
     name varchar2(30) constraint name_not_null not null,
     age number(3));
     
    2. 唯一约束
     1). 列级定义
     
      ①. 不指定约束名
      create table emp2 (
      name varchar2(30) unique,
      age number(3)
      );
     
      ②. 指定约束名
      create table emp3 (
      name varchar2(30) constraint name_uq unique,
      age number(3)
      );
     
     2). 表级定义: 必须指定约束名
      ①. 指定约束名
      create table emp3 (
      name varchar2(30),
      age number(3),
      constraint name_uq unique(name)
      );
     
    3 主键约束:唯一确定一行记录。表明此属性:非空,唯一
     
    4. 外键约束
     1). 列级定义,可以不用加foreign key关键字
     
      ①. 不指定约束名
      create table emp2(
             emp_id number(6),
             name varchar2(25),
             dept_id number(4) references dept2(dept_id))
     
      ②. 指定约束名
      create table emp3(
             emp_id number(6),
             name varchar2(25),
             dept_id number(4) constraint dept_fk3 references dept2(dept_id))
     
     2). 表级定义: 必须指定约束名,而且必须加上foreign key这个关键字
     
      ①. 指定约束名
      create table emp4(
             emp_id number(6),
             name varchar2(25),
             dept_id number(4),
             constraint dept_fk2 foreign key(dept_id) references dept2(dept_id))
     
     
    5. 约束需要注意的地方
     
     1). ** 非空约束(not null)只能定义在列级
     
     2). ** 唯一约束(unique)的列值可以为空
     
     3). ** 外键(foreign key)引用的列起码要有一个唯一约束
     
    6. 建立外键约束时的级联删除问题:
     1). 级联删除:
     
     create table emp2(
            id number(3) primary key,
            name varchar2(25) unique,
            dept_id number(3) references dept2(dept_id) on delete cascade)
     
     2). 级联置空
     
     create table emp3(
            id number(3) primary key,
            name varchar2(25) unique,
            dept_id number(3) references dept2(dept_id) on delete set null)
  • 相关阅读:
    一些必不可少的Sublime Text 2插件
    sublime text 使用小技巧
    Azure Queue 和 Service Bus Queue的比较
    怎么使用Windows Azure Queue Storage 服务
    配置 SharePoint 2010 使用本机默认 SQL Server 实例 Pan
    将两个字符串中相同的地方str2无重复的输出
    javascript笔记
    C#中怎样使控件随着窗体一起变化大小(拷来学习)
    在pictureBox中画方格矩阵地图,方法比较笨,有好方法望指导
    通过一个小推理写出的程序,结果出乎意料……有哪位知道为什么吗 已解决
  • 原文地址:https://www.cnblogs.com/fengze/p/6664160.html
Copyright © 2011-2022 走看看