一、表的约束条件
•约束条件是施加在表的字段上的一组限制条件,它使得只有符合限制条件要求的数据才能输入表。
•保证了表中的数据的正确性
i.约束条件包括了:非空和唯一和核对,即not null 和unique
和check
null的含义:不确定
3个人去捡苹果,1人捡到3个, 1人捡到2个,最后一个没捡到。
3个人去捡苹果,1人捡到3个, 1人捡到2个,最后一个不知道捡到没捡到。
Unique:唯一
CHECK也可以用于多个AND,OR连接的表达式。 field1 条件式1 AND field1 条件式2
B.增加约束条件
ALTER TABLE table_name
ADD CONSTRAINT constraint_name…
C.禁止约束条件
ALTER TABLE table_name
DISABLE CONSTRAINT constraint_nam
D.启动约束条件
ALTER TABLE table_name
ENABLE CONSTRAINT constraint_name
E.删除约束条件
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
二 、表的主键
1.包括一个或多个字段,各字段不许为null。
2.Primary key不许重复。
3.Tables can have only a single primary key constraint.一个表只有一个主键
4.primary key 相当于在各个组成主键的字段上加上NOT NULL约束,再以所有主键字段组合在一起加unique约束.
5.主键唯一标识一条记录。
6.the primary key is enforced with a B-tree index:建立主键将自动添加一个索引。
7.一条信息能否作为一条记录插入table首先决定于是否符合Primary key约束。
1.信息模型 数据库
2.实体 表
3.实体实例 行
Primary key是一个表的重要特性,设定的Primary key必须能够标识对应实体的实例。设定Primary key是建立一个表的重要步骤
建立表的主键
只有一个字段作为表的主键
CREATE TABLE table_name(
Field_name 类型 PRIMARY KEY
…….)
多个字段作为表的主键
CREATE TABLE table_name(
Field_name 类型
PRIMARY KEY (field_list) )
建立良好的主键:必须分析TABLE所代表的具体涵义。
在建立表以后用ALTER TABLE ADD PRIMARY KEY,加主键
ALTER TABLE table_name
ADD PRIMARY KEY (field_list);
主键也是constraint,命名主键定义:
CREATE TABLE plsql101_product4 (
……
,CONSTRAINT pk名 PRIMARY KEY (field_list)
);
定义命名主键的优点:
1.可以在需要时disable主键,之后再enable.
什么时候要这样做?
•the primary key is enforced with a B-tree index.
Index在大量插入data时,会降低效率,所以可以在插入data前disable主键,之后再enable