第五章 数据库安全性5-2
《数据库技术与应用》第5章 习题答案
第5章数据库完整性与安全性1. 什么是数据库的完整性?什么是数据库的安全性?两者之间有什么区别和联系?解:数据库的完整性是指数据库中数据的正确性、有效性和相容性,其目的是防止不符合语义、不正确的数据进入数据库,从而来保证数据库系统能够真实的反映客观现实世界。
数据库安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。
数据的完整性和安全性是两个不同的概念,但是有一定的联系:前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据.2。
什么是数据库的完整性约束条件?完整性约束条件可以分为哪几类?解:完整性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束.静态列级约束是对一个列的取值域的说明,包括以下几个方面:①数据类型的约束,包括数据的类型、长度、单位、精度等;②对数据格式的约束;③对取值范围或取值集合的约束;④对空值的约束;⑤其他约束.静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。
静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。
常见的静态关系约束有:①实体完整性约束;②参照完整性约束;③函数依赖约束.动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:①修改列定义时的约束;②修改列值时的约束。
动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件.动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。
3. 试述DBMS如何实现完整性控制.解:为了维护数据库的完整性,DBMS提供了以下三种机制:①完整性约束条件定义完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件.SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。
数据库第五章习题及答案
数据库第五章习题及答案本文档为数据库第五章的习题及答案,帮助读者巩固数据库相关知识。
习题1. 数据库的优点有哪些?数据库具有以下优点: - 数据共享:多个用户可以同时访问和共享数据库中的数据。
- 数据一致性:数据库提供事务管理能力,保证了数据的一致性。
- 数据持久性:数据在数据库中是永久存储的,不会因为系统关机或程序结束而丢失。
- 数据冗余度低:数据库通过规范化设计,减少了数据的冗余性,提高了数据的存储效率。
- 数据独立性:数据库支持数据与应用程序的独立性,提高了系统的灵活性和维护性。
- 数据安全性:数据库提供了用户权限管理和数据备份机制,保证了数据的安全性。
2. 数据库的三级模式结构是什么?数据库的三级模式结构包括: - 外模式(视图层):外模式是用户所看到的数据库的子集,用于描述用户对数据库的逻辑视图。
每个用户可以有不同的外模式来满足自己的需求。
- 概念模式(逻辑层):概念模式是全局数据库的逻辑结构和组织方式,描述了数据的总体逻辑视图。
概念模式独立于具体的应用程序,是数据库管理员的角度来看待数据库的。
- 内模式(物理层):内模式是数据库的存储结构和物理组织方式,描述了数据在存储介质上的实际存储方式。
3. 数据库的完整性约束有哪些?数据库的完整性约束包括: - 实体完整性约束:确保表的主键不为空,每个实体都能够唯一标识。
- 参照完整性约束:确保外键的引用关系是有效的,即外键值必须等于被引用表中的主键值或者为空。
- 用户定义完整性约束:用户可以自定义额外的完整性约束,如检查约束、唯一约束、默认约束等。
4. 数据库的关系模型有哪些特点?数据库的关系模型具有以下特点: - 数据用二维表的形式进行组织,表由行和列组成,每一行表示一个实体,每一列表示一个属性。
- 表与表之间通过主键和外键建立关联关系,形成关系。
- 关系模型提供了一种数据独立性的设计方法,使得应用程序与数据的逻辑结构相分离,提高了系统的灵活性和可维护性。
第5章 数据库完整性
第5章数据库安全性(2课时)数据库的数据保护主要包括数据的安全性和数据的完整性。
数据的安全性是为了保护数据库防止恶意的破坏和非法访问,防范对象是非法用户和非法操作。
数据库的完整性是指数据的正确性和相容性,是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据,防范对象是不合语义的、不正确的数据。
举例说明数据的完整性(三种完整性各一例)。
为维护数据库的完整性,DBMS必须具备三个功能:1 提供定义完整性约束条件的机制完整性约束条件也称为完整性约束规则,是数据库必须满足的语义约束条件。
SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。
这些完整性一般由SQL的DDL语句来实现。
它们作为数据库模式的一部分存入数据字典中。
2 提供完整性检查的方法DBMS中检查数据是否满足完整性约束条件的机制称为完整性检查。
一般在INSERT、UPDA TE、DELETE语句执行后开始检查,也可以在事务提交时检查。
检查这些操作执行后数据库中的数据库是否违背了完整性约束条件。
3 违约处理DBMS若发现用户的操作违背了完整性约束条件,就采取一定的动作,如拒绝(NOACTION)执行该操作,或级联(CASCADE)执行其他操作,进行违约处理以保证数据的完整性。
目前商用的DBMS产品都支持完整性控制,即完整性定义、检查控制和违约处理都是由DBMS来实现,不必由应用程序来完成,从而减轻了应用程序员的负担。
5.1 实体完整性是关系的两个不变性之一,关系的主属性的取值不能相同,主属性不能取空值,保证在一个关系中不存在两个完全相同的元组。
5.1.1 实体完整性定义关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。
对单属性构成的码有两种说明方法:一种是定义为列级约束条件;一种是定义为表级约束条件。
对多个属性构成的码只有一种说明方法:定义为表级约束条件。
数据库系统概论第五版课后习题答案
第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念..答:l 数据 Data :描述事物的符号记录称为数据..数据的种类有数字、文字、图形、图像、声音、正文等..数据与其语义是不可分的..解析在现代计算机系统中数据的概念是广义的..早期的计算机系统主要用于科学计算;处理的数据是整数、实数、浮点数等传统数学中的数据..现代计算机能存储和处理的对象十分广泛;表示这些对象的数据也越来越复杂..数据与其语义是不可分的.. 500 这个数字可以表示一件物品的价格是 500 元;也可以表示一个学术会议参加的人数有 500 人;还可以表示一袋奶粉重 500 克..2 数据库 DataBase ;简称 DB :数据库是长期储存在计算机内的、有组织的、可共享的数据集合..数据库中的数据按一定的数据模型组织、描述和储存;具有较小的冗余度、较高的数据独立性和易扩展性;并可为各种用户共享..3 数据库系统 DataBas .. Sytem ;简称 DBS :数据库系统是指在计算机系统中引入数据库后的系统构成;一般由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员构成..解析数据库系统和数据库是两个概念..数据库系统是一个人一机系统;数据库是数据库系统的一个组成部分..但是在日常工作中人们常常把数据库系统简称为数据库..希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”;不要引起混淆..4 数据库管理系统 DataBase Management sytem ;简称 DBMs :数据库管理系统是位于用户与操作系统之间的一层数据管理软件;用于科学地组织和存储数据、高效地获取和维护数据.. DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能..解析 DBMS 是一个大型的复杂的软件系统;是计算机中的基础软件..目前;专门研制 DBMS 的厂商及其研制的 DBMS 产品很多..著名的有美国 IBM 公司的 DBZ 关系数据库管理系统和 IMS 层次数据库管理系统、美国 Oracle 公司的orade 关系数据库管理系统、 s 油 ase 公司的 s 油 ase 关系数据库管理系统、美国微软公司的 SQL Serve ;关系数据库管理系统等..2 .使用数据库系统有什么好处答:使用数据库系统的好处是由数据库管理系统的特点或优点决定的..使用数据库系统的好处很多;例如;可以大大提高应用开发的效率;方便用户的使用;减轻数据库系统管理人员维护的负担;等等..使用数据库系统可以大大提高应用开发的效率..因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径;这些工作都由 DBMS 来完成..用一个通俗的比喻;使用了 DBMS 就如有了一个好参谋、好助手;许多具体的技术工作都由这个助手来完成..开发人员就可以专注于应用逻辑的设计;而不必为数据管理的许许多多复杂的细节操心..还有;当应用逻辑改变;数据的逻辑结构也需要改变时;由于数据库系统提供了数据与程序之间的独立性;数据逻辑结构的改变是 DBA 的责任;开发人员不必修改应用程序;或者只需要修改很少的应用程序;从而既简化了应用程序的编制;又大大减少了应用程序的维护和修改..使用数据库系统可以减轻数据库系统管理人员维护系统的负担..因为 DBMS 在数据库建立、运用和维护时对数据库进行统一的管理和控制;包括数据的完整性、安全性、多用户并发控制、故障恢复等;都由 DBMS 执行..总之;使用数据库系统的优点是很多的;既便于数据的集中管理;控制数据冗余;提高数据的利用率和一致性;又有利于应用程序的开发和维护..读者可以在自己今后的工作中结合具体应用;认真加以体会和总结..3 .试述文件系统与数据库系统的区别和联系..答:文件系统与数据库系统的区别是:文件系统面向某一应用程序;共享性差;冗余度大;数据独立性差;记录内有结构;整体无结构;由应用程序自己控制..数据库系统面向现实世界;共享性高;冗余度小;具有较高的物理独立性和一定的逻辑独立性;整体结构化;用数据模型描述;由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力..文件系统与数据库系统的联系是:文件系统与数据库系统都是计算机系统中管理数据的软件..解析文件系统是操作系统的重要组成部分;而 DBMS 是独立于操作系统的软件..但是 DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的..4 .举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子..答:l 适用于文件系统而不是数据库系统的应用例子数据的备份、软件或应用程序使用过程中的临时数据存储一般使用文件比较合适..早期功能比较简单、比较固定的应用系统也适合用文件系统..2 适用于数据库系统而非文件系统的应用例子目前;几乎所有企业或部门的信息系统都以数据库系统为基础;都使用数据库..例如;一个工厂的管理信息系统其中会包括许多子系统;如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等;学校的学生管理系统;人事管理系统;图书馆的图书管理系统;等等;都适合用数据库系统..希望读者能举出自己了解的应用例子..5 .试述数据库系统的特点..答:数据库系统的主要特点有:l 数据结构化数据库系统实现整体数据的结构化;这是数据库的主要特征之一;也是数据库系统与文件系统的本质区别..解析注意这里的“整体’夕两个字..在数据库系统中;数据不再针对某一个应用;而是面向全组织;具有整体的结构化..不仅数据是结构化的;而且数据的存取单位即一次可以存取数据的大小也很灵活;可以小到某一个数据项如一个学生的姓名;大到一组记录成千上万个学生记录..而在文件系统中;数据的存取单位只有一个:记录;如一个学生的完整记录..2 数据的共享性高;冗余度低;易扩充数据库的数据不再面向某个应用而是面向整个系统;因此可以被多个用户、多个应用以多种不同的语言共享使用..由于数据面向整个系统;是有结构的数据;不仅可以被多个应用共享使用;而且容易增加新的应用;这就使得数据库系统弹性大;易于扩充..解析数据共享可以大大减少数据冗余;节约存储空间;同时还能够避免数据之间的不相容性与不一致性..所谓“数据面向某个应用”是指数据结构是针对某个应用设计的;只被这个应用程序或应用系统使用;可以说数据是某个应用的“私有资源”..所谓“弹性大”是指系统容易扩充也容易收缩;即应用增加或减少时不必修改整个数据库的结构;只需做很少的改动..可以取整体数据的各种子集用于不同的应用系统;当应用需求改变或增加时;只要重新选取不同的子集或加上一部分数据;便可以满足新的需求..3 数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性..数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性..4 数据由 DBMS 统一管理和控制数据库的共享是并发的共享;即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据..为此; DBMS 必须提供统一的数据控制功能;包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复..解析 DBMS 数据控制功能包括四个方面:数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏;数据的完整性检查:将数据控制在有效的范围内;或保证数据之间满足一定的关系;并发控制:对多用户的并发操作加以控制和协调;保证并发操作的正确性;数据库恢复:当计算机系统发生硬件故障、软件故障;或者由于操作员的失误以及故意的破坏影响数据库中数据的正确性;甚至造成数据库部分或全部数据的丢失时;能将数据库从错误状态恢复到某一已知的正确状态亦称为完整状态或一致状态..下面可以得到“什么是数据库”的一个定义:数据库是长期存储在计算机内有组织的大量的共享的数据集合;它可以供各种用户共享;具有最小冗余度和较高的数据独立性.. DBMS 在数据库建立、运用和维护时对数据库进行统一控制;以保证数据的完整性、安全性;并在多用户同时使用数据库时进行并发控制;在发生故障后对系统进行恢复..数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段..6 .数据库管理系统的主要功能有哪些答:l 数据库定义功能;2 数据存取功能;3 数据库运行管理;4 数据库的建立和维护功能..7 .什么是概念模型试述概念模型的作用..答:概念模型;也称信息模型;是按用户的观点来对数据和信息建模;主要用于数据库设计..概念模型实际上是现实世界到机器世界的一个中间层次..概念模型用于信息世界的建模;是现实世界到信息世界的第一层抽象;是数据库设计人员进行数据库设计的有力工具;也是数据库设计人员和用户之间进行交流的语言..8.定义并解释概念模型中以下术语:实体;实体型;实体集;实体之间的联系..答:实体:客观存在并可以相互区分的事物叫实体..实体型:具有相同属性的实体具有相同的特征和性质;用实体名及其属性名集合来抽象和刻画同类实体;称为实体型..实体集:同型实体的集合称为实体集;实体之间的联系:通常是指不同实体型的实体集之间的联系;实体之间的联系有一对一;一对多和多对多等多种类型..9 .试述数据模型的概念、数据模型的作用和数据模型的三个要素..答:数据模型是数据库中用来对现实世界进行抽象的工具;是数据库中用于提供信息表示和操作手段的形式构架..一般地讲;数据模型是严格定义的概念的集合..这些概念精确描述了系统的静态特性、动态特性和完整性约束条件..因此数据模型通常由数据结构、数据操作和完整性约束三部分组成..l 数据结构:是所研究的对象类型的集合;是对系统静态特性的描述..2 数据操作:是指对数据库中各种对象型的实例值允许进行的操作的集合;包括操作及有关的操作规则;是对系统动态特性的描述..3 数据的约束条件:是一组完整性规则的集合..完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则;用以限定符合数据模型的数据库状态以及状态的变化;以保证数据的正确、有效、相容..解析数据模型是数据库系统中最重要的概念之一..必须通过概论的学习真正掌握数据模型的概念和作用..数据模型是数据库系统的基础..任何一个 DBMS 都以某一个数据模型为基础;或者说支持某一个数据模型..数据库系统中;模型有不同的层次..根据模型应用的不同目的;可以将模型分成两类或者说两个层次:一类是概念模型;是按用户的观点来对数据和信息建模;用于信息世界的建模;强调语义表达能力;概念简单清晰;另一类是数据模型;是按计算机系统的观点对数据建模;用于机器世界;人们可以用它定义、操纵数据库中的数据;一般需要有严格的形式化定义和一组严格定义了语法和语义的语言;并有一些规定和限制;便于在机器上实现..10.试述层次模型的概念;举出三个层次模型的实例..答:l 教员学生层次数据库模型2 行政机构层次数据库模型3 行政区域层次数据库模型11.试述网状模型的概念;举出三个网状模型的实例..满足下面两个条件的基本层次联系集合为网状模型..l 允许一个以上的结点无双亲; 2 一个结点可以有多于一个的双亲..实例 1 :实例 2 :实例 3 :12 .试述网状、层次数据库的优缺点..答:层次模型的优点主要有: l 模型简单;对具有一对多层次关系的部门描述非常自然、直观;容易理解;这是层次数据库的突出优点; 2 用层次模型的应用系统性能好;特别是对于那些实体间联系是固定的且预先定义好的应用;采用层次模型来实现;其性能优于关系模型; 3 层次数据模型提供了良好的完整性支持.. 层次模型的缺点主要有: l 现实世界中很多联系是非层次性的;如多对多联系、一个结点具有多个双亲等;层次模型不能自然地表示这类联系;只能通过引入冗余数据或引入虚拟结点来解决; 2 对插入和删除操作的限制比较多; 3 查询子女结点必须通过双亲结点..网状数据模型的优点主要有: l 能够更为直接地描述现实世界;如一个结点可以有多个双亲; 2 具有良好的性能;存取效率较高..网状数据模型的缺点主要有: l 结构比较复杂;而且随着应用环境的扩大;数据库的结构就变得越来越复杂;不利于最终用户掌握; 2 其 DDL 、 DML 语言复杂;用户不容易使用..由于记录之间联系是通过存取路径实现的;应用程序在访问数据时必须选择适当的存取路径..因此;用户必须了解系统结构的细节;加重了编写应用程序的负担..13.试述关系模型的概念;定义并解释以下术语: l 关系 2 属性 3 域 4 元组 5 主码 6 分量 7 关系模式关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成..在用户观点下;关系模型中数据的逻辑结构是一张二维表;它由行和列组成.. l 关系:一个关系对应通常说的一张表; 2 属性:表中的一列即为一个属性; 3 域:属性的取值范围; 4 元组:表中的一行即为一个元组; 5 主码:表中的某个属性组;它可以惟一确定一个元组; 6 分量:元组中的一个属性值; 7 关系模式:对关系的描述;一般表示为关系名属性 1 ;属性 2 ; … ;属性 n14 .试述关系数据库的特点..答:关系数据模型具有下列优点: l 关系模型与非关系模型不同;它是建立在严格的数学概念的基础上的..2 关系模型的概念单一;无论实体还是实体之间的联系都用关系表示;操作的对象和操作的结果都是关系;所以其数据结构简单、清晰;用户易懂易用.. 3 关系模型的存取路径对用户透明;从而具有更高的数据独立性、更好的安全保密性;也简化了程序员的工作和数据库开发建立的工作..当然;关系数据模型也有缺点;其中最主要的缺点是;由于存取路径对用户透明;查询效率往往不如非关系数据模型..因此为了提高性能;必须对用户的查询请求进行优化;增加了开发数据库管理系统的难度..15.试述数据库系统三级模式结构;这种结构的优点是什么答:数据库系统的三级模式结构由外模式、模式和内模式组成..参见书上图 1 . 29 外模式;亦称子模式或用户模式;是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述;是数据库用户的数据视图;是与某一应用有关的数据的逻辑表示..模式;亦称逻辑模式;是数据库中全体数据的逻辑结构和特征的描述;是所有用户的公共数据视图..模式描述的是数据的全局逻辑结构..外模式涉及的是数据的局部逻辑结构;通常是模式的子集..内模式;亦称存储模式;是数据在数据库系统内部的表示;即对数据的物理结构和存储方式的描述..数据库系统的三级模式是对数据的三个抽象级别;它把数据的具体组织留给 DBMs 管理;使用户能逻辑抽象地处理数据;而不必关心数据在计算机中的表示和存储..为了能够在内部实现这三个抽象层次的联系和转换;数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像..正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性..16 .定义并解释以下术语:模式、外模式、内模式、 DDL 、 DML ..模式、外模式、内模式;亦称逻辑模式;是数据库中全体数据的逻辑结构和特征的描述;是所有用户的公共数据视图..模式描述的是数据的全局逻辑结构..外模式涉及的是数据的局部逻辑结构;通常是模式的子集..内模式;亦称存储模式;是数据在数据库系统内部的表示;即对数据的物理结构和存储方式的描述.. DDL :数据定义语言;用来定义数据库模式、外模式、内模式的语言.. DML :数据操纵语言;用来对数据库中的数据进行查询、插入、删除和修改的语句..17.什么叫数据与程序的物理独立性什么叫数据与程序的逻辑独立性为什么数据库系统具有数据与程序的独立性答:数据与程序的逻辑独立性:当模式改变时例如增加新的关系、新的属性、改变属性的数据类型等;由数据库管理员对各个外模式/模式的映像做相应改变;可以使外模式保持不变..应用程序是依据数据的外模式编写的;从而应用程序不必修改;保证了数据与程序的逻辑独立性;简称数据的逻辑独立性..数据与程序的物理独立性:当数据库的存储结构改变了;由数据库管理员对模式/内模式映像做相应改变;可以使模式保持不变;从而应用程序也不必改变;保证了数据与程序的物理独立性;简称数据的物理独立性..数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性..18 .试述数据库系统的组成..答:数据库系统一般由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员和用户构成..19 .数据库管理员、系统分析员、数据库设计人员、应用程序员的职责是什么答:数据库管理员的职责:1决定数据库中的信息内容和结构;2决定数据库的存储结构和存取策略;3定义数据的安全性要求和完整性约束条件;4监控数据库的使用和运行;5数据库的改进和重组、重构..系统分析员负责应用系统的需求分析和规范说明;系统分析员要和用户及 DBA 相结合;确定系统的硬件、软件配置;并参与数据库系统的概要设计..数据库设计人员负责数据库中数据的确定、数据库各级模式的设计..数据库设计人员必须参加用户需求调查和系统分析;然后进行数据库设计..在很多情况下;数据库设计人员就由数据库管理员担任..应用程序员负责设计和编写应用系统的程序模块;并进行调试和安装..第二章关系数据库1 .试述关系模型的三个组成部分..答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成..2 .试述关系数据语言的特点和分类..答:关系数据语言可以分为三类:关系代数语言..关系演算语言:元组关系演算语言和域关系演算语言..SQL:具有关系代数和关系演算双重特点的语言..这些关系数据语言的共同特点是;语言具有完备的表达能力;是非过程化的集合操作语言;功能强;能够嵌入高级语言中使用..3 略4 .5 . 述关系模型的完整性规则..在参照完整性中;为什么外部码属性的值也可以为空什么情况下才可以为空答:实体完整性规则是指若属性A是基本关系R的主属性;则属性A不能取空值..若属性或属性组F是基本关系R的外码;它与基本关系S的主码Ks相对应基本关系R和S不一定是不同的关系;则对于R中每个元组在F上的值必须为:或者取空值F的每个属性值均为空值;或者等于S中某个元组的主码值..即属性F本身不是主属性;则可以取空值;否则不能取空值..6.设有一个SPJ数据库;包括S;P;J;SPJ四个关系模式:1求供应工程J1零件的供应商号码SNO:πSnoσJno=‘J1’SPJ2求供应工程J1零件P1的供应商号码SNO:πSnoσJno=‘J1’∧Pno=‘P1‘SPJ3求供应工程J1零件为红色的供应商号码SNO:πSnoπSno;;PnoσJno=‘J1‘ SPJ∞πPnoσCOLOR=’红‘ P4求没有使用天津供应商生产的红色零件的工程号JNO:πJno SPJ- πJNOσcity=‘天津’∧Color=‘红‘ S∞SPJ∞P5求至少用了供应商S1所供应的全部零件的工程号JNO:πJno;Pno SPJ÷πPnoσSno=‘S1‘ SPJ7. 试述等值连接与自然连接的区别和联系..答:连接运算符是“=”的连接运算称为等值连接..它是从关系R与S的广义笛卡尔积中选取A;B属性值相等的那些元组自然连接是一种特殊的等值连接;它要求两个关系中进行比较的分量必须是相同的属性组;并且在结果中把重复的属性列去掉..8.关系代数的基本运算有哪些如何用这些基本运算来表示其他运算答:并、差、笛卡尔积、投影和选择5种运算为基本的运算..其他3种运算;即交、连接和除;均可以用这5种基本运算来表达..第三章关系数据库语言SQL1 .试述 sQL 语言的特点..答:l综合统一.. sQL 语言集数据定义语言 DDL 、数据操纵语言 DML 、数据控制语言 DCL 的功能于一体.. 2高度非过程化..用 sQL 语言进行数据操作;只要提出“做什么”;而无需指明“怎么做”;因此无需了解存取路径;存取路径的选择以及 sQL 语句的操作过程由系统自动完成..3面向集合的操作方式.. sQL 语言采用集合操作方式;不仅操作对象、查找结果可以是元组的集合;而且一次插入、删除、更新操作的对象也可以是元组的集合..4以同一种语法结构提供两种使用方式.. sQL 语言既是自含式语言;又是嵌入式语言..作为自含式语言;它能够独立地用于联机交互的使用方式;作为嵌入式语言;它能够嵌入到高级语言程序中;供程序员设计程序时使用..5语言简捷;易学易用..2.3 1 select from S where A='10';2 select A;B from S;3 select A;B;S.C;S.D;E;F from S ;T where S.C=T.C and S.D=T.D;4 select from S ;T where S.C=T.C;5 select from S ;T where S.A<T.E;6 select S.C;S.D;T. from S ;T ;4.用 sQL 语句建立第二章习题 6中的 4 个表..答:对于 S 表: S SNO ; SNAME ; STATUS ; CITY ;建 S 表:CREATE TABLE S Sno C2 UNIQUE;Sname C6 ;Status C2;City C4;对于 P 表: P PNO ; PNAME ; COLOR ; WEIGHT ;建 P 表:CREATE TABLE PPno C2 UNIQUE;Pname C6;COLOR C2; WEIGHT INT;对于 J 表: J JNO ; JNAME ; CITY ;建 J 表:CREATE TABLE JJno C2 UNlQUE;JNAME C8; CITY C4对于 sPJ 表: sPJ sNo ; PNo ; JNo ; QTY ;建 SPJ 表:SPJSNO;PNO;JNO;QTYCREATE TABLE SPJSno C2;Pno C2;JNO C2; QTY INT针对建立的 4 个表用 sQL 语言完成第二章习题6中的查询..。
《数据库系统原理》PPT电子课件教案-第五章 数据库保护
四、用户定义的安全性措施 除了系统级的安全性措施外,Oracle还允许用户用数 据库触发器定义特殊的更复杂的用户级安全性措施。例 如,规定只能在工作时间内更新Student表,可以定义如 下触发器,其中sysdate为系统当前时间: CREATE OR REPLACE TRIGGER secure student BEFORE INSERT OR UPDATE OR DELETE ON Student BEGIN IF(TO_CHAR(sysdate,’DY’) IN(‘SAT’,’SUN’)) OR(TO_NUMBER(sysdate HH24') NOT BETWEEN 8 AND l7) THEN
常用的方法:
1)用一个用户名或者用户标识号来标明用户身份, 系统鉴别此用户是否是合法用户。 2)口令(Password)。为进一步核实用户,系统要求 用户输入口令 3)系统提供一个随机数,用户根据预先约定好的某 一过程或函数进行计算,系统根据计算结果是否正 确进一步鉴定用户身份。
2. 存取控制
(2)行级安全性 Oracle行级安全性由视图实现。用视图定义表的水 平子集,限定用户在视图上的操作,就为表的行级提供 了保护。视图上的授权与回收与表级完全相同。 例如,只允许用户U2查看Student表中信息系学生的 数据,则首先创建信息系学生视图S_ IS,然后将该视图 的SELECT权限授予U2用户。 (3)列级安全性 Oracle列级安全性可以由视图实现,也可以直接在基 本表上定义。 用视图定义表的垂直子集就可以实现列级安全性,方 法与上面类似。
Oracle对数据库对象的权限采用分散控制方式, 允许具有WITH GRANTOPTION的用户把相应权限或 其子集传递授予其他用户,但不允许循环授权,即被 授权者不能把权限再授回给授权者或其祖先, U1 U2 U3 U4 × 循环授权 Oracle把所有权限信息记录在数据字典中。当用 户进行数据库操作时,Oracle首先根据数据字典中的 权限信息,检查操作的合法性。在Oracle中,安全性 检查是任何数据库操作的第一步。
《数据库系统概论》(王珊)第五版课后习题答案
第二章关系数据库1 .试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2 .试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
3 (略)4 .5 . 述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:实体完整性规则是指若属性 A 是基本关系R 的主属性,则属性 A 不能取空值。
若属性(或属性组)F 是基本关系R 的外码,它与基本关系S 的主码Ks 相对应( 基本关系R 和S 不一定是不同的关系),则对于R 中每个元组在 F 上的值必须为:或者取空值(F 的每个属性值均为空值);或者等于S 中某个元组的主码值。
即属性 F 本身不是主属性,则可以取空值,否则不能取空值。
6.设有一个SPJ 数据库,包括S,P,J,SPJ 四个关系模式: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(SPJ)- πJNO(σcity=‘天津’∧Color= ‘红‘(S∞ SPJ∞ P)5)求至少用了供应商S1 所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ)7.试述等值连接与自然连接的区别和联系。
《数据库系统原理》04735课后习题答案(2018版)
答案仅供参考第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。
P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。
数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。
数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。
2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。
数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像的含义。
P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。
两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。
4.请简述关系模型与网状模型、层次模型的区别。
P35使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。
第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。
P48答:关系数据库的基本特征是使用关系数据模型组织数据。
2.请简述什么是参照完整性约束。
P55答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K 相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。
3.请简述关系规范化过程。
答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。
第5章 数据库安全保护
更改登录账号的属性
使用存储过程sp_password可改变登录账号的密码
EXEC sp_password '旧密码', '新密码', '登录账号名称' [例5-3]将Mike账号的密码由原来的m1934改为mike1934. EXEC sp_password ‘m1934’,’mike1934’,’Mike’
第5章 数据库安全保护
5.1 5.2 5.3 5.4
数据库的安全性 完整性控制 并发控制与封锁 数据库的恢复
2
5.1 数据库的安全性
5.1.1 数据库安全性的含义
数据库的安全性是指保护数据库以防止非法使 用所造成的数据泄露、更改或破坏。
安全性问题有许多方面 :
(1)法律、社会和伦理方面时问题。 (2)物理控制方面的问题。 (3)政策方面的问题。 (4)运行方面的问题。 (5)硬件控制方面的问题。 (6)操作系统安全性方面的问题。 (7)数据库系统本身的安全性方面的问题。
18
其中: BUILTIN\Administrators: 表示所有 Windows Adiminstrators组中的用户都可以 登录到SQL Server。此组中的成员同时也具 有SQL Server的系统管理员权限。 sa:SQL Server身份验证模式的系统管理 员账户。 方法2:使用存储过程查看登录账号。 EXEC sp_helplogins
14
5.1.4 SQL Server2000的身份验证模式
1.Windows身份验证模式 : 允许Windows操作系统用户连接到SQL Server。 当使用Windows身份验证模式时,用户必 须首先登录到Windows操作系统中,然后 再登录到SQL Server。 一般推荐使用Windows验证模式,因为这 种安全模式能够与Windows操作系统的安 全系统集成在一起,以提供更多的安全功能。
第五章 数据库完整性
例2:将SC表中的SNO、cno属性组定义为码 create table sc (sno char(9) not null, cno char(4) not null, grade smallint, primary key(sno,cno) )
8
5.1.2 实体完整性的违约处理
对于实体完整性的检查,包括:
在子表中修改外码(也是主属性)的策略
6. 在参照关系(子表)中修改外码(同时是主码 属性 )。与在参照关系中插入元组类似,可以 有2种策略: 受限修改 递归修改 RDBMS在实现参照完整性时: 需要向用户提供定义主码、外码的机制。 向用户提供按照自己的应用要求选择处理依 赖关系中对应的元组的方法。
6
5.1 实体完整性
5.1.1 定义实体完整性 例1:将student表中的sno属性定义为码 create table student (sno char(9) primary key, sname char(20) not null, ssex char(2), sage smallint, sdept char(20) )
26
5.4 完整性约束命名子句
1. 完整性约束命名子句 Constraint <完整性约束条件名><完整性约 束条件> 例5.10 建立学生登记表 student,要求学号在 90000—99999 之间,姓名不能取空值,年 龄小于30,性别只能是“男”或者“女”
5
数据库完整性控制机制
DBMS完整性控制机制: 1. 提供定义完整性约束条件的机制:提供定义数 据完整性约束条件的方法,完整性约束条件作为 模式的一部分存入数据库中; 2. 提供完整性检查的方法:进行完整性检查,检 查数据是否满足约束条件; 3. 进行违约处理:若有违反,采取相应措施(拒 绝、报告、改正)处理。 完整性子系统:DBMS中执行完整性控制的子系统。 其功能为监督事务的执行,测试其是否违反完整性 约束条件;若有违反,则分情况进行预定的处理。
数据库做的课程设计
数据库做的课程设计一、课程目标知识目标:1. 理解数据库的基本概念,掌握数据库的设计原则和方法;2. 学会使用数据库管理系统(DBMS)进行数据的基本操作,如增加、删除、修改和查询;3. 掌握数据库的关系模型和实体-关系模型,并能运用到实际问题的解决中;4. 了解数据库的安全性和一致性,认识到数据保护的重要性。
技能目标:1. 能够运用所学知识,结合实际问题,设计出结构合理、效率较高的数据库;2. 熟练运用数据库管理系统,进行有效数据存储、检索和管理;3. 通过小组合作,培养团队协作能力和沟通能力,提高问题解决效率。
情感态度价值观目标:1. 培养学生对数据库技术的兴趣,激发他们探索新知识的热情;2. 增强学生的信息意识,使他们认识到数据库在日常生活和学习中的重要性;3. 引导学生树立正确的价值观,尊重知识产权,保护数据安全;4. 培养学生的批判性思维,使他们能够对现有数据库技术进行评价和改进。
本课程针对高年级学生,他们在前期的学习中已经具备了一定的计算机基础和编程能力。
课程性质为理论与实践相结合,旨在帮助学生将所学知识运用到实际问题的解决中。
在教学过程中,注重培养学生的动手实践能力和创新精神,使他们在掌握数据库技术的基础上,能够独立设计和优化数据库系统。
通过本课程的学习,学生将能够达到上述具体的学习成果,为后续相关课程的学习和实际工作打下坚实基础。
二、教学内容1. 数据库基本概念:介绍数据库的定义、发展历程、分类及应用场景;教材章节:第一章 数据库概述2. 数据库设计:讲解关系模型、实体-关系模型,指导学生进行数据库设计;教材章节:第二章 数据库设计基础3. 数据库管理系统(DBMS):介绍DBMS的功能、分类,学习使用常见数据库软件;教材章节:第三章 数据库管理系统4. 数据操作:学习数据库的基本操作,如SQL语句、增删改查等;教材章节:第四章 数据操作语言5. 数据库安全性:讲解数据库的安全机制,如用户权限管理、事务处理等;教材章节:第五章 数据库安全性6. 数据库应用案例:分析实际应用案例,使学生了解数据库在实际项目中的应用;教材章节:第六章 数据库应用案例7. 数据库优化:介绍数据库性能优化方法,如索引、分区等;教材章节:第七章 数据库性能优化8. 课程实践:安排课程设计项目,让学生动手实践数据库设计与操作;教材章节:第八章 课程实践教学内容安排和进度:本课程共计16课时,按照上述教学内容进行分配,每部分内容2课时,课程实践部分4课时。
数据库系统概论版PPT课件
掌握DBMS完整性控制机制的三个方面,即完 整性约束条件的定义、检查和违约处理。
用SQL语言定义关系模式的完整性约束条件。 包括定义主码、参照完整性;定义与应用有 关的完整性。
难点:
如何实现完整性的策略,以确保数据的正确 与有效。较复杂的是参照完整性的实现机制。
3
数据库完整性
数据库的完整性
16
参照完整性检查和违约处理
[练习]对表SC和Course,可能破坏参照完 整性的操作情况
SC表增加一个元组 修改SC表的一个元组 从Course表删除一个元组 修改Course表中一个元组的Cno属性值
17
参照完整性检查和违约处理
可能破坏参照完整性的情况及违约处理
被参照表 (例如Student)
数据的正确性和相容性 数据的完整性和安全性是两个不同概念
数据的完整性 防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据
数据的安全性 防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作
4
数据库完整性(续)
为维护数据库的完整性,DBMS必须:
提供定义完整性约束条件的机制 提供完整性检查的方法 违约处理
9
实体完整性定义(续)
[例2]将SC表中的Sno,Cno属性组定义为码
CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno,Cno) /*只能在表级定义主码*/);
20
在主表中修改主码例
例:将S关系中Sno=950001的元组中Sno 值改为960123。设SC关系中有4个元组 的Sno=950001
第5章 数据库保护
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
⑵ 受限方式 (RESTRICT)
• 当参照关系中没有任何元组的外键值与被参照关系中要删除元组的主 键值相同时,系统才进行删除操作,否则拒绝删除操作。因此对“学 生”表的删除操作将被拒绝。
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
DB完整性: • 指DB数据的正确性和相容性。 • 由DBMS提供定义完整性约束的机制。 完整性约束: • 指对数据所规定的语义约束条件。
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
5.1.1 完整性约束的定义
1.实体完整性的定义 2.参照完整性的定义 3.用户定义完整性的定义
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
⑶ 隔离性
• 当多个事务并发执行时,任一事务的执行不会受到其它事 务的干扰,多个事务并发执行的结果与分别执行单个事务 的结果是完全一样的,这就是事务的隔离性。
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
2.参照完整性的定义
• 根据参照完整性规则,用户只要定义了一个关系(基本 表)的外键(外部关键字),系统就会控制外键的值要么 为空,要么等于被参照关系中某一个主键的值(系统对 外键的一种约束)。
• 使用FOREIGN KEY约束(外键约束)定义参照完整性。
第5章 数据库保护
《数据库原理与应用》——第5章 数据库保护——东北财经大学 李红
内容
5.1 数据库完整性 5.2 数据库安全性 5.3 数据库并发控制 5.4 数据库恢复 小结
数据库第二版课后习题答案
数据库第二版课后习题答案数据库第二版课后习题答案数据库是计算机科学中重要的概念之一,它提供了一种有效地存储和管理数据的方式。
数据库系统的设计与实现是数据库课程的重要内容之一。
在学习数据库课程时,课后习题是巩固知识和提高能力的重要途径。
本文将为大家提供数据库第二版课后习题的答案,希望对大家的学习有所帮助。
第一章数据库系统概述1. 数据库是什么?答:数据库是一个有组织的、可共享的、可维护的数据集合,它以一定的数据模型为基础,描述了现实世界中某个特定领域的数据和关系。
2. 数据库系统的特点有哪些?答:数据库系统具有以下特点:- 数据的独立性:数据库系统将数据与程序相分离,使得数据的修改不会影响到程序的运行。
- 数据的共享性:多个用户可以同时访问数据库,并且可以共享数据。
- 数据的冗余性小:通过数据库系统的数据一致性和完整性约束,可以减少数据的冗余性。
- 数据的易扩展性:数据库系统可以方便地进行扩展和修改,以满足不同需求。
- 数据的安全性:数据库系统提供了权限管理和数据加密等机制,保证数据的安全性。
第二章关系数据库与SQL1. 什么是关系数据库?答:关系数据库是一种基于关系模型的数据库,它使用表格(关系)来表示和存储数据。
关系数据库中的数据以行和列的形式组织,每个表格代表一个实体集,每一行代表一个实体,每一列代表一个属性。
2. 什么是SQL?答:SQL(Structured Query Language)是一种用于管理关系数据库的语言。
它包含了数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL)等部分。
通过SQL,用户可以对数据库进行创建、查询、更新和删除等操作。
第三章数据库设计1. 数据库设计的步骤有哪些?答:数据库设计的步骤包括:- 需求分析:确定数据库的需求和目标,了解用户的需求。
- 概念设计:根据需求分析的结果,设计数据库的概念模型,包括实体、属性和关系等。
- 逻辑设计:将概念模型转换为逻辑模型,包括表格的设计、关系的建立和约束的定义等。
数据库系统概论 第5章
当一个关系模式在连接的过程中没有丢掉有用信息的, 称为无损连接分解否则称为有损连接分解。 3NF的优点就是其总可以在满足无损连接并保持依赖的 前提下得到3NF设计。其缺点是,若没有消除所有的传递 依赖,则必须要用空值来表示数据项间的某些可能有意义 的联系。此外,3NF还存在信息重复的问题。 若必须在BCNF和保持依赖的3NF间作选择的话,通常 倾向于选择3NF。因为若不能有效地检验依赖的保持情况, 我们要么牺牲系统性能,要么破坏数据库中的数据的完整 性,这当然都不好。相比之下,3NF中允许传递依赖造成 少量冗余反到是可以容忍的。所以,我们常选择保持依赖 而放弃BCNF。
假定有一个实际问题,有关系模式: 借书人(姓名,地址,书名,日期) 即 BORROW(NAME,ADDR,TITLE,DATE) 其中:NAME和TITLE是整个模式的关键字(主码)。
NAME 张 平 张 平 张 平 张 平 张 平 张 平 李少林 李少林 ADDR A1 A1 A1 A1 A1 A1 A2 A2 TITLE T1 T2 T3 T4 T5 T6 T3 T7 DATE D1 D2 D3 D4 D5 D6 D4 D7
一个低一级范式的系模式的集合,这种 过程就叫规范化。各种范式之间的关系为:
1NF 2NF
3NF BCNF 4NF
5NF
例:以下两例为非1NF关系。借书人
部门名 部门号
经理
正经理 副经理
张 平 李文化
DN1 DN2
D1 D2
M1 M2
5.2.5 3NF
定义:关系模式R(U,F)中若不存在这样的码X,属 性组Y及非主属性Z(Z Y)使得X→Y(Y→X)Y→Z 成立,则称R(U,F) ∈3NF。 简言之,不存在非主属性部分依赖和传递依赖于 码的第一范式称为第三范式。 从定义中还可得出结论:不存在非主属性的模式 为第三范式。
第五章王珊,萨师煊版《数据库系统概论》讲义及课后习题答案
完整性约束条件分类
六类完整性约束条件
•
静态列级约束 静态元组约束 静态关系约束 动态列级约束 动态元组约束 动态关系约束
• • • • •
完整性约束条件(续)
对象状态 动态 动态列级约束 ④ 静态列级约束 ① 动态元组约束 ⑤ 动态关系约束 ⑥
静态
静态元组约束 静态关系约束 ② ③
列
元组
关系
对象粒度
4. 修改被参照关系中主码的问题
• 两种策略 (1)不允许修改主码 (2)允许修改主码
允许修改主码策略
• 违约操作 ♦要修改被参照关系中某些元组的主码值, 而参照关系中有些元组的外码值正好等 于被参照关系要修改的主码值 ♦要修改参照关系中某些元组的主码值, 而被参照关系中没有任何元组的外码值 等于被参照关系修改后的主码值
允许修改主码策略
例:将Student关系中Sno=950001的元组中Sno 值改为960123。而SC关系中有 4个元组的 Sno=950001 – 级联修改:将SC关系中4个Sno=950001元组 中的Sno值也改为960123。如果参照关系同时 又是另一个关系的被参照关系,则这种修改操 作会继续级联下去。
一般是拒绝执行
• 违反参照完整性的操作:
– 拒绝执行 – 接受这个操作,同时执行一些附加的操作,以保证 数据库的状态正确
三、参照完整性的实现
例:职工-部门数据库包含职工表EMP和部门表DEPT
1 DEPT关系的主码为部门号Deptno 2 EMP关系的主码为职工号Empno, 外码为部门号Deptno 称DEPT为被参照关系或目标关系,EMP为参照关系
3.在参照关系中插入元组时的问题
• 受限插入 – 仅当被参照关系中存在相应的元组,其主码值 与参照关系插入元组的外码值相同时,系统才 执行插入操作,否则拒绝此操作。 • 递归插入 – 首先向被参照关系中插入相应的元组,其主码 值等于参照关系插入元组的外码值,然后向参 照关系插入元组。
华师大 数据库系统概论 平时作业
《数据库系统概论》作业第一章概述1. 层次模型的数据结构是__树形___结构;网状模型的数据结构是网状结构;关系模型的数据结构是__二维表_____结构。
2.数据库系统具有“数据独立性”特点的原因是因为在数据库系统中(B)(A)、采用磁盘作为外存(B)、采用三级模式结构(C)、使用OS来访问数据(D)、用宿主语言编写应用程序3. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是( A )。
(A)、DBS包括DB和DBMS(B)、DBMS包括DB和DBS(C)、DB包括DBS和DBMS(D)、DBS就是DB,也就是DBMS4.数据库系统的数据独立性体现在(B)(A)、不会因为数据的变化而影响到应用程序(B)、不会因为系统数据存储结构和数据逻辑结构的变化而影响应用程序(C)、不会因为存储策略的变化而影响存储结构(D)、不会因为某些存储结构的变化而影响其他的存储结构5.要保证数据库的数据独立性,需要修改的是( A )(A)、模式与外模式(B)、模式与内模式(C)、三层之间的两种映射(D)、三层模式6.下述( D )不是DBA(数据库管理员)的职责。
(A)、完整性约束说明(B)、定义数据库模式(C)、数据库安全(D)、数据库管理系统设计7.( B )是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的集合。
(A)、数据库系统(B)、数据库(C)、关系数据库(D)、数据库管理系统8.数据模型的三要素是( D )。
(A)、外模式、模式、内模式(B)、关系模型、层次模型、网状模型(C)、实体、联系、属性(D)、数据结构、数据操作、完整性约束9.简述数据库系统的主要特点。
(1)、数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
(2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库安全管理规定(5篇)
数据库安全管理规定第一章总则第一条为加强天津中诚资信评估有限公司(以下简称“公司”)数据库管理,保障评级数据库正常、有效运行,确保数据库安全,使数据库能更好地服务于评级工作,特制定本管理制度。
第二条公司系统管理员负责评级数据库的日常维护和运行管理。
第三条公司总经理负责对数据库使用者进行权限审批。
第二章数据的录入第四条各业务部门的评级分析师负责评级数据库的数据录入工作,部门负责人为本部门评级业务数据录入工作的责任人。
第五条评级项目组负责人是其负责项目的评级信息录入工作的责任人。
评级项目组在现场考察和访谈结束后____个工作日内,应将该评级项目的相关评级信息输入评级数据库。
跟踪评级时资料有更新的,应在跟踪评级工作结束前将更新资料录入数据库。
在资料归档前,评级项目负责人应对录入的数据资料进行格式和内容核查。
第六条录入的数据源主要包括宏观经济信息、行业信息、发行人基本信息、证券的基本信息、发行人生产经营情况和财务数据等,其中发行人基本信息和财务数据是必须录入的数据。
第七条数据库数据应严格按系统管理员下发的录入模板标准进行采集和录入。
第三章数据库的使用第八条根据评级业务对数据库用户管理的要求,公司应制定数据库用户管理制度和数据库操作规程。
第九条根据公司总经理授权,数据库用户权限级别分三种:普通用户、录入用户、高级用户。
第十条普通用户拥有查询、浏览、使用数据库中公开发布的各类数据的权利。
第1页共3页天津中诚资信评估有限公司数据库管理制度第十一条录入用户除拥有普通用户权限外,拥有录入数据和修改本人录入的数据的权利。
第十二条高级用户除具有录入用户的权限外,经授权还具有修改本部门数据的权限。
第十三条根据工作需要经公司总经理批准用户权限级别可变更。
特殊用户的权限设置应由公司总经理批准。
第十四条系统管理员负责按审批规定办理具体用户的授权、变更权限和注销等管理工作。
第十五条用户的密码管理应遵循如下规定:用户密码必须通过复杂性检验,位数不少于____位,并不得以数字开头;密码应定期更改;用户名和密码为个人专用,不得泄露给他人,特殊情况需要他人以自己的用户名和密码进入数据库时,应取得部门负责人同意,并在工作完成后及时修改密码。
数据库试题及课后答案
数据库系统概论习题集第一章绪论一、选择题1. DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和(C)。
A. 系统分析员B. 程序员C. 数据库管理员D. 操作员2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D)。
I.人工管理阶段II.文件系统阶段III.数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I4. 下列四项中,不属于数据库系统特点的是(C )。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高5. 数据库系统的数据独立性体现在(B)。
A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6. 描述数据库全体数据的全局逻辑结构和特性的是(A )。
A. 模式B. 内模式C. 外模式D. 用户模式7. 要保证数据库的数据独立性,需要修改的是(C)。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式8. 要保证数据库的逻辑数据独立性,需要修改的是(A )。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C),它是模式的逻辑子集。
A.模式B. 物理模式C. 子模式D. 内模式10.下述(D )不是DBA数据库管理员的职责。
A.完整性约束说明B. 定义数据库模式C.数据库安全D. 数据库管理系统设计选择题答案:(1) C (2) A (3) D (4) C (5) B(6) A (7) C (8) A (9) C (10) D课后习题第二章关系数据库一、选择题1. 下面的选项不是关系数据库基本特征的是(A )。
数据库第5章
1-6 郑州轻工业学院软件职业技术学院
总的来说计算机安全涉及的问题
计算机系统本身的技术问题
计算机安全理论与策略
计算机安全技术
管理问题
安全管理 安全评价 安全产品
数据库原理
1-7 郑州轻工业学院软件职业技术学院
计算机安全涉及问题(续)
法学
计算机安全法律
犯罪学
计算机犯罪与侦察 安全监察
能访问他有权存取的数据,必须预 先对每个用户定义存取权限。
检查存取权限
对于通过鉴定获得上机权的用户
(即合法用户),系统根据他的存 取权限定义对他的各种操作请求进 行控制,确保他只执行合法操作。
数据库原理
1-22 郑州轻工业学院软件职业技术学院
常用存取控制方法
自主存取控制(Discretionary Access
5.3.2 授权(Authorization)与回收
在数据库系统中,定义用户存取权限称为授权 (Authorization)。 第三章讨论 SQL 的数据控制功能时,我们已知道授权有两种: 系统特权和对象特权。 系统特权是由DBA授予某些数据库用户,只有得到系统特 权,才能成为数据库用户。 对象特权可以由DBA授予,也可以由数据对象的创建者授 予,使数据库用户具有对某些数据对象进行某些操作的 特权。 在系统初始化时,系统中至少有一个具有DBA特权的用户,DBA 可以通过GRANT语句将系统特权或对象特权授予其他用户。 对于已授权的用户可以通过REVOKE语句收回所授予的特权。
用户标识和鉴定的方法有多种,为了获得更强的安全性, 往往是多种方法并举,常用的方法有以下几种:
数据库原理
1-18 郑州轻工业学院软件职业技术学院
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库安全性
5.2. 1 计算机系统安全性问题
计算机系统安全性
为计算机系统建立和采取的各种安全保护措施,以保 护计算机系统中的硬件、软件及数据,防止其因偶然 或恶意的原因使系统遭到破坏,数据遭到更改或泄露 等。
5.2.2 数据库安全性控制概述
非法使用数据库的情况
编写合法程序绕过DBMS及其授权机制
GRANT(续)
发出GRANT:
DBA 数据库对象创建者(即属主Owner) 拥有该权限的用户
按受权限的用户 一个或多个具体用户 PUBLIC(全体用户)
WITH GRANT OPTION子句
WITH GRANT OPTION子句:
指定:可以再授予 没有指定:不能传播
客体的敏感度标记称为密级(Classification Level)
强制存取控制方法(续)
强制存取控制规则
(1)仅当主体的许可证级别大于或等于客体的密级时,该 主体才能读取相应的客体 (2)仅当主体的许可证级别等于客体的密级时,该主体才 能写相应的客体
强制存取控制方法(续)
规则的共同点
TO 王平 ;
GRANT ALL PRIVILIGES ON CS_Student TO 张明;
4 数据加密
数据加密
防止数据库中数据在存储和传输中失密的有效手段,将明文转化为密文的过程。
加密的基本思想 加密方法
替换方法 置换方法
混合方法
DBMS中的数据加密
小结
实现数据库系统安全性的技术和方法
数据
属性列
SELECT,INSERT,UPDATE, REFERENCES
ALL PRIVILEGES
关系数据库系统中的存取权限
授权与回收
一、
GRANT
GRANT <权限>[,<权限>]... [ON <对象类型> <对象名>]
GRANT语句的一般格式:
TO <用户>[,<用户>]...
[WITH GRANT OPTION]; 语义:将对指定操作对象的指定操作权限授予指定的用户
直接或编写应用程序执行非授权操作
通过多次合法查询数据库从中推导出一些保密数据
数据库安全性控制概述(续)
数据库安全性控制的常用方法
用户标识和鉴定 存取控制 视图 数据加密
1 用户标识与鉴别
用户标识与鉴别
(Identification & Authentication)
系统提供的最外层安全保护措施
禁止了拥有高许可证级别的主体更新低密级的数
据对象
MAC与DAC
DAC与MAC共同构成DBMS的安全机制
实现MAC时要首先实现DAC
原因:较高安全性级别提供的安全保护要包含较低级别的所 有保护
强制存取控制方法(续)
DAC + MAC安全检查示意图 SQL语法分析 & 语义检查 DAC 检 查 安全检查 MAC 检 查
全控制,而数据本身并无安全性标记 解决:对系统控制下的所有主客体实施强制存取控制 策略
强制存取控制方法
强制存取控制(MAC)
保证更高程度的安全性 适用于对数据有严格而固定密级分类的部门
军事部门
政府部门
强制存取控制方法(续)
主体是系统中的活动实体
DBMS所管理的实际用户 代表用户的各进程
存取控制技术 视图技术 审计技术
自主存取控制功能
通过SQL 的GRANT语句和REVOKE语句实现
角色
使用角色来管理数据库权限可以简化授权过程 CREATE ROLE语句创建角色 GRANT 语句给角色授权
下课了。。。
休息一会儿。。。
不同的权限授予不同的用户
用户:拥有自己建立的对象的全部的操作权限
GRANT:授予其他用户
被授权的用户
“继续授权”许可:再授予
所有授予出去的权力在必要时又都可用REVOKE语句收回
自主存取控制缺点
可能存在数据的“无意泄露”
原因:这种机制仅仅通过对数据的存取权限来进行安
用户标识与鉴别(续)
用户标识
口令
系统核对口令以鉴别用户身份
2 存取控制
存取控制机制组成
定义用户权限 合法权限检查
用户权限定义和合法权检查机制一起组成了
DBMS的安全子系统
存取控制的方式
常用存取控制方法
自主存取控制(Discretionary Access Control ,简称 DAC) 强制存取控制(Mandatory Access Control,简称 MAC)
例题(续)
[例3] 把对表SC的查询权限授予所有用户
GRANT SELECT ON TABLE SC TO PUBLIC;
例题(续)
[例5] 把查询Student表和修改学生学号的权限授给 用户U5 GRANT UPDATE(Sno), SELECT
ON TABLE Student TO U5; 对属性列的授权时必须明确指出相应属性列名
自主存取控制方法
通过 SQL 的 GRANT 语句和 REVOKE 语句实现
用户权限组成
数据对象 操作类型
定义用户存取权限:定义用户可以在哪些数据库对象上进 行哪些类型的操作 定义存取权限称为授权
自主存取控制方法(续)
关系数据库系统中存取控制对象
对象类型 数据库 对象 模式 基本表 模式 视图 索引 数据 基本表和视图 CREATE SCHEMA CREATE TABLE,ALTER TABLE CREATE VIEW CREATE INDEX SELECT,INSERT,UPDATE,DELETE,REFERENCES, ALL PRIVILEGES 操作类型
限授于王平,把该视图上的所有操作权限授于张明 先建立计算机系学生的视图CS_Student CREATE VIEW CS_Student AS SELECT * FROM Student WHERE Sdept='CS';
视图机制(续)
在视图上进一步定义存取权限
GRANT SELECT
ON CS_Student
REVOKE(续)
[例8] 把用户U5修改学生学号的权限收回
REVOKE UPDATE(Sno) ON TABLE Student FROM U5;
REVOKE(续)
[例9] 收回所有用户对表SC的查询权限
REVOKE SELECT ON TABLE SC FROM PUBLIC;
REVOKE(续)
[例10] 把用户U5对SC表的INSERT权限收回
REVOKE INSERT ON TABLE SC FROM U5 CASCADE ;
将用户U5的INSERT权限收回的时候必须级联(CASCADE)收回 系统只收回直接或间接从U5处获得的权限
小结:SQL灵活的授权机制
DBA:拥有所有对象的所有权限
不允许循环授权
例题
[例1] 把查询Student表权限授给用户U1
GRANT SELECT ON TABLE Student TO U1;
例题(续)
[例2] 把对Student表和Course表的全部权限授予用 户U2和U3 GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;
例题(续)
[例5] 把对表SC的INSERT权限授予U5用户,并
允许他再将此权限授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;
传播权限
执行例5后,U5不仅拥有了对表SC的INSERT权限, 还可以传播此权限: [例6] GRAN U6 WITH GRANT OPTION;
同样,U6还可以将此权限授予U7: [例7] GRANT INSERT ON TABLE SC TO U7; 但U7不能再传播此权限。
授权与回收(续)
二、REVOKE 授予的权限可以由DBA或其他授权者用REVOKE 语句收回 REVOKE语句的一般格式为: REVOKE <权限>[,<权限>]... [ON <对象类型> <对象名>] FROM <用户>[,<用户>]...;
继续
先进行DAC检查,通过DAC检查的数据对象再由系统进行MAC 检查,只有通过MAC检查的数据对象方可存取。
3 视图机制
把要保密的数据对无权存取这些数据的用户隐藏
起来,对数据提供一定程度的安全保护
主要功能是提供数据独立性
间接实现了支持存取谓词的用户权限定义
视图机制(续)
[例15]建立计算机系学生的视图,把对该视图的SELECT权
客体是系统中的被动实体,是受主体操纵的
文件 基表 索引 视图
强制存取控制方法(续)
敏感度标记(Label)
绝密(Top Secret) 机密(Secret) 可信(Confidential) 公开(Public)
主体的敏感度标记称为许可证级别(Clearance Level)