第七章 数据库Database.docx
- 文档编号:2784343
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:17
- 大小:114.29KB
第七章 数据库Database.docx
《第七章 数据库Database.docx》由会员分享,可在线阅读,更多相关《第七章 数据库Database.docx(17页珍藏版)》请在冰豆网上搜索。
第七章数据库Database
第七章数据库(Database)
7.1数据库的意义1
7.2建立数据库(.DBC文件)3
7.3数据字典(DataDictionary)8
VFP已将xBASE数据库升为完整的后端数据库引擎,是真正的Database(数据库)。
本章主要讲述数据库意义的扩展、使用数据库的优点、如何建立数据库和建立永久关系以及如何使用数据字典等。
7.1数据库的意义
7.1.1表(Table)和数据库(Database)
以前xBASE所说的数据库实际上是表(Table)。
关于表的定义和操作在本书第三章已经详细讲解过,这里不再赘述。
真正的数据库
在现实生活中(比如从同学录)可以总结出如下关系:
字段(学号、姓名)→记录(多个字段)→Table(多项记录)→数据库(多个Table集合)。
由上面所叙述的关系可以了解到,数据库Database是定义在表(Table)上,可由多个相关的表组成,形成一个(Table)集,而当中再加上一些属性与安全性及关联性设置,就形成一个非常完整的数据库。
表(.DBF文件)可以是在数据库中建立的表,也可以是不与数据库联系的自由表(FreeTable)。
与数据库联系的表比自由表有更多的特点(在VFP8.0下述的某些特点自由表中也有了)。
当一个表是某数据库的一部分时,可建立:
(1)长表名和表中的长字段名。
(2)对各表字段的标题和注释。
(3)对表字段的默认值。
(4)字段级和记录级规则。
(5)对各INSERT、UPDATE或DELETE事件的触发器(Trigger)。
(6)回复(RollBack)等。
数据库以上这些特性(在数据字典部分还要详述)自由表大都没有,自由表(在第四章已详述)真正具有的特性为:
(1)完全同xBASETable一样。
(2)可自由打开。
若读者未使用过后端SQL数据库,通过后面章节的介绍,会慢慢体会到这样严谨的数据库结构可以安心使用,就如同使用大型计算机数据库一样,可以同样达到安全性与一致性的需求。
7.1.2数据库的优缺点
在VFP中,与本书前面所介绍的使用那些有关系的自由表的方法相比,数据库具有几个重要的优点。
(1)当所使用的表是属于VFP据库时,在7.1.1中所谈到的VFP数据库的数据字典(datadictionary)可以加在表设计器(TableDesigner)中,便于用户使用。
这样上升为后端数据库实体特性的数据库,满足客户/服务器结构对数据安全性与一致性的要求。
(2)数据库允许用户在多个表之间建立一种永久关系,并且允许显示出所有这些关系结构。
当表很多,且它们之间的关系复杂时,想用大脑去记住所有的关系是很困难的,也是没有必要的。
但如果不清楚这些关系,在使用视图(View)或者查询设计器(QueryDesigner)去提取这些表中的某些数据时,会无从下手。
VFP的数据库便可解决这些问题,使用它用户很容易地在很多的表间建立起关系,需要时,比如想生成一个视图(View)时,可以随时把这些关系显示出来。
(3)可以用VFP的数据库来生成一个新型的SQLView,它就SQL查询一样,但不同的是这个视图(View)是可编辑的。
这对于程序开发者来说非常有用,因为使用SQL可以优化操作。
这对于那些宁可使用SQLView而不愿使用数据工作期窗口的用户来说也是有利的。
同样,SQLView所得到的数据也可以作为查询、报表等的输出。
VFP中数据库的缺点(特别在VFP6.0)中:
一是不能用向导Wizard等来生成或者修改它们;二是使用起来显得有点笨拙,因为在使用一个属于数据库的表之前,必须先使用数据库,否则就会出错
.1.3数据库的使用范围
一般说来,对于那些关系复杂的多个数据表,使用VFP数据库来管理它们显然是方便的。
而对于单个的表,如果也为其建立一个数据库,除了使用此表时会额外增添一些工作外(例如建立数据库,每次使用时要打开数据库),并不会因建立数据库得到好处,显然得不偿失。
另外,在客户/服务器结构中,使用VFP的数据库会增加数据的安全性及一致性。
7.2建立数据库(.DBC文件)
建立一个VFP的数据库,可选择主菜单栏上的文件(File),再选“新”(New)选项。
或者单击主工具栏上的“新建”(New)按钮,系统显示出“新建”(New)对话框。
在此对话框中选择“数据库”(Database)钮后,单击“新文件”(NewFile),VFP显示出创建(Create)对话框,在用户给出新数据库的名字后,系统就会生成一个具有指定名字的数据库。
或者在项目管理器(ProjectManager)中,选择数据(Data)卡,然后选数据库(Database),然后选新建(New)。
用命令(或程序)方式来建立一个数据库,只需在命令窗口(或程序中)给出:
CREATEDATABASE<数据库名>
系统就会生成名字为<数据库>的数据库。
7.2.1打开、关闭和删除数据库
生成一个数据库时,此数据库是当前数据库,其名字马上显示在工具栏上的下拉列表框中。
要想打开一个已经存在的数据库,可使用命令(或程序)方式,由于数据库不是表,因此使用的不是USE命令,而是OPEN命令,在命令窗口(或程序中)只需给出:
OPENDATABASE<数据库名>
便可以打开名字为<数据库名>的数据库。
还可以打开多个数据库(以便引用多个数据库),这时所有打开的数据库名字都列在主工具栏的下拉表中,这样可通过下拉表选择其中一个数据库为当前数据库。
也可以使用SET命令:
SETDATABASETO<数据库名>
把名字为<数据库名>的数据库置为当前数据库。
命令CLOSEDATABASES关闭所有的数据库和表,并把工作区1置为当前工作区。
命令CLOSEALL除了关闭所有打开的数据库和表,并把工作区1置为当工作区外,还关闭某些窗口,例如:
表单设计器(FormDesigner)、标签设计器(LabelDesigner)、查询设计器(QueryDesigner)和报表设计器(ReportDesigner)等。
打开数据库后,象以前使用表一样,可以使用当前数据库所有表。
此外,还可以通过数据库设计器(DatabaseDesigner)用这些表来做更多的工作。
在生成一个数据库后,系统会马上显示出一个数据库设计器,如图7-1所示。
此时,数据库设计器(DatabaseDesigner)中不包含任何一个表。
图7-1数据库设计器中的表及之间的关系和右键菜单
平时要使用数据库中的表,可通过数据库(Database)菜单,或者数据库(Database)工具栏等。
从主菜单栏上“文件”(File)中选“打开”(open)项打开数据库所在的项目(.pjx)文件,调出项目管理器(ProjectManager),再在“全部”(All)卡或“数据”(Data)卡上选数据库文件,便可调出数据库设计器(DatabaseDesigner),此时便会出现数据库菜单和数据库工具栏。
要删除一个数据库,可在命令窗口中键入命令:
DELETEDATABASE<数据库名字>[DELETETABLES]
在命令中,若有[DELETETABLES]选项,则将数据库中所有的表一起从磁盘上永久删除。
若无此选项,则只删数据库,而数据库中的表都变成自由表。
7.2.2在数据库中创建新表
若想在数据库中创建一个新表,可以选用如下几种方法之一:
(1)在命令窗口中键入CREATE命令。
(2)在主菜单栏上选择“文件”(File),再选“新建”(New),或者单击工具栏上的“新建”(New)钮,然后再选新表(NewFable)。
(3)选择数据库(Database)菜单,再选“新表”(NewTable)。
(4)右击数据库(Database),从右键菜单中选择“新表”(NewTable)。
(5)单击数据库(Database)工具栏上的新表(NewTable)钮。
只要数据库是打开的,用上面方法生成的新表就包含在这个数据库中,即使这个数据库并没有显示出来。
从操作中可以看出,除了原来在自由表上所进行的操作都可以使用外,数据库系统本身还提供了一系列的工具,让用户工作起来更方便。
进行上面任何一种操作,系统都会调出表设计器(TableDesigner)让用户在其中生成新表。
但是,在数据库中工作时,表设计器(TableDesigner)与以前的有些差别,它是以扩展形式来显示的,以便用户使用VFP的数据字典。
7.2.3添加一个表到数据库
若想把一个已经存在的表加到数据库中,可以选择数据库(Database)菜单,再选“添加表”(AddTable);或单击数据库工具栏上的添加表(AddTable)钮;或右击数据库并在右键菜单中选择添加表,系统就会显示出打开(Open)对话框,在其中打开需要的表:
或者使用命令:
ADDTABLE<表名字>
必须显式地增加一个已存在的自由表到数据库,才能使之成为该数据库的一部分。
修改自由表的结构并不会引起添加此自由表到数据库,即使用户发出MODIFYSTRUCTURE命令时数据库是打开的。
另外应记住:
一个表最多只能属于一个数据库,因此,若要把已经属于一个数据库的表加到另一个数据库中,必须先让它成为自由表。
7.2.4使用数据库中的表和视图
数据库中的表和视图View(数据库中视图详见第十一章)在数据库设计器(DatabaseDesigner)中以字段表显示出来,字段表的标题栏中显示的就是相应的表或视图View的名字。
用鼠标拖标题栏可以随意移动任何一个表或View,也可用拖的方法改变框的几何尺寸,就象以前窗口所施行的操作一样。
右击数据库设计器,在右键菜单中选择“全部折迭”(CollapseAll)可以把表和View都变成只留下一个标题栏。
选择“全部扩展”(ExpandAll)又可恢复原来的尺寸。
对数据库中的表或View,可以随意地浏览(Browse);或者单击数据库工具栏上的“浏览表”(BrowseTable)钮,也可以在浏览窗口中浏览指定的表或View;最简单的操作是双击数据库设计器中想浏览的表或View的标题栏,便可出现浏览窗口。
在浏览窗口中可以进行原来对自由表的任一操作。
修改操作与浏览操作类似,用鼠标器单击数据库中要修改的表后,选择数据库(Database)菜单,再选修改(Modifty)选项;或者单击数据库工具栏上的“修改表”(ModifyTable)。
对于表,系统调出表设计器;对于View,系统调出视图设计器(ViewDesigner)。
在数据库设计器内右击,以及右击表或View,同样会出现相应的右键菜单,可以在这个菜单中选择需要进行的操作。
对于数据库中的表,也可以象对待自由表一样,用USE、BROWSE或者MODIFYSTRUCTURE来进行操作。
可以用“!
”符号去访问不是当前数据库中的表。
选择一个表后,选择数据库(Database)上的“移去”(Remove)菜单项,或者在数据库工具栏上选择“移去表”(RemoveTable),会出现一个对话框,用户可以选择是从数据库中移走它(即把它变为不再属于这个数据库的自由表),还是从磁盘上删除这个表。
使用命令:
REMOVETABLE<表名字>[DELETE]
加上选项[DELETE]即从磁盘上删除这个表,否则把它变为自由表。
也可用FREETABLE<表名>命令,不打开数据库将名为<表名>的表变为自由表。
因为没有自由View的说法,对于上面的操作,如果先指定的是一个View,则系统会直接将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七章 数据库Database 第七 数据库 Database