数据库原理-第4章-安全性
第4章 数据安全防护(PPT)

• RAID0(Striping阵列——没有数据冗余, 没有校验信息)又称直接硬盘分段
原理:RAID0将多个磁盘构建成1个逻辑盘, 然后将连续的数据分割成多块,并且分别写在 多个磁盘上。因为多个磁盘有多个通道,所以 对多块数据进行写的时候可以同时进行,所以 从理论上讲,有几块磁盘构成RAID0,其写盘 的速度就可提高几倍。
¡用分布式奇偶盘的方式比起用专用奇偶盘,瓶 颈效应发生的可能性要小;
l RAID5比RAID0优越,但就写性能来说, RAID5不如RAID0;
l 镜像技术(RAID1)和数据奇偶位分段 (RAID5)都产生冗余信息。在RAID5用 数据的非常紧凑的表现方式,来恢复由于 某一硬盘故障而丢失的数据;
22
• 使用RAID技术(特点)
可以提高数据的安全性外; 可以加快系统运行的速度; 提高系统的数据容量。
4
第16讲 信息安全
原理:其实现的基本方法是使用一定的策略 将多个磁盘连接在一起协同工作。RAID是通 过磁盘阵列与数据条块化方法相结合,以提 高数据可用率的一种结构。
5
1 RAID0
第16讲 信息安全
33
容灾备份等级
第16讲 信息安全
第3级,异地互助热备份
该方案与异地热备份的区别在于,不单独建设 热备份中心,而是与别的已有的中心互相构成 对方的备份中心。这两个数据中心系统分别在 相隔较远的地方建立,它们都处于工作状态, 并进行相互数据备份。当某个数据中心发生灾 难时,另一个数据中心接替其工作任务。通常 在这两个系统中的光纤设备连接中还提供冗余 通道,以备工作通道出现故障时及时接替工作, 如银行的各省分行间可使用这种方案。
• 从RAID2到RAID5都是用异或(XOR)操作产生 奇偶效验数据,当系统中有一个硬盘发生故障时, 也是用异或操作重建数据。
数据库原理总结

第一章数据库概论1.人工管理阶段,文件系统阶段,数据库阶段,高级数据库阶段(对象数据库技术,分布式数据库系统,开放数据库互连技术,xml数据库技术,现代信息集成技术)2.数据描述:概念设计中:实体,实体集,属性,实体标识符;逻辑设计中:字段,记录,文件,关键码;物理设计中:位,字节,字,块,桶,卷;3.概念模型,逻辑模型(层次,网状,关系,对象),外部模型,内部模型;4.三层模式(外模式,逻辑模式,内模式),两级映像(外模式/逻辑模式映像,逻辑模式/内模式映像)5.数据库系统:数据库,硬件,软件,数据库管理员第二章关系模型和关系运算理论1.超键:能唯一标识元组的属性或属性集。
候选键:不含有多余属性的超键主键:用户选作元祖标识的候选键。
外键:是其他模式的主键。
实体完整性规则,参照完整性规则,用户定义的完整性规则关系模式的三层体系结构:关系模式,子模式,存储模式2.关系代数的5个基本操作:并,差,笛卡尔积,投影,选择;关系代数的4个组合操作:交,连接,自然连接,除法。
关系代数的7个扩充操作:改名,广义投影,赋值,外连接,外部并,半连接,聚集操作3.关系代数表达式的启发式优化算法:尽可能早的执行选择操作;尽可能早的执行投影操作;避免直接做笛卡尔积第三章关系数据库语言SQL1.SQL的组成:数据定义语言,数据操纵语言,嵌入式,数据控制语言2.数据定义:数据类型ok,数据库,数据表,索引的创建等ok。
3.数据查询,数据更新ok。
4,视图,嵌入式,动态SQL语句,存储过程。
第四章关系数据库的规范化设计1.定义1:函数依赖:设有关系模式R(U),U为属性集,x、y为U的子集,函数依赖(FD)是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FDX→Y在关系模式R(U)中成立。
定义2:如果X→Y和Y→X同时成立,则可记为X←→Y。
定义3:设F是在关系模式R上成立的函数依赖的集合,X→Y 是一个函数依赖。
王珊数据库原理4

足不同程度要求的为不同范式。 范式的种类:
第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF)
范式(续)
各种范式之间存在联系: 1NF 2 NF 3NF BCNF 4 NF 5 NF
解决方法:通过分解关系模式来消除其中不合适 的数据依赖。
数据依赖对关系模式的影响(续)
规范化理论正是用来改造关系模式,通
过分解关系模式来消除其中不合适的数
据依赖,以解决插入异常、删除异常、
更新异常和数据冗余问题。
5.1 数据依赖
5.1.1 关系模式中的数据依赖
5.1.2 数据依赖对关系模式的影响 5.1.3 有关概念
某一关系模式R为第n范式,可简记
为R∈nNF。
4.2 范式
4.2.1 第一范式(1NF) 4.2.2 第二范式(2NF) 4.2.3 第三范式(3NF) 4.2.4 BC范式(BCNF) 4.2.5 多值依赖与第四范式(4NF)
4.2.1 第一范式(1NF)
1NF的定义
定义5.6 如果一个关系模式R的所有属性都是 不可分的基本数据项,则R∈1NF。
二R(U)中,对于U的子集 X和Y,如果X→Y,但Y X,则称 X→Y是非平凡的函数依赖。若X→Y, 但Y X则称X→Y是平凡的函数依赖。
例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno (Sno, Cno) → Cno
数据依赖对关系模式的影响(续)
⒊ 插入异常(Insertion Anomalies) – 该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无 法把这个系及其系主任的信息存入数据库。
大学数据库原理习题集

第一章绪论填空题(1)数据库系统与文件系统最主要的区别是________。
(2)模式/内模式映像为数据库提供了________独立性。
(3)现实世界中事物的特性在信息世界中称为________。
(4)在E-R图中,属性用________表示。
(5)数据独立性分为________和________。
(6)层次模型中,根节点以外的节点最多有________个父节点。
单项选择题(1)________是按照一定的数据模型组织的,长期存储在计算机内,可供多个用户共享的数据的集合。
A. 数据库系统B. 数据库C. 文件D. 数据库管理系统(2)在数据库中,下列说法________是不正确的。
A.数据库避免了一切数据的重复B.数据库中的数据可以共享C.数据库减少了数据冗余D.数据库系统具有较高的数据和程序的独立性(3)下列四项中,不属于数据库系统特点的是()。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高(4)________处在数据库系统的核心位置。
A. 数据字典B. 数据库C. 数据库管理系统D. 数据库管理员(5)数据库(DB)、数据库管理系统(DBMS)、数据库系统(DBS)三者之间的关系是________。
A. DB包括DBMS和DBSB. DBMS包括DB和DBSC. DBS包括DB和DBMSD. DBS也就是DB(6)现实世界中客观存在并可相互区别的事物称为________。
A. 实体B. 实体集C. 字段D. 属性(7)下列实体类型的联系中,属于一对一联系的是________。
A. 教研室和教师的联系B. 父亲和孩子的联系C. 省和省会的联系D. 供应商和零件的联系(8)在E-R图中,联系用________表示。
A. 椭圆B. 矩形C. 菱形D. 三角形(9)用二维表结构表示实体以及实体之间联系的数据模型是________。
A. 层次模型B. 网状模型C. 关系模型D. 面向对象模型(10)层次型、网状型和关系型数据库划分的原则是________。
第4章 数据库技术基础

数据库技术基础1.1 数据库技术基本概念1.11 信息,数据与数据处理(1)信息:信息是现实世界事物的存在方式或运行状态的反映。
信息具有可感知,可存储,可加工,可传递和可再生的自然属性。
(2)数据:数据时描述现实世界事物的符号标记,是指用物理符号记录下来的可以鉴别的信息,数据的多种表现形式都可以经过数字化后存入计算机。
(3)信息与数据的关联:数据是信息的符号表示,或称载体;信息是数据的内涵,是数据的语义解释。
(4)信息处理的基本环节:人们将原始信息表示成数据,称为源数据,然后对这些源数据进行汇集,存储,综合,推导,从这些原始的,杂乱的,难以理解的数据中抽取或推导出新的数据,称为结果数据。
信息的价值与它的准确性,及时性,完整性和可靠性有关。
1.12 数据管理技术的发展和数据库方法的特征(1)数据管理技术的产生和发展数据管理技术是指对数据的分类,组织,编码,存储,检索和维护的技术。
数据管理技术经历了人工管理,文件系统和数据库系统三个阶段。
(2)数据库系统方法的特征a. 数据库系统自描述特点:数据库系统不仅包括数据库数据本身,还包括了定义和说明数据库数据的结构和约束条件。
b. 数据结构化:数据库使用数据模型来描述整个组织的数据结构,在描述数据时不仅描述数据本身,还要描述数据之间的联系,但对用户隐藏了数据存储和实现的细节。
c.数据共享性高,冗余度小,易扩充:数据库数据是面向整个系统的,为用户提供更广泛的数据共享,大大减小了数据的冗余度,避免了数据之间的不相容性和不一致性。
d. 数据独立性高:在数据库方法中,存储在数据库的数据词典中的数据文件结构与访问它的程序之间是相互分离的;通常把这种性质称为程序-数据独立性。
e. 统一的数据管理和控制:数据库对系统中的用户来说是可以同时存取的共享的资源,它由DBMS进行统一的数据管理。
1.13 数据库,数据字典,数据库管理系统,数据库系统(1)数据库DB与数据字典DD数据库是按一定的结构组织,并可以长期储存在计算机内,具有某些内在的含义的,在逻辑上保持一致的,可共享的大量数据集合。
第4章 完整性约束 V1.2

DATABASE@UESTC学以致用电子科技大学计算机学院胡旺scuhuwang@ 2011年3月29日星期二《数据库原理及应用》第4章完整性约束DATABASE@UESTC学以致用Click to add Title 1数据库完整性概述Click to add Title 2完整性约束的分类Click to add Title 2完整性约束的定义3Click to add Title 1完整性约束的修改4Click to add Title 1*完整性约束的验证5Click to add Title 1*数据库产品的完整性支持4DATABASE@UESTC学以致用完整性约束是加在数据库模式上的一个具体条件,它规定什么样的数据能够存储到数据库系统中。
例如:学生的年龄必须是整数,取值范围为14--29;学生的性别只能是“男”或“女”;学生的学号一定是唯一的;学生所在的系必须是学校开设的系;DATABASE@UESTC学以致用数据完整性和安全性是两个不同概念数据的完整性是为了防止数据库中存在不符合语义的数据,防止错误数据的输入和输出所造成的无效操作和错误结果。
数据的安全性是防止非法用户的非法操作所造成的对数据库的恶意破坏。
DATABASE@UESTC学以致用完整性约束条件定义机制完整性约束条件:数据模型的组成部分,约束数据库中数据的语义 DBMS应提供定义数据库完整性约束条件,并把它们作为模式的一部分存入数据库中完整性检查机制检查用户发出的操作请求是否违背了完整性约束条件违约反应如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性DATABASE@UESTC学以致用按照完整性约束条件作用的对象分:类型约束属性约束关系变量约束数据库约束按照完整性约束条件声明时的位置分:列级约束表级约束两种状态静态: 对静态对象的约束是反映数据库状态合理性的约束动态: 对动态对象的约束是反映数据库状态变迁的约束,新旧值之间满足的约束DATABASE@UESTC学以致用Primary Key约束:实体完整性规则?列级约束CREATE TABLE RecipeMaster{Rno VARCHAR(10) PRIMARY KEY ,DGno VARCHAR(10),Rdatetime DATETIME}表级约束:单属性主键CREATE TABLE Medicine{Mno VARCHAR(10),Mname VARCHAR(50) NOT NULL,Mprice DECIMAL(18,2) NOT NULL,Munit VARCHAR(10),Mtype VARCHAR(10),PRIMARY KEY(Mno)}DATABASE@UESTC学以致用表级约束:多属性组合主键CREATE TABLE RecipeDetail{Rno VARCHAR(10),Mno VARCHAR(10) NOT NULL,Mamount DECIMAL(18,0),PRIMARY KEY(Rno,Mno)}UNIQUE约束定义和PRIMARY KEY约束定义不能在同一属性上PRIMARY KEY子句中的每个属性的取值都必须是NOT NULLDATABASE@UESTC学以致用列级约束CREATE TABLE Dept{DeptNo VARCHAR(10) PRIMARY KEY,DeptName VARCHAR(50) UNIQUE ,ParentDeptNo VARCHAR(10),Manager VARCHAR(10)}索引对象约束CREATE UNIQUE INDEX deptname_index ON dept(DeptName) UNIQUE与Primary Key在一个关系中,PRIMARY KEY只有一个,而UNIQUE可以声明多个 PRIMARY KEY要求属性取值不能为NULL,而UNIQUE允许属性取空值,允许多个空值同时存在在定义了UNIQUE,PRIMARY KEY 约束的属性上建立索引是十分必要的,它可以使约束的检查执行起来更有效DATABASE@UESTC 学以致用列级约束CREATE TABLE Diagnosis{DGno VARCHAR(10) PRIMARY KEY,Pno VARCHAR(10) NOT NULL ,Dno VARCHAR(10) NOT NULL ,Symptom VARCHAR(100),Diagnosis VARCHAR(100),DGtime DATETIME,Rfee DECIMAL(18,2) NOT NULL}域对象约束CREATE DOMAIN fee DECIMAL(18,2) NOT NULL ;DATABASE@UESTC学以致用表级约束CREATE TABLE Doctor{Dno VARCHAR(10),Dname VARCHAR(50) NOT NULL,Dsex VARCHAR(2),Dage INT,Ddeptno VARCHAR(10),Dlevel VARCHAR(50),Dsalary DECIMAL(18,2),PRIMARY KEY(Dno),CHECK( Dsex IN (‘男’, ‘女’)),CHECK( Dage > 0 AND Dage <60)}DATABASE@UESTC学以致用域对象约束CREATE DOMAIN rfee DECIMAL(18,2)CONSTRAINT rfee_test CHECK(VALUE >0)SQL条件约束CREATE TABLE RecipeDetail{Rno VARCHAR(10),Mno VARCHAR(10) NOT NULL,Mamount DECIMAL(18,0),PRIMARY KEY(Rno,Mno),CHECK (Mno IN (SELECT Mno FROM medicine))}上述CHECK语句实际上是定义了一个参照完整性约束一般而言,由于Check条件中允许出现包含其他关系的子查询,Check条件可能变得更复杂,也更难检测。
数据库原理与应用(Access) 第四章 表的创建与表的
本章学习目标
在Access 2003中,表是有结构的数据的集合, 是数据库应用系统的数据“仓库”。开发数据库应用 系统时,开发者首要的工作是分析应用系统的数据要 求,然后根据分析的结果建立适合于系统要求的表结 构和表间关系。例如,我们要设计一个“学生信息管 理系统”就必须先设计表结构、建立表和对表进行必 要的操作与维护。
图4-1 新建表对话框
图4-2 表设计视图窗口
(3)在表设计器窗口单击第一行的“字段名称” 列,输入“学生”表的“学号”字段,单击“数据类 型”列右侧的向下箭头,从下拉列表中选择所需要的 数据类型,如“文本”;在窗口下半部的字段属性区 域设置“字段大小”属性,如8,并将必填字段设置 为“是”。如图4-3所示。 (4) 按上述方法依次定义每个字段的名字、类型、 长度及小数位数等参数。如图4-4所示。 (5)定义好表的全部字段后,单击“保存”按钮, 进入“另存为”对话框,在文件名输入框输入表名 称(“学生”),单击“确定”按钮。进入如图45所示的对话框。
图4-24 查找和替换对话框
(4)若要逐个替换,可单击“查找下一个”按钮, 当找到满足条件的记录时,单击“替换”按钮,可 替换当前记录,若不替换当前记录,则单击“查找 下一个”按钮。如要一次替换所有满足条件的记录, 可单击“全部替换”按钮。 (5)替换完成后,单击“取消”按钮,退出替换 操作。
4.4修改表结构
(9)超级链接 超级链接类型用于保存超链接的字段。超链接 可以是某个UNC路径(通往局域网中一个文件的地 址)或是URL(通往Internet节点)。当单一个超 链接时,Web浏览器或Access 2003将根据超链接 地址到达指定的目标。 (10)查询向导 查询向导类型(Loolup Wizard)字段通过列 表框或组合框提供了一个字段内容的列表,用户可 以在列表框或组合框中选择所列内容作为输入字段 的内容。其长度由系统默认设置。
数据库原理
《数据库原理》第一章、绪论1.四个基本概念的掌握:数据——描述事物的符号记录数据库——长期存储在计算机内的有组织,可共享的数据集合。
例如:SQLServer2000中默认的数据库master。
DBMS——位于用户与操作系统之间的一层数据管理软件。
例如:SQLServer2000,Access,Orecal 等。
数据库系统——数据库、DBMS、应用程序等有关软件、硬件及各类人员(数据库管理员和用户)。
例如:学生个人信息管理系统。
数据库系统的核心是数据库管理系统。
2.四者的关系,核心,理解P6图1.13.数据管理的三个阶段——人工管理、文件系统、数据库系统,了解每个阶段的特点4.数据库系统的特点——数据整体结构化;数据冗余度低,共享性高,易扩充;数据的物理独立性与逻辑独立性强(物理、逻辑独立性的概念,体现在那些地方);由DBMS统一管理控制的四个功能(P11四点)5.数据模型的组成要素——数据结构、数据操作、数据的完整性约束6.概念模型——实际上是现实世界到机器世界的一个中间层次(第一层抽象),表示方法——E-R图(能熟练掌握绘制方法)。
7.概念模型中的基本概念——实体、属性、码、域、实体型、实体集、联系(事物内部的联系、两个事物之间的联系【1:1,1:n,n:m】、多个事物之间的联系)P158.数据模型——层次、网状、关系(主流)9.关系模型中的概念——关系,元组,属性,码,域,分量,关系模式P2910.模式,外模式,内模式定义,有哪两种模式映像及其作用P31-P34书上习题回顾—— p.19-20 1.6.2和1.6.3(1、2题)第二章关系数据库1.关系模型的组成要素——关系数据结构(关系)、关系操作集合(选择、投影、连接、除、并、交、差等查询操作和增加、删除、修改操作,特别是某些关系操作的表达式)、关系完整性约束(后面具体介绍)2.基本概念——笛卡尔积、关系候选码、主码、主属性、非码属性、全码3.基本关系的性质——P45六点4.关系的完整性:实体完整性——规定关系中的所有主属性不能为空,而不仅是整体不能为空NULL的含义(不知道或者无意义的值)。
数据库原理课后题答案
第1章1.试述数据、数据库、数据库系统、数据库管理系统的概念;答:1数据:描述事物的符号记录成为数据;数据的种类有数字、文字、图形、图像、声音、正文等;数据与其语义是不可分的;(2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库中的数据按照一定的数据模型组织;描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享;(3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统及其开发人具、应用系统、数据库管理员构成; (4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据;DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能;6.试述数据库系统三级模式结构,这种结构的优点是什么答:数据库系统的三级模式机构由外模式、模式和内模式组成;外模式,亦称子模式或用户模式,是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用户的公共数据视图;模式描述的是数据的全局逻辑结构;外模式涉及的是数据的内部逻辑结构,通常是模式的子集;内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述;数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储;为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式∕模式映像和模式∕内模式映像;正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性;7.定义并解释下列术语;外模式:亦称子模式或用户模式,是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;内模式:亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述;模式:亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图;模式描述的是数据的全局逻辑结构;外模式涉及的是数据的内部逻辑结构,通常是模式的子集;DDL:数据库定义语言,用来定义数据库模式、外模式、内模式的语言;DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语句;8.什么叫数据与程序的物理独立性什么叫数据与程序的逻辑独立性为什么数据库系统具有数据与程序的独立性答:数据与程序的逻辑独立性:当模式改变时例如增加新的关系、新的属性、改变属性的数据类型等,由数据库管理员各个外模式∕模式的映像做相应改变,可以使外模式保持不变;应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性;数据与程序的物理独立性:当数据库的存储结构改变了,有数据库管理员对模式∕内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性;数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性;第2章数据模型3.试描述数据模型的三个要素;数据模型由数据结构、数据操作和完整性约束三部分组成;(1)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述;(2)数据操作:是对数据库中各种对象型的实例值允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述;(3)数据的约束条件: 是一组完整性规则的集合;完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容;7.试述关系模型的概念,定义并解释以下术语;答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成;(1)关系:一个关系对应通常说法的一张表(2)关系模式:对关系的描述,一般表示为:关系名属性1,属性2,…,属性n(3)元祖:表中的一行即为一个元组(4)属性:表中的一列即为一个属性(5)码:表中的某个属性组,它可以惟一确定一个元组(6)域:属性的取值范围(7)分量:元组中的一个属性值第3章关系数据库3.定义并理解下列术语,说明它们之间的联系与区别; (1)域:域是一组具有相同数据类型的值的集合;笛卡儿积:给定一组域D1,D2,…,Dn,这些域中可以有相同的;D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={d1,d2,…,dn|di∈Di,i=1,2,…,n} 其中每一个元素d1,d2,…,dn叫做一个n元组或简称元组;元素中的每一个值di叫做一个分量;关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为RD1,D2,…Dn元组:关系中的每个元素是关系中的元组;属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域;由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性;(2)候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码;主码:若一个关系有多个候选码,则选定其中一个为主码;外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码,简称外码;基本关系R称为参照关系,基本关系S称为被参照关系或目标关系;关系R 和S可以是相同的关系;(3)关系模式:关系的描述称为关系模式;它可以形式化地表示为RU,D,dom,F 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映像集合,F为属性间数据的依赖关系集合;关系:在域D1,D2,…,Dn上笛卡儿积D1×D2×…×Dn的子集称为关系,表示为RD1,D2,…Dn,关系是关系模式在某一时刻的状态或内容;关系模式是静止的、稳定的;而关系是动态的、随时间不断变化的,因为关系操作在不断更新着数据库中的数据;关系数据库:关系数据库也有型和值之分;关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式;关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库;4.试述关系模型的完整性规则;在参照完整性中,为什么外部码属性的值也可以为空什么情况下才可以为空5.答:关系模型的完整性规则是对关系的某种约束条件;关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性;其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称做事关系的两个不变性,应该由关系系统自动支持;1实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值; 2参照完整性规则:若属性或属性组F是基本关系R的外码,它与基本关系S 的主码Ks相对应基本关系R和S不一定是不同的关系,则对于R中每个元组在F上的值必须为:1或者取空值F的每个属性值均为空值2或者等于S中的某个元组的主码值;3用户定义的完整性是针对某一具体关系数据库的约束条件;它反映某一具体应用所涉及的数据必须满足的语义要求;在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性;例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定;学生学号,姓名,性别,专业号,年龄专业专业号,专业名而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“课程”表的主属性,所以不能为空,因为关系模型必须满足实体完整性;课程课程号,课程名,学分选修学号,课程号,成绩p61 5、设有一个SPJ数据库,包括S、P、J、SPJ四个关系模式:SSNO,SNAME,STATUS,CITY;PPNO,PNAME,COLOR,WEIGHT;JJNO,JNAME,CITY;SPJSNO,PNO,JNO,QTY;供应商表S由供应商代码SNO、供应商姓名SNAME、供应商状态STATUS、供应商所在城市CITY组成;零件表P由零件代码PNO、零件名PNAME、颜色COLOR、重量WEIGHT组成;工程项目表J由工程项目代码JNO、工程项目名JNAME、工程项目所在城市CITY 组成;供应情况表SPJ由供应商代码SNO、零件代码PNO、工程项目代码JNO、供应数量QTY组成,表示某供应商供应某种零件给某工程项目的数量为QTY;今有若干数据如下:S表试分别用关系代数完成如下查询:(1)求供应工程J1零件的供应商号SNO;答关系代数πSNOσJNO=’J1’SPJ(2)求供应工程J1零件P1的供应商号SNO;答关系代数πSNOσJNO=’J1’⋀PNO=’P1’SPJ(3)求供应工程J1零件为红色的供应商号SNO;答关系代数πSNOπSNO,PNOσJNO=’J1’SPJ ⋈πPNOσCOLOR=’红’P(4)求没有使用天津供应商生产的红色零件的工程号JNO;答关系代数πJNO J-πJNOπSNOσCITY=’天津’S⋈πSNO,PN0,JNO SPJπPNOσCOLOR=’红’P解析减法运算中被减的部分是使用了天津供应商生产的红色零件的所有工程号,πJ是全部工程的工程号,两者相减就是没有使用天津供应商生出的红色零件的工程号,包括没有使用任何零件的工程号;5求至少用了S1供应商所供应的全部零件的工程号JNO;答关系代数πJNO,PNO SPJ÷πPNOσSNO=’s1’SPJ解析上面公式中除号前的部分是所有工程与该工程所用的零件,除号后的部分是S1所供应的全部零件号;对于SPJ表中的某一个JNO,如果该工程使用的所有零件的集合包含S1所供应的全部零件号,则该JNO符合本题条件,在除法运算的结果集中;可以看到,使用关系代数的除法运算概念清晰,语言表达也很简单;7.关系代数的基本运算有哪些选择、投影、并、差和笛卡儿积五种;第4章关系数据库的标准语言SQL5.针对习题3中的4个表试用SQL完成如下操作;1找出所有供应商的姓名和所在的城市;SELECT SNAME,CITYFROM S;5找出上海厂同提供的所有零件号码SELECT DISTINCT PNOFROM SPJ WHERE SNO INSELECT SNO FROM S WHERE CITY=‘上海’;(8)把所有红色的零件的颜色改成蓝色UPDATE P SET COLOR=’蓝’ WHERE COLOR=’红’(10)从供应商的关系中删除S2的记录,并从供应关系中删除相应记录;DELETE FROM SPJ WHERE SNO=‘2’;DELETE FROM S WHERE SNO=‘S2’;6.什么是基本表什么是视图两者的区别和联系是什么基本表是本身独立存在的表;视图是人一个或几个基本表导出的表;视图本身不独立存储在数据库中,是一个虚表;即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中;用户可以如同基本表那样使用视图,可以在视图上再定义视图;7.试述视图的优点;1视图能简化用户的操作;2视图使用户能以多种角度看待同一数据;3视图对重构数据库提供了一定程度的逻辑独立性;4视图能够对机密数据提供安全保护;9.哪类视图是可以更新的基本表的行列子集视图是可以更新的;第5章数据库的安全性1什么是数据库的安全性答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改过破坏;试述实现数据库安全性控制的常见方法和技术3实现数据库安全性控制的常见方法和技术有:(1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份;每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权;(2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人无法存取数据;例如C2集中地自主存取控制DAC,B1集中的强制存取控制MAC; (3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护;(4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等;(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容;6. 什么是数据库的审计功能,为什么要提供审计功能答:审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中;因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在;利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等;第6章数据库的完整性1.什么是数据库的完整性答:数据库的完整性是指数据的正确性和相容性;6.假设有下面两个关系模式:职工职工号,姓名,年龄,职务,工资,部门号,其中职工号为主码;部门部门号,名称,经理名,地址,电话号,其中部门号是主码;用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不超过60岁;答:CREATE TABLE DEPTDeptno NUMBER2,Deptname VARCHAR10,Manager VARCHAR10,PhoneNumber Char12CONSTRAINT PK_SC PRIMARY KEY Deptno;CREATE TABLE EMPEmpno NUMBER4 primary key,Ename VARCHAR10,Age NUMBER2,CONSTRAINT C1 CHECK Aage < =60,Job VARCHAR9,Sal NUMBER7,2,Deptno NUMBER2,CONSTRAINT FK_DEPTNOFOREIGN KEYDeptnoREFERENCES DEPTDeptno;7关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的答:对于违反实体完整性和用户定义完整性的操作,一般都采用拒绝执行的方式处理;而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据的正确性;第7章数据库恢复技术5.数据库的恢复技术有哪些数据转储和登录日志文件是数据库恢复的基本技术;当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态;第8章并发控制1.在数据库中为什么要并发控制答:数据库是共享资源,通常有许多个事务同时在运行;当多个事务并发地存取数据库时就会产生同时读取和∕或修改同一数据的情况;若对并发操作不加控制就可能读取和存储不正确的数据,破坏数据库的一致性;所以数据库管理系统必须提供并发控制机制;2.并发操作可能会产生哪几类数据不一致用什么方法能避免各种不一致的情况3.答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据;1丢失修改两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了覆盖了T1提交的结果,导致T1的修改被丢失;2不可重复读不可重复读是指事务T1读取数据后,事务T2提交执行更新操作,使T1无法再现前一次读取结果;3读”脏”数据读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据;避免不一致性的方法和技术就是并发控制;最常用的技术是封锁技术;也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制;4.基本的封锁类型有几种试述它们的含义;答:基本的封锁类型有两种:排它锁和共享锁;排它锁又称为写锁;若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁;这就保证了其他事务在T释放A上的锁之前不能再读取和修改A;共享锁又称为读锁;若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁;这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改; 6.如何用封锁机制保证数据的一致性答:DBMS在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务T1在对进行修改之前先对A执行XockA,即对A加X锁;这样,当T2请求对A加X锁是就被拒绝,T2只能等待T1释放A上的锁后才能获得对A的X锁,这时它读到的A是T1更新后的值,再按此新的A值进行运算;这样就不会丢失T1的更新;DBMS按照一定的封锁协议,对并发控制进行控制,使得多个并发操作有序地执行,就可以避免丢失修改、不可重复读和读“脏”数据等数据不一致性;5.什么是封锁协议不同级别的封锁协议的主要区别是什么6.答:在运用封锁技术对数据加锁时,要约定一些规则;例如,在运用X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等;这些约定或者规则称为封锁协议;对封锁方式约定不同的规则,就形成了各种不同的封锁协议、不同级别的封锁协议,例如三级封锁协议,三级封锁协议的主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁即持锁时间的长短;一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放;二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S 锁,读完后即可释放S锁;三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S 锁,直到事务结束才释放;8.什么是活锁什么是死锁答:T1 T2 T3 T4Lock R . . .. Lock R . .. 等待lock R .Unlock 等待. Lock R. 等待Lock R 等待. 等待. 等待. 等待Unlock 等待, 等待. Lock R 如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待;T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待;然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……T2有可能永远等待,这就是活锁的情形;活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活;如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁;接着T2又申请分所R1,因T1已封锁了R1,也只能T1释放R1上的锁;这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁;T1 T2lock R1 ..Lock R2. .Lock R2.等待lock R1.8.试述活锁的产生原因和解决方法;答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁;避免活锁的简单方法是采用先来先服务的策略;当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中的第一个事务获得锁;10.请给出预防死锁的若干方法;答:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待;防止死锁的发生其实就是要破坏产生死锁的条件;预防死锁通常有两种方法:(1)一次封锁法,要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行;(2)顺序封锁法,预先对数据对象规定一个封锁顺序,所有事务都能按这个顺序实行封锁;不过,预防死锁的策略不大适合数据库系统的特点,具体原因可参加概论; 11.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁答:数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法;DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法;超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁;超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁;若时限设置的太长,又不能及时发现死锁发生;DBMS并发控制子系统检测到死锁后,就要设法解除;通常采用的方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务得以继续运行下去;当然,对撤销的事务所执行的数据修改操作必须加以恢复; 12.什么样的并发调度是正确的调度答:可串行化的调度室正确的调度;可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同,称这种调度策略为可串行化的调度; 13.设T1,T2,T3是如下的3个事务:T1:A=A+2;T2:A=A2;T3:A=A2;A←A²设A的初值为0.(1)若这三个事务允许并行执行,则有多少可能的正确结果,请一一列举出来;答:A的最终结果可能有2、4、8、16;因为串行执行次序有T1T2T3、T1T3T2、T2T1T3、T2T3T1、T3T1T2、T3T2T1;对应的执行结果是16、8、4、2、4、2;2请给出一个可串行化的调度,并给出执行结果;答:T1T2T3Slock AY=A=0Unlock AXlock ASlock AA=Y+2 等待写回A=2 等待Unlock A 等待Y=A=2Unlock AXlock ASlock AA=Y2 等待写回A=4 等待Unlock A 等待Y=A=4Unlock AXlock AA=Y2写回A=16Unlock A 最后结果A为16,是可串行化的调度;3请给出一个非串行化的调度,并给出执行结果;T1T2T3Slock AY=A=0Unlock ASlock AY=A=0Xlock A等待Unlock AA=Y+2写回A=2 Slock AUnlock A 等待Y=A=2Unlock AXlock AXlock A等待Y=Y2等待写回A=4等待Unlock AA=Y2写回A=0Unlock A最后结果A为0,为非串行化的调度;(4)若这3个事务都遵守两段锁协议,请给出一个不穿生死锁的可串行化调度;答:T1 T2T3Slock AY=A=0Xlock AA=Y+2 Slock A写回A=2 等待Unlock A 等待Y=A=2Xlock AUnlock A 等待Slock AA=Y2 等待写回A=4 等待Unlock A 等待Y=A=4Unlock AXlock AA=Y2写回A=16Unlock AUnlock A5若这3个事务都遵守两段锁协议,请给出一个产生死锁的调度;答:T1T2 T3Slock AY=A=0Slock AY=A=0Xlock A等待Xlock A等待Slock AY=A=0Xlock A14.试述两段锁协议的概念; 等待答:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁;●在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;●在释放一个封锁之后,事务不再申请和获得任何其他封锁;“两段”的含义是,事务分为两个阶段:第一阶段是获得封锁,也称为扩展阶段,在这个阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁;第二阶段是释放封锁,也称为收缩阶段,在这阶段,事务释放已经获得的锁,但是不能再申请任何锁;第十章概念模型与E-R方法1.什么是概念模型概念模型的作用是什么答:概念模型实际上是现实世界机器的一个中间层次;概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库人员和用户之间进行交流的语言;4.试给出3个实际部门的E-R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系;n9.学校总有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授没人各带若干研究生,每个学生选修若干课程,每门课程可由若干学生选修;请用E-R图画出此学校的概念模型;答:。
(完整word版)数据库原理第4版_习题参考答案(陈志泊)
习题参考答案第1章习题参考答案一、选择题1. C2. B3. D4. C5. D6. B7. A8. B9. D 10. B11. C 12. D 13. D 14. D 15. B16. C 17. D 18. A 19. D 20. A21. D 22. D 23. C 24. A 25. C二、填空题1. 数据库系统阶段2. 关系3. 物理独立性4. 操作系统5. 数据库管理系统(DBMS)6. 一对多7. 独立性8. 完整性控制9. 逻辑独立性10. 关系模型11. 概念结构(逻辑)12. 树有向图二维表嵌套和递归13. 宿主语言(或主语言)14. 数据字典15. 单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构16. 现实世界信息世界计算机世界第2章习题参考答案一、选择题1. A2. C3. C4. B5. B6. C7. B8. D9. C 10. A11. B 12. A 13. A 14. D 15. D 16. B 17. C二、填空题1. 选择(选取)2. 交3. 相容(或是同类关系)4. 并差笛卡尔积选择投影5. 并差交笛卡尔积6. 选择投影连接7. σf(R)8. 关系代数关系演算9. 属性10. 同质11. 参照完整性12. 系编号,系名称,电话办公地点13. 元组关系域关系14. 主键外部关系键15. R和S没有公共的属性16. 关系第3章习题参考答案一、选择题1. B2. A3. C4. B5. C6. C7. B 8. D 9. A 10. D 11. C 12. D二、填空题1.结构化查询语言(Structured Query Language)2.数据查询、数据定义、数据操纵、数据控制3.外模式、模式、内模式4.数据库、事务日志5.NULL/NOT NULL、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY约束、CHECK约束6.聚集索引、非聚集索引7.连接字段8.行数9.定义10.系统权限、对象权限11.基本表、视图12.(1)INSERT INTO S VALUES('990010','李国栋','男',19)(2)INSERT INTO S(No,Name) VALUES('990011', '王大友')(3)UPDATE S SET Name='陈平' WHERE No='990009'(4)DELETE FROM S WHERE No='990008'(5)DELETE FROM S WHERE Name LIKE '陈%'13.CHAR(8) NOT NULL14.o=o15.ALTER TABLE StudentADDSGrade CHAR(10)第4章习题参考答案一、选择题1. B2. B3. D4. B5. C6. D7. B8. D9. D 10. D11. A 12.C 13.D 14.B 15.B二、填空题1. 超键(或超码)2. 正确完备3. 属性集X的闭包X +函数依赖集F的闭包F +4. 平凡的函数依赖自反性5. {AD→C} φ6. 2NF 3NF BCNF7. 无损连接保持函数依赖8. AB BC BD9. B→φB→B B→C B→BC10. B→C A→D D→C11. AB1NF12. AD2NF13. BCNF14. 包含15. 函数依赖16. BCNF第5章习题参考答案一、选择题1. B2. B3. C4. A5. C6. D7. A8. C9. D 10. D11. B 12. B 13. A 14. D 15. A二、填空题1.安全性控制、完整性控制、并发性控制、数据库恢复2.数据对象、操作类型3.授权粒度、授权表中允许的登记项的范围4.原始数据(或明文)、不可直接识别的格式(或密文)、密文5.事务、原子性、一致性、隔离性、持久性6.丢失更新、污读、不可重读7.封锁、排它型封锁、共享封锁8.利用数据的冗余9.登记日志文件、数据转储10.事务故障、系统故障、介质故障11.海量转储和增量转储12.静态转储和动态转储13.完整性14.登录账号、用户账号15.public16.服务器、数据库第6章习题参考答案一、选择题1. B2. C3. C4. A5. C6. B7. C8. B9. D 10. C11. D 12. B 13. B 14. D 15. B16. B 17. A 18. C二、填空题1.数据库的结构设计、数据库的行为设计2.新奥尔良法3.分析和设计阶段、实现和运行阶段4.需求分析5.概念结构设计6.自顶向下、自底向上7.属性冲突、命名冲突、结构冲突8.逻辑结构设计9.确定物理结构、评价物理结构10.数据库加载11.运行和维护12.物理。