`
zengshaotao
  • 浏览: 791955 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

数据库5种约束

 
阅读更多

约束用于确保数据库数满足业务规则。

约束包括:NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY以及CHECK等5种类型。

建立主键约束和唯一约束时,Oralce会基于约束列自动建立唯一索引;主键约束不允许为NULL,唯一约束允许为NULL。

一张表只能建立一个主键约束。

建表约束:NOT NULL只能在列级定义;其它4种既可以在列级定义,也可以在表级定义。复合主键约束只能在表级定义。

维护约束:增加NOT NULL约束时必须使用MODIFY子句,而增加其它约束时需要使用ADD子句。

 

第一, 定义约束

---------------------------------------------

语法

CREATE  TABLE  [SCHEMA.]table_name(

column_name  datatype  [DEFAULT  expr]  [column_constraint],

...

[table_constraint][, ...]

);

 

例子

CREATE TABLE tt_user_info
(
  ID    VARCHAR2(20 BYTE),
  NAME  VARCHAR2(20 BYTE)                       NOT NULL,
  category_id VARCHAR2(20 BYTE)  REFERENCES tb_out_service(serviceid),
  remark   VARCHAR2(1000)
);

ALTER TABLE tt_user_info ADD (
  CHECK ( LENGTH(NAME)>2),
  PRIMARY KEY (ID),
  UNIQUE (NAME)
  );

 

说明

1. NOT NULL,非空约束

not null

2. UNIQUE,唯一约束

UNIQUE (COL_NAME)

3. PRIMARY KEY,主键约束

primary key (col_name1 [, col_name2])

4. FOREIGN KEY,外键约束

它有三种类型:

references  primary_table(primary_col)

on delete cascade

on delete set null

5. CHECK,检查约束

check (money > 1000)

 

第二, 维护约束

----------------------------------------

1. 增加约束

NOT NULL使用ALTER MODIFY子句,其它的使用ALTER  ADD子句

-------------------------------

CREATE TABLE tt_user(NAME VARCHAR2(20));

ALTER TABLE tt_user MODIFY user_name NOT NULL;
ALTER TABLE tt_user ADD CONSTRAINT constraint_name UNIQUE(NAME);
ALTER TABLE tt_user ADD CONSTRAINT constraint_name PRIMARY KEY(NAME);
ALTER TABLE tt_user ADD parentid VARCHAR2(20)
    CONSTRAINT constraint_name
        REFERENCES tb_out_service(serviceid);

 

2. 修改约束名

ALTER TABLE table_name RENAME CONSTRAINT old_constraint_name TO new_constraint_name

 

3. 删除约束

ALTER TABLE table_name DROP CONSTRAINT constraint_name

 

4. 禁止约束

ALTER TABLE table_name DISABLE CONSTRAINT constraint_name  [CASCADE];

 

5.激动约束

ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;

 

第三. 显示约束信息

所有约束信息

SELECT *
  FROM user_constraints

 

用户约束所对应的表列

SELECT *
  FROM user_cons_columns;

分享到:
评论

相关推荐

    数据库完整性约束条件

    数据库完整性约束条件是确保数据库中数据准确无误和一致性的重要机制。这些约束条件分为静态和动态两类,分别针对数据在不同状态和变化过程中的规则。完整性检查主要关注三个方面:关系、元组和列。 首先,静态列级...

    达梦数据库禁用约束.sql

    达梦数据库

    数据库的完整性约束数据库的完整性约束

    数据库的完整性约束是指数据库管理系统中对数据的一种限制,以确保数据的正确性、一致性和完整性。这种约束可以分为实体完整性约束、参照完整性约束和用户自定义完整性约束三个方面。 实体完整性约束是指对关系表中...

    达梦数据库查询约束索引.sql

    达梦数据库

    基于SQL Server数据库完整性约束的几点探讨.pdf

    本文探讨了SQL Server数据库中的完整性约束,讨论了数据库完整性约束的重要性、分类和设计方法,并以T-SQL语句对数据库完整性约束进行了设计,实现了在数据库中存储数据的完整性、正确性和一致性。 一、 数据库完整...

    数据库应用软件:第5章 数据库完整性约束.ppt

    5. DEFAULT 约束:指定列的默认值。 6. NULL 约束:指定是否允许为 NULL。 在 SQL Server 中,完整性约束可以分为两类:列约束和表约束。列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义...

    达梦数据库禁用约束索引.sql

    达梦数据库

    数据库 约束的介绍分析

    总的来说,数据库约束是保证数据完整性的基石,而视图则是数据库中灵活的数据呈现和管理工具,两者结合使用能够提升数据库系统的实用性和安全性。理解并熟练掌握这两者对于数据库设计和管理至关重要。

    SQL数据库为表格建立约束

    在关系数据库管理系统中,约束是对表格中数据的一种限制,以确保数据的准确性、完整性和一致性。SQL 数据库为表格建立约束的方法有多种,本文将详细介绍这些方法。 1. 主键约束(Primary Key) 主键约束是指对表格...

    数据库外键约束方式

    外键约束方式有多种,包括级联、置空和禁止三种方式。 级联(Cascade)方式是指当主表中的记录被删除或更新时,从表中的相关记录也将被删除或更新。这种方式可以确保数据的一致性和正确性。例如,在用户表和用户组...

    基于Oracle的数据库完整性约束分析.pdf

    5. Oracle中外键约束的处理: - 外键可以接受空值,但需考虑是否允许NULL。 - 删除被参照关系中的元组时,Oracle支持受限删除(不允许删除)和级联删除(删除相关联的记录)。 - 插入参照关系中的元组时,通常执行...

    Oracle数据库的完整性约束规则详解

    本文将深入探讨Oracle数据库中的五种主要完整性约束规则:Check、NOT NULL、Unique、Primary Key和Foreign Key。 #### 二、Check约束 Check约束用于验证数据列的值是否满足特定的条件,如数值范围、字符集等。这种...

    oracle 数据库约束笔记

    Oracle 数据库约束是一种机制,用于确保数据库数据的完整性和一致性。约束是指在数据库中强制执行某些规则,以确保数据的正确性和一致性。Oracle 数据库提供了多种类型的约束,包括 NOT NULL、UNIQUE、PRIMARY KEY、...

    ORACLE数据库完整性约束浅析.pdf

    ORACLE数据库完整性约束浅析.pdf

    基于SQL Server 数据库完整性约束的案例教学研究.pdf

    本文档是一篇发表于《电脑知识与技术》杂志的研究论文,标题为“基于SQL Server 数据库完整性约束的案例教学研究”,涉及的关键词包括数据库、完整性约束和案例教学。文章主要探讨了如何通过案例教学和项目化教学...

    南邮数据库第二次实验- 约束、视图、索引与存储过程

    在本次实验中,主要目标是深入理解并熟练掌握数据库管理中的关键概念,包括约束、视图、索引和存储过程,具体操作环境为PostgreSQL数据库系统。实验内容主要包括产品数据库的创建、表的建立、数据导入、完整性约束的...

    数据库:函数 约束 的简单介绍

    数据库中的函数和约束是数据库管理系统(DBMS)中两个重要的概念,它们对于数据的管理和维护起着至关重要的作用。 函数是预定义的可重用代码片段,用于执行特定任务,如字符串处理、数值运算或日期操作。在描述中...

    oracle电子文档:数据库约束.rar

    本电子文档“Oracle电子文档:数据库约束”深入探讨了这个重要主题,帮助读者理解和掌握如何在Oracle环境中有效地实施和管理数据库约束。 一、数据库约束的类型 1. **非空约束(NOT NULL)**:此约束确保指定列不...

Global site tag (gtag.js) - Google Analytics