数据完整性约束

2023-10-27 14:58
文章标签 约束 数据完整性

本文主要是介绍数据完整性约束,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改以及删除等操作时,DBMS 自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容

 

数据完整性用于保证数据库中的数据在逻辑上的一致性、正确性和可靠性。

 

数据完整性主要包含实体完整性、域完整性和参照完整性

 

实体完整性规定表的每一行记录在表中是唯一的

 

实体完整性主要包含主键约束和唯一约束

 

主键约束(Primary Key Constraint)用于唯一识别每一条记录,数据表中具有唯一值的字段可设定为主键字段。

 

主键选择策略 工程实践所推荐的做法是:新增一个无业务含义的字段作为主键,该字段为整数类型,且字段值自动增长。

 

线路表主键选择 在线路表中新增一个 int 类型的字段“线路编号(lineID)”,将该字段设置为主键且自动增长。当“线路编号”设置为自动增长时,则每次新增线路的“线路编号”值将从 1 开始,且每次递增 1。

 在线路表中设置主键和主键自增长的具体做法如下:

新增字段“线路编号(lineID)”,设置该字段为 smallint 类型。

选中字段“lineID”,单击“           ”,即设置“lineID”为主键,并勾选“自动递增”。

唯一约束(Unique Constraint):如果某个字段满足唯一性约束要求,则可以向该字段添加唯一性约束。

与主键约束相比,唯一约束也用于确保列中不存在重复值,但其列值可以是 null。

域完整性指给定列输入的有效性,即保证指定列的数据具有正确的数据类型、格式和有效的数据范围。

域完整性主要包含非空约束、默认值约束

非空约束(Not Null Constraint):如果某个字段满足非空约束的要求,则应该在字段上设置非空约束。

默认值约束(Default Constraint):如果某个字段满足默认值约束的要求,可向该字段添加默认值约束。

 

这篇关于数据完整性约束的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/286412

相关文章

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

poj 3159 (spfa差分约束最短路) poj 1201

poj 3159: 题意: 每次给出b比a多不多于c个糖果,求n最多比1多多少个糖果。 解析: 差分约束。 这个博客讲差分约束讲的比较好: http://www.cnblogs.com/void/archive/2011/08/26/2153928.html 套个spfa。 代码: #include <iostream>#include <cstdio>#i

poj 3169 spfa 差分约束

题意: 给n只牛,这些牛有些关系。 ml个关系:fr 与 to 牛间的距离要小于等于 cost。 md个关系:fr 与 to 牛间的距离要大于等于 cost。 隐含关系: d[ i ] <= d[ i + 1 ] 解析: 用以上关系建图,求1-n间最短路即可。 新学了一种建图的方法。。。。。。 代码: #include <iostream>#include

POJ 1364差分约束

给出n个变量,m个约束公式 Sa + Sa+1 + .... + Sa+b < ki or > ki ,叫你判断是否存在着解满足这m组约束公式。 Sa + Sa+1   +   .+ Sa+b =  Sum[a+b] - Sum[a-1]  . 注意加入源点n+1 。 public class Main {public static void main(Strin

创建表时添加约束

查询表中的约束信息: SHOW KEYS FROM 表名; 示例: 创建depts表包含department_id该列为主键自动增长,department_name列不允许重复,location_id列不允许有空值。 create table depts(department_id int primary key auto_increment,department_name varcha

非空约束(Not Null)

修改表添加非空约束 使用DDL语句添加非空约束 ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL; 示例: 向emp表中的salary添加非空约束。 alter table emp modify salary float(8,2) not NULL; 删除非空约束 使用DDL语句删除非空约束 ALTER TABLE 表名 MODIFY 列名 类型 NULL;

机器学习模型中的因果关系:引入单调约束

单调约束是使机器学习模型可行的关键,但它们仍未被广泛使用欢迎来到雲闪世界。 碳ausality 正在迅速成为每个数据科学家工具包中必不可少的组成部分。 这是有充分理由的。 事实上,因果模型在商业中具有很高的价值,因为它们为“假设”情景提供了更可靠的估计,特别是在用于做出影响业务结果的决策时。 在本文中,我将展示如何通过简单的更改(实际上添加一行代码)将传统的 ML 模型(如随机森林、L

javaweb-day01-3(XML 的 dtd 约束)

XML 的约束方式有两种:dtd 和 schema  DTD约束: Document Type Definition    文档类型定义、文档类型界定。 入门示例: book.xml : <?xml version="1.0" encoding="gb2312"?><!DOCTYPE 书架 SYSTEM "book.dtd"><书架><书><书名>J

oracle2之约束

《1》子查询和关联查询 建立表如下: 学生基本信息表 CREATE Student( [Studentid][Int]IDENTITY(1,1)NOT NULL primary key,--主键 [StudentName][char]NOT NULL ) 课程信息表 CREATE Subject( [SubjectID][char]NOT NUL