《思考题参考答案.doc》由会员分享,可在线阅读,更多相关《思考题参考答案.doc(14页珍藏版)》请在金锄头文库上搜索。
1、第1章 数据库系统概述(1)数据库、数据库管理系统及数据库系统的概念分别是什么?答:数据库是存储在计算机存储设备上的、结构化的相关数据集合;数据库管理系统是数据库系统中对数据进行管理的软件系统,是数据科系统的核心;数据库系统是指引入了数据库技术的计算机系统。(2)在关系数据模型中,关系、元组、属性是什么概念?答:一个关系就是一张二维表,由行和列构成;元组也称记录,是表中的一行;属性也称字段,是表中的一列。(3)关系模型允许定义哪几类完整性约束?答:实体完整性;参照完整性;用户定义完整性。(4)关系的基本运算有哪几类?答:传统的集合运算(并、交、差等);专门的关系运算(选择、投影、连接)。(5)
2、Visual FoxPro主要提供了哪几种设计工具?答:略。(6)如何设置当前工作目录?答:界面方式:选择“工具|选项”菜单命令,打开“选项”对话框,在“文件位置”选项卡中选中“默认目录”列表项,单击“修改”命令按钮,打开“更改文件位置”对话框,选中“使用默认目录”复选框,单击“定位默认目录”文本框后的“”命令按钮,选择一个目录后确定即可。命令方式:SET DEFAULT TO 。(7)项目管理器的功能有哪些?答:对项目中的表、数据库、查询、表单、报表、菜单等对象进行组织和管理;实现对项目中各个对象的创建、修改、删除等操作;将应用程序编译成可独立运行的可执行文件等。第2章 Visual Fox
3、Pro的数据与数据运算(1)Visual FoxPro有哪几种常用的数据类型?答:字符型、数值型、整型、浮点型、双精度型、货币型、日期型、日期时间型、逻辑型、备注型、通用型。(2)字段变量与内存变量有何区别?答:字段变量是数据表中的一个字段,变量名即字段名,针对不同的记录,同一字段可以有不同的字段值;内存变量是用户在程序中定义的,当程序运行时,在内存中临时创建内存变量,用于存放程序运行的中间结果和最终结果。(3)什么是函数?如何调用函数?答:函数是一段预先编写好的程序代码,用于实现某个特定功能,每个函数有一个函数名,可以接收若干个参数,返回一个确定值。函数的一般调用格式为:函数名(参数列表)。
4、(4)什么是表达式?常见的表达式类型有哪几种?答:表达式是把常量、变量、函数和字段名等用运算符连接起来的式子。常见的表达式类型有:算术表达式、字符表达式、日期和时间表达式、关系表达式、逻辑表达式。第3章 数据表的建立和使用(1)Visual FoxPro中的表分为哪两类?它们有什么不同?答:自由表和数据库表。自由表是独立存在的、不与任何数据库相关联的表;数据库表与某个数据库相关联,比自由表具有更多的属性和功能。(2)备注型字段和通用型字段有无内容如何判断?答:在数据表的浏览窗口中,若备注型字段显示的是“Memo”或通用型字段显示的是“Gen”则表示相应字段中有内容;若显示的是“memo”或“g
5、en”,则表示无内容。(3)什么是记录的定位?定位的方式有哪几种?如何实现?答:记录的定位是指将记录指针移动到要操作的记录,使其成为当前记录。记录的定位方式有绝对定位、相对定位和条件定位三种。在表的浏览状态下,选择“表|转到记录”菜单命令下的相应子菜单可以实现记录的定位;也可使用GO、SKIP、LOCATE FOR命令可分别实现绝对定位、相对定位、条件定位。(4)在对表中的记录进行批量修改时,UPDATE命令与REPLACE命令有何区别?答: UPDATE是SQL命令,不需要事先打开表;REPLACE是VFP的传统命令,必须先把表打开,且让其成为当前表。 语法格式不同:REPLACE用WITH
6、子句实现替换,用FOR子句表示替换条件;UPDATE用SET子句实现替换,用WHERE子句表示替换条件。 REPLACE省略范围和条件表示对当前记录进行修改;UPDATE没有范围设置,条件省略时表示对表中所有记录进行修改。(5)记录删除命令DELETE、ZAP和PACK有何区别?答:DELETE命令用于逻辑删除满足条件的记录,即给要删除的记录添加删除标记;PACK命令用于将已添加删除标记的记录物理删除,即彻底删除带有删除标记的记录;ZAP命令用于将表中所有记录进行彻底删除,不管记录有没有删除标记,即清空整张表。(6)要同时实现记录和字段的筛选,如何在“工作区属性”窗口中进行设置?答:在“数据过
7、滤器”文本框中输入记录筛选的条件;并在“允许访问”区域选中“字段筛选指定的字段”单选按钮,单击其后的“字段筛选”命令按钮,在弹出的对话框中选择需要筛选出的字段。设置完毕后重新浏览表可查看设置的结果。(7)索引有几种类型?分别具有什么特点?答:索引的类型有主索引、候选索引、普通索引和唯一索引四种。特点:主索引不允许索引表达式的值重复,只能在数据库表中创建,且每张表最多只能建一个主索引;候选索引不允许索引表达式的值重复,在数据库表和自由表中都可创建,且每张表可创建多个;普通索引允许索引表达式的值重复,在数据库表和自由表中都可创建,且每张表可创建多个;唯一索引允许索引表达式的值重复,对于重复出现的索
8、引表达式的值,仅保留其中的第一个记录,在数据库表和自由表中都可创建,且每张表可创建多个。(8)什么是工作区?工作区与表有什么关系?如何设置当前工作区?答:工作区是内存中的一个区域,用于保存打开的表及其相关信息。工作区用于存放打开的表,一个工作区同时只能打开一张表,不同的工作区可以同时打开不同的表,一张表也可同时在不同的工作区中打开。在“数据工作期”窗口中单击表的别名,可将该表所在的工作区设为当前工作区,或通过SELECT命令进行设置。(9)什么是表之间的临时关系?它和永久关系有何区别?答:表之间的临时关系是指把当前工作区中打开的表与另一个工作区中打开的表进行逻辑连接,实现表之间记录指针的联动。
9、临时关系是在表打开以后,根据需要临时建立的,当表关闭后,相应表之间的临时连接会自动解除,可以在自由表之间建立临时关系;永久关系只能在数据库表之间建立,一旦建立,其信息被保存在数据库文件中,只要不人为删除,永久关系会一直存在。第4章 数据库及数据库表的操作(1)与自由表相比,数据库表有哪些优势?答:数据库表比自由表具有更多的功能与属性,可以建立表之间的永久性关系等。(2)有哪些方法可以创建数据库?怎样在数据库中添加或移去表?答:界面方式可以通过“新建”对话框或项目管理器来创建数据库,命令方式通过CREATE DATABASE命令。通过项目管理器中的“添加”或“移去”命令按钮实现数据库表的添加或移
10、去操作,也可通过ADD TABLE、REMOVE TABLE命令实现向当前数据库中添加表或从当前数据库中移去表。(3)在建立两张数据库表之间的永久性关系时,每个数据库表必须有索引吗?如果必须有索引,分别是什么索引类型?答:必须有索引。对于一对多关系,主表建主索引或候选索引,子表建普通索引;对于一对一关系,主表和子表都建主索引或普通索引。(4)数据库表有哪些属性设置?当数据库表从数据库中移去成为一张自由表时,原来的数据库表的属性还存在吗?答:除了自由表的一般属性外,数据库表还可以设置字段格式、输入掩码、标题、字段有效性规则和有效性信息、默认值、记录有效性规则和有效性信息、长表名和表注释等属性。当
11、将表从数据库中移去后,这些属性都将不再存在。(5)参照完整性设置的一般要求是什么?答:对于具有一对多关系的两张表,子表中的每个记录在对应的主表中必须有一个父记录;在子表中插入纪录时,其外部关键字必须是主表主关键字值中的一个;在父表中删除记录时,与该记录相关的子表中记录必须全部删除。第5章 查询和视图(1)查询的定义和特点分别是什么? 答:查询是指从一个或多个数据源表或视图中筛选出满足条件的数据。查询可以将筛选出的数据按照指定的排列顺序或分组方式进行输出,其输出结果也可以有多种不同的显示和输出方式。(2)VisualFoxpro中提供的查询方式有那几种?答:查询向导、查询设计器、SELECT-S
12、QL语句。(3)在进行查询筛选的设置时需要注意的问题有哪些?答:在实例文本框中输入比较的值时应注意:字符型字段值的定界符一般可以省略,但如果字段值与表中的字段名相同时,定界符不可省略;日期常量必须使用严格的日期格式;逻辑值必须加定界符。此外选项字段名时应注意字段名不能使用“备注”或“通用”字段作为筛选条件。(4)建立多表查询时如何建立表之间的关系?答: 若表之间已经建立了永久关系,则系统将自动建立联接; 若表之间没有建立永久关系,则在添加第二张表的时候系统会自动打开“联接条件”对话框,并以两张表的同名字段作为默认的联接条件; 若没有利用“联接条件”对话框建立联接条件,则在查询设计器中可以直接从
13、一张表的字段拖动到另一张表的相应字段上。(5)查询的输出去向有哪几种?答:浏览窗口、临时表、表、图形、屏幕、报表、标签。(6)什么是分组依据?如何确定分组依据的字段?答:略。(7)在查询设计器中,使用“筛选”和“满足条件”的目的是什么?它们之间的区别是什么?答:筛选可以筛选出原表中满足筛选条件的记录,用于筛选的字段必须是原表中的某个字段或对原表中某个字段进行计算的表达式;满足条件是对分组结果记录的筛选,满足条件通常在分组以后设置,可以实现对查询结果字段的筛选。(8)交叉表查询的特点是什么?答:交叉表是将数据源中的某个字段作为行标题,另一个字段作为列标题,行、列交叉处的每个单元格显示对应数据。并
14、可在每行的最后加入相应的总结、汇总信息。(9)什么是视图?视图的优点是什么?答:视图是在数据库中定义的一个虚表,是基于表的可更新的数据集合。其优点是:可以访问远程数据、可以作为数据源、可以实现对源表的更新等。(10)查询与视图的区别是什么?答: 视图中的数据是可更新的,并且可以同时更新数据源中的数据,而查询结果中的数据是只读的。 视图不是一个独立的文件,没有扩展名,它仅是数据库中的一个组成部分。而查询是一个扩展名为.qpr的独立的文件,它不从属于任何数据库。 视图既可以访问本地数据也可以访问远程数据,而查询不能访问远程数据。 视图只有在所属的数据库被打开时才能使用,而查询文件可以直接使用。 视
15、图可以作为数据源被引用,而查询只能在运行时一次获得结果并输出,不能被引用。 视图只能当数据表使用,而查询有多种去向,如临时表、表、图形、报表、标签等形式。(11)在视图设计器中,在“更新”选项卡中定义关键字时,需要注意的问题是什么?答:作为关键字的字段在表中不能出现重复值。(12)利用视图来更新源表数据的操作步骤是什么?答:在“更新条件”选项卡中,先选择要更新的表,再设置关键字段和可更新字段,最后选中“发送SQL更新”复选框。(13)如何利用命令方式建立视图?答:CREATE SQL VIEW AS 。第6章 关系数据库标准语言SQL(1)SQL语言的特点是什么?答:可以实现对数据库的各种操作,可以直接以命令方式使用,也可以嵌入到程序设计语言中使用,语言简洁,语法简单,易学易用等。(2)SQL语言的基本组成部分是什么?答:数据定义语言DDL、数据操纵语言DML、数据控制语言DCL。(3)Visual FoxPro支持的SQL语言的功能有哪些?其命令动词分别是什么?答:数据查询(SELECT)、数据定义(CTREATE、ALTER、DROP)、数据操纵(INSERT、UPDATE、DELETE)。(4)SQL语言数据定义功能的特点是什么?答:略。(5)