大学计算机数据库复习

大学计算机数据库复习
大学计算机数据库复习

数据库复习

Cyanny 本次考试满分是120分,其中20分是附加题,并不要求完成。

复习要点:

1、在PPT上没有某些考试题目的答案;

2、注意复习数据库中讲授过的基本文件的结构和读取方式;

3、注意复习数据库中讲授过的基本索引的结构和读取方式;

4、注意复习较为复杂的ORM(对象关系映射)或ER-表结构的映射规则

1.为性能而设计

提纲:一定会考,数据库之间的差别很大,差异性大,要知道开发成功数据库应用的要点提高性能的方法,优缺点,异步方法:批处理,峰值处理,实时性不好;同步方法

1.1.开发成数据库要点

●需要理解数据库体系结构

●需要理解锁和并发控制特性:每个数据库都以不同的方式实现

●不要把数据库当“黑盒”,应用是使用数据库的应用,数据最终会被多个应用使用,要

充分利用数据库

●用尽可能简单的方法解决问题:“创造”永远追不上开发的步伐

1.2.现状

应用系统的首要目标是满足业务需求,但实际是在技术挑战的刺激下,忽视目标,重视手段,忽视数据的质量,重视按期交付功能。

数据库开发为性能而设计强调良好的模型和合理的数据库设计是任何信息系统的基础

1.3.一些概念(看看就行)

1.关系代数

代数表达式——可以变换表达式,求出同样的值,即等价变换

关系数据库基础是关系代数,关系数据库操作都是关系代数的操作符

任何一个SQL都可以转化为不同形式的表达式,但是有相同结果,每一个表达式,都是一个路径,查询优化器选择最高效,省时间的路径

2.数据库基本特性

表、key、完整性约束(组件约束和引用约束)、锁、视图,事务

3.数据的关系视图

●数据库只是对现实世界的有限描述,对特定的业务活动的描述不止一种

●“关系模型”中的“关系”的含义

二维表就是关系,关系操作是表和表之间的操作。关系不包含重复的数据,但是DBMS 中并未这样实现;关系的记录之间没有顺序,如果数据之间有次序要求,则不能被称为一张关系表,而记录的顺序往往会影响查询的效率

●关系模型的一致性:只要遵守关系理论,可以保证基于数据库的任何查询结果与原始数

据具有同样的有效性

●关系理论包括:系不包含重复数据;记录之间没有顺序

●视图:是一个SQL语句,当使用到SQL语句进行查询的时候才生成这个视图,在用的

时候才会被执行。视图用在:

?权限:当希望基本表不暴露给别人,所以使用视图来暴露给别人,此时视图可能引

用到多张表而形成一个可以被其他应用所看到和使用的视图,从而保护基本表不被

别人看到。与接口类似

?重构:用在数据库重构中。完成了数据库重构中,而将原来的表做成完全一样的视

图,此时内部的所有重构都不会影响到外部的使用(外部应用使用视图)。如果视

图引用到大于4张表,此时应当考虑到性能的问题,但是应用不会看到视图的引用

情况,所以使用视图可能会掩盖一些现象

4.数据库范式

范式是为了让数据库减少冗余

●1NF 确保原子性(Atomicity),原子性的粒度、原子性的价值,每一列只有单值,单个

字段当做单个值来使用,不做拆分来验证和使用

●2NF 检查对键的完全依赖,价值在在于控制数据冗余和查询性能

●3NF 检查属性的独立性,

●规范化的价值:合理规范化的模型可应对需求变更,规范化数据重复降至最少

●满足范式是为了降低冗余,逆范式——保持一定的冗余,提高效率

5.SQL复杂度

SQL的复杂度取决于from后面包含的表数量(笛卡尔积的基数)。没有任何厂商支持完整的SQL99标准,而是只支持最基本的部分(query table/ query view/ select/ insert/ update/ delete)。每一个数据库的存储过程和触发器都不一样

6.限用boolean型字段

7.约束应该明确说明

●数据库中存在隐含约束是不良设计

●字段的性质随着环境变化而变化时,会出现错误和不稳定性

●数据语义属于DBMS,别放到应用程序中

●约束可以放在程序中检查,也可以放在数据库中,如果数据库是中心级数据库,则

放在数据中检查,便于多个应用共享

8.过于灵活的危险性

9.如何处理历史数据

10.关于NoSQL

在基于web的应用中大量地使用非关系型数据库,放宽对一致性的要求而提高吞吐量。

因为系统有并发的限制,所以单一请求的性能作为系统的性能指标是不可行的,因此引入吞吐量的概念。致性的要求会产生大量的回滚操作,从而降低吞吐量。NoSQL认为脏写、不一致性都是可以接受的,只要在一段时间内保证数据库的一致性即可(关系型数据库要求实时保证数据库的一致性)。Google、新浪微博等都是使用NoSQL实现的

1.4.数据库之间的差异很大

数据库之间的比较,比如Oracle/MySQL/SQL Server/DB2,数据库的连接、组织形式是完全不同的。要提高数据库的性能最本质的是在某一个数据库上提高性能

1.5.设计与性能(提高性能的方法)

性能拙劣源于错误的设计,调优就是在目前情况下,优化性能至最佳

1)数据结构的设计。

对数据表进行规范化,可以保持适当的冗余量,建立有用的索引,尽量减少表与表之间的关联,运用存贮过程等。

2)处理流程

异步处理模式:可以允许用户发出操作之后去做其他工作,数据库进行集中的批处理,当处理完毕后通知用户,但是实时性不好

同步处理时模式:用户必须等待数据库操作并返回结果,期间不能做其它操作。适合数据库进行实时交易。

要根据系统的需求选择一种合适的手段,这会影响物理结构的设计。

3)数据集中化

分布式数据存储:具有更灵活的体系结构,减少了单一节点的负担,但是有缺点:远程数据的透明引用访问代价很高;不同的数据源数据结合极为困难。存取结构复杂,保密性不易控制;多个副本的一致性难以保证

数据集中化:提高数据库速度,并且在部署上服务离数据越近,速度会越快。Block使用充分,命中率高,所需io操作少;缺点是:单点故障,会带来很大损失,解决方式是热备份或灾难备份

4)接近DBMS核心

代码里离DBMS核心越近运行越快,充分利用每次数据库访问。

5)保持数据库连接的稳定。链接稳定减少交互。

6)充分利用每次的数据库访问,减少服务与数据库之间的交互。

不要多次访问数据库,提取多段信息,要在合理范围内,利用每次数据库的访问,完成尽量多的工作

7)优化SQL语句

把逻辑放入到查询SQL中而不是SQL宿主语言中;优化SQL语句的结构。

8)谨慎地使用自定义函数,不当的位置会使自定义函数执行次数过多而造成性能下降;

Select中调用一次,where中可能每一行检查都会调用,如果自定义函数内部还执行了一个select语句,则无法被查询优化器优化

9)构建稳定的应用需要防御式编程,但在合理的情况下可以使用进攻式编程。

●防御式编程:在开始处理前检查所有参数的合法性,可移植性高

如通过left join返回的各种情况做判断(检查那个字段错误)

限用boolean型字段

约束应明确说明:数据中存在隐含约束是一种不良设计

●进攻式编程

不做合法性检查,以合理的可能性为基础,绝大多数情况下不出错,进攻式可以提高吞吐量,要对异常谨慎控制

2.SQL优化

提纲:where 优化:distinct;买BMW例子;摆脱distinct方法,用exist和in,告诉查询优化器,先优化哪些路径

2.1.SQL和优化器概念

●优化器:借助关系理论(关系代数)提供的语义无误的原始查询进行有效的等价变换,

寻找最优路径,产生新能最优的执行方案

●优化:在数据处理的真正被执行的时候发生

●影响优化的因素:索引,数据的物理布局,可用内存大小,可用处理器个数,直接或间

接涉及的表和索引的数据量

●Sql语句先执行关系操作,在执行非关系操作(order by)

●逻辑查询处理阶段简介(网上找的,理解一下)

FROM:对FROM子句中的前两个表执行笛卡尔积(Cartesian product)(交叉联接),生成

虚拟表VT1

ON:对VT1应用ON筛选器。只有那些使为真的行才被插入VT2。OUTER(JOIN):如果指定了OUTER JOIN(相对于CROSS JOIN 或(INNER JOIN),保留表

(preserved table:左外部联接把左表标记为保留表,右外部联接把右表标记为保留表,完全外部联接把两个表都标记为保留表)中未找到匹配的行将作为外部行添加到VT2,生成VT3.如果FROM子句包含两个以上的表,则对上一个联接生成的结果表和下一个表重复执行步骤1到步骤3,直到处理完所有的表为止。

WHERE:对VT3应用WHERE筛选器。只有使为true的行才被插入VT4. GROUP BY:按GROUP BY子句中的列列表对VT4中的行分组,生成VT5.

CUBE|ROLLUP:把超组(Suppergroups)插入VT5,生成VT6.

HAVING:对VT6应用HAVING筛选器。只有使为true的组才会被插入VT7.

SELECT:处理SELECT列表,产生VT8.

DISTINCT:将重复的行从VT8中移除,产生VT9.

ORDER BY:将VT9中的行按ORDER BY 子句中的列列表排序,生成游标(VC10). TOP:从VC10的开始处选择指定数量或比例的行,生成表VT11,并返回调用者。

2.2.优化策略

2.2.1加倍留意非关系操作

一旦关系操作完成就再也回不去了,优化:

?把查询结果传给外部查询的关系操作

?无论优化器多么聪明,都不会合并两个查询,而只是顺序执行

?只要不是纯关系操作层,查询语句的编写性能的影响重大,因为sql引擎将严格执行它规定的执行路径

?最稳妥的方式:在关系操作层完成尽量多的工作,对于不完全的关系操作,加倍留意查询的编写

例如:oracle里的rownum

不应该,order by在where之后才做,所以还没有存在,查询失败

select empname, salary from employees where status != 'EXECUTIVE' and rownum<= 5 order by salary desc

而应该

select * from (select empname, salary from employees where status != 'EXECUTIVE' order by salary desc) where rownum<= 5

2.2.2优化器的有效范围

?优化器需要借助数据库中找到的信息

?能够进行数学意义上的等价变换

?优化器考虑整体响应时间

?优化器改善的是独立的查询语句

?策略是:如果是若干个小查询,优化器会个个优化;如果是一个大查询,优化器会将它作为一个整体优化

2.2.3使用SQL语句要考虑的因素

1)数据总量

Sql考虑最重要的因素:必须访问的数据总量;没有确定目标容量之前,很难判断查询执行的效率

2)定义结果集的查询条件

好的查询条件:满足此条件的数据很少,可以过滤很多数据

Where字句:特别在子查询或视图中可能有多个where字句

过滤的效率有高有低,受到其他因素的影响

影响因素:过滤条件,主要的sql语句,庞大的数据对查询影响

3)结果集的大小

4)获得结果集所涉及的表的数量

表的数量会影响性能

连接:太多的表连接(八张)就该质疑设计的正确性了;对于优化器,随着表数量增加,复杂度指数增长;编写太多表的复杂查询时,多种方式连接的选择失误几率很高

视图:会掩盖多表连接的事实

减少复杂查询和复杂视图

5)并发的用户数(同时修改数据的用户数)

?设计时要注意:数据块访问争用,阻塞,闩定,保证读取的一致性

?一般而言,整体的吞吐量>个体响应时间

?数据存贮采用固定大小的区块,可以存取多条记录,I/O交互简单,在内存与缓冲中好处理;但是当修改后的数据太长,则会进行迁移到另一个block存储;数据块

的太大,会带来数据块的访问争用的问题,影响并发性能

2.2.4过滤

1)如何限定结果集时最为关键的因素,是使用SQL各种技巧的判定因素

2)过滤条件的含义:

Where字句和having字句

Join过滤条件

Select过滤条件

3)过滤条件的好坏,取决于

最终需要的数据是什么,来自哪些表

哪些输入值会传递到DBMS引擎

能过滤掉不想要的数据的条件有哪些

高效过滤条件是查询的主要驱动力

2.2.5摆脱distinct,使用exists和in操作

1)避免在最高层使用distinct(会产生错误结果集),因为发现重复的数据容易发现不准确

的连接难,发现结果的不正确就更难了

2)摆脱distinct的方法:使用exists和in,exits需要用到嵌套子查询;

1.exists查询

?需要使用关联嵌套,子查询中要使用外层查询的表中的字段信息

?内部查询中的join关系与外部表没有直接的叉乘关系,而是带入外部查询的结果值到内部查询中,减少一次叉乘次数,但是内部查询要带入多次外部表的

?exits被优化一次后多次执行,查询不需要完整执行产生结果集,只要满足条件,判定行集非空,就为true;可能找到第一条满足条件的数据,就执行完毕

返回;子查询时间难以估算。经过查询优化器优化后,优化的时间远远超过执

行的时间,虽然执行多次,效率反而更高

?exits暗示查询优化器,这是一个内部查询优化,优化器采用随机方式,独立优化

?外部查询所用到的字段条件所对应的内层查询字段一定要在表中加上索引,提高内部查询的效率(BMW中orders表要在custid字段添加索引)?避免了distinct所带来的结果集的错误

?适用于:外部条件在结果集中所占比率较小的情况,可以减少子查询的次数(BMW中属于最近6月买BMW较少的情况)

2.in查询

?可以使用关联子查询和非关联子查询

?非关联子查询中,内层查询不在依赖外层查询,优化一次后只需要执行一次,但必须完整执行,再和外部查询比较取出交集

?非关联子查询不需要在于外层字段有关的字段上添加索引,因为二者没有关系

?适用于:外部查询条件所占比例比较大的情况,in的效率会远远高于exists效率

例子:

不对的方式:

改进:

其他方法:from字句中的内嵌视图

3)Solution:

找到分辨率最强的条件,即满足条件的结果集小,选择使用exits还是in

解决方案不止一种,查询和数据隐含的假设密切相关

预先考虑查询优化器的工作,以确定它能找到所需要的数据

2.2.6大数据量查询原则

原则:越快踢出不要的数据,查询的后续阶段必须处理的数据量就缺少,查询效率越高应用:

?集合操作,如union语句,但是不要cut-and-paste

?Group by&having字句

?所有影响聚合函数的结果条件都应该放在hanving字句中

?任何无关聚合条件都应该放在where子句中

?减少group by必须执行排序操作所处理的数据量

2.2.7非关联子查询变成内嵌视图—降低查询维度

例子:

不好的方式,5张表连接查询,外面三张+内部两张:

改进

2.3.SQL语句方面注意

1.注意在做否定意义的查询要小心进入陷阱:

如,没有选修‘B2’课程的学生:

select students.*

from students, grades

where students.sno=grades.sno

AND gradeso <> ’B2’(一定选课,但是没有选课的人)

上面的查询方式是错误的,正确方式见下方:

select * from students(选出了没有选课的学生+选课的学生且没有选课B2)

where not exists (select * from grades

where grades.sno=students.sno AND cno='B2')

(2)关于JOIN

JOIN: 如果表中有至少一个匹配,则返回行(INNER JOIN)

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN: 只要其中一个表中存在匹配,就返回行

2.4.SQL查询优化总结

1.暗示查询优化器如何优化

使用join来暗示表连接顺序,当有多表连接操作时,考虑使用exists和in操作来优化;

如果不使用join则是让查询优化器自己优化,自己确定表连接顺序(先小表,再大表),效率可能较低

2.将多维度的查询进行降维处理,一次连接的表不要超过3张,超过了就将非关联子查询

变成内嵌视图,降维处理

3.考虑取出的数据在表中的比例,当查询返回记录超过数据总量10%就不使用索引,查询

结果集少于10%是好的查询条件

4.避免在高层使用distinct,使用exists和in来处理

5.避免在高层使用select *,这样会产生冗余的结果集,降低性能

3.索引和数据表的物理实现

提纲:B树索引结构;为什么没有使用我的索引?为什么使用索引?快速访问数据,

索引会带来存储和处理的负担,没有使用浪费存储空间,插入效率慢

请列举没有使用索引的例子?要举例

注意基本的索引结构和存取方式

3.1索引概念

1.索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库

表中的特定信息。是一种以原子粒度访问数据的手段,而不是为了大量数据的访问。是一种数据访问方式;索引是顺序存取

2.索引分类:

聚簇索引:按照数据存放的物理位置为顺序的,索引的叶节点就是物理上的叶节点,聚簇索引能提高多行检索的速度

非聚簇索引;索引顺序与数据物理排列顺序无关,叶节点仍然是索引节点,保留一个指针指向数据块,非聚簇索引对于单行的检索很快。

一个表最多只能有一个聚簇索引

3.索引结构:B树

4.索引目的:提高查询效率

5.索引使用时的考虑

?检索比率,一般适用于满足条件的数据量少的情况

?磁盘访问,内存访问,记录存储

6.索引与外键

a)如果没有外键和引用的话,一次修改会导致多次修改

b)大系统普遍取消外键的关联,取消参照完整性(降低在更新主表时候的过多引用)

是提高数据库性能的一个措施。如果有大量的外键关联,则做一次主表查询可能会

导致连接多个代码表

c)如果有外键的话,则需要对外键加上索引,但是不一定,如果该外键不经常使用就

不用添加索引,索引建立必须要有理由,无论是外键还是其他字段,并不是外键都

要添加索引

d)如果系统为外键自动添加索引,常常会导致同一字段属于多个索引,为每个外键建

立索引,会导致多余索引

7.系统生成键

1)系统生成键远好于寻找当前最大值并加1;好于用一个专用表保存下一个值“且枷锁更

新”

2)系统生成键是串行插入

3)如果插入并发性过高,在主键索引的创建操作上会发生严重的资源竞争

4)解决方案:反向键索引(逆向索引);哈希索引

5)系统生成键使用数字比使用字符串效率高

6)不使用系统生成键,可能会导致插入时主键取值不唯一,有利于主键的唯一性

3.2索引的优点,为什么使用索引?

1.什么时候使用B树索引:

仅当要通过索引访问表中很少一部分行

如果要处理表中多行,而且可以使用索引而不用表

2.索引的5种优点

?通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

?可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

?可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

?在使用分组和排序子句进行数据检索时,同样可以显着减少查询中分组和排序的时间。?通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

3.应该建立索引的条件

1)在经常需要搜索的列上,可以加快搜索的速度;

2)在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;

3)在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;

4)在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是

连续的;外键建索引由于连接加快还会减少死锁几率。

5)在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,

加快排序查询时间;

6)在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

3.3索引的局限性

1.为什么不为每一列建立索引

1)创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

2)索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,

如果要建立聚簇索引,那么需要的空间就会更大。

3)当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数

据的维护速度。

2.索引会带来的问题

1)索引有可能降低查询性能,带来磁盘空间的开销和处理开销等

2)太多的索引,让设计不稳定

3)对于大量数据检索,索引效率反而更低

4)创建索引回来带系统的维护和空间的开销

5)数据修改需求大于检索需求时,索引会降低性能

3.这些列不应该建立索引

1)对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很

少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。

2)对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,

例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度。

3)对于那些定义为text, image和bit数据类型的列不应该增加索引。这是因为,这些

列的数据量要么相当大,要么取值很少,不利于使用索引。

4)当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能

是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当修改性能远远大于检索性能时,不应该创建索引。

4.为什么没有使用我的索引?(ppt)(不使用索引的情况)

主要是因为:使用索引反而得不到正确结果;或使查询效率变得更慢

1)情况1:我们在使用B+树索引,而且谓词中没有使用索引的最前列

表T,T(X,Y)上有索引,做SELECT * FROM T WHERE Y=5

跳跃式索引(仅CBO)

2)情况2:使用SELECT COUNT(*) FROM T,而且T上有索引,但是优化器仍然全表扫

描,不带任何条件的count会引起全表扫描。

3)情况3:对于一个有索引的列作出函数查询

Select * from t where f(indexed_col) = value

4)情况4:隐形函数查询(主要是时间和类型变化这种隐形函数查询)

不等于符”<>”会限制索引,引起全表扫描,如果改成or就可以使用索引了。

is null查询条件也会屏蔽索引。

5)情况5:此时如果用了索引,实际反而会更慢

数据量本来不够大,oracle自己计算后认为不用索引更合算,则CBO不会选择用索引

6)情况6:没有正确的统计信息,造成CBO无法做出正确的选择;

如果查询优化器认为所有会使查询变慢,则不会使用索引

表分析就是收集表和索引的信息,生成的统计信息会存在user_tables这个视图。CBO根据这些信息决定SQL最佳的执行路径。

其他:

1. 对于两个公有字段的表,如果在做外表的表上对该字段建立索引,则该索引不会被使用因为外表的数据访问方式是全表扫描。

2. 查询使用了两个条件用or连接,如果条件1中的字段有索引而条件2中字段没有,则仍会全表扫描。

4.物理组织形式的优化?

提纲:IOT,堆文件,IOT和堆文件的差别;分区的特性

4.1堆文件vs索引组织表(IOT)

资料来自://hi.baidu/bystander1983/blog/item/adbebd11fabd7ef5c3ce7994.html

4.1.1堆文件

1.文件结构:堆文件就是一般的数据表,使用“heap”的结构,数据没有特定的顺序;

表是无组织的,只要有空间,数据可以被放在任何地方。堆文件的表和表主键上的

索引要分别留出空间

2.读取/访问方式:获取表中的数据是按命中率来得到的。没有明确的先后之分,在

进行全表扫描时,并不是先插入的数据就先获取。数据的存放是随机的,也可以根

据可用空闲的空间来决定。

4.1.2索引组织表IOT

1.数据读写的冲突问题(理解就好,来自PPT)

并发用户数很大的系统:紧凑的方式存储数据vs分散的方式存储

没有并发的修改密集型:数据查询要快vs数据更新要快

DBMS所处的基本单元(页、块)通常不能和谐

2.IOT((index organized table)索引组织表,oracle提供数据存储存储方式

当索引中增加额外的字段(一个或多个,它们本身与实际搜索条件无关,但包含查询所需的数据),能提高某个频繁运行的查询的速度。

IOT存储在索引结构中的表,所有字段纳入索引,不存在主键的空间开销,允许在主键索引中存储所有数据,这个表本身就是索引

3.存取方式/访问方式

数据的存放是严格规定的,记录的存放是排序的,查询效率非常高。数据插入以前其实就已经确定了其位置,所以不管插入的先后顺序,它在那个物理上的哪个位置与插入的先后顺序无关。这样在进行查询的时候就可以少访问很多blocks,但是插入的时候,速度就比普通的表要慢一些。

4.优点

●记录排序,查询效率惊人(最大的优点)

●提高缓冲区缓存效率,因为给定查询在缓存中需要的block更少。

●减少缓冲区缓存访问,提高可扩展性(每个缓冲区缓存获取都需要缓冲区缓存的多

个闩shuan,而闩是串行化设备,会限制应用的扩展能力)。

●获取数据的工作总量更少,因为获取数据更快。

●每个查询完成的物理I/O更少。

●节约磁盘空间的占用,主键没有空间开销,索引就是数据

5.缺点

插入效率也许低于堆文件;

对于经常更新的表不适合用IOT,因为维护索引的开销较大,何况是多字段索引

6.适用情况

●全索引表:完全由主键组成的表。这样的表如果采用堆组织表,则表本身完全

是多余的开销,因为所有的数据全部同样也保存在索引里,此时,堆表是没用

的。

●代码查找表。如果你只会通过一个主键来访问一个表,这个表就非常适合实现

为IOT.

●如果你想保证数据存储在某个位置上,或者希望数据以某种特定的顺序物理存

储,IOT就是一种合适的结构。

●高频度的一组关联数据查询:经常在一个主键或唯一键上使用between查询

4.2数据分区

1.分区(一种数据分组方式)

●特性:

分区能够提高并发性和并行性

从而增强系统架构的可伸缩性

●循环分区:不受数据影响的内部机制,分区定义为各个磁盘的存储区域,可以看做

是随意散布数据的机制,报纸带来的磁盘i/o操作的平衡

2.数据驱动分区

数据驱动分区:根据一个或多个字段中的值来定义分区,是一种手工分区,一般叫分区视图,即MYSQL中的merge table

3.分区的实现方式

分区是为了方便管理

哈希分区:把不同的列随机平均的分布到不同的物理环境,达到备份和恢复(写undo和redo 文件)效率高,降低错误回滚压力(为了管理)

范围分区:把字段的值分布到一个物理范围,这个范围是你在创建分区时指定的分区键决定的。这种分区方式是最为常用的

列表分区:把不同的列存到不同的物理环境,某列的值只有几个,容易按值进行分区

来自Note:数据越聚集,检索效率越高,最多的是按时间来进行滑动窗口的分区。

小数据量分区会降低并发的访问性能,大数据量——分区对并发的影响远小于查询带来的效率。

b) 滑动窗口:按照时间分区

i. 可以使得最常使用到的数据被聚集在一起,这样可以提高检索效率。绝大部分银行系统都是针对最近的数据加以访问

ii. 可以把最需要的数据(当月、当前的数据)放到最快的物理设备当中,通过物理的部署状况来提高查询效率

4.分区是双刃剑?优点和缺点

●问题:它们分别是如何提高查询效率的(考试可能考其中的一个)

表分区:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),利于高速检索,查询数据时,不至于每次都扫描整张表。(注:表空间:是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表,所以称作表空间。)

优点:

◆改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,高速检索。

◆增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;

◆维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;

◆均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能。

●分区缺点

◆分区表相关:已经存在的表没有方法可以直接转化为分区表。

◆除了堆文件之外的任何存储方法,都会带来复杂性

◆选错存储方式会带来大幅度的性能降低

◆大数据量的并发写入更新效率较低

◆从本质上来说降低了并发的个数,但是在数据量非常庞大的情况下,降低并发

所带来的缺陷远远小于分区所提高的性能

◆由于强制的数据聚合可能会导致其他数据的分散,所以不同的查询请求也可能

会形成性能上的矛盾

5.分区的最佳方法

●按什么字段进行分区要整体考虑,因为:更新分区键会引起移动数据,应该避免

这么做。

例如:实现服务队列,类型(T1..Tn),每一个类型三种状态(W|P|D)等待,处理,

结束状态

分区:按照请求类型分区,分成(T1.。Tn)个分区:如果有p1--Pn个进程来请求,

可以有N的并发,并发压力均匀的分散到不同的分区,并发进程数可控制的。

按照状态来分区:数据分成三个区域W,P,D,允许分区键的移动,记录可以跨分区移动,提高处理效率。将所有W状态的放到W分区,降低了轮询的开

销, 没有并发问题,不需要锁住某条记录,读W一条记录,就删掉,写入P区分。

没有资源并发冲突。读的进程和处理进程可以单独处理。W分区读取在等待状态

的数据非常快,不用检索。

但是分区键的移动,可以降低每个分区对同一个资源的竞争。

分区取决于:服务器进程的数量、轮询频率、数据的相对流量、各类型请求的处理时间、已完成请求的移除频率

●当数据分区键均匀分布时,分区表查询收益最大

5.如何处理树状结构

提纲:不同的数据库设计会导致不同的性能,数据库设计,哪些数据库存储方式;邻接模型物化路径;嵌套集合;差别

5.1一些概念

●关系型数据库无法直观地解决层次式问题,所以需要一种变换。关系型数据表中的

字段之间是平级且等价的,没有层次关系

●层次式结构(树状结构)不能直接放在关系型数据库中,需要变换一种形式。树

状结构中,节点之间有父子关系,存在兄弟节点,有根节点也有子节点

●简单树状结构要求:一个节点只有一个父节点;所有的节点类型都是一样的。如

果存在多个父节点,则为物料单BOM

●简单树状结构的例子:档案位置(楼->层->房间->橱->柜),找到档案是一个自顶

向下的遍历过程;风险分析(解决对冲基金的风险问题,一个基金可能包含多种基

金、股票,甚至有可能包含平级的基金。计算一个基金的风险,要计算这个基金的

组成部分的加权风险)

5.2三种树状结构模型

5.2.1邻接模型

1.邻接模型:id,parent_id(指向上级)

自顶向下查询,假设兄弟节点无序,主要用于单父节点。Connect by相当容易实现

2.特性:

a)插入、移动、删除节点快捷

b)只支持单父节点,不支持多父节点

c)Connect by 容易实现

d)递归实现,用oracle的with,表示出树的层次

e)删除子树较难

f)三种模型中性能最高,每秒返回的查询记录数最多,遍历一次,不是基于关系的处

理,性能最好

5.2.2物化路径

1.物化模型:PathID(1,1.1,1.2,1.1.1,1.

2.1,…),使用层次式的路径明确地标识

出来,一般用字符串存路径。每一个节点都存储在树中的位置信息,它允许节点之间有顺序(因为路径的标识有顺序),比如家族族谱

2.特性:

a)查询编写不困难,找出适当的记录并缩排显示算容易

b)计算由路径导出的层次不方便。

c)查询复杂度主要在路径字符串的处理

d)树的的深度要自己写函数计算,可以计算“.”的数目或者去掉“.”后字符串的长

e)子节点有顺序,但不应该暗示任何兄弟节点的排序

f)会产生重复记录的问题

g)物化路径path不应该该是KEY,即使他们有唯一性

h)所选择的编码方式不需要完全中立

i)三种模型中性能中等

5.2.3嵌套集合模型

1.嵌套集合模型:每一个节点都有一个左编号,都有一个右编号,left_num,right_num,

某节点后代的left_num和right_num都会在该节点的left_num和right_num范围内

2.特性

a)易理解,查找某一个节点的子节点很容易,但是对结果集排序不好操作,缩排无法

处理

b)适合深度优先遍历

c)动态计算深度困难,不要显示人造根节点,为了缩排显示要硬编码最大深度,缩排

处理会降低查询性能

d)数据元素之间不再是点和线的关系,而是以容纳和被容纳的方式

e)计算量大,对存储程序要求高。它是基于指针的解决方案。

f)数据更新,删除,插入开销很大,较少使用

g)三种模型中,查询的性能最低

5.2.4自底向上查询(看看就好)

自底向上查询,查询某一个子节点的所有祖先节点

i.关系操作可以合并相同的父节点,很容易地找到所有的祖先结果集,但是不能做到很好的层次排序

ii.MySQL有一个机制,可以解决字串索引的问题,substring index

iii.因为自底向上需要遍历多个节点,而自顶向下只需要遍历一个节点,所以物化路径的方式,自底向上的查询效率远远低于自顶向下的查询效率

iv.对于嵌套集合模型,自顶向下和自底向上的查询效率相同,它们的差异仅仅体现在自底向上查询的排序过程,这个排序比较耗时间

6.ER模型到数据库模式

提纲:一对一,部分参与;多对多,部分参与;一对多,部分参与;如何映射

自反映射;继承如何映射

6.1ER模型

1.自顶向下的数据库设计,识别entity和relationship

2.强实体:有自己的主键来标识自己的实体,学生和课程

弱实体:没有自己的主键来标识自己的实体,例如选课(studentid,courseid)作为自己的主键

但是如果选课添加了一个(id,studentid,courseid)就是强实体

3.关联关系:关联类:人公司合同类(雇佣的时间,工资,薪水),

关联类:约束是人和公司被实例化出来后,只可能有一个关联关系,只会有一个合同,则合同应该是弱实体

如果合同是强实体:人1 ----- *合同* (强实体)-------- 1公司(人和公司可以有多份id,有多个关联关系)

6.2关系映射

a)1:1,一对一全部参与可以放在一张表中,并且不会有空值,避免使用外键

b)1:1部分参与必须分在两张表中,如果放在一张表中则会出现很多空值。

?如果是一个全部参与,另一个部分参与的话,则将全部参与的实体的主键放在部分参与的表中作为外键(以此来描述他们的对应关系);

?如果两个都是部分参与的话,则参与更多的一方的主键放入参与更少的一方的表中作为外键,这样能产生较少的空值

c)1:N,在“多方”中添加“1”方的外键,如果“1”是强制参与,则外键不能为空,

如果是部分参与,则外键可以为空

d)N:N会产生一个关系表,将相关的两个实体的主键作为复合外键,作为关系实体的主键。

这样关系产生的实体是一个弱实体;也可以必要的话将关系变为强实体

e)递归关系:添加parent_id

f)多值属性:添加一个表,将多值属性分离出去,将该表的键,作为主表的外键

g)强制性地表达表中的完整性约束,no action,cascade,set null,set default,no check。

这些关键字说明了主键被删除后,外键应该怎么办

6.3继承关系---泛化/特化的问题

1)泛化generalization:通过识别entity之间的共性,最小化差异的过程(父类)

特化specialization:通过识别entity的独特特性,最大化差异的过程(子类)

2)数据库泛化的问题。

比如设置一个Staff实体为父实体,它有manager、salesPersonnel、secretary三个子实体,它们共享父实体中的属性。这种结构会产生以下的约束

A.参与约束,participation constraint,是不是所有的实例都存在于某一个子实体中,

分为强制参与(mandatory),部分参与(optional)

父实体只是一个抽象的概念。即是不是所有的员工都属于某一个职位,如果有一个员工不是子实体中的一员,则他为父实体的实例,这属于部分参与

B.disjoint constraint,互斥约束。一个实例是不是只属于一个子实体。

分为互斥(disjoint)和不互斥(nondisjoint)

如果一个人,他既是manager又是sales,则manager和sales这两个子实体是overlap 的,不是disjoint的

3)四种特化和泛化的种类

a)强制参与不互斥(mandatory and disjoint):父和子实体合并为一张表

则所有的父实体+子实体都使用一张表,虽然可能会因为某个实例不属于某一个子

实体而产生空值,但是产生的空值比较少

b)部分参与不互斥(optional and disjoint)

则将父实体做成单独的一张表,所有的子实体做成一张表

c)强制参与互斥(mandatory and nondisjoint)

则父实体产生一个主表,子实体分别分成一个表

d)部分参与互斥(optional and nondisjoint)

则父实体产生一个主表,子实体分别分成一个表。只要是disjoint的情况,都要

将子实体拆分成独立的子表

6.4反范式(五种)

逆范式/反范式(打破三范式的规则来生成冗余数据)

1)合并1:1关系

2)部分合并1:*关系,不复制外关键字而复制非key的常用的字段

●比如staff和department之间有一对多的关系,将department中常被连接查询的

字段复制并迁移到staff表中(比如department的名字是一般需要查询到的,则

将名字放入staff表中,这样查询staff所属部门的名字时就不需要连接两个表了),降低连接查询的数量,原来的department表还是留下

●使用“一致性控制”模式来保证两个表中冗余字段的一致性,这种控制放在UI界

面中进行,使用combinebox或者check box进行选择,而不是获取用户的输入

3)在1:*关系中复制FK(外关键字),减少join的表数量,将另一个表的主键复制变成

外键,可以看一下,示例

4)在*:*关系中复制属性

●比如多对多关系的orders、articles的关系,有一个关系表中保存了oid和aid。

如果要知道某个订单中某个产品的名字和价格的话,则需要三表连接

●在现今的电子商务系统中,article的某些属性会直接复制到关系表中,即关系表

中除了oid和aid之后,还包括price(price现在已经是缺省放入关系表的字段)、

article name、数量

5)引入重复组,将多值属性写在主表里:例如user表中多个电话号码的列,常用地址和

常用电话

6)为了避免查询和更新这两个不可调和的矛盾,可以将更新和查询放在两张表中,从工

作表提取出查询表,专门用于查询。这个方法演化成了数据仓库。这个方法只适用于查询的实时性要求不高的情况

计算机二级数据库设计基础题库

1.在关系模型中,每一个二维表称为一个,关系。 2.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是,一对多。 3.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的,属性。 4.在关系A(S,SN,D)和B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则D是A的,外键(码)。 5.在数据库管理系统提供的数据语言中,负责数据模式定义的是,数据定义语言。 6.在数据库管理系统提供的数据语言中,负责数据的查询,增加,删除和修改等操作的是,数据操纵语言。 7.一名雇员就职于一家公司,一个公司有多个雇员。则实体公司和实体雇员之间的联系是,1:m联系。 8.在数据系统中,用于对客观世界中复杂事物的结构及它们之间的联系进行描述的是,概念数据模型。 9.一个兴趣班可以招收多名学生,而一个学生可以参加多个兴趣班,则实体兴趣班和实体学生之间的联系是,m:n联系。 10.在数据库系统中,给出数据模型在计算机上物理结构表示的是,物理数据模型。 11.在数据库设计中,将E-R转换成关系数据模型的过程中,逻辑设计阶段。 12.设有关系表学生S(学号,姓名,性别,年龄,身份证号),每一个学生学号唯一,除属性学号外,也可以作为键的是,身份证号。 13.在数据库系统中,考虑数据库实现的数据模型是,逻辑数据模型。 14.在数据库设计中,描述数据间内在语义联系得到E-R图的过程属于,逻辑设计阶段。 15.关系数据模型,可以表示实体m:n联系。 16.将E-R图转换为关系模式是,E-R图中的实体和联系都可以表示为,关系。 17.在数据管理的三个发展阶段中,数据肥肉共享性好且冗余度最小的是,数据库系统阶段。 18.在进行数据库逻辑设计时,可将E-R图中的属性表示为关系模式的,属性。 19.优化数据库系统查询性能的索引设计属于数据库设计的,物理设计。 20.在数据库中,数据模型包括数据结构,数据操作和,数据约束。 21.一个运动员有多个队员,一个队员仅属于一个运动队,一个队一般都有一个教练,则实体运动队和队员的联系是,一对多。 22.在数据库系统中,数据模型包括概念模型,逻辑模型和,物理模型。 23.若实体A和B是一对一的联系,实体B和C是多对一的联系,则实体A和C的联系是,多对一。会 24.在数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的,逻辑独立性。 25.若实体A和B是一对多的联系,实体B和C是一对多的联系,则实体A和C的联系是,一对多。 26.逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是,关系模型。 27.运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个项目,则实体项目和运动员之间的联系是,多对多。 28.数据库中对概念模式内容进行说明的语言是,数据定义语言。 29.某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同仓库中,则实体仓库和实体零件间的联系是,多对多。 30.数据看系统中完后才能查询操作使用的语言是,数据操纵语言。

计算机数据库应用基础全部习题参考答案

第一章习题参考答案 1.选择题 (1)数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是( A )。 A.DBS包括DB和DBMS B.DBMS包括DB和DBS C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS (2)设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是(B)。 A.m:n B.1:m C.m:k D.1:1 (3)对于“关系”的描述,正确的是( D )。 A.同一个关系中允许有完全相同的元组 B.同一个关系中元组必须按关键字升序存放 C.在一个关系中必须将关键字作为该关系的第一个属性 D.同一个关系中不能出现相同的属性名 (4)E-R图用于描述数据库的( A )。 A.概念模型B.数据模型 C.存储模型D.逻辑模型 (5)在关系模型中,一个关键字( C )。 A.可以由多个任意属性组成 B.至多由一个属性组成 C.可以由一个或者多个其值能够唯一表示该关系模式中任何元组的属性组成 D.可以由一个或者多个任意属性组成 (6)现有如下关系: 患者(患者编号,患者姓名,性别,出生日期,单位) 医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外关键字是( A )。 A.患者编号B.患者姓名 C.患者编号和患者姓名D.医生编号和患者编号 (7)一个关系只有一个( D )。 A.候选关键字B.外部关键字 C.组合关键字D.主关键字 (8)下列标识符可以作为局部变量使用的是( C )。 A.[@Myvar] B.My var C.@Myvar D.@My var (9)Transact-SQL支持的一种程序结构语句是( A )。 A.BEGIN…E ND B.IF…T HEN…ELSE C.DO CASE D.DO WHILE (10)字符串常量使用( A )作为定界符。 A.单引号B.双引号 C.方括号D.花括号 2.填空题 (1)数据库是在计算机系统中按照一定的方式组织、存储和应用的(数据集合)。支持数据库各种操作的软件系统叫(数据库管理系统)。由计算机、操作系统、DBMS、数据库、应用程序及有关人员等组成的一个整体叫(数据库系统)。

计算机二级《mysql数据库程序设计》知识点总结

MySQL知识点总结 .数据操作:检索、排序、过滤、分组、汇总、计算、联接、子查询与组合查询 .表操作:表的创建、修改、删除和重命名、表数据的插入、更新和删除 .索引(含主、外键)、视图 .难度编程:存储过程与存储函数、触发器与事件、PHP .数据库管理:事务处理、用户与权限、备份与还原、数据库维护 1.检索数据:select…from… Select [distinct] prod_id,prod_name from products [limit 4,5]; 2.检索排序:order by… Select * from products order by prod_id [asc|desc],prod_name [asc|desc]; 3.过滤数据:where 字句 = <> != > >= < <= between (1)普通where 字句 Select prod_id,prod_name from products where prod_name=’liyang’; Select prod_id,prod_name from products where prod_id between 10 and 50; Select prod_id,prod_name from products where prod_name is [not] null; (2)组合where字句:使用AND和OR连接多个条件表达式,且AND次序优于OR; (3)IN 与NOT操作符 Select prod_id,prod_name from products where prod_id [not] in(1,2,3) |prod_name in(’zhangsan’,’lisi’,’wangwu’); (4)LIKE操作符与通配符:“%”与“_” Select prod_id,prod_name from products where prod_name like ’%liu%’; Select prod_id,prod_name from products where prod_name like ’_u%’; 找出u位于名字的第二个位置的prod_id和prod_name。 (5)正则表达式 4. 计算字段 (1)拼接字段:concat(…,…) Select concat(姓氏,名字) as from orders; Select concat(vend_name,’(’,vend_country,’)’) from vendors; (2)算术运算 Select prod_name,prod_price,prod_num,prod_price*prod_num as prod_money from products; 4.使用数据处理函数:文本处理函数、日期和时间处理函数、数值处理函数。 5.汇总数据:聚集函数SUM() AVG() COUNT() MAX() MIN() Select avg(distinct prod_price) from products; Select avg(prod_price) 均价,max(prod_price) 最高价from products; 6.分组数据:group by…创建分组、过滤分组、分组排序 Select count(prod_id),prod_id from products where prod_id>1000 group by prod_id having count(prod_id)>2 order by prod_id;求出prod_id大于1000且产品数量大于2的产品数量,并按prod_id排序,注意分组语句中对象要前后一致,如下划线部分。 7.使用子查询:进行过滤select…where…in(select…where…in(select…))、作为计算字段使用 子查询。

计算机数据库技术

将SQL server数据库导入到Mysql数据库中 第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中 的ntext,image等数据类型的数据无法直接写入到mysql数据库中,据说只要稍加改动就可以,可惜偶这只菜鸟还没想到如何改动,其次,因为偶在mysql中的数据库设计中将时间都设成int型(保存的是时间戳),所以在数据导过来后,就会出现冲突,再次,这种方法生成的mysql数据表的字段类型都不很合适,所以此种方法我觉得不能提倡。 第二种是利用php或asp脚本来实现数据的导入功能,这种方法需要编写程序,但灵活性大,操作也不是那么困难,一切都尽在你的掌握之中,现简单介绍一下该方法 前提条件是你的mysql环境已经搭建好了,先建好目标数据库,再将所有的表结构用sql语句生成,现在万事具备,只缺数据了。 可以通过下面的php脚本来实现sql server中mydb数据库的user表中数据向mysql中mydb 数据库导入 < $cnx = odbc_connect('web', 'admin', '123456');指的是记录集中的第i个域,你可以有所选择地进行选取,fieldi得到对应域的值,然后你可以对fieldi进行操作 $field2 = odbc_result( $cur, 2 ); $field3 = odbc_result( $cur, 3 ); $field4 = odbc_result( $cur, 4 ); $field5 = odbc_result( $cur, 5 ); $field6 = odbc_result( $cur, 6 ); $field5 = timetoint($field5); &ext Dir="d:attach" If (Dir & fName) Then Dir & fName If fName<>"" AND NOT (Dir & fName) Then Set strm1=("") =1 'Binary filevalue Dir & fName,2 Set strm1=Nothing end if makeattach=fName end if end function 这个函数有3个输入参数,第一个是文件的contentType,第二个是文件的二进制数值,第三个是个可以区别文件名的变量,先根据contentType确定所存文件的后缀名,然后就是将二进制数值保存成指定文件名的文件,并将文件名作为输出参数返回,将返回的参数作为数据写到mysql的数据库中保存。

全国计算机等级考试二级MS+Office高级应用真题精彩试题库_

全国计算机等级考试二级MS Office高级应用真题题库 2 2016年3月 (总分100, 做题时间120分钟) 一、选择题(每小题1分。共20分) 1. 英文缩写CAM的中文意思是()。 A 计算机辅助设计 B 计算机辅助制造 C 计算机辅助教学 D 计算机辅助管理 该问题分值: 1 答案:B CAM是计算机辅助制造。 2. 若网络的各个节点通过中继器连接成一个闭合环路,则称这种拓扑结构称为()。 A 总线型拓扑 B 星型拓扑 C 树型拓扑 D 环型拓扑

该问题分值: 1 答案:D 环型拓扑结构是指各个节点通过中继器连接到一个闭合的环路上,环中的数据沿着一个方向传输,由目的节点接收。 3. 有三个关系R、S和T如下: 则由关系R和s得到关系T的操作是()。 A 自然连接 B 交 C 投影 D 并 该问题分值: 1 答案:A 关系R和关系S有公共域,关系 T是通过公共域的等值进行连接的结果, 符合自然连接,选A。 4. 对下列二叉树进行前序遍历的结果是()。

A DYBEAFCZX B YDEBFZXCA C ABDYECFXZ D ABCDEFXYZ 该问题分值: 1 答案:C 前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先 访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作。否则:①访问根结点;②前序遍历左子树;③前序遍历右子树,C正确。 5. 字长是CPU的主要技术性能指标之一,它表示的是()。 A CPU的计算结果的有效数字长度 B CPU一次能处理二进制数据的位数 C CPU能表示的最大的有效数字位数 D CPU能表示的十进制整数的位数

福建专升本计算机数据库填空题(含答案)考生必背

《专升本数据库》填空题练习 一.数据库概述 1.数据独立性有两个方面的含义,即____和____,当数据库物理结构(包括数据的组织和存储、存取方法、外部存储设备等)发生变化时,不会影响到逻辑结构,进而不必改动程序,这种独立性称之为____;当数据库全局逻辑发生变化时,用户也不需要改动程序,就像数据库没有发生变化一样,这种独立性称之为____。物理独立性逻辑独立性 2.数据管理技术发展经历的三个阶段分别是____、____和____。人工管理阶段文件系统阶段数据库系统阶段 3.数据和信息两个概念既有联系,又有区别。数据是信息的____,信息是数据的____。载体内涵 4.文件系统阶段的数据管理有四个方面的缺陷,它们分别是____;____;____和____。 数据冗余度大数据不一致性数据联系弱数据独立性差 5.数据库技术的主要特点是____、____、____、____和____。数据共享度高数据的冗余度低数据的独立性高数据集中控制数据一致性和可维护性 6.数据库系统最关键的部分是____,它是用户和数据库之间的接口。数据库管理系统 7.SPARC三级结构对数据库的组织从内到外分三个层次描述,分别称之为____,____,____。 其中对数据库整体逻辑描述,不涉及物理存储的层次是___;具体描述数据如何存储在存储介质上的模式称为____;概念模式的子集,是用户眼中的数据库,该模式称为___。三个模式之间的关系是: 模式是内模式的____表示;内模式是模式的____实现;外模式则是模式的____。

内模式外模式内模式外模式逻辑物理部分抽取 8.三个模式之间存在两种映射,其中将用户数据库与概念数据库联系起来的映射是______;将概念数据库与物理数据库联系起来的映射是______。采用映射技术的好处是____、____、___、____。 外模式/模式/内模式保证了数据的独立性保证了数据共享方便了用户使用数据库有利于数据的安全和保密 9.用户能够很方便地使用数据库,并能够最终将用户对数据库的逻辑操作导向对数据库的物理操作是通过____来实现的。 DBMS 10.数据库用户有两类,一类是____,另一类是____。 11.在数据库系统中,应用程序只有通过____才能访问数据库中的数据。 DBMS 12.在DBMS中,定义模式、外模式和内模式,并将各种模式翻译成相应的目标代码,这是DBMS的__ __功能。 数据库定义 13.DBMS的DML实现对数据库的操作,有四种类型的操作,分别是_____、_____、_____和_____。 增加、删除、修改、查询 14.在数据库中,有两种类型的程序设计语言。一种是____,另一种是____。其中,FoxPro是一种____语言。 宿主型自主型

计算机二级mysql数据库模拟试题及答案汇总

计算机二级mysql数据库模拟试题及答案汇总

计算机二级mysql数据库模拟试题及答案汇总 单选题,共60题,每题1分,答错或未答均扣1分.满分60分 1)SQLServer2005是哪个公司开发出来的? A.SyBase B.Sun C.AstonTate D.Microsoft 2)微软的access数据库是一种_______数据库 A.低端的 B.中端的 C.高端的 D.无法确定 3) MSSQLServer2005Enterprise Edition是哪一种版本? A.精简版 B.标准版 C.企业版 D.工作组版 4) MSSQLServer2005EnterpriseEdition的安装条件,对内存的最低要求是:__MB? A128 B256 C512 D1024 5)MSSQLServer2005EnterpriseEdition的安装条件,对内存的建议要求是:__MB? A.256及更高 B.512及更高 C.1024或更高 D.没有要求

6) 以下关于数据安装的说法正确的是: A.安装SQLServer2005 EnterpriseEditionwindows的98系统也可以 B.安装SQLServer2005 EnterpriseEdition 不需要安装IIS C.安装SQLServer2005 EnterpriseEdition 需要IE6.0sp1以上的版本 D.安装SQLServer2005 EnterpriseEdition 系统不会检查安装要求 7)安装SQLServer2005 EnterpriseEdition 过程中,系统会进行__项系统配置检查? A11 B12 C13 D14 8) 安装SQLServer2005 EnterpriseEdition 时,会有几种身份验证模式? A.1 B.2 C.3 D.根本没有身份验证 9) 安装SQLServer2005 EnterpriseEdition 成功以后,启动数据库应该点击哪个子菜单选项? A.managementstudio B.配置工具 C.分析服务 D.性能工具

数据库的设计与实现

《数据库原理》课程设计论文 院(系、部)名称: 专业名称: 学生姓名: 学生学号: 指导教师:

系统简介 开发目的和任务 客户信息是个人,机关,企事业等进行业务联系所必需而频繁使用的信息资料,在许多大型应用系统中都有客户信息管理工具,它是企业单位现代化管理的一个重要的组成部分。本系统的任务是制作一个简单,实用的通讯薄,既可以单独使用,也可以作为其他大型应用系统的一个组成部分来使用。 1.系统功能 (1) 总体功能要求 本系统将介绍如何让在Visual FoxPro 6.0开发环境下快速开发数据库和数据表的方法,并在此基础上建立一个表单,通过表单的运行,可以初步体会到什么是程序,什么是数据库应用程序,数据库应用程序是如何进行编辑,修改,增加,删除,查询和退出的. (2) 客户信息管理系统的基本功能 1)登录:本功能主要是为了防止非操作人员对系统随意更改. 2)主界面:为用户提供了一个友好的界面,是维护,查询模块间相互切换的桥梁. 3)维护:本功能模块主要实现数据的浏览,添加,删除,退出等功能. 4)查询:本功能模块主要实现按姓名,职务,出生日期等查询功能. 2. 系统的特点 (1) 数据库设计的考虑 本系统的信息两不太大,因此只涉及一个库,一个表.库名为通讯

录.DBC表名为通讯录.DBF. (2) 提高系统集成化的考虑 为了是系统短小精悍,并最大限度的提高系统设计的效率,在设计中较多的应用了Visual FoxPro 提供的“选项卡”控件和容器控件.除此之外,还采用了页框控件,其目的是在一个窗口上尽可能多的扩展应用空间,容纳最多的信息量. (3)提高可操作性的考虑 由于使用本系统的人员不一定熟悉计算机基本操作,因此要求系统的操作应尽量简单,本系统在设计时已考虑到这一点,尽可能少的使用键盘的地方,要保证用起来“顺手”. 3. 开发工具与运行环境 (1) 开发工具. VFP6.0 为集成开发环境提供了项目管理器,设计器,生成器和向导机制等,使其成为强有力的数据库开发工具. 1)项目管理器. 2)设计器. 3)生成器. 4)向导. (2)运行环境 硬件环境: PⅡ350MHz以上处理器,16MB以上内存,一般需240MB 硬盘空间. 软件环境:Windows 95及以上的操作系统支持.

大学 计算机数据库练习题

1. 一、选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是(A )阶段。 A)数据库系统B)文件系统C)人工管理D)数据项管理 2.在数据库中存储的是(C )。 A)数据B)数据模型C)数据以及数据之间的联系D)信息 3.数据库中,数据的物理独立性是指(A )。 A)数据库与数据库管理系统的相互独立B)用户程序与DBMS的相互独立 C)用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D)应用程序与数据库中数据的逻辑结构相互独立 4.关系模型中,一个关键字(C )。 A)可由多个任意属性组成B)至多由一个属性组成C)可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D)以上都不是 5.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的(D )。 A)元组B)行C)记录D)属性 6.SQL语言具有(B )的功能。 A)关系规范化、数据操纵、数据控制B)数据定义、数据操纵、数据控制 C)数据定义、关系规范化、数据控制D)数据定义、关系规范化、数据操纵 7.下列SQL语句中,修改表结构的语句是(A )。 A)ALTER B)CREATE C)UPDATE D)INSERT 8、数据库、数据库系统和数据库管理系统之间的关系是 B A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.3者没有明显的包含关系 9、关系模型允许定义3类数据约束,下列不属于数据约束的是 C 。 A.实体完整性约束B.参照完整性约束C.域完整性约束D.用户自定义的完整性约束10. 关系规范化中的插入操作异常是指(D )。 A)不该删除的数据被删除B)不该插入的数据被插入 C)应该删除的数据未被删除D)应该插入的数据未被插入 11.规范化过程主要为克服数据逻辑结构中的插入异常,删除异常以及(C )的缺陷。A)数据的不一致性B)结构不合理C)冗余度大D)数据丢失 12. 侯选关键字中的属性称为(B )。 A)非主属性B)主属性C)复合属性D)关键属性 13. 设有关系R(S,D,M),F={S?D,D?M}。则关系R至多满足(B )。 A)1NF B)2NF C)3NF D)BCNF 14. 关系模式中满足2NF的模式(B )。 A)可能是1NF B)必定是1NF C)必定是3NF D)必定是BCNF 15、惟一索引的"惟一性"是指 C 。 A.字段值的"惟一"B.表达式的"惟一"C.索引项的"惟一"D.列属性的"惟一" 16、数据库管理系统是 B A.系统软件B.应用软C.教学软件D.工具软件 17、关系型数据库采用 B 来表示实体和实体间的联系。 A.属性B.二维表C.字段D.记录

计算机二级ms office题库及答案

1、程序流程图中带有箭头的线段表示的是( C )。 A. 图元关系 B. 数据流 C. 控制流 D. 调用关系 2、结构化程序设计的基本原则不包括( A )。 A. 多态性 B. 自顶向下 C. 模块化 D. 逐步求精 3、软件设计中模块划分应遵循的准则是( B )。 A. 低内聚低耦合 B. 高内聚低耦合 C. 低内聚高耦合 D. 高内聚高耦合 4、在软件开发中,需求分析阶段产生的主要文档是( B )。 A. 可行性分析报告 B. 软件需求规格说明书 C. 概要设计说明书 D. 集成测试计划 5、算法的有穷性是指( A )。 A. 算法程序的运行时间是有限的 B. 算法程序所处理的数据量是有限的 C. 算法程序的长度是有限的 D. 算法只能被有限的用户使用 6、对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( D )。 A. 快速排序 B. 冒泡排序 C. 直接插入排序 D. 堆排序 7、下列关于栈的叙述正确的是( B )。 A. 栈按“先进先出”组织数据 B. 栈按“先进后出”组织数据 C. 只能在栈底插入数据 D. 不能删除数据 8、在数据库设计中,将E-R图转换成关系数据模型的过程属于( C )。 A. 需求分析阶段 B. 概念设计阶段 C. 逻辑设计阶段 D. 物理设计阶段 9、有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为( D )。 A. 并 B. 自然连接 C. 笛卡尔积 D. 交 10、设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( C )。 A. 课号,成绩 B. 学号,成绩 C. 学号,课号 D. 学号,姓名,成绩 11、世界上公认的第一台电子计算机诞生在( B )。 A. 中国 B. 美国 C. 英国 D. 日本 12、下列关于ASCII编码的叙述中,正确的是( B )。 A. 一个字符的标准ASCII码占一个字节,其最高二进制位总为1 B. 所有大写英文字母的ASCII码值都小于小写英文字母'a'的ASCII码值 C. 所有大写英文字母的ASCII码值都大于小写英文字母'a'的ASCII码值 D. 标准ASCII码表有256个不同的字符编码 13、CPU主要技术性能指标有( A )。 A. 字长、主频和运算速度 B. 可靠性和精度 C. 耗电量和效率 D. 冷却效率 14、计算机系统软件中,最基本、最核心的软件是( A )。 A. 操作系统 B. 数据库管理系统 C. 程序语言处理系统 D. 系统维护工具 15、下列关于计算机病毒的叙述中,正确的是( C )。

大学计算机数据库应用期末考试复习资料及试卷(含答案)

考试科目:数据库应用 一、选择题 1.以下有关对数据的解释错误的是:(C)。 A、数据是信息的载体 B、数据是信息的表现形式 C、数据是0~9组成的符号序列 D、数据与信息在概念上是有区别的 2.以下模式不是数据库系统体系结构中包含的模式的是:(C)。 A、模式 B、外模式 C、优化模式 D、内模式 3.能够实现对数据库中数据操纵的软件是:(D)。 A、操作系统 B、解释系统 C、编译系统 D、数据库管理系统 4.数据库系统与文件系统最根本的区别是:(D)。 A、文件系统只能管理程序文件,而数据库系统可以管理各种类型文件 B、数据库系统复杂,而文件系统简单 C、文件系统管理的数据量少,而数据库系统可以管理庞大数据量 D、文件系统不能解决数据冗余和数据的独立性,而数据库系统能 5.数据管理技术的发展阶段不包括:(A)。 A、操作系统管理阶段 B、人工管理阶段 C、文件系统管理阶段 D、数据库系统管理阶段 6.以下不属于数据库设计步骤的是:(B)。 A、概念结构设计 B、签约 C、逻辑结构设计 D、需求分析 7.以下方法不能退出Access的是(C)。 A、打开“文件”菜单,选择“退出”命令 B、打开“文件”菜单,按X键 C、按ESC键 D、按Alt+F4键 8.不是Access数据库对象的是(C)。 A、表 B、查询 C、视图 D、模块 9.图形文件的字段类型是(B)。 A、备注型 B、OLE对象 C、日期类型 D、文本类型 10.创建表的方法(D)。 A、数据表视图 B、设计视图 C、表向导 D、以上三种都可以 11.设置数据库的用户密码时,应该用什么方式打开数据库:(C)。 A、只读 B、独占只读 C、独占 D、共享 12.数据管理技术发展经过了三个阶段,以下不是这三个阶段的是:(A) A、智能阶段 B、人工管理 C、文件系统 D、数据库系统 13.数据库系统的组成可以分为几类,除了硬件环境、软件环境、数据库,还包括哪个:(C) A、操作系统 B、CPU C、人员 D、物理数据库 14.常见的数据模型有3种,它们是:(B) A、网状、关系和语义 B、层次、关系和网状 C、环状、层次和关系 D、字段名、字段类型和记录

2016年计算机二级考试MSOffice题库

2016年计算机二级考试MSOffice题库

2016年计算机二级考试MSOffice题库 本文为大家精心准备的是关于计算机二级的ms选择题库,希望能帮助各位正在备考计算机考试的同学们! 1.下面叙述正确的是______。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。数据结构和算法是计算机科学的两个重要支柱。它们是一个不可分割的整体。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤以后结束。 2. 在一棵二叉树上第5层的结点数最多是______。2016年计算机二级考试MSOffice题库2016年计算机二级考试MSOffice题库。 A、8

B、16 C、32 D、15 3.在软件开发中,下面任务不属于设计阶段的是______。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 4. 在软件开发中,下面任务不属于设计阶段的是______。 A、数据结构设计 B、给出系统模块结构

C、定义模块算法 D、定义需求并建立系统模型 5. 下面对对象概念描述错误的是______。 A、任何对象都必须有继承性 B、对象是属性和方法的封装体 C、对象间的通讯靠消息传递 D、操作是对象的动态性属性 6.下面不属于软件工程的3个要素的是______。 A、工具 B、过程 C、方法

数据库学习入门数据库基础入门

数据库学习入门数据库基础入门 数据库学习入门数据库基础入门 ------------------- 数据库的作用: ------------------- 数据是数据库中存储的基本对象 包括:文字、图形、图像、声音 有组织的、可共享的数据集合 ------------------ 常用的DBMS ------------------ MYSQL(oracle、Sun) oracle(oracle) SQL-Server(Microsoft) DB2(IBM) ----------------------------------- ..如何学习数据库管理系统 ------------------------------------ .程序员 1、标准语言:SQL(结构化查询语言) SQL是用于访问数据库的最常用标准化语言,他是由ANSI/ISO SQL 标准定义的 SQL 的分类

DML:数据操作语言(用于检索或者修改数据) DDL:数据定义语言(用于定义数据的结构,比如创建、修改或者删除数据库的对象) DCL:数据控制语言(用于定义数据库用户的权限) DML: select:用于检索数据 insert:用于增加数据到数据库 update:用于从数据库中修改现存的数据 delete:用于从数据库中删除数据 DDL: create table //创建表 alter //修改表 drop table //删除表 create index //创建索引 drop index //删除索引 create view //创建视图 drop view //删除视图 DCL: grant //授权 revoke //撤销授权 set //设置 2、不同数据库的独特管理方式 .DBA(Database Administrator) 1、标准语言:SQL(结构化查询语言)

计算机数据库管理技术分析

关于计算机数据库的管理技术分析 摘要:数据库安全包含两层含义:第一层是指系统运行安全,系统运行安全通常受到的威胁如下,一些网 络不法分子通过网络,局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法, 并关闭cpu风扇,使cpu过热烧坏等破坏性活动; 第二层是指系统信息安全,系统安全通常受到的威胁 如下,黑客对数据库入侵,并盗取想要的资料。 关键字:数据库 管理 技术 数据库系统在管理数据和数据传输中起着至关重要的作用,数据库系统在实际应用中存在来自各方面的安全风险,由安全风险最终引起安全问题。 一、数据库安全的含义 数据库安全包含两层含义:第一层是指系统运行安全,系统运行安全通常受到的威胁如下,一些网络不法分子通过网络,局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法,并关闭cpu风扇,使cpu过热烧坏等破坏性活动; 第二层是指系统信息安全,系统安全通常受到的威胁如下,黑客对数据库入侵,并盗取想要的资料。 下面从晰面讲述数据库系统的安全风险。 二、数据库安全的特征 数据库系统的安全特性主要是针对数据而言的,包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等几个方面。下面分别对其进行介绍 1、数据独立性 数据独立性包括物理独立性和逻辑独立性两个方面。物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的;逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。 2、数据安全性 操作系统中的对象一般情况下是文件,而数据库支持的应用要求更

为精细。通常比较完整的数据库对数据安全性采取以下措施: (1)将数据库中需要保护的部分与其他部分相隔。 (2)采用授权规则,如账户、口令和权限控制等访问控制方法。 (3)对数据进行加密后存储于数据库。 3、数据完整性 数据完整性包括数据的正确性、有效性和一致性。正确性是指数据的输入值与数据表对应域的类型一样;有效性是指数据库中的理论数值满足现实应用中对该数值段的约束;一致性是指不同用户使用的同一数据应该是一样的。保证数据的完整性,需要防止合法用户使用数据库时向数据库中加入不合语义的数据 4、并发控制 如果数据库应用要实现多用户共享数据,就可能在同一时刻多个用户要存取数据,这种事件叫做并发事件。当一个用户取出数据进行修改,在修改存入数据库之前如有其它用户再取此数据,那么读出的数据就是不正确的。这时就需要对这种并发操作施行控制,排除和避免这种错误的发生,保证数据的正确性。 5、故障恢复 由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。 三、计算机安全问题的具体原因的分析 1、操作方面的问题来自操作系统的风险主要集中在病毒、后门、数据库系统和操作系统的关联性方面。 首先在病毒方面,操作系统中可能存在的特洛伊木马程序对数据库系统构成极大的威胁,数据库管理员尤其需要注意木马程序带给系统人驻程序所带来的威胁。一旦特洛伊木马程序修改了人驻程序的密码,并

全国计算机二级MYSQL考试题库(含答案)

1)SQLServer2005是哪个公司开发出来的? D A SyBase B Sun C AstonTate D Microsoft 2)微软的access数据库是一种_______数据库 A A 低端的 B中端的 C 高端的 D 无法确定 3) MSSQLServer2005Enterprise Edition是哪一种版本? C A 精简版 B 标准版 C 企业版 D 工作组版

4) MSSQLServer2005EnterpriseEdition的安装条件,对内存的最低要求 是:__MB? C A128 B256 C512 D1024 5)MSSQLServer2005EnterpriseEdition的安装条件,对内存的建议要求 是:__MB? C A 256及更高 B 512及更高 C 1024或更高 D 没有要求 6) 以下关于数据安装的说法正确的是: C A 安装SQLServer2005 EnterpriseEditionwindows的98系统也可以 B安装SQLServer2005 EnterpriseEdition不需要安装IIS C安装SQLServer2005 EnterpriseEdition需要IE6.0sp1以上的版本 D 安装SQLServer2005 EnterpriseEdition系统不会检查安装要求

7)安装SQLServer2005 EnterpriseEdition 过程中,系统会进行__项系统配置检查? D A11 B12 C13 D14 8) 安装SQLServer2005 EnterpriseEdition时,会有几种身份验证模式? B A 1 B 2 C 3 D 根本没有身份验证 9) 安装SQLServer2005 EnterpriseEdition成功以后,启动数据库应该点击哪个子菜单选项? A A managementstudio B 配置工具 C 分析服务 D 性能工具

计算机技术数据库基础题库

一、名词解释 1 、数据:截荷信息的物理符号用于描述事物,传递和表示信息。 2 、信息:是人们消化和理解了的数据,即对数据进行有效处理后的结果。 3 、数据处理:将数据转换成信息的过程。 4 、信息系统:为了某些明确的而建立的,由人员、设备、程序和数据集合构成的统一整体,它是以数据库技术为基础实现的。 5 、超文本技术:是信息结点、链和网三个要素的组合,从而构成复杂的有向图式的信息组织结构,向用户提供了非常直观和灵活的人机交互环境,它是综合表达信息的强有力手段。 6 、数据的物理独立性:是指当数据的存储结构改变时,通过系统内部的自动映像或转换功能,保持了数据的逻辑结构不变,从而使应用程序不需要修改。 7 、数据的逻辑独立性:是指当数据的整体逻辑结构改变时,通过系统内部的自动映像或转换功能,保持了数据的局部逻辑结构不变,从而使应用程序不需要改变。

8 、数据完整性:是对数据的正确性和一致性的测度。完整性就是正确性、准确性的有效性,完整性控制包括域完整性控制和关联完整性控制两个方面。 9 、概念世界:是客观世界在人们头脑中的反映,是对客观事物及其联系的一种抽像描述。 10 、实体:是指客观存在并且可以相互区别的事物。 11 、实体属性:描述实体的特性。 12 、实体关键词:是指能够唯一标识实体集中每个实体的属性或属性组合。 13 、实体之间的联系:是指一个实体型中的实体集合与另一个实体型中的实体集合之间的联系。 14 、 E-R 模型:是描述概念世界、建立概念模型的实用工具,其中实体用矩形框表示,框内注明实体名称,属性用椭圆形框表示,并用连线同对应实体连接起来,实休之间的联系用菱形框表示,框内注明联系名称,并用连线将该框与有关实体框连接起来,并在连线上注明联系类型。

2019年计算机等级考试二级MySQL数据库程序设计模拟试题

2019年计算机等级考试二级MySQL数据库程序设计模拟试题 (总分:100.00,做题时间:120分钟) 一、单项选择题(总题数:100,分数:100.00) 1.结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法。(分数:1.00) A.对象 B.数据结构 C.数据流√ D.目标 解析: 2.对线性表进行二分法检索,其前提条件是()。(分数:1.00) A.线性表以顺序方式存储,并按关键码值排好序√ B.线性表以顺序方式存储,并按关键码的检索频率排好序 C.线性表以链式方式存储,并按关键码值排好序 D.线性表以链式方式存储,并按关键码的检索频率排好序 解析: 3.结构化程序设计的3种结构是()。(分数:1.00) A.顺序结构、选择结构、转移结构 B.分支结构、等价结构、循环结构 C.多分支结构、赋值结构、等价结构 D.顺序结构、选择结构、循环结构√ 解析: 4.已知数据表A中每个元素距其最终位置不远,为了节省时间,应采用的算法是()。(分数:1.00) A.堆排序 B.直接插入排序√ C.快速排序 D.直接选择排序 解析: 5.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是()。(分数:1.00) A.数据库系统√ B.文件系统

C.人工管理 D.数据项管理 解析: 6.栈和队列的共同特点是()。(分数:1.00) A.都是先进先出 B.都是先进后出 C.只允许在端点处插入和删除元素√ D.没有共同点 解析: 7.链表不具有的特点是()。(分数:1.00) A.不必事先估计存储空间 B.可随机访问任意元素√ C.插入、删除不需要移动元素 D.所需空间与线性表长度成正比 解析: 8.在数据库设计中,将E—R图转换为关系模式的过程属于()。(分数:1.00) A.需求分析阶段 B.逻辑设计阶段√ C.概念设计阶段 D.物理设计阶段 解析: 9.C语言可执行程序的开始执行点是()。(分数:1.00) A.包含文件中的第一个函数 B.程序中第一个函数 C.程序中的main()函数√ D.程序中第一条语句 解析: 10.在C语言程序中可用做用户标识符的是()。(分数:1.00) A.void 123 BBN B.aa _abc cas √ C.as+b3 -123 If D.6f Do SIG 解析:

大学计算机基础--数据库基础知识

第1章数据库基础知识 1 选择题 1、存储在计算机内有结构的相关数据的集合是()。 (A)数据库(B)数据库系统(C)数据库管理系统(D)数据结构 2、下面有关对数据的理解,其中说法有误的是()。 (A)数据是指存储在某一种媒体上,能够被识别的物理符号 (B)包括描述事物特性的数据内容 (C)包括存储在某一种媒体上的数据形式 (D)数据形式是单一化的 3、下列关于数据库系统的叙述中,正确的是()。 (A)表的字段之间和记录之间都存在联系 (B)表的字段之间和记录之间都不存在联系 (C)表的字段之间不存在联系,而记录之间存在联系 (D)表中只有字段之间存在联系 4、下列关于数据库系统的叙述中,正确的是()。 (A)数据库系统只是比文件系统管理的数据更多 (B)数据库系统中数据的一致性是指数据类型的一致 (C)数据库系统避免了数据冗余 (D)数据库系统减少了数据冗余 5、数据库系统与文件系统的主要区别是()。 (A)文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决该问题(B)文件系统只能管理少量数据,而数据库系统可以管理大量数据 (C)文件系统只能管理程序文件,而数据库系统可以管理各种类型文件 (D)文件系统简单,而数据库系统复杂 6、关系数据库管理系统的3种基本关系运算中不包括()。 (A)比较(B)选择(C)投影(D)联接 7、用二维表结构来表示实体和实体之间联系的数据模型是()。 (A)表格模型(B)层次模型(C)网状模型(D)关系模型 8、客观存在可以区分的事物称为()。 (A)实体集(B)实体(C)属性(D)联系 9、下列实体类型的联系中,属于一对一联系的是()。 (A)班级对学生的联系(B)父亲对孩子的联系 (C)省对省会的联系(D)商店对顾客的联系 10、在DBS中,DBMS和OS(操作系统)之间的关系是()。 (A)并发运行(B)相互调用(C)OS调用DBMS (D)DBMS调用OS 11、数据库系统的核心组成部分是()。 (A)数据库(B)数据库系统(C)数据库管理系统(D)数据库技术 12、组成数据库系统的是()。 (A)数据库、相应的硬件、软件系统和各类相关人员 (B)数据库和相应的硬件、软件系统

相关文档
最新文档