zoukankan      html  css  js  c++  java
  • oracle数据库约束、索引,enable和disable用处

    1.数据库索引

    索引:索引是对数据库表中一列或多列的值进行排序的一种结构

    索引分类:主键索引(PRIMAY KEY)、唯一索引(UNIQUE)、常规索引(INDEX)、全文索引(FULLTEXT)

     常规索引  CREATE INDEX 索引名 ON 表名  (字段名)

     唯一索引  CREATE UNIQUE INDEX 索引名 ON 表名  (字段名)

    2.数据库约束

    约束:数据库约束时防止非法记录的规则

    约束分类:

    主键约束(Primay Key Coustraint):唯一性,非空性,一个表只能有主键,创建主键时会自动创建主键索引

    ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY (字段名)

    唯一约束(Unique Counstraint):唯一性,可以空,但只能有一个空,一张表可以有多个唯一约束,创建唯一约束时会自动创建唯一索引

    ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段)

    检查约束(Check Counstraint):对该列数据的范围、格式的限制(如:年龄、性别等)

    ALTER TABLE 表名 CHECK (字段 约束)

    默认约束(Default Counstraint):该数据的默认值

    ALTER TABLE 表名 ALTER 字段名 SET DEFAULT '默认值'

    外键约束(Foreign Key Counstraint):需要建立两表间的关系并引用主表的列

    ALTER TABLE 表名1 ADD CONSTRAINT 外键名 FOREING KEY (表1字段) REFENCES 表名2(表2字段)

    3.disable与enable约束

    控制约束的约束,控制表的约束时禁止还是激活状态

    disable:禁止状态,相当于该列没有约束,使用disable默认为Novalidate

    enable:激活状态,默认新创建的约束状态是激活状态,使用enable默认为Validate

     

    Validate

    Novalidate

    已有记录

    新增/删除记录

    已有记录

    新增/删除记录

    Enable

    Yes(表示需要受到约束条件限制)

    Yes

    No

    Yes

    Disable

    Yes

    No

    No

    No

  • 相关阅读:
    项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
    项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】
    javascript 容易忽略或者误用的七个基础知识点
    未来的路还很长
    Nodejs
    CSS浏览器兼容性相关
    HTML5
    一些正则
    Sublime 使用
    Array.prototype.slice.call(arguments,1)
  • 原文地址:https://www.cnblogs.com/e-x-c-e-ption/p/12186493.html
Copyright © 2011-2022 走看看