栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

五大约束和三大范式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

五大约束和三大范式

一.五大约束(z,w,f,m,w)

记忆方法:
追我费马哇,
主键、唯一、非空、默认、外键
主键、unique、not null、default、外键

1.1 主键约束:唯一主键

1.特点:唯一 非空 一张表中只有一个主键

1.2唯一约束unique

1.关键字 unique

2.特点: 唯一 不能重复 可以为null

3.主键约束与唯一约束的区别
A.主键约束 一张表中只能有一个 唯一约束****一张表中可以有多个
B.主键约束不能为空 唯一约束是可以设置空
C.唯一约束可以设置为联合唯一约束 (多个列组成约束条件)

4.唯一约束两种创建方式
A.创建表的时候设置
B.表创建完成之后设置

a:创建表的时候设置唯一约束
CREATE TABLE p1(
 pid INT(11) PRIMARY KEY AUTO_INCREMENT, 
 pname VARCHAr(20) 	UNIQUE
 );
b:创表之后设置唯一约束
#创建表
CREATE TABLE p1(
 pid INT(11) PRIMARY KEY AUTO_INCREMENT, 
 pname VARCHAr(20) 	
 );

#加主键约束
语法:
alter table 表名 add CONSTRAINT 唯一约束的名称 unique(列名)
#增加唯一约束
 ALTER TABLE p2 ADD CONSTRAINT u_name UNIQUE(pname)

#删除唯一约束
ALTER TABLE p2 DROP INDEX u_name
c 联合唯一约束
CREATE TABLE p3( 
pid INT(11) PRIMARY KEY AUTO_INCREMENT, 
pname VARCHAr(20), 
pwd VARCHAr(20), UNIQUE(pname,pwd) 
);
INSERT INTO p3(pname,pwd)VALUES("毛哥","123");
1.3非空约束not null

1.关键字: not null
2.作用: 插入数据的时候必须插入数据 不能插入 null
3.在创建表的时候进行设置

1.4默认约束default

1.关键字:default
2.作用:用于设置列的默认值
3.在创建表的时候进行设置

4.说明:
A.指定列设置默认约束之后 未插入数据 显示默认值
B.指定列设置默认约束之后 插入 default 也是默认值
C.插入具体的数据时候 才会替换默认值

1.5 外键约束

外键约束用于两张表之间,用来保证关联数据的完整性。
注意:

键关联时要注意的是:
1.外键一定是主表的主键,
2.删除表时要先删子表在删主表。
3.可以强制删除,而不用管约束条件:drop table orders cascade constraint;
4.可以使用级联更新和级联删除,这样在主表中进行更新或者删除操作,子表中的数据也会保证同步更新或者删除

例子:
order表

create table orders(

order_id number(10),

total_price number(10,2),

order_time date,
constraint orders_order_id_pk primary key (order_id)

);

order明细表

create table order_detail(

detail_id number(10),

order_id number(10),//在order表中是主键

item_name varchar2(10),

quantity number(10),

constraint order_detail_detail_id_pk primary key (detail_id),

constraint order_detail_order_id_fk foreign key (order_id) 
referencs orders(order_id)|on delete cascade|on update cascade
 );
二.三大范式 2.1

三大范式也是用于来约束数据库 保证数据的完整性 以及正确性

2.2

A.第一大范式(原子性): 表中的每一列是最小的原子单位 不能进行再拆分
B.第二大范式(依赖性): 一张表必须有一个主键;非主键类必须完全依赖于主键,而不能只依赖主键的一部分
C.第三大范式(): 在遵循前两大范式的基础上 不能出现局部依赖(不能传递依赖) 只能与主键建立依赖关系

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016743.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号