数据库设计基础.docx
《数据库设计基础.docx》由会员分享,可在线阅读,更多相关《数据库设计基础.docx(17页珍藏版)》请在冰点文库上搜索。
![数据库设计基础.docx](https://file1.bingdoc.com/fileroot1/2023-8/19/168d2e88-d7a2-4d07-b072-9d6cc11d9392/168d2e88-d7a2-4d07-b072-9d6cc11d93921.gif)
数据库设计基础
1.填空题
软件测试的目的是尽可能发现软件中错误,通常是在代码编写阶段可进行的测试,它是整个测试工作的基础
参考答案:
单元测试
假设系统的当前日期为2008/9/26,表达式STR(YEAR(DATE()))+"年"的运算结果为。
参考答案:
2008年
结构化程序流程图,通常又被称为。
参考答案:
N-S图
软件调试的方法包括:
强行排错法、和原因排除法。
参考答案:
回溯法
一个工人可以加工多种零件,每一种零件可以由不同的工人来加工,工人和零件之间为的联系。
参考答案:
多对多
已知一个名为“学生”的Access数据库,库中的表“stud”存储学生的基本信息,包括学号、姓名、性别和籍贯。
下面程序的功能是:
通过下图所示的窗体向“stud”表中添加学生记录,对应“学号”、“姓名”、“性别”和“籍贯”的四个文本框的名称分别为tNo、tName、tSex、tRes。
当单击窗体中的“增加”命令按钮(名为Command1)时,首先判断学号是否重复,如果不重复则向“stud”表中添加学生记录;如果学号重复,则给出提示信息。
请依据所要求的功能,将如下程序补充完整。
DimADOcnAsNewADODB.ConnectionPrivateSubFormLoad()'打开窗口时,连接Access数据库SetADOcn=CurrentProiect.ConnectionEndSubPrivateSubCommand1Click()'增加学生记录DimstrSQLAsStringDimADOrsAsNewADODB.RecordsetSetADOrs.ActiveConnectipn=ADOcnADOrs.Open"Select学号FromStudWhere学号=''+tNo+''IfNotADOrs0Then'如果该学号的学生记录已经存在,则显示提示信息MsgBox''你输入的学号已存在,不能增加!
''Else'增加新学生的记录strSQL="InsertIntostud(学号,姓名,性别,籍贯)strSQL=strSQL+"Values("+tNo+","+tName+","+tSex+","+fires+")"ADOcn.ExecuteMsgBox"添加成功,请继续!
"EndIfADOrs.CloseSetAPOrs=NothingEndSub
参考答案:
EOF,strSQL
EOF指示当前记录位置位于Recordset对象的最后一个记录之后,属性返回布尔型值。
使用BOF和EOF属性可以确定Recordset对象是否包含记录,或者从一个记录移动到另一个记录时是否超出Recordset对象的限制。
如果EOF属性为TRUE,则没有当前记录。
执行IF语句,如果表中已有相同学号的记录,则显示“你输入的学号已存在,不能增加!
”如果没有,则向表中添加录入的记录strSQL。
Access与其他数据库开发系统之间显著的区别是:
用户不用_______________,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序。
参考答案:
编写代码
标签在数据访问页中主要用来显示描述性_______________。
参考答案:
文本信息
Access支持ODBC标准的_______________的数据。
参考答案:
SQL数据库
软件设计模块化的目的是。
参考答案:
降低复杂性解析:
模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程,由此分解来降低复杂性。
在树结构中,树根结点没有____。
参考答案:
前件解析:
在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点。
没有后件的结点称为叶子结点。
1.单项选择题
在数据库系统中,数据的最小访问单位是(B)。
A.
字节
B.
字段
C.
记录
D.
表
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E3,栈前,栈中元素可以出栈,则出栈序列可能是(D)。
A.
ABCED
B.
DBCEA
C.
CDABE
D.
DCBEA
栈操作原则上“后进先出”,栈底至栈顶依次存放元素A、B、C、0,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈。
所以出栈时一定是先出D,再出C,最后出A。
选拔身高T超过1.7米且体重W小于62.5公斤的人,表示该条件的布尔表达式(C)。
A.
T>=1.7AndW<=62.5
B.
T<=1.70rW>=62.5
C.
T>1.7AndW<62.5
D.
T>1.70rW<62.5
逻辑运算符包括And、Or、Xor、Eqv、Not、Imp,其中除了Not为单值运算外,其他5个均为双值运算符。
首先我们要弄清题目要求,题目要求T>1.7且W<62.5,选项A错在包括了T=1.7和W=62.5;选项B和选项D错在使用Or逻辑运算符,而且选项B还包括了T=1.7和W=62.5。
答案为C。
以下哪一项是VisualBasic合法的数组元素(C)。
A.
X9
B.
X[4]
C.
x(1.5)
D.
x{7}
数组元素的访问格式是:
Arr(epr),其中Arr为合法的数组名,而epr可以为有效的数值或表达式。
本题只需要注意数组名只能用(),不能使用其他类型的括号,而且epr可以不是整数,系统根据该表达式的返回值进行4舍5入处理,如x(1.5)相当于x
(2),如果4舍5入的值超过数组边界,系统会提示错误。
答案为C。
下列叙述中正确的是(B)。
A.
数据库的库结构包括数据库中各个记录的数据
B.
数据库中的数据不仅仅是数值型数据
C.
数据库管理系统的主要功能是建立数据
D.
数据库文件的结构不能由系统自动生成
数据库的库结构是指数据在存储介质内的存放形式;数据库中的数据可以是合法的任意数据类型,而不仅仅是数值型数据;数据库管理系统的功能主要有数据模式定义、数据存取的物理构建、数据操纵、数据的完整性、安全性定义与检查、数据库的并发控制与故障恢复和数据的服务;数据库文件的结构可以由系统自动生成。
需求分析最终结果是产生(B)。
A.
项目开发计划
B.
需求规格说明书
C.
设计说明书
D.
可行性分析报告
结构化程序设计主要强调的是(B)。
A.
程序的规模
B.
程序的易读性
C.
程序的执行效率
D.
程序的可移植性
采用结构化编程方法的好处主要在于:
一是便于控制、降低程序的复杂性,因此便于编写程序;二是程序清晰易读,可理解性好。
因此,结构化程序设计主要强调的是程序的易读性,而不是程序的规模、程序的执行效率和程序的可移植性。
数据的存储结构是指(B)。
A.
数据所占的存储空间量
B.
数据的逻辑结构在计算机中的表示
C.
数据在计算机中的顺序存储方式
D.
存储在外存中的数据
数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。
将所有字符转换为小写的掩码是(C)。
A.
?
B.
&
C.
<
D.
>
我们在设计字段的时候可以使用输入掩码来使得输入的格式标准保持一致,输入掩码中的字符“?
”代表可以选择输入字母(A~Z);“&”代表必须输入任何的字符或一个空格:
“<”将所有字符转换为小写;“>”将所有字符转换为大写。
每个日期/时间字段需要(D)个字节的存储空间。
A.
1
B.
2
C.
4
D.
8
日期/时间数据类型是用来存储日期、时间或日期时间组合的,每个日期/时间字段需要8个字节的存储空间。
下列关于准则的说法中,正确的是(B)。
A.
日期/时间类型数据须在两端加“[]”
B.
同行之间为逻辑“与”关系,不同行之间为逻辑“或”关系
C.
NULL表示数字0或者空字符串
D.
数字类型的条件需加上双引号("")
日期/时间类型数据须在两端加“#”而不是“[]”:
准则输入时同行之间为逻辑“与”关系,不同行之间为逻辑“或”关系:
空值(NULL)不同于空字符串和0,它代表未知或者不确定的值;文本类型的条件需加上双引号(""),数字类型的条件不必加定界符。
字段名可以是任意想要的名字,最多可达(C)字符。
A.
16
B.
32
C.
64
D.
128
Access规定,其数据表字段名的最大长度为64个字符。
Access数据库的设计一般由五个步骤组成,以下步骤的排序正确的是(A)。
①确定数据库中的表②确定表中的字段③确定主关键字④分析建立数据库的目的⑤确定表之间的关系
A.
④①②⑤③
B.
④①②③⑤
C.
③④①②⑤
D.
③④①⑤②
数据库的并发控制、完整性检查、安全性检查等是对数据库的(D)。
A.
设计
B.
应用
C.
操纵
D.
保护
关于启动数据页向导这一操作,下列说法中不正确的是(C)。
A.
在“数据库”窗口中的对象选项下选择“页”,并单击该窗口工具栏中的“新建”按钮
B.
在弹出的“新建数据访问页”对话框中选择“数据页向导”
C.
选择创建数据访问页所需的来源表或查询
D.
单击“确定”按钮,将会弹出“数据页向导”对话框
计算控件的控件源必须是以(A)开头的一个计算表达式。
A.
“=”
B.
“!
”
C.
“?
”
D.
“≈”
一个栈的进栈顺序是1,2,3,4,则出栈顺序为(A)。
A.
4,3,2,1
B.
2,4,3,1
C.
1,2,3,4
D.
3,2,l,4
下面不属于软件设计原则的是(C)。
A.
抽象
B.
模块化
C.
自底向上
D.
信息隐蔽
抽象是一种思维工具,就是把事物本质的共同特性抽出来而不考虑其他细节。
模块是指可以单独命名且可编址的元素。
如高级语言中的过程、函数、子程序等。
信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
在一棵二叉树上,第4层的结点数最多是(B)。
A.
8
B.
16
C.
32
D.
15
根据二叉树的性质,在二叉树的第K层上,最多有2的k-1次方个结点。
所以,第4层的结点数最多为2(上标)4-1,就是8个。
常用的算法设计方法有:
(D)。
Ⅰ.列举法Ⅱ.归纳法Ⅲ.递推Ⅳ.递归.Ⅴ.回溯法
A.
Ⅰ,Ⅱ,Ⅲ,Ⅴ
B.
Ⅲ,Ⅳ,Ⅴ
C.
Ⅰ,Ⅱ,Ⅴ
D.
全是
常用的算法设计方法有:
列举法,就是根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。
归纳法,通过列举少量的特殊情况,经过分析,最后找出一般的关系。
递推,从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。
递归,将一个复杂的问题归纳为若干个较简单的问题,然后将这些较简单的每一个问题再归结为更简单的问题,这个过程可以一直做下去,直到最简单的问题为止。
减半递推技术,“减半”是指将问题的规模减半,而问题的性质不变,“递归”是指重复“减半”的过程。
回溯法,有些实际问题却很难归纳出一组简单的递推公式或直观的求解步骤,并且也不能进行无限的列举。
对于这类问题,一种有效的方法是“试”。
通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,对于每一步的试探,若试探成功,就得到问题的解,若试探失败,就逐步回退,换别的路线再进行试探。
这种方法称为回溯法。
用黑盒技术设计测试用例的方法之一为(A)。
A.
因果图
B.
逻辑覆盖
C.
循环覆盖
D.
基本路径测试
黑盒测试的主要方法有等价值划分法、边界值分析法、错误推测法、因果图法等,白盒测试的主要方法有逻辑覆盖、基本路径测试等。
其中逻辑覆盖通常又分为语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断一条件覆盖。
所以只有A选项属于黑盒测试,B、C、D选项都属于白盒测试。
假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为(D)。
A.
10g2n
B.
n2
C.
O(n1.5)
D.
n(n-1)/2
假设线性表的长度为n,则在最坏情况下,冒泡排序要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。
若要确保输入的联系电话值只能为8位数字,应将该字段的输入掩码设置为(A)。
A.
00000000
B.
99999999
C.
########
D.
?
?
?
?
?
?
?
?
这属于考试重点内容,历次考试都有对相关内容的考查,考生务必重点复习。
输入掩码是希望输入的格式标准保持一致,或希望检查输入时的错误。
“0”表示必须输入0~9的数字,所以按照题目要求选项A可以满足;“9”表示可以单项选择输入数据或空格;“#”表示可以单项选择输入数据或空格,在“编辑”模式下空格以空白显示,但是在保存数据时将空白删除,允许输入加号和减号;“?
”表示可以单项选择输入A~Z的字母。
选项A中“00000000”是要求输入最多8位0~9的数字,满足题目要求;选项B中“99999999”是要求输入最多8位数据或空格,不符合题意;选项C中“########”是要求输入最多8位数据或空格,不符合题意,此处还要注意“#”与“9”的区别;选项D中“?
?
?
?
?
?
?
?
”是可以单项选择输入最多8位A~Z的字母,不符合题意。
下列数据结构中属于非线性结构的是(A)。
A.
二叉树
B.
线形表
C.
栈与队列
D.
线性链表
一个线性结构需要满足以下两个条件:
一是有且只有一个根节点;二是每个节点最多有一个前件,也最多有一个后件。
选项中的线形表、栈与队列、线性链表都满足这两个条件,所以它们都是线性结构,而二叉树虽然只有一个根节点,但它的每个节点可以有两个子树,不满足线性结构的每个节点最多有一个前件,也最多有一个后件这一条件。
所以它是非线性结构。
如下图所示的4棵二叉树中,不是完全二叉树的是(D)。
A.
B.
C.
D.
完全二叉树是指除最后一层外,每一层上的节点数都达到最大值;在最后一层上只缺少右边的若干节点。
选项D中第二层的左边节点没有达到最大值。
设有下列二叉树:
对此二叉树中序遍历的结果为(B)。
A.
ABCDEF
B.
DBEAFC
C.
ABDECF
D.
DEBFCA
所谓中序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。
在窗体中有一个命令按钮Command1,对应的事件代码如下:
PrivateSubCommand1_Enter()DimnumAsIntegerDimaAsIntegerDimbAsIntegerDimiAsIntegerFori=1To10num=InputBox("请输入数据:
","输入",1)IfInt(num/2)=num/2Thena=a+1Elseb=b+1EndIfNextiMsgBox("运行结果:
a="&Str(a)&:
",b="&Str(b))EndSub运行以上事件所完成的功能是(D)。
A.
对输入的10个数据求累加和
B.
对输入的10个数据求各自的余数,然后再进行累加
C.
对输入的10个数据分别统计有几个是整数,有几个是非整数
D.
对输入的10个数据分别统计有几个是奇数,有几个是偶数
本题的重点在于判断Int(num/2)=num/2是什么样的条件。
对于任意一个整数来说,若其除2后为整数。
也就是Int(num/2)=num/2成立,说明该数是一个偶数;反之若其除2后不为整数,此时,Int(num/2)必然不等于num/2,也就是一个整数不可能等于一个小数,说明该数是一个奇数。
所以本题的功能是对输入的数据分别统计奇偶数的个数。
在一棵二叉树上,第4层最多有几个结点(A)。
A.
8
B.
16
C.
32
D.
15
根据二叉树的性质:
二叉树第i(i≥1)层上至多有2i-1个结点。
由该性质得到第4层最多有8个结点数。
假设一个书店用(书号,书名,作者,出版社,出版日期,库存数量……)一组属性来描述图书,可以作为“关键字”的是(A)。
A.
书号
B.
书名
C.
作者
D.
出版社
主关键字是一个或者多个字段的集合,是用于区别表中记录惟一的标识,也就意味着在一个表中主关键字不能取重复值。
在Access的表中,可以定义三种类型的主关键字:
自动编号主键、单字段主键和多字段主键。
在本题中只有“书号”是每本书都不相同的,也就是主关键字。
设根结点的层次为0,高度为K的二叉树最最大结点数为()个。
A.
2k
B.
2k+1-1
C.
2K+1
D.
2m+1+1
答案详解:
设根结点的层次为0,第0层最多有1结点即20,第1层最多有2结点即21,以此类推,第k层最多有2k个结点。
高度为K的二叉树最最大结点数为20+21+22+…+2k,即2k+1-1个。
深度为6的满二叉树中,度为2的结点个数为(A)。
A.
31
B.
32
C.
63
D.
64
本题要用到二叉树的两个性质定义:
①二叉树的性质2:
在二叉树的第k层上,最多有2k-1(k≥1,其中k为层数)个结点。
本题中第6层的结点数=26-1=32个。
这也是叶子结点最大数。
②二叉树的性质3:
在任意一棵二叉树中,叶子结点总是比度为2的结点多一个。
本题中,叶子结点最多为32个,度为2的结点数为32-1=31个。
[知识拓展]“满二叉树”是一种特殊的二叉树,指的是除了最后一层外,其他每一层的结点都有两个子结点(左、右子树配齐),也就是说每一层的结点数都是最大数(每k层有2k-1个结点,且深度为K的满二叉树有2k-1个结点)。
下列结构中,(D)不属于结构化程序设计方法的结构。
A.
分支结构
B.
反复结构
C.
循环结构
D.
跳转结构
结构化设计是指采用自顶向下、逐步求精、模块化和尽量避免goto跳转语句的设计方法,其程序结构按功能划分若干基本模块,这些模块形成一个树状结构,每一个模块均采用顺序、选择(分支)和循环三种基本结构组成。
不属于Access对象的是(B)。
A.
表
B.
文件夹
C.
窗体
D.
查询
Access数据库由数据库对象和组两部分组成。
对象又分为7种,包括表、查询、窗体、报表、数据访问页、宏、模块。
有下列二叉树,对此二叉树前序遍历的结果为(D)。
A.
ACFXDBEYZ
B.
ABEFXYZCD
C.
ABCDEFXYZ
D.
ABDYECFXZ
对二叉树的前序遍历是指:
先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。
记住三种遍历的顺序:
①前序,访问根→按前序遍历左子树→按前序遍历右子树:
②中序,按中序遍历左子树→访问根→按中序遍历右子树;③后序,按后序遍历左子树→按后序遍历右子树→访问根
数据库设计有两种方法,它们是(C)。
A.
概念设计和逻辑设计
B.
模式设计和内模式设计
C.
面向数据的方法和面向过程的方法
D.
结构特性设计和行为特性设计
答案详解:
概念设计和逻辑设计是数据库设计中包括的两个设计内容。
模式设计和内模式设计是概念设计的两种方法。
从系统开发的角度来看,结构特性设计和行为特性设计是数据库应用系统所具有的两个特性。
结构特性的设计:
设计各级数据库模式(静态特性);行为特性的设计:
改变实体及其特性,决定数据库系统的功能(动态特性)。
不能进行索引的字段类型是(A)。
A.
备注
B.
数值
C.
字符
D.
日期
下列关于数据库中的表说法正确的是()。
A.
每个表应该只包含关于一个主题的信息
B.
每个表绝对不可以包含多个上题的信息
C.
表中绝对不可以包含重复信息
D.
信息绝对不可以在多个表之间复制
答案详解:
每个表应该只包含关于一个主题的信息,这样就可以独立于其他主题来维护每个主题的信息,但这并不是说每个表就只能包含一个主题的信息;表中不应该包含重复信息,并且信息不应该在表之间复制,这样可以提高效率,消除了包含不同信息重复项的可能性,但这不并是说绝对不可以存在重复信息。
选项B、选项C和选项D说法过于绝对。
软件需求分析阶段的工作,可以分为四个方面:
需求获取,需求分析,编写需求规格说明书,以及(B)。
A.
阶段性报告
B.
需求评审
C.
总结
D.
以上都不正确
答案详解:
需求分析阶段的工作,可以概括为以下4个方面:
需求获取、需求分析、编写需求规格说明书和需求评审。
本题的正确答案为选项B。
Access数据库的设计一般由5个步骤组成,以下步骤的排序正确的是a.确定数据库中的表b.确定表中的字段c.确定主关键字d.分析建立数据库的目的e.确定表之间的关系(A)
A.
dabec
B.
dabce
C.
cdabe
D.
cdaeb
答案详解:
数据库的设计一般要经过分析建立数据库的目的、确定数据库中的表、确定表中的字段、确定主关键字以及确定表之间的关系。
利用Access开发数据库应用系统,设计步骤包括:
(D)。
A.
需求分析
B.
确定需要的表、所需字段、联系
C.
设计求精
D.
以上各步骤都包括
数据库设计的需求分析阶段,业务流程一般采用(B)表示。
A.
E-R模型
B.
数据流图
C.
程序构图
D.
程序框图
DBMS中,负责物理结构与逻辑结构的定义和修改的人员是(D)。
A.
最终用户
B.
应用程序员
C.
专业用户
D.
数据库管理员
可以选择输入数据或空格(在“编