zoukankan      html  css  js  c++  java
  • (六)Oracle学习笔记—— 约束

    1. 约束介绍

    表虽然建立完成了,但是表中的数据是否合法并不能有所检查,而如果要想针对于表中的数据做一些过滤的话,则可以通过约束完成,约束的主要功能是保证表中的数据合法性

    按照约束的分类,一共有五种约束:非空约束、唯一约束、主键约束、检查约束、外键约束。

    1.1 使用如下命令检索某个表上的所有约束(WHERE条件中的表名和用户名要大写)

    select * from all_constraints 
    where
    table_name='EMP' and owner='SCOTT';

    对于表中的CONSTRAINT_TYPE

    C:校验约束,表

    O:只读约束

    P:主键约束

    R:外键约束

    U:唯一约束

    V:校验约束,视图

    1.2 定义约束的方法有两种:列级约束定义表级约束定义

    以定义主键约束的方法来表现两种方法的区别

    列级:

    CREATE TABLE t_user(
        id INT PRIMARY KEY
    );

    表级:

    CREATE TABLE t_user(
        id INT ,
        CONSTRAINT PK_USER_ID PRIMARY KEY (id)
    );

    这里可以看出两者最显著的差别是定义时间上的不同,而且列级约束定义不能定义约束的名称。

    1.3 约束命名规范


    约束名称建议自己定义一套命名规则,否则使用系统生成的约束名,很难能把它和对应的表、字段联系起来。

    •     非空约束     NN_表名_列名 
    •     唯一约束     UK_表名_列名
    •     主键约束     PK_表名
    •     外键约束     FK_表名_列名
    •     条件约束     CK_表名_列名
    •     默认约束     DF_表名_列名

    如果约束名称超过32位长度,建议应该缩写表名,而不应用NN_表名_数字。不过具体视情况而定,很多时候 DF_表名_列名 这样命名,往往超出了32字符。所以有时候需要缩写表面或是采用其它规则。

    2. 几种约束的介绍

    http://www.cnblogs.com/mchina/archive/2012/09/10/2653423.html

  • 相关阅读:
    HTML5 新增元素梳理
    HTML布局梳理
    ES6中新增let命令使用方法
    xml学习-语法规则
    初步了解URL
    JavaScript——装饰者模式
    移动视频技术——新增API可手工修正视频方向
    如何在移动视频开发中使用ip组播技术
    Windows平台AnyChat视频显示
    如何实现音频合成立体声录制?
  • 原文地址:https://www.cnblogs.com/zjfjava/p/7191181.html
Copyright © 2011-2022 走看看