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 小时前
Mysql数据库——增删改查CRUD
数据库·mysql·oracle
apihz1 小时前
域名WHOIS信息查询免费API使用指南
android·开发语言·数据库·网络协议·tcp/ip
gwcgwcjava1 小时前
[时序数据库-iotdb]时序数据库iotdb的安装部署
数据库·时序数据库·iotdb
SHUIPING_YANG2 小时前
根据用户id自动切换表查询
java·服务器·数据库
爱吃烤鸡翅的酸菜鱼2 小时前
IDEA高效开发:Database Navigator插件安装与核心使用指南
java·开发语言·数据库·编辑器·intellij-idea·database
超奇电子2 小时前
阿里云OSS预签名URL上传与临时凭证上传的技术对比分析
数据库·阿里云·云计算
神仙别闹2 小时前
基于C#+SQL Server实现(Web)学生选课管理系统
前端·数据库·c#
m0_653031362 小时前
PostgreSQL技术大讲堂 - 第97讲:PG数据库编码和区域(locale)答疑解惑
数据库·postgresql
会编程的林俊杰3 小时前
MySQL中的锁有哪些
数据库·mysql
cts6183 小时前
Milvus分布式数据库工作职责
数据库·分布式·milvus