数据库系统原理知识点_第1页
数据库系统原理知识点_第2页
数据库系统原理知识点_第3页
数据库系统原理知识点_第4页
数据库系统原理知识点_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、15第一章(数据库系统基本概念)联系是实体间的相互关系。联系的元数与一个联系有关的实体集个数。逻辑/概念模式:是数据库中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。 外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。 内模式:是数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组成方式, 以及数据控制方面的细节。 逻辑模式/内模式映象:这个映象存在于概念级和内部级之间,用于定义概念模式和内模式间的对应性,此映象一般在内模式中描述。 外模式/逻辑模式映象:这人映象存在

2、于外部级和概念级之间,用于定义外模式和概念模式间的对应性,此映象都是在外模式中描述。 数据独立性:是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序。分物理数据独立性和逻辑数据独立性两个级别。物理数据独立性:对内模式修改时,对逻辑模式/内模式像作相应修改,可以尽量不影响逻辑模式。 逻辑数据独立性:逻辑模式修改时,对外模式/逻辑模式映像作相应修改,可以使外模式和应用程序保持不变。 主语言:在数据库技术中,用于编写应用程序的高级程序设计语言。 ddl:数据定义语言。dbms提供ddl定义数据库的三级结构、两级映像,定义数据的完整性约束、保密限制等约束。 d

3、ml:数据操纵语言。dbms提供dml实现对数据的操作。基本的数据操作有两类:检索(查询)、更新(插入、删除、修改)。过程性dml:用户编程时,不仅需要指出“做什么” (需要什么样的数据),还需要指出“怎么做”(怎样获得这些数据)。如层次、网状的dml。非过程性dml:用户编程时,只需要指出“做什么”,不需要提出“怎么做”。如关系型dml。 dd:数据库系统中存放三级结构定义的数据库。它还存放数据库运行时的统计信息。 dd系统:管理dd的子系统。 1.1文件系统阶段的数据管理有些什么缺陷?试举例说明。 (1)数据冗余。由于文件之间缺乏联系,造成每个应用程序都有对应的文件, 有可能同样的数据在多

4、个文件中重复存储。 (2)数据不一致。这往往是由数据冗余造成的,在进行更新操作时,稍不谨慎, 就可能使同样的数据在不同的文件中不一样。 (3)数据联系弱。这是由文件之间相互独立,缺乏联系造成的。 例:一个单位的不同部门在一个计算机中分别建立职工档案文件、职工工资文件、职工保健文件三个独立数据文件就会造成上述三个缺陷。1.2数据管理的数据库阶段产生的标志是哪三件事情?1968年美国ibm公司推出层次模型的ims系统;1969年美国codasyl组织发布了dbtg报告;1970年美国ibm公司的e .f.codd连续发表论文,提出关系模型。1.3你怎样理解实体、属性、记录、字段这些概念的类型和值的

5、差别?试举例说明。 实体:是指客观存在可以相互区别的事物。如一辆汽车;一次借书属性:实体有很多特性,每一个特性称为属性。类型可以是整数型、实数型、字符串型。如学生(实体)有学号、姓名、年龄、性别等属性, 相应值域为字符、字符串、整数和字符串型。 字段:标记实体属性的命名单位称为字段或数据项。如学生有学号、姓名、性别等字段记录:字段的有序集合,能完整地描述一个实体的字段集。如一个学生记录,由有序的字段集组成。 1.4高级数据库阶段有哪些技术?面向对象的概念建模、开放数据库互联技术。1.5逻辑记录与物理记录,逻辑文件与物理文件有些什么联系和区别? 联系:(1)逻辑记录与物理记录都是记录,是字段的有

6、序集合(2)逻辑文件与物理文件都是文件,是同一类记录的汇集.区别: (1)逻辑记录与逻辑文件是逻辑数据描述,物理记录与物理文件是物理数据描述(2)物理数据描述是指数据在存储设备上的存储方式,物理记录、物理文件都是用来描述实际存储设备上的数据。(3)逻辑数据描述是指程序员或用户用以操作的数据形式,是抽象的概念化数据, 逻辑记录、逻辑文件,都是用户观点的数据描述。 1.6数据抽象的过程,有哪几个步骤?根据用户的需求,设计数据库的概念模型根据转换规则,把概念模型转换成数据库的逻辑模型根据用户的业务特点,设计不同的外部模型,供程序员使用根据逻辑模型设计内部模型,实现数据库。1.7概念模型的特点?1表达

7、了数据的整体逻辑结构,它是系统用户对整个应用项目涉及的数据的全面描述2从用户的需求观点出发,对数据建模3独立于硬件和软件4是数据库设计人员和用户之间的交流工具。1.8逻辑模型的特点:1表达了db的整体逻辑结构,是设计人员对整个应用系统项目数据库的全面描述;2从数据库实现的观点出发,对数据建模;3独立于硬件,但依赖于软件(dbms);4是数据库设计人员与应用程序员之间的交流工具。1.9外部模型的特点:1逻辑模型的一个逻辑子集;2独立于硬件,但依赖于软件;3反映了用户使用数据库的观点。1.10内部模型的特点:1是数据库最低层抽象,它描述数据在外存上存储方式、存取设备和存取方法;2与硬件和软件紧密相

8、连。1.11试叙述层次、网状和关系三种逻辑模型的区别。层次:用树型结构表示(复杂),只能表示1:n ,记录间联系用指针实现,过程性dml;网状:用有向图表示(复杂),可以表示1:n 或m:n,记录间联系用指针实现,过程性dml;关系:由关系模式集合表示(简单),可以表示1:n 或m:n,记录间的联系用关键码实现,非过程性dml 1.12外部模型使数据库系统有哪些优点?简化了用户的观点;有助于数据库的安全保护;外部模型是对概念模型的支持,如果用户使用外部模型得心应手,那么说明当初根据用户需求综合成的概念模型是正确的、完善的1.13数据独立性和数据联系这两个概念有什么区别?数据独立性是指应用程序与

9、数据之间相互独立,不受影响。 数据联系是指同一记录内部各字段间的联系,以及记录之间的联系。 1.14试叙述用户、db的三级模式结构、磁盘上的物理文件之间有些什么联系和不同?外模式、逻辑模式、内模式。内模式并不涉及物理设备的约束,那一部分由操作系统完成。如从磁盘读写数据的操作。1.15试述dbms在用户访问数据库过程中所起的作用. 用户对数据库进行操作,dbms把操作从应用程序带到外部级、概念级、再导向内部级,进而操作存储器中的数据。 1.16试叙dbms对数据库的保护功能。 1)数据库的恢复。2)数据库的并发控制。3)数据库的完整性控制。4)数据库的安全性控制。 1.17试叙dbms对数据库的

10、维护功能。 1)数据装载程序2)备份程序3)文件重组织程序 4)性能监控程序 1.18什么是db系统缓冲区?其作用是什么?dbms为应用程序在内存中开辟的一个db的系统缓冲区。用于数据的传输和格式的转换1.22 dbs能产生哪些效益?灵活性,简易性,面向用户,有效的数据控制,加快应用系统的开发速度,维护方便,标准化。1.21使用dbs的用户有哪几类?dba,专业用户,应用程序员,终端用户。1.19 dbms的查询处理器和存储管理器分别由哪几部分组成?查询:ddl解释器、dml编译器、嵌入式dml预编译器、查询求值引擎。存储:权限和完整性管理器、事务管理器、文件管理器、缓冲区管理器。 1.20

11、dbs由哪几部分组成?它有哪些系统软件?其中dd有什么作用? a数据库、硬件、软件、数据库管理员。b包括dbms、os、各种主语言和应用开发支撑软件等系统软件。c数据字典dd用来存放三级数据结构定义的数据库,还用来存储数据库运行时的统计信息。1.23什么是dba?dba应具有什么素质?dba的职责是什么?dba是控制数据整体结构的一组人员,负责dbs的正常运行,承担创建、监控和维护数据库结构的责任。dba应具有的素质:熟悉企业全部数据的性质和用途;对所有用户的需求有充分的了解;对系统的性能非常熟悉;兼有系统分析员和运筹学专家的品质和知识。dba的职责:定义模式;定义内模式;与用户的联络;定义安

12、全性规则,对用户访问数据库授权;定义完整性规则,监督数据库的运行;数据库的转储和恢复工作。1.24磁盘存储器中有哪四类主要的数据结构? 数据文件:存储了数据库中的数据; 数据字典(dd):存储三级结构的描述;索引文件:为提高查询速度而设置的逻辑排序手段;统计数据组织:存储dbs运行时统计分析数据。第三章 关系模式设计理论 (1) 函数依赖:fd,设有关系模式r(u),x,y是属性集u的子集,只要r是r有当前关系,对r中的任意两个元组t和s,都有txsx蕴含tysy,那么就称函数依赖(fd)xy在关系模式r(u)中成立。 (2)平凡的函数依赖:对于fd xy,如果yx,那么该fd就是平凡的fd。

13、(3)函数依赖集f的闭包f+:设f为函数依赖集,被f逻辑蕴涵的函数依赖全体构成的集合。(4)属性集x的闭包x+:设f是属集u上的fd集,x是u的子集,那么属性集x的闭包是一个从f集使用fd推理规则推出的所有满足xa的属性a的集合(5)函数依赖的逻辑蕴涵:设f是关系模式r上成立的函数依赖集合,xy是一个fd,如果对于r的每一个满足f的关系r也满足xy,那么称f逻辑蕴涵xy。 (6)函数依赖集的等价:如果关系模式r(u)上的两个函数依赖集f和g,有f+g+,则称f和g是等价的函数依赖集,(7)最小依赖集:如果函数集合f满足以下三个条件:(1) g中每个fd的右边都是单属性; (2) g中没有冗余的

14、fd。即g中不存在这样的函数依赖xy,使得gxy与g等价;(3) g中每个fd的左边没有冗余的属性。即g中不存在这样的函数依赖xy,x有一个真子集w,使得gxyuwy与g等价。 (10) 保持依赖集:所谓保持依赖就是指关系模式的函数依赖集在分解后仍在数据库中保持不变, 即关系模式r到=r1,r2,.,rk的分解,使函数依赖集f被f这些ri上的投影蕴涵。 (12)泛关系假设在定义无损分解时,先假设存在泛关系r的情况下,再去谈论分解。(13) 1nf:第一范式.关系模式的每一个关系的属性值都是不可分的原子值. 2nf:第二范式.关系模式是1nf,且每一个非主属性都完全函数依赖于候选键.3nf:第三

15、范式.关系模式是1nf,且每一个非主属性都不传递依赖于候选键.(14) bcnf:bc范式.关系模式是1nf,且每一个属性都不传递依赖于候选键。 (15)平凡的mvd:对于属性集u上的mvd xy,如果yx或xyu。则此mvd是平凡的mvd。(17) 4nf:第四范式。设d是关系模式r上成立的fd和mvd的集合。如果d中每个非平凡的mvd xy的左部都是r的超键。3.2试解释下面两个“数据冗余”的概念:文件系统中不可避免的“数据冗余”;关系数据库设计中应尽量避免的“数据冗余”。文件的:由于文件之间缺乏联系,造成每个应用程序都有相应的文件,有可能同样的数据在不同的文件中重复存储。关系的:数据库某

16、一关系中多个元组大量重复存储同样的属性值。3.3关系模式的非形式化设计准则有哪几条?这些准则对数据库设计有什么帮助?尽可能只包含有直接联系的属性,不要包含有间接联系的属性。尽可能使得关系不出现插入、删除、修改等操作异常。如出现异常,则要清楚地加以说明,保证更新数据库的应用程序正确操作。尽可能使关系中避免放置经常为空值的属性。尽可能使关系等值连接在主键和外键上进行,并保证连接后不会产生额外的元组。3.4 对函数依赖xy的定义加以扩充,x和y可以为空属性集,用表示, 那么x,y,的含义是? (1)一个关系模式r(u)中,x,y是u的子集,r是r的任一具体关系,如果对r的任意两个元组t1,t2, 由

17、t1x=t2x必有t1=t2。即x表示空属性函数依赖于x。这是任何关系中都存在的。 (2)y表示y函数依赖于空属性。由此可知该关系中所有元组中y属性的值均相同。 (3)表示空属性函数依赖于空属性。这也是任何关系中都存在的。3.16 什么是寄生元组?什么是悬挂元组?各是怎么产生的?a在泛关系模式分解成数据库模式时,泛关系r在数据库模式中的每一个模式上投影再连接起来,比原关系r多出来的元组是寄生元组。b在无泛关系假设时,对两个关系进行自然连接中被丢失的元组,被称为悬挂元组.3.18 试解释数据库“丢失信息”与“未丢失信息”两个概念。有什么区别?答:分解后是否表示一样的信息,如不一样就是“丢失信息”

18、,否则就是“未丢失信息”。 第四章 关系运算关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。 关系模式:关系模式实际上就是记录类型。它的定义包括:模式名,属性名,值域名以及模式的主键。 关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。 关系实例:元组的集合称为关系和实属性:实体的一个特征。在关系模型中,字段称为属性。 域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。 元组:在关系中,记录称为元组。元组对应表中的一行;表示一个实体。 超键:在关系中能唯一标识元组的属性集 候选键:不含有多余属性的超键主键:用户选作元组标识的一个候选键.外

19、键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键, 如有两个关系s和sc,其中s#是关系s的主键,相应的属性s#在关系sc中也出现,此时s#就是关系sc的外键。 实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。 如果出现空值,那么主键值就起不了唯一标识元组的作用。 非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。 各种关系查询语言均属于非过程性语言。 无限关系:当一个关系中存在无穷多个元组时,此关系为无限关系。 如元组表达式t|r(t)表示所有不在关系r中的元组的集合,这是一个无限关系。 无穷验证:在验证公式时需对无穷多个元组进

20、行验证就是无穷验证,如验证公式(u)(p(u)的真假时需对所有的元组u进行验证,这是一个无穷验证的问题. 过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。4.4关系与普通的表格,文件有什么区别? 1)关系中每一个属性值都是不可分解的。2)关系中不允许出现相同的元组。3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。 4.5笛卡尔积、等值联接、自然联接三者之间有什么区别? 笛卡尔积对两个关系r和s进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。 等值联接则是在笛卡尔积的结果上再进行选择

21、操作,从关系r和s的笛卡儿积中选择对应属性值相等的元组; 自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。 当两个关系没有公共属性时,自然连接就转化我笛卡尔积。4.17为什么要对关系代数表达式进行优化? 对于等价的关系表达式,因表达式中安排选择、投影、连接的顺序不同而执行效率大为不同。4.14 有哪三条启发式规则?对优化起什么作用?尽可能早地执行选择操作。尽可能早地执行投影操作。避免直接做笛卡尔积。作用:合理安排操作顺序,可以花费较少的时间和空间。第五章 sql语言 (1)sql模式:表和授权的静态定义。一个sql模式定义为基本表的集合。 一个

22、由模式名和模式拥有者的用户名或账号来确定,并包含模式中每一个元素的定义。 (2)sql数据库:sql,即结构式查询语言,采用英语单词表示和结构式的语法规则。 一个sql数据库是表的汇集,它用一个或多个sql模式定义。 (3)基本表:是实际存储在数据库中的表(4)存储文件:在sql中,把传统的关系模型中的存储模式称为存储文件。 每个存储文件与外部存储器上一个物理文件对应。 (5)视图:是由若干基本表和视图构成的表的定义。 (6)行:在sql中,把传统的关系模型中的元组。 (7)列:在sql中,把传统的关系模型中的属性。 (8)实表:基本表被称为“实表”,它是实际存放在数据库中的表。 相关子查询:

23、在嵌套查询中出现的符合以下特征的子查询:子查询中查询条件依赖于外层查询中的某个值, 所以子查询的处理不只一次,要反复求值,以供外层查询使用。 联接查询:查询时先对表进行笛卡尔积操作,然后再做等值联接、选择、投影等操作。 联接查询的效率比嵌套查询低。交互式sql:在终端交互方式下使用的sql语言。 嵌入式sql:嵌入在高级语言的程序中使用的sql语言。 共享变量:sql和宿主语言的接口。共享变量有宿主语言程序定义,再用sql的declare语句说明, sql语句就可引用这些变量传递数据库信息. (15)游标:是一个与某一查询结果相联系的符号名,是一个指针。 (16)卷游标:可推进也可后退的游标。

24、5.13嵌入式sql语句何时不必涉及到游标?何时必须涉及到游标? 在执行insert、delete、update语句时和已知selete语句查询结果肯定是单元组时,可以不涉及游标。当selete语句查询结果为多个元组时必须涉及到游标。5.13 什么是sql/psm?这个标准中有哪些流程控制语句?sql/psm是sql标准的一部分,它指定了如何编写持久存储模块,提供流程控制语句来表示过程处理的应用逻辑。顺序执行、条件分支语句、循环语句。5.12什么是存储过程?使用存储过程后,系统具有什么特点?存储过程是使用sql语句和流程控制语句编写的模块,存储过程经编译和优化后存储在数据库服务器端的数据库中,

25、使用时调用即可。使用存储过程具有以下优点:提高运行速度;增强了sql的功能和灵活性;可以降低网络的通信量;减轻了程序编写工作量;间接实现安全控制功能第六章 数据库管理 (1)事务:是构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。不论发生何种情况,dbs必须保证事务能正确、完整地执行。(2)并发操作:多个事务同时对同一数据进行操作。(2)封锁:是一个与数据项有关的变量,相对于该数据项上可能的操作而言,锁描述了该数据项的状态。 (3)x锁:排它型封锁。如果事务t对某个数据r实现了x锁,那么在t对r解锁前,不允许其它事务对r加任何类型的锁。 (3)s锁:共享型封锁。如果事务t对某个

26、数据r实现了s锁,仍允许其它事务对r加s锁,但r的所有s锁解除前,不允许任何事务对r加x锁(7)调度事务的执行次序。(7)串行调度:多个事务依次执行(8)并发调度:利用分时的特点,同时处理多个事务。 (9)可串行化调度:在每个事务在各种调度中语句的先后顺序不变的情况下,如果一个并发调度的执行结果与某一串行调度的执行结果等价,则这个并发调度称为可串行化调度。否则是不可串行化调度。 (14)两段封锁协议1在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁 2在释放一个封锁之后,事务不再获得任何其他封锁 6.3事务的rollback语句和commit语句各做什么事情?commit语句提交事务

27、对数据库的所有更新并释放x锁;rollback语句撤销事务对数据库的所有更新,使数据库恢复到事务执行前的状态,并释放x锁。6.4什么是undo和redo操作?为什么要这样设置?redo处理的方法是:正向扫描日志文件,根据重做队列的记录对每一个重做事务重新实施对数据库的更新操作。undo处理的方法是:反向扫描日志文件,根据撤销队列的记录对每一个撤销队列的记录的更新操作执行逆操作。6.6 什么是“运行记录优先原则”?其作用是什么? 在数据库系统中,写一个修改到数据库中和写一个表示这个修改的登记记录到日志文件中是两个不同的操作, 在这两个操作之间有可能发生故障。这时,如果先写了数据库修改,而在运行记

28、录中没有登记这个修改, 则以后就无法恢复这个修改,那么以后也就无法撤消这个修改。为了安全起见,采用“运行记录优先原则”。 它包括两点: (1)至少要等相应运行记录已经写入“日志”文件后,才能允许事务往数据库中写记录。 (2)直至事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“end transaction”处理。 采用“运行记录优先原则”,可以保证所做的操作都记录在日志中,便于故障处理,维护数据库的一致性。 6.5“检查点机制”的主要思想是什么dbms定时设置检查点,在检查点时刻才真正做到把对db的修改写到磁盘,并在日志文件中写入一条检查点记录(以便恢复时使用)。当db需要恢复

29、时,根据日志文件仅对检查后的事务进行redo、undo恢复操作。检查点机制大大减少了db的恢复时间6.2 试叙事务的四个性质,并解释每一个性质对dbs有什么益处? 我们要求事务具有以下四个特性:1原子性2一致性3隔离性4持久性原子性:一个事务对数据库的所有操作,是一个不可分割的工作单元。这些操作要么全部执行,要么什么也不做。由dbms的事物管理子系统来实现。一致性:一个事物独立执行的结果,应保持数据库的一致性,即数据不会因事物的执行而遭受破坏。由dbms的完整性子系统来实现。隔离性:在多个事物并发执行时,系统应保证与这些事务先后单独执行时的结果一样,此时称为事务达到了隔离性的要求。由dbms的

30、并发控制子系统来实现。持久性:一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中,不会丢失。由dbms的恢复管理子系统来实现。定义6.2 系统能把数据库从被破坏,不正确的状态,恢复到最近一个正确的状态,dbms的这种能力称为数据库的可恢复性。数据库常见故障分为三类:1事务故障。(分为可预期的事务故障和非预期的事务故障)。2系统故障。(重新启动时,对未完成事务做undo处理,对已提交事务但更新还留在缓冲区的事务进行redo处理)3介质故障。 事务故障和系统故障的恢复由系统自动运行,而介质故障上的回复需要dba配合执行。采用检查点方法的基本恢复算法分成两步:1根据日志文件建立事

31、务重做队列和事务撤销队列。2对重做队列中的事务进行redo处理,对撤销队列中的事务进行undo处理。6.9 有哪些“丢失更新”问题?如何处理? (1)并发调度引起的“丢失更新”问题。在并发调度中,如两个事务同时对某数据库进行更新操作, 在操作中丢失了其中某个事务对某数据的更新操作。处理的办法就是对并发操作采用x封锁技术。 (2)由恢复引起的更新丢失现象。采用x封锁以后,先执行事务t1,再执行事务t2,此时, 如果t2做rollback操作,就把事务t2的更新丢失了。 处理方式是采用pxc协议,不允许事务t1执行解锁操作直到事务执行到终点。 6.10 为什么dml只提供解除s封锁的操作,而不提供

32、解除x封锁的操作? 为了防止由恢复引起的更新丢失现象,pxc协议规定:x封锁必须保留到事务终点。 因此在dml中,commit或rollback的语义中包含了x封锁的解除,不用提供解除x封锁的操作。 而对于s封锁而言,它是一种共享型的封锁(读取但不能修改),其数据不可能是未提交的修改, 封锁不必等提交后才能解除,因此可以由事务用unlock解除各自对数据的封锁。 6.11为什么x锁需保留到事务终点,而s锁可随时解除?在一个事务对数据加上x锁后,并且对数据进行了修改,如果过早地解锁,有可能使其它事务读取了未提交的数据,引起丢失其它事务更新。因此x锁的解除应合并到事务的结束操作中。s锁只允许读数据

33、,所以s锁可以随时解除。 6.13 在封锁技术中,封锁协议可分哪三个级别?各解决了并发调度中的什么问题?一级封锁协议:事务在修改数据前加x锁,直到事务结束才释放。解决了丢失数据更新问题。二级封锁协议:事务在修改数据前加x锁,直到事务结束才释放。事务在读数据前加s锁,读完数据后立即释放s锁。解决了丢失更新问题、读脏数据问题。三级封锁协议:事务在修改数据前加x锁,直到事务结束才释放。事务在读数据前加s锁,直到事务结束时才释放。解决了丢失数据更新问题、读脏数据问题、不可重复读问题。6.13 试叙述串行调度与可串行化调度的区别。 串行调度是多个事务按照一定的次序依次执行;在某一时刻只有一个事务在执行。

34、 而可串行化调度是并发调度中的一个概念。在并发调度中,某一时刻有多个事务同时被处理。 如果某事务集的一个并发调度的结果与某个串行调度等价, 则称此并发调度是是可串行化调度。 6.15 完整性规则由哪几个部分组成?关系数据库的完整性规则有哪几类? a1触发条件:即什么时候使用规则进行检查; 2约束条件:即要检查什么样的错误; 3.else子句:即查出错误后该如何处理。 b1域完整性规则,用于定义属性的取值范围; 2域联系的规则,定义一个或多个关系中,属性值间的联系、影响和约束。 3关完整性规则,定义更新操作对数据库中值的影响和限制。 6.17 sql中的完整性约束有哪些? 域约束、基本表约束(候

35、选键定义、外键定义、“检查约束”定义)、断言。6.24 试解释权限的转授与回收。 在数据库系统中,为了保证数据的安全性,用户对数据的操作必须首先从dba处获得权限,才能进行对数据的操作。 同时数据库系统也允许用户将获得的权限转授给其他用户,也允许把已授给其他用户的权限再回收上来。 但应保证转授出去的权限能收得回来。6.16详述sql中的完整性约束机制? 主键约束。它是数据中最重要的一种约束。在关系中主键值不允许空,也不允许出现重复, 体现了关系要满足实体完整性规则。主键可用主键子句或主键短语进行定义。 外键约束。根据参照完整性规则,依赖关系中外键或者为空值, 或者是基本关系中的该键的某个值。外

36、键用外键关系子句定义, 并考虑删除基本关系元组或修改基本关系的主键值的影响,依赖关系可按需要采用restrict、set null、cascade方式。 属性值约束。当要求某个属性的值不允许空值时,那么可以在属性定义后加上关键字:not null , 这是非空值约束。还可以用check子句对一个属性值加以限制以及使用域约束子句creatdomain 定义新域并加以属性值检查。 全局约束。在关系定义时,可以说明一些比较复杂的完整性约束,这些约束涉及到多个属性间的联系 或不同关系间的联系,称为全局约束。主要有基于元组的检查子句和断言。 前者是对单个关系的元组值加以约束,后者则可对多个关系或聚合操作

37、有关的完整性约束进行定义。 6.17 参照完整性规则在sql可以用哪几种方式实现?删除基本关系的元组时, 依赖关系可以采取的做法有哪三种?修改基本关系的主键值时,依赖关系可以采取的做法有哪三种? a.1)在sql中采用外键子句定义外键,并考虑删除基本关系元组或修改基本关系的主键值, 对依赖关系产生的影响; 2)在属性值上进行约束如基于属性的检查; 3)全局约束中的基于元组的检查子句等。 b. restrict方式:只有当依赖关系中没有一个外键值与基本关系中要删除/修改的主键值相对应时, 系统才能执行删除/修改操作,否则拒绝删除或修改。 set null方式:删除基本元组时,将依赖关系中所有与基

38、本关系中被删除主键值相对应的外键值置为空值。 修改基本关系的主键值时,将依赖关系中所有与基本关系中被修改主键值相对应的外键值置为空值。 cascade方式:若删除则将依赖关系中所有外键值与基本关系中要删除的主键值相对应的元组一并删除, 若修改则将依赖关系中所有与基本关系中要修改的主键值相对应的外键值一并修改为新值。6.21 什么是数据库的安全性?有哪些安全措施? 数据库的安全性是指保护数据库防止不合法的使用,以免数据的泄漏、非法更改和破坏。 安全措施:环境级、职员级、os级、网络级和数据库系统级。 6.26 sql2中用户权限有哪几类?并作必要的解释。 (1)select :允许用户对关系或视

39、图执行select操作。 (2)insert :允许用户对关系或视图执行insert操作,如果还说明了一个属性表, 那么表示只能插入这些属性的值,关系中其他属性值将置为缺省值或为空值。 (3)delete:允许用户对关系或视图执行delete操作。 (4)update:允许用户对关系或视图执行update操作,如果还说明了一个属性表, 那么表示只能修改这些属性的值,否则表示可以修改关系中任一属性值。 (5)references:允许用户定义新关系时,引用其他关系的主键作为外键。 (6)usage:允许用户使用定义的域。 6.27 数据加密法有些什么优点?如何实现? 数据加密可以更好地保证数据的

40、完全性。加密采用一定的加密算法给把源文变为密文来实现。 常用的加密算法有替换方法和明键加密法。第七章(sql server 2000简介及应用)7.7 什么是存储过程?有哪些优点?存放在服务器上预编译好的sql语句。优点主要有提供了安全机制、改进了执行性能、减少了网络流量和执行代码的重要性。7.5 什么是查询分析器?有哪些优点查询分析器提供了图形界面来执行一个或多个t-sql语句。用户以文件的方式编辑t-sql语句,然后发送给服务器,并接受执行的结果。使用这个工具,用户可以交互的设计和测试t-sql语句、批处理和脚本。7.2 在安装sql server 2000时,安装程序会自动创建哪些系统数

41、据库和范例数据库?这些数据库各有哪些用途?master数据库:记录了所有sql server 2000的系统信息、登陆账号、系统配置设置、系统中所有数据库及其系统信息和存储介质信息。model数据库:是sql server 2000为用户创建数据库提供的模板数据库,每个新建的数据库都是在一个model数据库的副本上扩展而生成的,所以对model数据库的修改一定要小心。msdb数据库:主要用于sql server 2000存储任务计划信息、事件处理信息、备份恢复信息以及异常报告等。tempdb数据库:存放所有临时表和临时的存储程序,并且供sql server 2000存放目前使用的表中,它是一个

42、全局的资源,临时表和存储程序可供所有用户使用。每次sql server 2000启动时它会自动重建并且重设为默认大小,使用中它会依需求自动增长。northwind数据库:是sql server 2000提供的范例数据库,它包含一个称为northwind traders公司的销售数据库。pubs数据库:也是一个sql server 2000提供的范例数据库,它包含一个书籍出版公司的数据库范例。 7.3 sql server 2000中主要有哪些工具?各有哪些功能?查询分析器;执行t-sql的最佳轻量级工具,是最重要的工具之一。导入和导出数据:提供了导入、到处以及在sql server 2000和

43、ole db、odbc及文件间转换数据的功能。服务管理器:可以用来启动和停止sql server的主要服务和指示其当前状态。服务器网络实用工具:是sql server 2000服务器端的网络配置界面,能够配置sql server与用户的通信方式客户端网络实用工具:可以用来配置客户端-服务器端的链接。链接丛书:提供了联机文档,包括有关操作的说明。企业管理器:用来管理数据库的应用程序,是最重要的工具之一。事件探查器:可以监察sql server的运行情况和时间,并将选定的信息显示在屏幕上,或记录在表、文件之中。在iis中配置sql xml支持:可以用来配置sql server 2000中的xml支

44、持功能。7.1 sql server 2000的版本有哪四种?各自的适用范围是什么?企业版:作为生产数据库服务器使用.标准版:作为小工作组或部门的数据库服务器使用。个人版:供移动的用户使用,这些用户又是从网络上断开,但所运行的应用程序需要sql server数据存储。开发版:供程序员来开发将sql server 2000用作数据存储的应用程序。只能将开发版作为开发和测试系统使用,不能作为生产服务器使用。7.4 什么是服务管理器?有哪些优点?可以用来启动、暂停和停止sql server的服务,在没有启动sql server服务时不能进行数据库操作。优点:是一种dba工具,使用它可以启动指定的sq

45、l server实例与进程。提供了在任意服务器上启动和停止任意sql server进程的简便方法。提供了对于sql server进程运行状态的可视化指示。7.11 在数据库的导入和导出工作的功能是什么?它可以完成多个数据库之间的数据转移和转换。7.8 什么是触发器?有哪些优点?sql server是程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程。触发器的开销非常低,运行触发器所占用的时间主要花费在引用其他存于内存或磁盘上的表上,使用触发器还可以使用自定义的错误信息,实现多表的级联修改等功能。7.9 什么是用户自定义函数?有哪些优点和缺点?sql server 2

46、000允许用户创建自己的自定义函数。其同时具有试图和存储过程的优点,它可以像试图一样用在select语句的from子句中,而且它还可以接受参数。缺点是牺牲了可移植性。7.6 什么是企业管理器?有哪些优点企业管理器是用户管理sql server 2000的主要工具和图形界面。在企业管理器中可以完成几乎所有的管理工作;也能够连接或者注册多个sql server的实例,从而减少管理不同服务器的工作。7.12 用户在访问sql server数据库的数据,必须经过哪三个认证过程?身份验证;验证用户是否是该数据库的合法用户;当用户操作数据库中的数据或对象时,他必须具有所要进行操作的操作权;7.13 sql

47、 server 2000中,有哪两种身份认证模式?windows身份验证模式和混合验证模式7.15 什么是t-sql?由于标准的sql的dml只能用于修改或返回数据,没有提供用于开发过程和算法的编程结构,也没有包含用于控制和调整数据库专用的命令。所以每种功能完备的数据库产品必须使用一些各自专有的sql语言扩展来弥补sql标准的一些不足之处,在sql server中这种扩展称为transact-sql7.16 临时表:是临时的适合用来在不同的对象之间传递数据或者为临时的任务短时间保存数据 ;局部临时表:创建时必须使用由字符“#”开头的表名;全局临时表:创建时必须使用由两个字符“#”开头的表名;表

48、变量:类似于临时表,优点在于它存于内存中表变量和变量有相同的作用域和生命周期;第八章(powerbuilder9.0简介及应用)8.1 powerbuilder有哪些特点?采用面向对象的编程方法和事件驱动的工作原理;支持跨平台开发,具有开放的数据库连接系统;无须记住各种语句格式即可轻松编写语句;人性化设计,大大提高了程序员的编程效率;独特的库文件画板和层次清晰的系统资源树;系统提供11种不同“显示风格”的数据窗口,以满足不同用户的需求;提供了规范化的工作空间对象,让程序员更方便的管理创建的应用对象;8.2powerbuilder 9.0的开发空间有那三个层次?工作空间、目标和库文件;8.3什么

49、是“数据窗口”?他有什么特点是一个对象,它包含了对数据库中数据进行特定操作的信息。只要定义好一个数据窗口对象,以后就可以在多个应用程序中使用该数据窗口对象;数据窗口式封装了对数据库中数据操作的对象,他极大的方便了应用程序对数据库的使用;数据窗口是一个智能化的窗口,在数据窗口中,用户不必使用sql语句就可以对数据库进行查询、插入、删除和修改操作。第九章 (数据库技术的开发)3.什么是uml? uml适用于各类系统的建模,为了实现这种大范围应用能力,uml被定义成比较粗放和具有普遍性,以满足不同系统的建模。通过提供不同类型生动的图,uml能表达系统多方面的透视,这些图有类图,用例图,状态图,组件图

50、等9种。4. 类图:描述了系统的静态结构,包括类和类图间联系。类被表示为三个部分组成的方框。对象是类的实例。关联是对类的实例之间联系的命名,相当于er模型中的联系类型。联系元数:与关联有关的类的个数。关联角色:关联的端部,也就是与关联相连的类。重复度:重复度是指在一个给定的联系中有多少对象参与。关联类:类图中关联本身也可以有属性或自己的操作。抽象类是一种没有直接对象,但他的子孙可以有直接对象的类。具体类是指有直接对象的类。概化:从子类到超类的抽象化过程。特化:从超类到子类的具体化过程。聚合表达了成分对象和聚合对象之间的“is part of”的联系,聚合实际上是一种较强的形式的关联联系,在类图

51、中,用空的菱形表示。复合:一种较强形式的聚合,用实心菱形表示。8.odbc技术与传统的数据库编程方式有什么区别/传统的数据编程方式是“主语言+dml”。虽然ansi和iso定义了关系数据库查询语言标准sql,但是在odbc技术出现之前,一个特定的前端应用却不能访问不同数据库服务器上的数据。各厂商的sql版本不同,每个rdbms厂商都对标准sql进行了独特的扩充或解释,使得不同的rdbms提供的sql互不兼容。不同厂商的rdbms在客户机与数据库服务器之间使用了不同的通信协议。而与此同时,rdbms产品却迅速增加,因此有必要建立一个公共的、与数据无关的应用程序设计接口。所谓公共接口api就是为开

52、发者提供单一的编程接口,这样同一个应用程序就可以访问不同的数据库服务器。9.odbc技术有什么作用?其卓越贡献是什么? odbc为应用程序提供了一套cli函数库和基于dll的运行支持环境。 cli:调用层接口 dll:,动态链接库odbc的卓越贡献是使用应用程序具有良好的互用性和可移植性,并且具备同时访问多种dbs的功能,从而克服了传统数据库应用程序的缺陷。对用户来说,odbs驱动程序屏蔽掉了不同dbs的差异。11.odbc数据应用程序的主要功能是什么?主要完成哪些任务?功能是:调用odbc函数,递交sql语句给dbms,检索出结果,并进行处理。应用程序要完成odbc外部接口的所有工作。8个任

53、务:连接数据库向数据源发送sql语句为sql语句执行结果分配存储空间,定义所读取的数据格式读取结果处理错误向用户提交处理结果请求事务的提交和回退操作断开与数据源的连接16.在sqlcli中,宿主程序与数据库交互的有关信息记录在运行时数据结果中。请回答这些信息将保存在那四种类型的记录中?这四种记录用于保存什么信息?环境记录:用作为一个容器,设置环境信息,以保存一个或多个数据库连接 连接记录:保存一个特定数据库连接所需的信息,表示应用系统与数据源之间的连接。语句记录:保存一个sql语句所需的信息。描述记录:保存元祖或参数的有关信息.13.什么是dbms驱动程序?主要任务是什么?应用程序通过调用驱动

54、程序所支持的函数来操纵数据库。驱动程序也是一个动态链接库(ddl)。当应用程序调用函数sqlconnect时,驱动程序管理器加载驱动程序。任务:建立应用程序与数据源的连接向数据源提交用户请求执行的sql语句根据应用程序的要求,将发送给数据源的数据或是从数据源返回的数据进行数据格式和类型的转换把处理结果返回给应用程序将执行过程中的dbs返回的错误转换成odbc定义的标准错误代码,病返回给应用程序根据需要定义和使用光标14.什么是odbc数据源?驱动程序与dbs连接的桥梁。数据源不是dbs,而是用于表达一个odbc驱动程序和dbms特殊连接的命名。在连接中,用户数据源名来代表用户名、服务器名、所连

55、接的数据库名等,可以将数据源名看成是与一个具体数据库建立的连接。17.有哪些典型的数据库应用系统开发工具?这些工具有些什么共同的特点powerbuilder9.0、delphi7.0、visualbasic6.0和developer/2000等。这些工具都可以在客户机撒谎那个通过odbc接口与诸如oracle、sybase、sqlsever等服务器端的数据库相连。12.什么是驱动程序管理器?驱动程序管理器的主要功能是什么?是一个动态链接库,用于连接各种dbs的dbms驱动程序,管理应用程序和dbms驱动程序之间的交互作用。为应用程序加载dbms驱动程序检查odbc调用参数的合法性和记录odbc

56、函数的调用为不同驱动程序的odbc函数提供单一的入口调用正确的dbms驱动程序提供驱动程序信息5.类图中的重复度与er图中实体的基数有什么异同?重复度类似于er模型中实体基数的概念。但这是两个相反的概念。实体基数是指与一个实体有联系的另一端实体数目的最小、最大值,基数应写在这一端实体的边上。而重复度是指参与关联的这一端对象数目的最小、最大值,重复度应写在这一端类的边上。15.什么是sqlcli?公共接口api就是为开发者提供单一的编程接口,这样同一个应用程序就可以访问不同的数据库服务器。在sql标准中,被称为“调用层接口”。 sqlcli是odbc技术的延续。cli定义了一套可以再宿主语言调用的公共函数,每一个函数具有一个名称和一个要求的算法。使用sqlcli时,函数调用中sql语句将作为字符串参数动态地创建和传递。oodbs:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。ordbs:基于对象关系数据模型的dbs称为对象关系数据库系统。平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1nf)性质,关系具有规范化的结构。也就是规定属性值是不可分解的,即不允许属性值具有复合结构。嵌套关系模型:是从平面关系模型发展而成的。它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。嵌套关系突破了1nf的定义

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论