哈喽,你好啊,我是雷工!
今天进一步学习数据库中关于约束的相关内容,
以下为学习笔记。
01 为什么使用约束?在项目开发中遇到使用数据库时,在数据库的使用中常常用到约束,使用约束的目的是为了确保数据的完整性、一致性和可靠性。
02 约束关键功能2.1、数据完整性
①实体完整性:通过主键约束,保证每个表中的每条记录都是唯一的,并且主键列不能为空(null),这样可以有效保证数据的唯一性,防止重复记录及丢失数据。
②标识列:当不能找到某列作为主键时,可以设置标识列,标识列是自动维护的,标识列一般都会和主键挂钩,使用标识列时要注意不能为标识列插入值。
③域完整性:通过检查约束、外键约束,可以确保数据在指定的范围内符合某些特定的条件。比如,招聘时年龄可以设置为只包含22-34之间的值。
2.2、数据一致性
外键约束foreign key:确保引用完整性,即确保一个表中的值在另一个表中存在。这样约束可以防止孤立记录和无效引用的发生。
当在外键表中插入数据的时候,外键的值会自动的和关联的主键表中对应的主键做检查,若存在可正常插入,若不存在则会报错。
比如:人员信息表中GroupId必须在组织表中存在。否则存其中不存在的7,会报如下错误:
注意事项:从这里可以看到创建表的时候要优先创建没有外键的表。
唯一约束:该约束可以确保列中的所有值都是唯一的,但允许null值,这样可以防止重复数据的产生。
2.3、防止无效数据
非空约束:确保列不能包含null值,该约束对于必须总是存在的数据非常重要。
默认约束default:为列提供默认值,确保在插入数据时没有提供该列数据时,会填充默认值。
2.4、提高查询性能
通过确保数据的一致性和完整性,可以减少查询时的错误和异常情况,从而提高查询性能和系统稳定性。
2.5、简化程序逻辑
数据库约束可以在数据层强制执行规则,减少了应用程序代码中的验证逻辑,可以使代码更加简洁和易于维护。
2.6、增强安全性
通过限制数据的类型和范围,可以防止恶意用户插入不合规的数据,从而提高系统的安全性。
03 基本操作拾遗补充记录数据库的一些基础操作及操作注意事项
①在SQL语句中*标识所有的通配符,在测试时可以使用,但在程序开发中一般不用。
②SQL语句查询中遇到某某附近有语法错误时,检查某字符的前后位置是否有写错或漏写关键字。
04 后记综上所述,合理使用数据库约束是确保数据质量、维护数据一致性和提高系统可靠性的重要手段。
约束可以帮助程序开发人员和数据库管理人员确保数据库中的数据是准确、有效且符合业务规则的。