介绍一下数据库的三范式,并举例说明?&&什么是DDL,DML,DQL,DCL,DTL&&介绍一下数据库中的约束&&外键约束有哪些级联操作?

介绍一下数据库的三范式

**第一范式:**指的是数据库中表的属性不能再分割。也就是这个字段只有一个值,不能再分为其他的字段。
举个例子:

id用户名地址
1张三浙江省杭州市西湖区 13122221234

上述的表就不符合第一范式,比如地址栏可以分为省,市,区,手机号
我们可以将表分割为

id用户名手机号
1张三浙江省杭州市西湖区13122221234

第二范式: 在符合第一范式的基础上,表中的字段必须依赖全部主键而非部分主键。

举个例子

商品名称供应商名称价格重量供应商电话有效期分类
可乐饮料一厂3.00250g88888882014.12饮料
可乐饮料二厂3.00250g66666662014.12饮料

当我们修改这个可乐的相关信息时候我们就需要在两张表中都要修改,并且有的时候我们与供应商之间的价格还没有敲定时候,我们就无法在表中填写价格字段。
解决方案就是将上述表拆分为三张表
第三范式: 在符合前两个范式的基础上,表中的非主键字段之间不能有传递性依赖。
举个例子:
我有一张商品表:

id商品名称仓库名称仓库负责人
1可乐仓库A李四

这时候我如果只修改了仓库A,就会导致脏数据的实现。解决办法就是将拆表。

什么是DDL DML DQL DCL TCL

DDL:(DATA DEFINE LANGUAGE)数据定义语言,包含对数据库的操作,表的操作,视图的操作和索引的操作。
DML:(DATA MANAGE LANGUAGE) 数据操作语言,包含了对表记录的增删改。
DQL:(DATA QUERY LANGUAGE) 数据查询语言, 包含了对表记录的查询。
DCL:(DATA CONTROL LANGUAGE)数据控制语言,包含了用户和权限相关的操作。
TCL:(TRANSACTION CONTROL LANGUAGE)事务控制语言,包含了事务的操作,比如开始,提交,回滚。

介绍一下数据库中约束?

数据库的约束主要有主键约束(唯一且非空),非空约束(not null),默认约束(default),唯一约束(unique,不可以重复,但可以为空),检查约束(check,符合一定条件),外键约束(foreign key)保证了参照完整性,但是会给系统带来额外的DML开销。

外键约束有哪些级联操作?

外键约束有三种级联操作。
第一种:restrict(默认情况下)
删除主表记录时候,如果表中有相关联的数据,则不允许主表删除,更新主表主键字段的值时,如果从表中有相关联的数据,则不允许主表更新。
第二种:cascade[级联更新,级联删除]
删除主表记录时候,从表中相关联的数据会级联删除,更新主表关键字段时候。从表中相关联的数据会级联更新。
第三种:set null[设置空值]
删除主表记录时候,从表中跟主表有关联的数据会被设置为空值,更新主表的主键时候从表中相关联的值设置位null。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值