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

相关推荐
卡皮巴拉爱吃小蛋糕16 分钟前
MySQL的MVCC【学习笔记】
数据库·笔记·mysql
农民也会写代码17 分钟前
dedecms织梦arclist标签noflag属性过滤多个参数
开发语言·数据库·sql·php·dedecms
m0_7482329223 分钟前
你还在手动画ER图吗?让SQL自动生成ER图,轻松解决作业难题!
数据库·sql·oracle
清流君26 分钟前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
邂逅岁月26 分钟前
MySQL表的增删改查初阶(下篇)
数据库·sql·mysql
Python_金钱豹27 分钟前
Text2SQL零代码实战!RAGFlow 实现自然语言转 SQL 的终极指南
前端·数据库·sql·安全·ui·langchain·机器人
静听夜半雨29 分钟前
CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建
网络·数据库·c++·编辑器
代码小侦探29 分钟前
Java中以Maven方式引入Oracle JDBC Driver依赖的详解
java·oracle·maven
DarkAthena2 小时前
【ORACLE】记录一些ORACLE的merge into语句的BUG
数据库·oracle·bug
江沉晚呤时2 小时前
深入了解C# List集合及两种常见排序算法:插入排序与堆排序
windows·sql·算法·oracle·c#·排序算法·mybatis