数据库中添加表的约束(Including Constraints)
来源:互联网 发布:编程专家的微视频 编辑:程序博客网 时间:2024/05/21 07:33
为了实现数据库中数据的完整性防止非法的数据被插入,造成数据完整性的破坏,管理员和开发人员就必须定义表的完整性规则。
首先介绍约束种类:
ORACLE支持五种类型的完整性约束
NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值.
CHECK (检查)--检查在约束中指定的条件是否得到了满足.
UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的.
PRIMARY KEY (主键)--用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束.
POREIGN KEY (外部键)--通过使用公共列在表之间建立一种父子(parent-child)关系,在表上定义的外部键可以指向主键或者其他表的唯一键.
那么如何添加各种约束呢,最快的方法就是在创建表的时候就定义了约束,
例子如下:
create table key_test(
id number(10) primary key,//定义主键约束
name varchar2(10) NOT null,//定义非空约束
wife_id number(10) unipue,//定义了唯一性约束
c_id number(5) foreign key references class(id),//定义外键约束,假设表class存在,将class表中的id作为本表中的外键约束
gender varchar2(4),
constraint check_key_name check (gender in ('男','女')//定义表的check约束
);
下面在students表中添加约束。
1、创建表
CREATE TABLE students
(student_id VARCHAR2(10) NOT NULL,
student_name VARCHAR2(30) NOT NULL,
college_major VARCHAR2(15) NOT NULL,
status VARCHAR2(20) NOT NULL,
state VARCHAR2(2),
license_no VARCHAR2(30)) TABLESPACE student_data;
2、创建主键
ALTER TABLE students
ADD CONSTRAINT pk_students PRIMARY KEY (student_id)
USING INDEX TABLESPACE student_index;
3、创建Unique约束
ALTER TABLE students
ADD CONSTRAINT uk_students_license
UNIQUE (state, license_no)
USING INDEX TABLESPACE student_index;
4、创建Check约束
ALTER TABLE students
ADD CONSTRAINT ck_students_st_lic
CHECK ((state IS NULL AND license_no IS NULL) OR
(state IS NOT NULL AND license_no is NOT NULL));
5、创建外键约束
ALTER TABLE students
ADD CONSTRAINT fk_students_state
FOREIGN KEY (state) REFERENCES state_lookup (state);
- 数据库中添加表的约束(Including Constraints)
- oracle数据库表的约束constraints
- sql 约束(Constraints)
- 约束(constraints)
- SQL Constraints(约束)
- oracle中约束(constraints)是如何影响查询计划的
- Oracle对表的基本操作(二)- 约束(Constraints )
- 约束(Constraints)
- 约束constraints
- Oracle 中创建数据库表 随表添加外键约束的方法
- Constraints and the Test-Driven Database (约束和测试驱动的数据库)
- 数据库常用的SQL 语句(一)创建数据库,表以及添加约束
- SQLite 入门教程(三)好多约束 Constraints
- SQLite 入门教程(三)常用约束 Constraints
- SQLite 入门教程(三)好多约束 Constraints
- grails constraints解析(约束解析)
- SQLite 入门教程(三)好多约束 Constraints
- SQLite 入门教程(三)好多约束 Constraints
- Groovy探索 自定义Range 二 自定义Range类与Decorate模式(下)
- 数据集成之主数据管理(一)基础概念篇 (转贴)
- 基于Eclipse RCP 做的一个成绩管理统计平台 例子----连载2
- 25大永留历史的IT产品:MS-Dos等榜上有名
- atexit函数
- 数据库中添加表的约束(Including Constraints)
- C语言时间函数应用
- C语言时间函数应用
- 面向对象之设计
- Six Revisions 访谈:大学里的 Web 标准(上)
- 解决在IE下创建checkbox无法选中的问题
- 现在的学习氛围好像不是很浓了
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page349
- 获得相对幸福的方法(文摘)