oracle 基础知识表的主键

一、表的约束条件

•约束条件是施加在表的字段上的一组限制条件,它使得只有符合限制条件要求的数据才能输入表。

•保证了表中的数据的正确性

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

相关推荐
数据智能老司机1 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机2 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
松果猿2 小时前
空间数据库学习(二)—— PostgreSQL数据库的备份转储和导入恢复
数据库
无名之逆2 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
s9123601012 小时前
rust 同时处理多个异步任务
java·数据库·rust
数据智能老司机2 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
hzulwy3 小时前
Redis常用的数据结构及其使用场景
数据库·redis
程序猿熊跃晖3 小时前
解决 MyBatis-Plus 中 `update.setProcInsId(null)` 不生效的问题
数据库·tomcat·mybatis
Three~stone4 小时前
MySQL学习集--DDL
数据库·sql·学习
Qi妙代码4 小时前
MYSQL基础
数据库·mysql·oracle