作者:手机用户2502934787 | 来源:互联网 | 2023-05-27 16:09
本文主要介绍关于sql,数据库,sqlserver的知识点,对【五大约束和三大范式】和【三大范式定义】有兴趣的朋友可以看下由【谁是黄黄】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的Msq数据库
本文主要介绍关于sql,数据库,sqlserver的知识点,对【五大约束和三大范式】和【三大范式定义】有兴趣的朋友可以看下由【谁是黄黄】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的Msq数据库相关技术问题。
三大范式定义
一.五大约束(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),
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.第三大范式(): 在遵循前两大范式的基础上 不能出现局部依赖(不能传递依赖) 只能与主键建立依赖关系
本文《五大约束和三大范式》版权归谁是黄黄所有,引用五大约束和三大范式需遵循CC 4.0 BY-SA版权协议。