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

  • 相关阅读:
    LSMW TIPS
    Schedule agreement and Delfor
    Running VL10 in the background 13 Oct
    analyse idoc by creation date
    New Journey Prepare
    EDI error
    CBSN NEWS
    Listen and Write 18th Feb 2019
    Microsoft iSCSI Software Target 快照管理
    通过 Microsoft iSCSI Software Target 提供存储服务
  • 原文地址:https://www.cnblogs.com/zjfjava/p/7191181.html
Copyright © 2011-2022 走看看