数据库思考题答案_第1页
数据库思考题答案_第2页
数据库思考题答案_第3页
数据库思考题答案_第4页
数据库思考题答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 1、数据(data)、数据库(database)、数据库管理系统(dbms)、数据库系统 (dbs)? (1)数据(data):描述事物的符号记录称为数据。 (2)数据库(data base;db):长期储存在计算机内的、有组织的、可共 享的数据集合。 (3)数据库管理系统(database management system ; dbms):位于用户 与操作系统之间的一层数据管理软件。 (4)数据库系统(database system ; dbs):计算机系统中引入数据库后 的系统。 2、数据模型的三要素? 数据结构、数据操作、数据的约束条件 3、什么是实体、实体集、实体型?它们的关

2、联与区别? (1)实体:客观存在并可相互区别的事物称为实体。 实体集:同一类型实体的集合称为实体集。 实体型:具有相同属性的实体必然具有共同的特征和性质。用实 体名及其属性名集合来抽象和刻画同类实体,称为实体型。 (2)实体内部的联系通常是指组成实体的各属性之间的联系,实体之间 的联系通常是指不同实体集之间的联系。 4、什么是码?码是必须的吗? 码是唯一标识实体的属性(集)。码是必须的。 5、常见的(逻辑)数据模型有哪些? (1)层次模型 (2)网状模型 (3)关系模型(relational model) (4)面向对象模型(object oriented model) (5)对象关系模型(o

3、bject relational model) (6)半结构化模型(semistructure data model) 6、数据管理技术发展的三个阶段中,数据库系统的特点是什么? (1)数据结构化 (2)数据的共享性高,冗余度低,易扩充 (3)数据独立性高 (4)数据由数据库管理系统(dbms)统一管理和控制 7、数据库系统的组成部分有哪些? (1)硬件平台及数据库 (2)软件 dbms 支持 dbms 运行的操作系统 与数据库接口的高级语言及其编译系统 以 dbms 为核心的应用开发工具 为特定应用环境开发的数据库应用系统 (3)人员 数据库管理员 系统分析员和数据库设计人员 应用程序员 用

4、户 8、从开发人员(内部)来看数据库系统的结构是如何? 数据库系统三级模式结构(内部) 9、什么是数据库系统的内模式、模式、外模式?这种三种模式结构的优点是什 么? (1)内模式也称存储模式,一个数据库只有一个内模式。它是数据物 理结构和存储方式的描述,是数据在数据库内部的组织方式。 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的 描述,是所有用户的公共数据视图。 外模式也称子模式或用户模式,它是数据库用户能够看见和使 用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视 图,是与某一应用有关的数据的逻辑表示。 (2)数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体 组织

5、留给 dbms 管理,使用户能逻辑抽象地处理数据,而不必关心数据 在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系 和转换,数据库系统在这三级模式之间提供了两层映像:外模式模式 映像和模式内模式映像。正是这两层映像保证了数据库系统中的数据 具有较高的数据独立性。 10、从最终用户(外部)来看数据库系统的常用结构? (1)单用户结构 (2)主从式结构 (3)分布式结构 (4)客户/服务器结构 (5)浏览器/应用服务器/数据库服务器结构 11、什么是数据独立性?数据库系统是如何保证它的? (1)分为物理独立性和逻辑独立性: 当模式改变时,由数据库管理员对各个外模式/模式的映像作相 应

6、改变,可以使外模式保持不变。应用程序是依据数据的外模式 编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立 性,简称数据的逻辑独立性。 当数据库的存储结构改变时,由数据库管理员对各个模式/内模 式映像作相应改变,可以使模式保持不变,从而应用程序不必修 改,保证了数据与程序的物理独立性,简称数据的物理独立性。 (2)数据库管理系统的三级模式之间提供的两层映像。 第二章 1、关系与笛卡尔积的关系是什么? 关系是笛卡尔积的一个子集。 2、为什么无限关系在数据库系统中是没有意义的? 无限关系不能进行查询、更新等操作,故没有实际意义。 3、候选码和主码的联系和区别是什么? (1)候选码(candi

7、date key):若关系中的某一属性组的值能唯一地 标识一个元组,则称该属性组为候选码。 (2)主码(primary key):若一个关系有多个候选码,则选定其中一 个为主码。 4、基本关系的性质有哪些? (1)列是同质的(homogeneous) (2)不同的列可出自同一个域 (3)列的顺序无所谓 (4)任意两个元组不能完全相同(任意两个元组的候选码不能取相同的 值) (5)行的顺序无所谓 (6)分量必须取原子值 5、什么是笛卡尔积运算、广义笛卡尔积运算?其区别? 域;关系 6、哪些代数运算需要参与运算的关系具有相同的目 n 并且相应的属性取自同一 个域?哪些不需要? 相同的目 n 并且相

8、应的属性取自同一个域:并、交、差 7、哪些代数运算是行运算,哪些既是行运算又是列运算? 行运算:并、交、差、选择、广义笛卡尔积、连接(除自然连接) 既是行运算又是列运算:投影、自然连接、除 8、广义笛卡尔积运算、连接运算的区别是什么? 连接运算是广义笛卡尔积运算基础上加选择运算。 9、什么是 连接、等值连接、自然连接?其区别? (1)(连接也称 连接。它是从两个关系的笛卡尔积中选取属性间满足 一定条件的元组。 为“=”的连接运算称为等值连接。自然连接是一种 特殊的等值连接。) 等值连接是条件连接在连接运算符为=时的特例. (2)自然连接一定是等值连接,但等值连接不一定是自然连接。等值连 接不把

9、重复的属性除去;而自然连接要把重复的属性除去。 第三章 第三章 1、sql 的功能有哪几部分?分别使用哪些命令实现? 定义(createalterdrop)、 查询(select)、 操纵(insertupdatedelete)、 控制(grantrevoke) 2、使用 sql 可以创建的数据对象有哪些? 模式、表、索引、视图 3、sql server 支持哪些字符类型?区别是什么? char:长度为 n 的定长字符串。 nchar:“n”表示存储的是 unicode 数据类型的字符,即字符都用两个 字节表示。 varchar:最大长度为 n 的变长字符串。 nvarchar:“n”表示存储

10、的是 unicode 数据类型的字符,即字符都用两 个字节表示。 4、在创建表时,如何保证非主码列的值不能有重复? 使用 unique 关键字。 5、having 短语与 where 子句的区别是什么? (1)作用对象不同: (2)where 子句作用于基表或视图,从中选择满足条件的元组。 (3)having 短语作用于组,从中选择满足条件的组。 6、为什么在实际中要避免构造广义笛卡尔积的 sql 语句? 从产生结果的数据量来说。 7、外连接有哪些类型? left outer join、 right outer join、 full outer join 8、相关子查询、不相关子查询是如何定义

11、的? (1)不相关子查询:子查询的查询条件不依赖于父查询 (2)相关子查询:子查询的查询条件依赖于父查询 9、为什么有些商业数据库软件不提供交、差的集合查询? 可以用其他功能实现 10、为什么有些视图不能更新? 一些视图是不可更新的,因为对这些视图的更新不能唯一地有意义地转 换成对相应基本表的更新。 11、视图对应于数据库模式结构的哪一层? 外模式 12、视图的作用有哪些? (1)视图能够简化用户的操作。 (2)视图使用户能以多种角度看待同一数据。 (3)视图对重构数据库提供了一定程度的逻辑独立性。 (4)视图能够对机密数据提供安全保护。 (5)适当利用视图可以更清晰地表达查询。 第四章 第四

12、章 1、数据库安全与计算机系统安全的关系是什么? 是紧密联系的。计算机系统的安全性问题会造成数据库安全性的破坏。 首先要保证计算机系统安全,才能够保证数据库安全。 2、数据库安全技术有哪些? 用户标识和鉴定、存取控制、视图、审计、数据加密、推理控制等等 3、目前,计算机以及信息安全标准有哪些? (1)tcsec (桔皮书) (2)cc(国际通用准则 ) (3)国标:计算机信息系统安全保护等级划分准则 4、如何保证计算机系统的安全性? 层层设置的安全措施来保证数据库系统的安全性 进入计算机系统:用户标识进行用户身份鉴定 已经进入系统:数据库管理系统的存取控制 操作系统的安全保护措施 数据的加密存

13、储 等等 5、自主存取控制(dac)方法包括的哪些内容?为什么会出现数据泄露的情况? (1)同一用户对于不同的数据对象有不同的存取权限 不同的用户对同一对象也有不同的权限 用户还可将其拥有的存取权限转授给其他用户 (2)因数据本身并无安全性标记 6、审计是哪一级别必须的安全指标?为什么审计只是预防监测手段? (1)c2 (2)审计只是将对数据库的操作进行记录,本身并不能能够避免数据库 安全性问题。 7、sql server 的认证模式有哪些? sql server 200x 提供了两种确认用户的认证模式: (一)windows 认证模式。(二)混合认证模式。 8、sql server 的服务器

14、登录帐号和用户帐号的区别? 8、sql server 的服务器登录帐号和用户帐号的区别? (1)具有服务器登录帐号,只表明可以通过 windows 认证或者 sql server 认证。 (2)只有拥有了用户帐号后,才能够访问数据库数据。 第五章 第五章 1、数据完整性与安全性的区别? 完整性:数据的正确性和相容性;防止不合语义的数据进入数据库。 安全性:防止数据被恶意破坏及非法存取。 2、数据库的完整性控制机制包括哪些内容? 定义;检查;违约处理 3、什么是实体完整性规则?dbms 进行实体完整性检验的主要技术是什么? (1)若属性 a 是基本关系 r 的主属性,则属性 a 不能取空值; (

15、2)索引 4、在 sql 功能中,保证数据完整性是属于哪部分功能? 数据定义 5、在参照完整性约束中,分别举一个外码允许取空值和不允许取空值的情况。 略 6、哪些破坏参照完整性的情况违约处理必须为拒绝,哪些允许其他的处理策略? 这些策略有哪些? 被参照表(例如 student) 参照表(例如 sc) 违约处理 可能破坏参照完整性 插入元组 拒绝 可能破坏参照完整性 修改外码值 拒绝 删除元组 可能破坏参照完整性 拒绝/级连删除/设置为空值 修改主码值 可能破坏参照完整性 拒绝/级连修改/设置为空值 7、外码与被参照关系主码的定义需要注意的问题有哪些? (1)目标关系 s 的主码 ks 和参照关

16、系的外码 f 必须定义在同一个(或 一组)域上; (2)外码并不一定要与相应的主码同名。 8、除了声明式的完整性定义方式还有没有其他的其他方式? 还有程序化的方式:触发器等。 第六章 第六章 1、数据依赖与完整性约束的关系? 数据依赖是完整性约束的一种表现形式,其定义了属性值间的相互关连。 2、数据依赖的分类?两种数据依赖的关系? 函数依赖、多值依赖及其他。函数依赖是多值依赖的特殊情况 3、不“好”的关系模式会存在哪些问题?原因是什么?如何解决? (1)数据冗余太大、更新异常、插入异常、删除异常 (2)原因:由存在于模式中的某些数据依赖引起的 (3)解决方法:通过分解关系模式来消除其中不合适的

17、数据依赖 4、为什么平凡函数依赖不会对关系模式产生影响? 任一关系模式,平凡函数依赖都是必然成立的,并不反映新的语义 5、为什么 3nf 之后是 bcnf 而不是 4nf? bcnf 是修正的 3nf (3nf 只消除非主属性对码的部分及传递依赖; bcnf 则消除所有属性对码的部分及传递依赖) 6、在传递函数依赖定义中:xy,yz。为什么必须 y(不)x,y(不)x? 去掉部分函数依赖和直接的函数依赖的情况 7、为什么说 bcnf 的定义包含 3nf? bcnf 定义中每个函数依赖 x 必含有候选码,则不会出现部分函数依赖于 候选码也不传递函数依赖的情况(3nf) 8、r3nf,且 r 只有

18、一个候选码,则 r 必属于 bcnf 吗? 是的 第七章 第七章 1、表达用户需求可以有哪些方法? 数据流图、判定表/数、数据字典 2、数据流与数据存储的区别是什么? 流动、静止 3、在 e-r 图设计中如何区分实体和属性? (1)实体与属性是相对而言的,一般而言 属性不能再具有需要描述的性质。 属性不能与其他实体具有联系。 (2)符合上述两条特性的事物一般作为属性对待 4、e-r 图设计冲突的种类有哪些? 属性(域、单位)、命名(同名异义、异名同义)、结构冲突(抽象类 型不同、实体包含属性不同、联系类型) 5、初步 e-r 图与基本 e-r 图的区别? 是否消除了不必要的冗余 6、为嘛要有时

19、要保留冗余信息?举例说明。 有时为了提高某些应用的效率 7、e-r 图向关系模式转换的内容和原则是什么? (1)内容:实体、实体的属性和实体之间的联系. (2)原则:一个实体型转换为一个关系模型,关系的属性就是实体的属 性,关系的码就是实体的码。 8、关系数据理论在数据库设计的哪个阶段使用?为什么并不是规范化程度越高 的关系就越优? (1)逻辑结构设计中的数据模型的优化。 (2)过度提高范式的系统在使用中经常需要进行连接运算。 第八章 第八章 1、sql 语言的使用方式有哪些? 交互式、嵌入式 2、嵌入式 sql 语句与主语言之间的通信方式? (1)sql 通信区(sqlca)、(2)主变量、

20、(3)游标 3、简单描述 odbc 的体系结构。* 应用程序、驱动程序管理器、数据库驱动程序、odbc 数据源 4、什么叫存储过程?其优点? (1)sql server 的存储过程类似于编程语言中的过程。 使用 transact-sql 语言编程,可以将需要多次调用的代码段编写成一个 过程,保存在数据库中,并由 sql server 服务器通过过程名来调用它们, 这些过程就叫做存储过程。 (2)存储过程的优点: 实现了模块化编程。 存储过程具有对数据库立即访问的功能。 使用存储过程可以加快程序的运行速度。 使用存储过程可以减少网络流量。 使用存储过程可以提高数据库的安全性。 5、触发器与存储过程的区别?* 一般的存储过程通过名称被直接调用,而触发器是通过事件进行触发而 被执行 6、创建、修改和

温馨提示

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

评论

0/150

提交评论