zoukankan      html  css  js  c++  java
  • Oracle数据库五种约束

    oracle 数据库 数据表的5个约束类型:
    1.主键约束
    2.外键约束
    3.唯一约束
    4.检查约束
    5.非空约束


    主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含多个列,也称为联合约束。


    外键约束:用来约束两个表中列之间的关系。

    唯一约束:用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束。

    检查约束:用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列。

    非空约束:约束该列一定要输入值。



    ---------------------------------------------------------------------------------------
    创建一个带检查约束的表:
    使用PL/SQL语句创建检查约束的语法如下所示:
    CONSTRAINT constraint_name CHECK(condition)

    [语法说明:]
        CONSTRAINT:关键词
        constraint_name:约束名称
        condition:约束条件

    列如:创建BOOKINFO表时,给图书价格加上一个检查约束,要求图书价格在10元到100元之间。
    CREATE TABLE BOOKINFO
    (
        BOOKID INT,
        BOOKNAME CAHR,
        PUBLISH VARCHAR2(20),
        PUBDATE VARCHAR2(20),
        PRICE    DECIMAL,
        AUTHOR    CHAR,
        STORE    VARCHAR2(1),
        READER INT,
        REMARKS VARCHAR2(50),
        CONSTRAINT    CK_PRICE    CHECK(PRICE>=10 AND PRICE <= 100)
    );


    ---------------------------------------------------------------------------------------
    创建一个带非空约束的表:

    举例:在创建BOOKINFO表时,给图书名称加上一个非空约束。
    CREATE TABLE BOOKINFO
    (
    BOOKID INT NOT NULL,
    BOOKNAME CHAR NOT NULL,
    PUBLISH VARCHAR2(20),
    PUBDATE VARCHAR2(20),
    PRICE DECIMAL,
    AUTHOR CHAR,
    STORE VARCHAR2(1),
    READER INT,
    REMAERKS VARCHAR2(50)
    );

    ----------------------------------------------------------------------------------------
    创建一个带唯一约束的表
    语法格式:
        CONSTRAINT constraint_name UNIQUE(column_name)

        【语法说明】
        UNIQUE:唯一约束的关键词
        column_name:唯一约束的名称。

    举例:创建BOOKINFO表时,为图书名称(BOOKNAME)列添加唯一约束
    create table bookinfo
    (
        bookid int,
        bookname char,
        publish    varchar2(20),
        pubdate    varchar2(20),
        price decimal,
        author    char,
        store    varchar2(1),
        reader int,
        remarks varchar2(50),
        CONSTRAINT UN_BOOKNAME UNIQUE (bookname)
    );
    ------------------------------------------------------------------------------------------
    创建一个带外键约束的表
    语法格式:
        CONSTRAINT constraint_name    FOREIGN KEY    (column_name)
        REFERENCE  table_name (column_name)
        ON   DELETE    CASCADE

    [语法说明:]
    CONSTRAINT:创建约束的关键字
    FOREIGN KEY:外键约束的关键字
    REFERENCE:引用外表的关键词
    table_name:需要引用的外表,column_name表示该表的列。

    举例:
    create table publishinfo
    (
        publishid varchar(20) primary key,
        publishname varchar(30)
    );

    create table bookinfo
    (
        bookid int,
        bookname char,
        publish varchar2(20),
        pubdate    varchar2(20),
        price    decimal,
        author    char,
        store    int,
        reader     int,
        remarks    varchar2(50),
        constraint fk_publish foreign key(publish) references publishinfo(publishid) on delete cascade
    );

    创建BOOKINFO表,该表带有外键约束,约束名称为"FK_PUBLISH"。相关列为publish,该外键和PUBLISHINFO表中的publishid列相关联。   

  • 相关阅读:
    asp.net中读取带有加号(+)的Cookie,会自动把加号替换为空格
    简单实现分行输出的javascript代码
    大学我们应该做什么
    近日个人要闻
    WPF学习笔记“路由事件”一:路由事件基础
    WPF学习笔记“路由事件”二:路由事件基础
    WPF学习笔记“命令”三:执行命令
    WPF学习笔记“命令”二:命令库
    WPF学习笔记“命令”五:自定义高级命令的使用
    WPF学习笔记“布局”一:基础
  • 原文地址:https://www.cnblogs.com/askDing/p/5258622.html
Copyright © 2011-2022 走看看