思考题参考答案
第1章数据库系统概述
〔1〕数据库、数据库管理系统及数据库系统的概念分别是什么?
答:数据库是存储在计算机存储设备上的、构造化的相关数据集合;数据库管理系统是数据库系统中对数据进展管理的软件系统,是数据科系统的核心;数据库系统是指引入了数据库技术的计算机系统。
〔2〕在关系数据模型中,关系、元组、属性是什么概念?
答:一个关系就是一张二维表,由行和列构成;元组也称记录,是表中的一行;属性也称字段,是表中的一列。
〔3〕关系模型允许定义哪几类完整性约束?
答:实体完整性;参照完整性;用户定义完整性。
〔4〕关系的根本运算有哪几类?
答:传统的集合运算〔并、交、差等〕;专门的关系运算〔选择、投影、连接〕。
〔5〕Visual Fo*Pro主要提供了哪几种设计工具?
答:略。
〔6〕如何设置当前工作目录?
答:界面方式:选择"工具|选项〞菜单命令,翻开"选项〞对话框,在"文件位置〞选项卡中选中"默认目录〞列表项,单击"修改〞命令按钮,翻开"更改文件位置〞对话框,选中"使用默认目录〞复选框,单击"定位默认目录〞文本框后的"…〞命令按钮,选择一个目录后确定即可。
命令方式:SET DEFAULT TO <路径说明>。
〔7〕工程管理器的功能有哪些?
答:对工程中的表、数据库、查询、表单、报表、菜单等对象进展组织和管理;实现对工程中各个对象的创立、修改、删除等操作;将应用程序编译成可独立运行的可执行文件等。
第2章 Visual Fo*Pro的数据与数据运算
〔1〕Visual Fo*Pro有哪几种常用的数据类型?
答:字符型、数值型、整型、浮点型、双精度型、货币型、日期型、日期时间型、逻辑型、备注型、通用型。
〔2〕字段变量与内存变量有何区别?
答:字段变量是数据表中的一个字段,变量名即字段名,针对不同的记录,同一字段可以有不同的字段值;内存变量是用户在程序中定义的,当程序运行时,在内存中临时创立内存变量,用于存放程序运行的中间结果和最终结果。
〔3〕什么是函数?如何调用函数?
答:函数是一段预先编写好的程序代码,用于实现*个特定功能,每个函数有一个函数名,可以接收假设干个参数,返回一个确定值。
函数的一般调用格式为:函数名([参数列表])。
〔4〕什么是表达式?常见的表达式类型有哪几种?
答:表达式是把常量、变量、函数和字段名等用运算符连接起来的式子。常见的表达式类型有:算术表达式、字符表达式、日期和时间表达式、关系表达式、逻辑表达式。
第3章数据表的建立和使用
〔1〕Visual Fo*Pro中的表分为哪两类?它们有什么不同?
答:自由表和数据库表。自由表是独立存在的、不与任何数据库相关联的表;数据库表与*个数据库相关联,比自由表具有更多的属性和功能。
〔2〕备注型字段和通用型字段有无内容如何判断?
答:在数据表的浏览窗口中,假设备注型字段显示的是"Memo〞或通用型字段显示的是"Gen〞则表示相应字段中有内容;假设显示的是"memo〞或"gen〞,则表示无内容。
〔3〕什么是记录的定位?定位的方式有哪几种?如何实现?
答:记录的定位是指将记录指针移动到要操作的记录,使其成为当前记录。记录的定位方式有绝对定位、相对定位和条件定位三种。
在表的浏览状态下,选择"表|转到记录〞菜单命令下的相应子菜单可以实现记录的定位;也可使用GO、SKIP、LOCATE FOR命令可分别实现绝对定位、相对定位、条件定位。
〔4〕在对表中的记录进展批量修改时,UPDATE命令与REPLACE命令有何区别?
答:① UPDATE是SQL命令,不需要事先翻开表;REPLACE是VFP的传统命令,必须先把表翻开,且让其成为当前表。
②语法格式不同:REPLACE用WITH子句实现替换,用FOR子句表示替换条件;UPDATE用SET子句实现替换,用WHERE子句表示替换条件。
③ REPLACE省略范围和条件表示对当前记录进展修改;UPDATE没有范围设置,条件省略时表示对表中所有记录进展修改。
〔5〕记录删除命令DELETE、ZAP和PACK有何区别?
答:DELETE命令用于逻辑删除满足条件的记录,即给要删除的记录添加删除标记;PACK命令用于将已添加删除标记的记录物理删除,即彻底删除带有删除标记的记录;ZAP命令用于将表中所有记录进展彻底删除,不管记录有没有删除标记,即清空整张表。字符串常量使用( )作为定界符
〔6〕要同时实现记录和字段的筛选,如何在"工作区属性〞窗口中进展设置?
答:在"数据过滤器〞文本框中输入记录筛选的条件;并在"允许访问〞区域选中"字段筛选指定的字段〞单项选择按钮,单击其后的"字段筛选〞命令按钮,在弹出的对话框中选择需要筛选出的字段。设置完毕后重新浏览表可查看设置的结果。
〔7〕索引有几种类型?分别具有什么特点?
答:索引的类型有主索引、候选索引、普通索引和唯一索引四种。
特点:主索引不允许索引表达式的值重复,只能在数据库表中创立,且每张表最多只能建一个主索引;候选索引不允许索引表达式的值重复,在数据库表和自由表中都可创立,且每张表可创立多个;普通索引允许索引表达式的值重复,在数据库表和自由表中都可创立,且每张表可创立多个;唯一索引允许索引表达式的值重复,对于重复出现的索引表达式的值,仅
保存其中的第一个记录,在数据库表和自由表中都可创立,且每张表可创立多个。
〔8〕什么是工作区?工作区与表有什么关系?如何设置当前工作区?
答:工作区是内存中的一个区域,用于保存翻开的表及其相关信息。
工作区用于存放翻开的表,一个工作区同时只能翻开一张表,不同的工作区可以同时翻开不同的表,一张表也可同时在不同的工作区中翻开。
在"数据工作期〞窗口中单击表的别名,可将该表所在的工作区设为当前工作区,或通过SELECT命令进展设置。
〔9〕什么是表之间的临时关系?它和永久关系有何区别?
答:表之间的临时关系是指把当前工作区中翻开的表与另一个工作区中翻开的表进展逻辑连接,实现表之间记录指针的联动。
临时关系是在表翻开以后,根据需要临时建立的,当表关闭后,相应表之间的临时连接会自动解除,可以在自由表之间建立临时关系;永久关系只能在数据库表之间建立,一旦建立,
其信息被保存在数据库文件中,只要不人为删除,永久关系会一直存在。
第4章数据库及数据库表的操作
〔1〕与自由表相比,数据库表有哪些优势?
答:数据库表比自由表具有更多的功能与属性,可以建立表之间的永久性关系等。
〔2〕有哪些方法可以创立数据库?怎样在数据库中添加或移去表?
答:界面方式可以通过"新建〞对话框或工程管理器来创立数据库,命令方式通过CREATE DATABASE命令。
通过工程管理器中的"添加〞或"移去〞命令按钮实现数据库表的添加或移去操作,也可通过ADD TABLE、REMOVE TABLE命令实现向当前数据库中添加表或从当前数据库中移去表。
〔3〕在建立两张数据库表之间的永久性关系时,每个数据库表必须有索引吗?如果必须有索引,分别是什么索引类型?
答:必须有索引。对于一对多关系,主表建主索引或候选索引,子表建普通索引;对于一对一关系,主表和子表都建主索引或普通索引。
〔4〕数据库表有哪些属性设置?当数据库表从数据库中移去成为一张自由表时,原来的数据库表的属性还存在吗?
答:除了自由表的一般属性外,数据库表还可以设置字段格式、输入掩码、标题、字段有效性规则和有效性信息、默认值、记录有效性规则和有效性信息、长表名和表注释等属性。当将表从数据库中移去后,这些属性都将不再存在。
〔5〕参照完整性设置的一般要求是什么?
答:对于具有一对多关系的两张表,子表中的每个记录在对应的主表中必须有一个父记录;在子表中插入纪录时,其外部关键字必须是主表主关键字值中的一个;在父表中删除记录时,与该记录相关的子表中记录必须全部删除。
第5章查询和视图
〔1〕查询的定义和特点分别是什么?
答:查询是指从一个或多个数据源表或视图中筛选出满足条件的数据。查询可以将筛选出的数据按照指定的排列顺序或分组方式进展输出,其输出结果也可以有多种不同的显示和输出方式。
〔2〕VisualFo*pro中提供的查询方式有那几种?
答:查询向导、查询设计器、SELECT-SQL语句。
〔3〕在进展查询筛选的设置时需要注意的问题有哪些?
答:在实例文本框中输入比较的值时应注意:字符型字段值的定界符一般可以省略,但如果字段值与表中的字段名一样时,定界符不可省略;日期常量必须使用严格的日期格式;逻辑值必须加定界符。此外选项字段名时应注意字段名不能使用"备注〞或"通用〞字段作为筛选条件。
〔4〕建立多表查询时如何建立表之间的关系?
答:①假设表之间已经建立了永久关系,则系统将自动建立联接;
②假设表之间没有建立永久关系,则在添加第二张表的时候系统会自动翻开"联接条件〞对话框,并以两张表的同名字段作为默认的联接条件;
③假设没有利用"联接条件〞对话框建立联接条件,则在查询设计器中可以直接从一张表的字段拖动到另一张表的相应字段上。
〔5〕查询的输出去向有哪几种?
答:浏览窗口、临时表、表、图形、屏幕、报表、标签。
〔6〕什么是分组依据?如何确定分组依据的字段?
答:略。
〔7〕在查询设计器中,使用"筛选〞和"满足条件〞的目的是什么?它们之间的区别是什么?
答:筛选可以筛选出原表中满足筛选条件的记录,用于筛选的字段必须是原表中的*个字段或对原表中*个字段进展计算的表达式;满足条件是对分组结果记录的筛选,满足条件通常在分组以后设置,可以实现对查询结果字段的筛选。
〔8〕穿插表查询的特点是什么?
答:穿插表是将数据源中的*个字段作为行标题,另一个字段作为列标题,行、列穿插处的每个单元格显示对应数据。并可在每行的最后参加相应的总结、汇总信息。
〔9〕什么是视图?视图的优点是什么?
答:视图是在数据库中定义的一个虚表,是基于表的可更新的数据集合。其优点是:可以访问远程数据、可以作为数据源、可以实现对源表的更新等。
〔10〕查询与视图的区别是什么?
答:①视图中的数据是可更新的,并且可以同时更新数据源中的数据,而查询结果中的数据是只读的。
②视图不是一个独立的文件,没有扩展名,它仅是数据库中的一个组成局部。而查询是一个扩展名为.qpr的独立的文件,它不附属于任何数据库。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论