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

相关推荐
小徐不徐说2 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
论文复现现场2 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
Decay__3 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
心梦缘-雪雁5 小时前
SQL Server 查询数据存在哪个表里
数据库
lusklusklusk5 小时前
Python 巡检脚本:进程运行状态、数据库写入时效检查及邮件通知与告警
数据库·python·oracle
GeW6 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库
SelectDB6 小时前
Doris Arrow Flight SQL 高速读取协议实战:与 Snowflake 客户端取数链路对照
大数据·数据库·数据分析
曼岛_6 小时前
[图解密码学]第4章 古典密码
java·数据库·密码学
瀚高PG实验室7 小时前
HGDB V9.0.5 .pgpass 免密登录提示 IsEncryptNon-base64 encoding 警告处理
数据库·postgresql·瀚高数据库
龙腾AI白云7 小时前
大模型检索增强生成(RAG)的技术原理与架构设计
数据库·python·机器学习·知识图谱