数据完整性

news2025/1/15 23:42:22

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645

数据完整性

数据完整性是关系数据库的一个重要特征,一般包含实体完整性、参照完整性和用户自定义完整性 3 种

实体完整性

实体完整性:规定表中的每一条记录在表中都是唯一的,主要通过主键来实现

参照完整性

参照完整性:指一个表的主键和另外一个表的外键应该对应一致

这确保了有主键的表中包含的数据,都在其对应的外键表中有对应的数据存在,即保证表之间的数据一致性,防止数据丢失或无意义的数据在数据库中传播

用户自定义完整性

用户自定义完整性:针对某一具体情况给出的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。

例如,学生考试的成绩一般取值范围在 0~100

数据表本身只支持数据的存储操作,不过这些数据一般都是从外部获取的,由于种种原因,会产生无效数据的输入或者错误数据的输入等情况。

在数据库上为了保证数据表中的数据完整性,特别增加了约束,即数据需要满足若干条件之后才可以进行操作,例如,某些数据不能够重复。

假设定义用户信息,身份证编号绝对不可能重复。

数据库中的约束一共 6 种:数据类型、非空约束、唯一约束、主键约束、检查约束、外键约束

但是约束是一把双刃剑,约束的确是可以保证数据合法后再进行保存,但是如果在一张表中设置了过多的约束,那么更新的速度一定会比较慢。

所以在实际开发中,某些验证的操作还是强烈建议交给程序完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1519353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VXLAN学习笔记

声明:该博客内容大部分参考参考链接整理 什么是VXLAN? VXLAN(Virtual Extensible LAN)即虚拟扩展局域网,是大二层网络中广泛使用的网络虚拟化技术。在源网络设备与目的网络设备之间建立一条逻辑VXLAN隧道,采用MAC in UDP的封装方…

Python的asyncio 多线程

-- 多线程、进程、协程是什么就不讲了,(就是你理解的一边呼吸,一边看文章) 仅解决问题的话,下边两篇不用看, Python 中的 async await 概念-CSDN博客 再深一点的看这个 Python中的多线程、进程、协程、…

Vue.js+SpringBoot开发个人健康管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健康咨询模块 三、系统展示四、核心代码4.1 查询健康档案4.2 新增健康档案4.3 查询体检档案4.4 新增体检档案4.5 新增健康咨询 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpri…

【项目设计】基于Httplib和Mysql的视频播放

项目源码(绝对可以直接运行) 一、项目介绍 1. 对视频播放系统的认识 搭建视频共享播放服务器,可以让所有人通过浏览器访问服务器,实现视频的上传查看,以及管理并播放的功能。主要是完成服务器端的程序业务功能的实现…

腾讯云轻量4核8G12M服务器性能如何?价格感人

腾讯云轻量4核8G12M服务器配置446元一年,646元12个月,腾讯云轻量应用服务器具有100%CPU性能,系统盘为180GB SSD盘,12M带宽下载速度1536KB/秒,月流量2000GB,折合每天66.6GB流量,超出月流量包的流…

springboot276基于JS的个人云盘管理系统的设计与实现

个人云盘管理系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装个人云盘管理系统软件来发挥其…

开发反应式API

开发反应式API 开发反应式API1 使用SpringWebFlux1.1 Spring WebFlux 简介1.2 编写反应式控制器 2 定义函数式请求处理器3 测试反应式控制器3.1 测试 GET 请求3.2 测试 POST 请求3.3 使用实时服务器进行测试 4 反应式消费RESTAPI4.1 获取资源4.2 发送资源4.3 删除资源4.4 处理错…

大话设计模式——7.抽象工厂模式(Abstract Factory Pattern)

1.介绍 抽象工厂模式是工厂模式的进一步优化,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。属于创建型模式。 UML图: 2.示例 车辆制造工厂,不仅可以制造轿车也可以用来生产自行车。 1)Abs…

【技术类-02】python实现docx段落文字的“手动换行符(软回车)”变成“段落标记(硬回车)”

作品展示 背景需求: 制作周计划时,需要将周计划docx内所有的表格里的手动换行符(软回车)”变成“段落标记(硬回车)”, 全部改成段落标记(硬回车) 但是19份docx每份都要打…

人工智能入门学习笔记1:什么是人工智能

一、什么是人工智能 人工智能(Artificial Intelligence),是一个以计算机科学(Computer Science)为基础,由计算机、心理学、哲学等多学科交叉融合的交叉学科、新兴学科,研究、开发用于模拟、延伸和扩展人的智能的理论、…

day06、07-MySQL

文章目录 一、MySQL概述1.1 安装1.2 数据模型1.3 SQL简介1.3.1 SQL通用语法1.3.2 分类 二. 数据库设计-DDL2.1 项目开发流程2.2 数据库操作2.2.1 查询数据库2.2.2 创建数据库2.2.3 使用数据库2.2.4 删除数据库 2.3 图形化工具2.3.1 介绍2.3.2 安装2.3.3 使用2.2.3.1 连接数据库…

Docker 容器化技术:构建高效、可移植的开发环境和部署流程|Docker 网络

为了支持网络协议栈的多个实例,Linux 在网络协议栈中引入了网络命名空间。这些独立的协议栈被隔离到不同的命名空间中,处于不同命名空间中的网络协议栈是完全隔离的,彼此无法通信。通过对网络资源的隔离,就能在一台宿主机上虚拟多…

【ACW 服务端】页面操作Java增删改查代码生成

版本: 1.2.2-JDK17-SNAPSHOT 项目地址:wu-smart-acw 演示地址:演示地址 admin/admin Java增删改查代码生成 找到对应菜单 选择你需要的数据实例 选择数据库 选择数据库表 选择客户端(如果是本地ACW服务代码启动默认注册上的客户端ID是…

错误:npm ERR! code CERT_HAS_EXPIRED 解决

问题: 在打开项目用npm install安装依赖时报错:npm ERR! code CERT_HAS_EXPIRED如下图: 原因: 说明正在尝试访问的npm registry 淘宝npm镜像源 的SSL证书已经过期,导致无法建立安全连接。 解决: 配置不…

深度学习基础知识之Atrous卷积(空洞卷积)

太久不看代码确实生疏了,盯着一堆不同的dilation,不知道有什么作用,论文中说是Atrous卷积,原来就是空洞卷积的意思。 Dilated/Atrous Convolution 空洞卷积(膨胀卷积/扩张卷积) 空洞卷积是一种不增加参数量…

2024 Meetup地区组织者招募ing!| 共赴IvorySQL城市行

IvorySQL每一次线下活动,都离不开背后默默付出及用心策划的地区组织者。是他们,让我们的相聚变得更加有意义,让我们的交流更加深入。每次看到大家在活动现场热情洋溢的面孔,听到大家对IvorySQL的喜欢和期待,我们都感到…

CSS:过渡动画 (Transition)与关键帧动画(Keyfram)

一、过渡动画 (Transition) 1.简单介绍 Transition能为样式的变化提供过渡效果,例如在下面的代码中: .main {width: 300px;height: 100px;background-color: #d26f6f;}.main:hover {width: 300px;height: 200px;background-color: #5e3e3e;transition:…

vscode 将已修改代码提交推送git时一直转圈也没有反馈

新安装的vscode 将已修改代码提交推送git时一直转圈也没有反馈 第一步 打开设置 第二步 搜索use Editor点击下面得git 第三步 将use Editor As commit input取消勾选 再次进行提交即可

【消息队列开发】 实现内存加载

文章目录 🍃前言🌳实现思路🚩读取消息长度🚩读取相应长度的消息🚩进行反序列化🚩判定是否有效🚩加入有效消息🚩收尾工作🚩代码实现 ⭕总结 🍃前言 本次开发目…

Ansible非标记语言YAML与任务剧本Playbook

前言 上篇介绍了 Ansible 单模块(AD-Hoc)的相关内容Ansible自动化运维Inventory与Ad-Hoc-CSDN博客,Ad-Hoc 命令是一次性的、即时执行的命令,用于在远程主机上执行特定任务,这些命令通常用于快速执行简单的任务。当需要…