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

  • 相关阅读:
    linux(ubuntu) 安装 node.js
    正反向代理
    js正则表达式----replace
    webpack开发小总结
    稳定排序和非稳定排序
    树状数组 --- (离散化+树状数组、求逆序对)
    编程之美初赛第一场 题目3 : 活动中心
    巴什博弈 杭电 1847
    巴什博弈 杭电 1846
    约瑟夫环问题详解
  • 原文地址:https://www.cnblogs.com/zjfjava/p/7191181.html
Copyright © 2011-2022 走看看