第9章 数据库完整性
以下图片来自西安交通大学侯迪老师的ppt,仅供学习和复习使用,请勿转载或他用
9.1 概述
完整性包括了数据的正确性和相容性
正确性:数据符合现实世界语义
相容性:同一对象在不同关系表中的数据时符合逻辑。
完整性和安全性不是一个概念
必须提供完整性约束条件
违约处理:如果违背了完整性,可以选择拒绝执行或者级连(CASCADE)执行其他操作
9.2 实体完整性
每个表都要有主键
PRIMARY KEY
单属性的码可以是列级约束,也可以是表级
多属性的只能表级
检查和违约处理:
检查主键是否唯一的方式:
全表扫描(耗时)
B+树索引
9.3 参照完整性
FOREIGN KEY (字段名) REFERENCES 表名(字段名)
参照完整性检查和违约处理
9.4 用户定义完整性
用户定义的完整性是:针对某一具体应用的数据必须满足的语义要求
关系数据库管理系统提供了定义和检验用户定义完整性的机制,不必由应用程序承担
属性上的约束
NOT NULL
UNIQUE
CHECK
违约处理:
元组上的约束
9.5 完整性约束命名子句
9.6 域完整性
9.7 断言
CREATE ASSERTION <断言名> CHECK();
CREATE ASSERTION A1 CHECK (60>=(SELECT COUNT(*)FROM COURSE,SCWHERE SC.CNO=COURSE.CNO));
删除:DROP ASSERTION <断言名>;
练习
CREATE TABLE EMPLOYEES(eno varchar(20) PRIMARY KEY,name varchar(10),age int(3) //或者直接 CHECK (age<=60 AND age>0),CONSTRAINT A CHECK (age<=60 AND age>0),....dno varchar(10),FOREIGN KEY (dno) REFERENCES DEPT(dno))...
第9章 数据库完整性相关推荐
- 重温《数据库系统概论》【第一篇 基础篇】【第5章 数据库完整性】
本篇内容为中国人民大学教授王珊.萨师煊的<数据库系统概论>自学课程的复习笔记,学习视频源于小破站(传送门),对应视频P32-P36,属教材"[第一篇 基础篇]"的&qu ...
- 2022-1-9数据库理论期末复习(六)第五章 数据库完整性
第五章 数据库完整性 数据库的 完整性 是指数据的 正确性 和 相容性. 数据库必须具有以下的功能 1)提供定义完整性 2)和完整性检查的机制 3)违约方法 1. 静态列级约束 静态列级约束:对的取值 ...
- 数据库系统概论 ---- 第五章 -- 数据库完整性
文章目录 第五章 -- 数据库完整性 5.1 实体完整性 5.1.1 定义实体完整性 5.1.2 实体完整性检查和违约处理 5.2 参照完整性 5.2.2 参照完整性检查和违约处理 5.3 用户定义的 ...
- 第12章 数据库完整性
一.数据库完整性概念 数据库完整性防止合法用户使用数据库时向数据库加入不符合语义的数据.防止错误的数据进入数据库. 完整性规则 触发条件 约束条件 违约响应 二.完整性约束分类 按约束的粒度 表级约束 ...
- 数据库系统概论:第五章 数据库完整性
数据库的完整性指的就是数据的正确性和相容性.数据的正确性是指数据是符合世界语义.反映当前实际状况的:数据的相容性就是指数据库在同一对象在不同关系表中的数据是符合逻辑的. DBMS必须能够实现如下功能: ...
- 第十三章 数据库支持
第十三章 数据库支持 本章讨论Python数据库API(一种连接到SQL数据库的标准化方式),并演示如何使用这个API来执行一些基本的SQL.最后,本章将讨论其他一些数据库技术. 关Python支持的 ...
- 第三,四章 数据库和数据表的(增删改查,重命名等)基本操作
第三章 数据库的基本操作 第一节:数据库简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库: 第二节:显示所有数据库 Show databases; 第三节:创建数据库 Cre ...
- 软考 程序员教程-第三章 数据库基础知识
软考 程序员教程-第三章 数据库基础知识 第三章 数据库基础知识 3.1 基本概念 数据库系统(DataBase System,DBS)由数据库(DataBase,DB).硬件.软件和人员4大部分组成 ...
- 5.0 数据库完整性详解(PRIMARY KEY、REFERENCES、CHECK、CONSTRAINT、DOMAIN、TRIGGER)
文章目录 0.思维导图 1.数据库完整性概述 2.实体完整性---PRIMARY KEY (1)实体完整性的定义 (2)实体完整性检查和违约处理 2.参照完整性---REFERENCES (1)参照完 ...
最新文章
- 如何区分网线是几类的_认清网线的六种材质,挑选网线不再被坑
- Android系统架构图
- java微信支付必要参数_微信支付 开发账号体系各参数详解
- java定义整形输出_java程序命令行接受字符转换为整形并相加输出
- 【洛谷1527】 [国家集训队]矩阵乘法(整体二分)
- 基于Python编写的倒计时工具
- 拍拍贷第三届“魔镜杯”启动 :10万美金邀你“秀出你的算法!”
- 外贸找客户软件:G-EXTRACTOR V.20
- 我的世界java版如何装mod_《我的世界》怎么装mod 安装方法教程
- 学习 Java 的历程和体会『写给新手看,欢迎老司机批评和建议』
- 中介者(Mediator)模式--------------只有一个仲裁者
- Gvim开发环境配置笔记--Windows篇(转)
- Ubantu18.04 安装qq
- vue项目 编辑器保存代码后自动更新浏览器页面内容
- cenos 解决Kernel panic – not syncing: Attempted to kill init
- 成都生物研究所高性能计算服务器,专家人才库数据----中科院成都生物所资源库...
- vue编程式导航跳转到当前路由多次执行抛出NavigationDuplicated: Avoided redundant navigation to current location:
- vagrant box命令
- SpringBoot之加密
- 读书有益——》关于雪下很大的成语
热门文章
- 新手学习嵌入式开发要学什么
- CSS进阶班笔记(五)
- 常用电路标记表示什么意思
- HDU - 6438 Buy and Resell(思维+ 贪心)
- cf英文名字格式好看的_cf好看的英文名字格式:、I (~) you ?
- esxi 用途和开机自启动设置。
- vue使用高德地图-进行显示地图和查询天气
- 第5章-LC3, latency and QoS
- VBA-循环语句之Do...Loop
- 计算机组成原理多级先行进位,计算机组成原理—最系统的算机基础知识.ppt