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

相关推荐
冉冰学姐8 分钟前
SSM智慧社区管理系统jby69(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·管理系统·智慧社区·ssm 框架
杨超越luckly14 分钟前
HTML应用指南:利用GET请求获取中国500强企业名单,揭秘企业增长、分化与转型的新常态
前端·数据库·html·可视化·中国500强
Elastic 中国社区官方博客23 分钟前
Elasticsearch:Workflows 介绍 - 9.3
大数据·数据库·人工智能·elasticsearch·ai·全文检索
仍然.27 分钟前
MYSQL--- 聚合查询,分组查询和联合查询
数据库
一 乐31 分钟前
校园二手交易|基于springboot + vue校园二手交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
啦啦啦_999933 分钟前
Redis-0-业务逻辑
数据库·redis·缓存
自不量力的A同学1 小时前
Redisson 4.2.0 发布,官方推荐的 Redis 客户端
数据库·redis·缓存
Exquisite.1 小时前
Mysql
数据库·mysql
全栈前端老曹2 小时前
【MongoDB】深入研究副本集与高可用性——Replica Set 架构、故障转移、读写分离
前端·javascript·数据库·mongodb·架构·nosql·副本集
R1nG8632 小时前
CANN资源泄漏检测工具源码深度解读 实战设备内存泄漏排查
数据库·算法·cann