首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
Postrge-SQL
›
【MySQL】不可忽视的数据库束缚,维护数据秩序的幕后好 ...
返回列表
发新帖
【MySQL】不可忽视的数据库束缚,维护数据秩序的幕后好汉
[复制链接]
发表于 2025-9-7 06:53:52
|
显示全部楼层
|
阅读模式
我的个人主页
我的专栏
:
人工智能领域、java-数据结构、Javase、C语言,MySQL
,希望能帮助到各人!!!
点赞👍收藏❤
引言
在
数据库
管理的天下里,有一群冷静无闻却又至关紧张的“幕后好汉”——
数据库
束缚。它们如同忠诚的卫士,时刻守护着数据的完整性和一致性,确保
数据库
系统的稳固运行。然而,在实际的数据库设计和开辟过程中,数据库束缚的紧张性常常被忽视,导致数据混乱、错误频出。本日,我们就来深入探讨一下数据库束缚的奥秘,以及它们在维护数据秩序方面的关键作用。
目次
一、数据库束缚的定义和类型
二、数据库束缚的分类
三、数据库束缚的作用
四、数据库束缚的应用场景
五、数据库束缚的留意事项
六、总结
一、数据库束缚的定义和类型
数据库束缚是一种规则,用于限制数据库中数据的插入、更新和删除利用,以确保数据的正确性、完整性和一致性。常见的数据库束缚类型包罗:
类型阐明NOT NULL(不允许为空)指定⾮空束缚的列不能
存储
NULL 值DEFAULT(设置默认值)当没有给列赋值时使⽤的默认值UNIQUE(值需唯一)指定唯⼀束缚的列每⾏数据必须有唯⼀的值PRIMARY KEY(主键,兼具非空和唯一)NOT NULL 和 UNIQUE的结合,可以指定⼀个列或多个列,有助于防⽌数据重复和提⾼数据的查询
性能
FOREIGN KEY(建立表间关联)外键束缚是⼀种关系束缚,⽤于定义两个表之间的关联关系,可以确保数据的完整性和⼀致性CHECK(检查数据取值)⽤于限制列或数据在数据库表中的值,确保数据的正确性和可靠性
二、数据库束缚的分类
2.1⾮空束缚(NOT NULL)
定义表时某列不允许为NULL时,可以为列添加⾮空束缚。
以创建一个弟子表为例,当弟子名为null,这条记录就是不完整的。
此时班级名为null,就没故意义了,所以我们要束缚学⽣名的列不能为NULL。当
name
列
为空时
,他就会
报错
。
当我们插入包罗name时即可插入成功
我们可以检察表结构,NULL列为NO表⽰值不允许为NULL,YES表⽰值可以为NULL
2.2. DEFALUT 默认值束缚
DEFAULT 束缚⽤于向列中插⼊默认值,如果没有为列设置值,那么会将默认值设置到该列
重构学⽣表,新增年岁列
插⼊⼀条记录,没有设置默认束缚时,不指定年岁的值时列为NULL
重构学⽣表,为年岁的列加⼊默认束缚
插⼊⼀条记录,不指定年岁的值时列使⽤了默认值,可以看到利用了默认值18
检察表结构,年岁列的默认值为18
当然当⼿动明确指年岁列为NULL时列值为NULL
2.3. UNIQUE 唯⼀束缚
指定了唯⼀束缚的列,该列的值在全部记录中不能重复,⽐如⼀个⼈的⾝份证号,学⽣的学号等
当不设置唯⼀束缚时,学号可以重复
当我们为学号设置列设置唯⼀束缚,这时输入相同的学号就会报错
检察表结构,Key列显⽰UNI表⽰唯⼀束缚
2.4PRIMARY KEY 主键束缚
主键束缚唯⼀标识数据库表中的每条记录。
主键必须包含唯⼀的值,且不能包含 NULL 值。
每个表只能有⼀个主键,可以由单个列或多个列组成。
通常为每张表都指定⼀个主键,主键列发起使⽤
BI
GINT类型
为ID列添加⾮空和唯⼀束缚。
检察表结构,添加了⾮空和唯⼀束缚之后Key列显⽰PRI表⽰主键
当Id列的重复时会发⽣主键冲突
通常我们会把主键列设置为⾃动增⻓,让数据库维护主键值和插⼊数据时不设置主键列的值,我们插入第一个数据主键列的值为NULL,第二个数据不指定主键,最终主键列的值会自动生成。
检察表结构时候,Extra列显⽰autoincrement 表⽰⾃增
此中主键值可以不连续
2.5FOREIGN KEY 外键束缚
外键⽤于定义主表和从表之间的关系
外键束缚主定义在从表的列上,主表关联的列必须是主键或唯⼀束缚
当定义外键后,要求从表中的外键列数据必须在主表的主键或唯⼀列存在或为null。
重构学⽣表(从表),加⼊外键束缚,在这里创建主表class从表student
检察表结构,Key列的值为MUL表⽰外键束缚的列
2.6CHECK 束缚
可以应⽤于⼀个或多个列,⽤于限制列中可接受的数据值,从⽽确保数据的完整性和正确性。
在8.0.16开始全⾯⽀持CHECK束缚,之前的
版本
会忽略CHECK的定义
插入正常数据
当插入年岁小于16时
插入的性别不符合实际是
三、数据库束缚的作用
保证数据的完整性
:通过主键束缚、唯一束缚和外键束缚,可以确保表中的数据是唯一的、不重复的,而且与其他表中的数据保持一致。
提高数据的质量
:检查束缚可以限制列的取值范围,制止无效数据的插入,从而提高数据的质量。
简化数据利用
:默认束缚可以为列提供默认值,淘汰数据输入的工作量,提高数据利用的效率。
维护数据库的稳固性
:数据库束缚可以防止数据的不一致性和错误,从而维护数据库的稳固性和可靠性。
四、数据库束缚的应用场景
订单管理系统
:在订单管理系统中,订单表和客户表之间可以通过外键束缚建立关联关系,确保订单数据与客户数据的一致性。
弟子信息管理系统
:在弟子信息管理系统中,弟子表中的学号列可以设置为主键束缚,确保每个弟子的学号是唯一的。
商品库存管理系统
:在商品库存管理系统中,商品表中的库存数量列可以设置为检查束缚,确保库存数量不能为负数。
五、数据库束缚的留意事项
公道利用束缚
:在设计数据库时,应根据实际需求公道利用束缚,制止过度束缚或束缚不敷。
考虑
性能
影响
:数据库束缚会对数据库的
性能
产生肯定的影响,应在保证数据完整性的前提下,只管淘汰束缚的利用。
定期维护束缚
:随着业务的发展和数据的变革,数据库束缚可能需要举行调整和维护,以确保其有用性和实用性。
六、总论
数据库束缚是数据库管理中不可或缺的一部门,它们在维护数据秩序、保证数据完整性和一致性方面发挥着紧张作用。作为数据库开辟者和管理者,我们应该充分认识到数据库束缚的紧张性,公道利用束缚,确保数据库系统的稳固运行。同时,我们还应该定期对数据库束缚举行检查和维护,以适应业务的发展和数据的变革。只有这样,我们才能真正发挥数据库束缚的作用,为企业的信息化建设提供有力支持。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
使用道具
举报
返回列表
万有斥力
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表