数据库原理-数据库完整性

关系数据库的完整性规则是数据库设计的重要内容。绝大部分关系型数据库管理系统RDBMS都可自动支持关系完整性规则,只要用户在定义(建立)表的结构时,注意选定主键、外键及其参照表,RDBMS可自动实现其完整性约束条件。

实体完整性

实体完整性指表中行的完整性。主要用于保证操作的数据(记录)非空、唯一且不重复。即实体完整性要求每个关系(表)有且仅有一个主键,每一个主键值必须唯一,而且不允许为“空”(NULL)或重复。


参照完整性

参照完整性(Referential Integrity)属于表间规则。对于相互关联的表,在更新、插入或删除记录时,如果只改其一,就会影响数据的完整性。

在关系数据库中,关系之间的联系是通过公共属性实现的。这个公共属性经常是一个表的主键,同时是另一个表的外键。参照完整性体现在两个方面:实现了表与表之间的联系,外键的取值必须是另一个表的主键的有效值,或是“空”值。

数据发生不一致时,系统有三种策略可以处理这种情况。

no action

拒绝执行,该策略一般是默认策略。

cascade

级联,删除或修改所有不一致的元组。

null

将所有不一致的元组对应的属性设置为空值。


用户自定义完整性

由用户定义的完整性要求,一般有数据库管理系统检验这类完整性。

属性上的约束条件定义:

  1. 列值非空
  2. 列值唯一
  3. check检验

元组上的约束条件定义:

check


触发器

触发器(trigger)是由事件来触发的保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由DDL和DML等语句执行触发的。

定义触发器:

 1 create trigger tri_insert
 2 on student
 3 for insert
 4 as
 5 declare @student_idchar(10)
 6 select @student_id=s.student_id from students
 7 inner join insertedion s.student_id=i.student_id
 8 if @student_id=‘0000000001‘
 9 begin
10 raiserror(‘不能插入1的学号!‘,16,8)
11 rollbacktran
12 end
13 go

触发器执行顺序:

before,sql,after

同一个表上多个before触发器,遵循谁先创建谁执行的顺序。

删除触发器

drop trigger <触发器名> on <表名>
时间: 2024-10-13 06:21:04

数据库原理-数据库完整性的相关文章

数据库原理-数据库系统概述

数据库的四个基本概念 数据:描述事物的记录符号,视频.音频.汉字.图形是数据的一种表现形式. 数据库:组织.存储和管理数据的数据仓库,这个仓库是存储在计算机存储设备上的.严格上讲数据库 是指长期储存在计算机内的.有组织的.可共享的数据集合.数据库中的数据按一定的数据模型组织.描述和储存,具有较小的冗余度.较高的数据独立性和易扩展性,并为各种用户共享. 数据库管理系统:是用户和操作系统之间的数据管理软件,包括了数据定义功能,数据组织.存储和管理功能,数据操纵功能,数据库的事务管理和运行管理,数据库

数据库原理-数据库故障

数据库恢复定义 把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态) 数据库故障 事务内部的故障 系统故障 介质故障 计算机病毒 1.事物内部的故障 事务内部更多的故障是非预期的,是不能由应用程序处理的.运算溢出.并发事务发生死锁而被选中撤销该事务和违反了某些完整性限制等都有可能引发事务故障. 解决这类故障的方法是撤销事务(undo),就像事务从来没有发生一样. 2.系统故障 称为软故障,是指造成系统停止运转的任何事件,使得系统要重新启动. 特点: 整个系统的正常运行突然被破坏

数据库原理-数据库管理系统层次与结构

数据库管理系统的层次结构 图1.数据管理系统的层次结构 图2.关系数据管理系统的运行过程 各层的作用: 根据处理对象的不同,数据库管理系统的层次结构由高级到低级依次为应用层.语言翻译处理层.数据存取层.数据存储层.操作系统. (1)应用层 应用层是DBMS与终端用户和应用程序的界面层,处理的对象是各种各样的数据库应用. (2)语言翻译处理层 语言翻译处理层是对数据库语言的各类语句进行语法分析.视图转换.授权检查.完整性检查等. (3)数据存取层 数据存取层处理的对象是单个元组,它将上层的集合操作

《数据库原理》复习总结

<数据库原理>复习总结 数据库技术就是主要研究如何科学的组织和存储数据,高效的获取和处理数据,并可以满足用户各种不同的信息需求的技术,因为对数据库技术的需求非常大,所以学习这门课的知识和技术是非常必要的,应熟练弄清,掌握数据,数据管理,数据库,数据模型和概念模型的等专业术语的内涵. 第1章 绪论 1.掌握数据库.数据库管理系统.数据库系统(组成)的概念 2.了解数据库技术发展的三个阶段 3.掌握三级模式及二级映像的概念 4.理解数据库管理系统的主要功能 知识点: 数据:数据库系统研究和处理的对

数据库原理

第一章 数据库系统基本概念 要求.目标: 了解和掌握数据管理技术的发展阶段,数据描述的术语,数据抽象的四个级别,数据库管理系统的功能,数据库系统的组成. 一. 数据管理技术的发展 1. 分为四个阶段:人工管理阶段.文件系统阶段.数据库阶段和高级数据库阶段. 2. 数据库阶段数据管理的特点: 1) 采用数据模型表示复杂的数据结构. 2) 有较高的数据独立性. 3) 数据库系统为用户提供了方便的用户接口. 4) 提供四方面的数据控制功能:数据库的恢复.数据库的并发控制.数据的完整性.数据安全性. 5

《数据库原理与应用》复习试题归纳

  <数据库原理与应用>复习试题归纳 一.单项选择题(每小题1分,共20分) 1.数据库的三个模式中,真正存储数据的是( )A.内模式  B.模式  C.外模式  D.三者皆存储数据 2.在数据库的三个模式中(  ) A.内模式只有一个,而模式和外模式可以有多个 B.模式只有一个,而内模式和外模式可以有多个 C.模式和内模式只有一个,而外模式可以有多个 D.均只有一个 3.关于模式,下列说法中错误的是(   ) A.数据库的全局逻辑结构描述   B.数据库的框架 C.一组模式的集合      

数据库原理与应用技术,学习笔记

数据库原理与应用技术 苗雪兰,宋歌编著 学习者:何 ◆ 第1章 数据库系统概述 >> 数据库是数据管理的新手段和技术. >> 信息就是新的.有用的事实和知识. >> 数据(Data)是用于承载信息的物理符号. >> 数据不等于信息,数据只是信息表达方式中的一种 >> 数据处理是指对数据的收集.组织.整理.加工.存储和传播等工作. >> 数据管理是其他数据处理的核心和基础. >> 数据库(DataBase,DB)是一个按数据

数据库原理相关知识

数据库原理相关知识 made by @杨领well([email protected]) 一.基础知识 1. 简述数据库系统的特点. 数据结构化 : 这是数据库系统与文件系统的本质区别. 数据的共享性高.冗余度低且易扩充 : 数据共享可以大大减少数据冗余, 节约存储空间.数据共享还能够避免数据之间的不相容性和不一致性. 数据的独立性高 : 数据独立性包括物理独立性和逻辑独立性. 数据由数据库管理系统统一管理和控制 : 数据的安全性保护(保护数据以防止不合法使用造成的数据泄密和破坏).数据的完整性

数据库原理与应用 基于SQL Server 2005pdf

下载地址:网盘下载 <数据库原理与应用 基于SQL Server 2005>介绍数据库基本原理,并以sql server 2005为平台介绍数据库管理系统的应用.全书分为3部分,第l-5章介绍数据库的一般原理,第6-18章介绍sql server 2005的数据管理功能,第19-20章介绍以vb作为前端设计工具.以sql server 2005作为数据库平台开发数据库应用系统的技术.本书最后的附录还给出了一个数据库系统设计过程. 本书由浅入深.循序渐进地介绍各个知识点.书中提供了大量例题,有助