数据库文件的建立与操作

上传人:工**** 文档编号:567668382 上传时间:2024-07-22 格式:PPT 页数:37 大小:399.50KB
返回 下载 相关 举报
数据库文件的建立与操作_第1页
第1页 / 共37页
数据库文件的建立与操作_第2页
第2页 / 共37页
数据库文件的建立与操作_第3页
第3页 / 共37页
数据库文件的建立与操作_第4页
第4页 / 共37页
数据库文件的建立与操作_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《数据库文件的建立与操作》由会员分享,可在线阅读,更多相关《数据库文件的建立与操作(37页珍藏版)》请在金锄头文库上搜索。

1、目 录上一页下一页退 出数据库文件的建立与操作Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望目 录上一页下一页退 出本本 章章 要要 点点3.1 数据库的基本概念数据库的基本概念3.2 建立数据库文件建立数据库文件3.3 数据库操作数据库操作目 录上一页下一页退 出3.1 数据数据库的基本概念库的基本概念数数据据的概念包括两个方面,即数据内容和数据形式。数据内容是指所描述客观事物的具体特性,也就是通常所说数据的“值”;数据形式则是指数据内容存储在媒体上的具体形式,也就是通常所说数据

2、的“类型”。数据主要有数字、文字、声音、图形和图像等多种形式。数据库数据库 数据库(DataBase,DB)是指数据库系统中以一定组织方式将相关数据组织在一起,存储在外部存储设备上所形成的、能为多个用户共享的、与应用程序相互独立的相关数据集合。目 录上一页下一页退 出数据模型数据模型 数据模型是指数据库中数据与数据之间的关系。 数据模型是数据库系统中一个关键概念,数据模型不同,相应的数据库系统就完全不同,任何一个数据库管理系统都是基于某种数据模型的。数据库管理系统常用的数据模型有下列三种: 层次模型 网状模型 关系模型。目 录上一页下一页退 出1层次数据模型(层次数据模型(Hierarchic

3、al Model) 用树形结构表示数据及其联系的数据模型称为层次模型。 树是由结点和连线组成,结点表示数据集,连线表示数据之间的联系,树形结构只能表示一对多联系。通常将表示“一”的数据放在上方,称为父结点;而表示“多”的数据放在下方,称为子结点。树的最高位置只有一个结点,称为根结点。根结点以外的其他结点都有一个父结点与它相连,同时可能有一个或多个子结点与它相连。没有子结点的结点称为叶结点,它处于分枝的末端。 层次模型的基本特点: (1)有且仅有一个结点无父结点,称其为根结点; (2)其他结点有且只一个父结点。 支持层次数据模型的DBMS称为层次数据库管理系统,在这种系统中建立的数据库是层次数据

4、库。层次模型可以直接方便地表示一对一联系和一对多联系,但不能用它直接表示多对多联系。目 录上一页下一页退 出2网状数据模型(网状数据模型(Network Model) 用网络结构表示数据及其联系的数据模型称为网状模型。网状模型是层次模型的拓展,网状模型的结点间可以任意发生联系,能够表示各种复杂的联系。 网状模型的基本特点: (1)一个以上结点无父结点 (2)至少有一结点有多于一个的父结点 网状模型和层次模型在本质上是一样的,从逻辑上看,它们都是用结点表示数据,用连线表示数据间的联系,从物理上看,层次模型和网络模型都是用指针来实现两个文件之间的联系。层次模型是网状模型的特殊形式,网状模型是层次模

5、型的一般形式。 支持网状模型的DBMS称为网状数据库管理系统,在这种系统中建立的数据库是网状数据库。网络结构可以直接表示多对多联系,这也是网状模型的主要优点。目 录上一页下一页退 出3关系模型(关系模型(Relational Model) 人们习惯用表格形式表示一组相关的数据,既简单又直观,如表1-1就是一张学生基本情况表。这种由行与列构成的二维表,在数据库理论中称为关系,用关系表示的数据模型称为关系模型。在关系模型中,实体和实体间的联系都是用关系表示的,也就是说,二维表格中既存放着实体本身的数据,又存放着实体间的联系。关系不但可以表示实体间一对多的联系,通过建立关系间的关联,也可以表示多对多

6、的联系。 关系模型是建立在关系代数基础上的,因而具有坚实的理论基础。与层次模型和网状模型相比,具有数据结构单一、理论严密、使用方便、易学易用的特点,因此,目前绝大多数数据库系统的数据模型,都是采用关系数据模型,成为数据库应用的主流。 Visual FoxPro是一种典型的关系型数据库管理系统。目 录上一页下一页退 出表1-1学生基本情况表学号姓名性别班级名系别代号地址出生日期是否团员备注011110李建国男计012101湖北武汉1984-9-28是011103李宁女电013402江西九江1985-5-6否011202赵娜女英011203广西南宁1984-2-21否021204孙亮男电01340

7、2湖南长沙1986-9-8是011111赵琳女计012101江苏南京1985-11-18是021405罗宇波男英011203江苏南通1985-12-12否目 录上一页下一页退 出关系数据库系统关系数据库系统关系的基本概念及其特点 1关系的基本概念关系的基本概念 (1)关系 一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。例如,表1-2考生简况和表1-3考生考试成绩就代表两个关系,“考生简况”及“考生考试成绩”则为各自的关系名。 在Visual FoxPro中,一个关系对应于一个表文件,简称为表,关系名则对应于表文件名或表名。 目 录上一页下一页

8、退 出表1-2考生简况表准考证号身份证号姓名性别出生日期工作单位电话号码250199990001420106701201396赵娜女12/01/70武汉水利电力大学87874532250199990002420102730415317李小军男04/15/73武汉电建一公司82835762250199990003420104690505496张晓云女05/05/69武汉大学87871279250199990004420106701106397刘志学男11/06/70华中理工大学87651842250199990005420105710823495孙亮男08/23/71湖北大学8686801425

9、0299990006420106720928497李建国男09/28/72湖北工学院88014673目 录上一页下一页退 出表1-3考生考试成绩表准考证号姓名性别出生日期笔试成绩上机成绩总分250199990001赵娜女12/01/708592177250199990002李小军男04/15/737380153250199990003张晓云女05/05/696475139250199990004刘志学男11/06/709590185250199990005孙亮男08/23/716774141250299990006李建国男09/28/725357110目 录上一页下一页退 出关系的基本特点关系

10、的基本特点 在关系模型中,关系具有以下基本特点: (1)关系必须规范化,属性不可再分割 规范化是指关系模型中每个关系模式都必须满足一定的要求,最基本的要求是关系必须是一张二维表,每个属性值必须是不可分割的最小数据单元,即表中不能再包含表。 (2)在同一关系中不允许出现相同的属性名 (3)在同一关系中元组及属性的顺序可以任意 (4)任意交换两个元组(或属性)的位置,不会改变关系模式。 以上是关系的基本性质,也是衡量一个二维表格是否构成关系的基本要素。在这些基本要素中,有一点是关键,即属性不可再分割,也即表中不能套表。目 录上一页下一页退 出关系数据库 以关系模型建立的数据库就是关系数据库(Rel

11、ationalDataBase,RDB),关系数据库系统的DBMS是关系型数据库管理系统(RelationalDataBaseManagementSystem,RDBMS)。 关系数据库中包含若干个关系,每个关系都由关系模式确定,每个关系模式包含若干个属性和属性对应的域,所以,定义关系数据库就是逐一定义关系模式,对每一关系模式逐一定义属性及其对应的域。 一个关系就是一张二维表格,表格由表格结构与数据构成,表格的结构对应关系模式,表格每一列对应关系模式的一个属性,该列的数据类型和取值范围就是该属性的域。因此,定义了表格就定义了对应的关系。 在VisualFoxPro系统中,与关系数据库对应的是数

12、据库文件,一个数据库文件包含若干个表,表由表结构与若干个数据记录组成,表结构对应关系模式;每个记录由若干个字段构成,字段对应关系模式的属性,字段的数据类型和取值范围对应属性的域。目 录上一页下一页退 出关系运算 在关系数据库中查询用户所需数据时,需要对关系进行一定的关系运算。关系运算主要有选择、投影和联接三种。 选选择择(Selection)运算是从关系中查找符合指定条件元组的操作。投投影影(Projection)运算是从关系中选取若干个属性的操作。联联接接(Join)运算是将两个关系模式的若干属性拼接成一个新的关系模式的操作,对应的新关系中,包含满足联接条件的所有元组。目 录上一页下一页退

13、出1选择(选择(Selection) 选择运算是从关系中查找符合指定条件元组的操作。 以逻辑表达式指定选择条件,选择运算将选取使逻辑表达式为真的所有元组。选择运算的结果构成关系的一个子集,是关系中的部分元组,其关系模式不变。 选择运算是从二维表格中选取若干行的操作,在表中则是选取若干个记录的操作。 在VisualFoxPro中,通过命令子句FOR、WHILE和设置记录过滤器实现选择运算。目 录上一页下一页退 出例如,表1-2按照“性别=”女“”的条件进行选择运算,可得到如下结果。表1-4 选择运算结果准考证号姓名性别出生日期笔试成绩上机成绩总分250199990001赵娜女12/01/7085

14、92177250199990003张晓云女05/05/696475139目 录上一页下一页退 出2投影(投影(Projection) 投影运算是从关系中选取若干个属性的操作。投影运算从关系中选取若干属性形成一个新的关系,其关系模式中属性个数比原关系少,或者排列顺序不同,同时也可能减少某些元组。因为排除了一些属性后,特别是排除了原关系中关键字属性后,所选属性可能有相同值,出现相同的元组,而关系中必须排除相同元组,从而有可能减少某些元组。 投影是从二维表格中选取若干列的操作,在表中则是选取若干个字段。因VisualFoxPro允许表中有相同记录,如有必要,只能由用户删除相同记录。 在VisualF

15、oxPro中,通过命令子句FILEDS和设置字段过滤器,实现投影运算。目 录上一页下一页退 出例如,选取表1-3中姓名、笔试成绩、上机成绩三列的投影操作,可得到如表1-5所示结果。表1-5 投影运算结果姓名笔试成绩上机成绩赵娜8592李小军7380张晓云6475刘志学9590孙亮6774李建国5357目 录上一页下一页退 出3联接(联接(Join) 联接运算是将两个关系模式的若干属性拼接成一个新的关系模式的操作,对应的新关系中,包含满足联接条件的所有元组。联接过程是通过联接条件来控制的,联接条件中将出现两个关系中的公共属性名,或者具有相同语义、可比的属性。 联接是将两个二维表格中的若干列,按同

16、名等值的条件拼接成一个新二维表格的操作。在表中则是将两个表的若干字段,按指定条件(通常是同名等值)拼接生成一个新的表。 在VisualFoxPro中,联接运算是通过JOIN命令和SELECTSQL命令来实现的。目 录上一页下一页退 出例如,将表1-2和表1-3中若干列,以“准考证号”列为依据,联接生成一个新的表格,结果如图1-6所示。图1-6 联接运算结果准考证号姓名性别工作单位笔试成绩上机成绩总分250199990001赵娜女武汉水利电力大学8592177250199990002李小军男武汉电建一公司7380153250199990003张晓云女武汉大学6475139250199990004

17、刘志学男华中理工大学9590185250199990005孙亮男湖北大学6774141250299990006李建国男湖北工学院5357110目 录上一页下一页退 出关系的完整性约束关系的完整性约束 关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和用户定义完整性(又称域完整性),其中实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。目 录上一页下一页退 出1实体完整性实体完整性 实体完整性是指关系的主关键字不能取“空值”。 一个关系对应现实世界中一个实体集,如表1-2所示关系就对应一组考生的集合。现实世界中的实

18、体是可相互区分、识别的,也即它们应具有某种惟一性标识。在关系模式中,以主关键字作唯一性标识,而主关键字中的属性(称为主属性)不能取空值,否则,表明关系模式中存在着不可标识的实体(因空值是“不确定”的),这与现实世界的实际情况相矛盾,这样的实体就不是一个完整实体。按实体完整性规则要求,主属性不能取空值,如主关键字是多个属性的组合,所有主属性均不得取空值。 如表1-2将“准考证号”列作为主关键字,那么,该列不得有空值,否则无法对应某个具体的考生,这样的表格不完整,对应关系不符合实体完整性规则的约束条件。目 录上一页下一页退 出2参照完整性参照完整性 参照完整性是定义建立关系之间联系的主关键字与外部

19、关键字引用的约束条件。 关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。所谓公共属性:它是一个关系R(称为被参照关系或目标关系)的主关键字,同时又是另一关系K(称为参照关系)的外部关键字。如果参照关系K中外部关键字的取值,要么与被参照关系R中某元组主关键字的值相同,要么取空值,那么,在这两个关系间建立关联的主关键字和外部关键字引用,符合参照完整性规则要求。如果参照关系K的外部关键字也是其主关键字,根据实体完整性要求,主关键字不得取空值,因此,参照关系K外部关键字的取值实际上只能取相应被参照关系K中已经存在的主关键字值。目 录上一页下一页退 出表1-7(

20、a)和(b)分别对应“教师”关系与“课程”关系。如果将教师表作为参照关系,课程表作为被参照关系,以“课程编号”作为两个关系进行关联的属性,则“课程编号”是“课程”关系的主关键字,是“教师”关系的外部关键字。 表1-7 关系的 参照完整性 (a)教师表 (b) 课程表职工号教师姓名课程编号01011张平阳02301001李慧荣08902005陈发意00802019刘大鹏课程编号课程名称计划课时数019计算机基础72023数据库应用72089高等数学144010英语144目 录上一页下一页退 出3用户定义完整性用户定义完整性 实体完整性和参照完整性适用于任何关系型数据库系统,主要是对关系的主关键字

21、和外部关键字取值必须有效做出的约束。用户定义完整性则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应由关系模型提供定义并检验。用户定义完整性主要包括如下两方面: (1)字段有效性约束。 (2)记录有效性约束。目 录上一页下一页退 出3.2 建立数据库 数据库是表的集合。从Visual FoxPro 3.0开始引入了真正意义上的数据库概念。把一个二维表定义为表,把若干个关系比较固定的表集中起来放在一个数据库中管理,在表间建立关系,设置属性和数据有效性规则使相关联的表协同工作。数据库文件具有.dbc扩展名,其中可以包含一个或多个表

22、、关系、视图和存储过程等。一个Visual FoxPro表或.dbf文件,能够存在以下两种状态之一:与数据库相关联的数据库表,与数据库不关联的自由表。二者的绝大多数操作相同且可以相互转换。相比之下,数据库表的优点要多一些。当一个表是数据库的一部分时,它就可以具有以下内容: 长表名和表中的长字段名 表中字段的标题和注释 默认值、输入掩码和表中字段格式化 表字段的默认控件类要 点目 录上一页下一页退 出3.2.1 建立数据库1命令方式命令方式【格式】CREATE DATABASE |?【功能】建立一个新的扩展名为.DBC的数据库文件并打开此数据库。 【说明】指定生成的数据库文件,若省略扩展名,则默

23、认为.DBC,同时也自动建立相关联的数据库备注文件扩展名为.DCT,关联的索引文件扩展名为.DCX。如果未指定数据库文件名或用“?”代替数据库名,Visual FoxPro系统会弹出创建对话框,以便用户选择数据库建立的路径和输入数据库名。保存后该数据库文件被建立,并且自动以独占方式打开该数据库。3.2 建立数据库目 录上一页下一页退 出2菜单方式菜单方式用菜单方式建立数据库的具体步骤如下:(1)选择【文件】【新建】出现新建对话框。(2)选择“数据库”单选按钮,再单击“新建文件”按钮,出现“创建”对话框。(3)在“创建”对话框中输入文件名。选择“保存”按钮,系统自动打开数据库文件,并且将数据库设

24、计器也自动打开。3利用项目管理器建立数据库利用项目管理器建立数据库打开已建立的项目文件,出现项目管理器窗口,选择“数据”标签的“数据库”,然后单击“新建”按钮。出现新建数据库对话框,单击“新建数据库”按钮,出现“新建”对话框,选择数据库的路径并输入数据库名后单击“保存”按钮,完成数据库的建立,并打开该数据库设计器。目 录上一页下一页退 出“数据库设计器”窗口目 录上一页下一页退 出3.3 数据库操作数据库操作3.3.1数据库的基本操作1打开数据库:可以用菜单方式和命令方式打开数据库用菜单方式打开数据库的方法是:在VisualFoxPro6.0的主窗口菜单中选“文件(F)”/“打开(O)”,出现

25、打开对话框,在其中文件类型的下拉菜单中选“数据库”,再在文件名栏中输入欲打开的“数据库名”,单击“确定”按钮。用命令方式打开数据库的操作是,在命令窗口中输入命令:“OPENDATABASE数据库名”后,按回车键。目 录上一页下一页退 出在命令“OPENDATABASE数据库名”后也可以使用下列参数:NOUPDATEEXCLUSIVE或SHAREDVALIDATE其中:NOUPDTE:指定不能对数据库做任何修改,即该数据库是只读数据库,但数据库中包含的表不受NOUPDATE的限制。若要防止对数据库中某个表的更改,请参阅下一章。EXCLUSIVE:表示以独占方式打开数据库。如果使用了此参数,则其他

26、用户无法访问该数据库,并且当他们试图访问时会发生错误。如果没有指定EXCLUSIVE或SHARED,则当前SETEXCLUSIVE的设置值将决定数据库以何种方式打开。SHARED:表示以共享方式打开数据库。如果以共享方式打开数据库,则其他用户可以同时访问该数据库。VALIDATE:是确保数据库中引用有效。VisualFoxPro6.0将检查磁盘上数据库中的表和索引是否可用,并且还检查被引用的字段和索引标识是否存于表和索引中。在VisualFoxPro6.0中,用OPENDATABASE命令可以打开多个数据库,用SETDATABASE命令可指不定期当前数据库。值得注意的是,当数据库打开后,其中包

27、含的所有表均可用,但必须用USE命令打开表,当执行查询或修改表单时,VisualFoxPro6.0可以自动打开数据库。目 录上一页下一页退 出2关闭数据库关闭数据库的命令是:CLOSEDATABASEALL该命令用来关闭当前数据库和表。若没有当前数据库,则关闭所有工作区内所有打开的自由表、索引和格式文件,并选择工作区1。可选参数ALL指定关闭所有打开的数据库和其中的表、所有打开的自由表、所有工作区内的索引和格式文件,并选择工作区1。CLOSE命令还可以加下列一些参数关闭各种类型的文件,其格式如下:CLOSEALL命令将关闭所有工作区中打开的数据库、表和索引,并选择工作区1。该命令也关闭项目管理

28、器、标签设计器、表单设计器、报表设计器和查询设计器,它也关闭任何用FCREATE()和FOPNE()低级文件功能打开的文件。但CLOSEALL不关闭命令窗口、调试窗口、帮助和跟踪窗口。CLOSEALTERNATE命令关闭用SETALTERNATE打开的替代文件。CLOSEFORMAT命令关闭当前工作区内用SETFORMAT打开的格式文件。CLOSEINDEXES命令关闭当前工作区内的有打开的索引文件,但不关闭结构复合索引。CLOSEPROCEDURE命令关闭用SETPROCEDURE打开的过程文件。CLOSETABLES命令关闭所有打开的数据库中的所有表,但不关闭数据库。若没有已打开的数据库,

29、则该命令关闭所有工作区内的自由表。ALL指定关闭所有工作区中的所有表,包括自由表,但不关闭任何数据库。目 录上一页下一页退 出1命令方式命令方式【格式】DELETE DATABASE 【功能】从磁盘上删除一个扩展名为.DBC的数据库文件。【说明】被删除的数据库不能处于打开状态。被删除的数据库中的表成为自由表。数据库文件名可以包括数据库的路径和数据库名字。如果用“?”代替数据库文件名,将显示打开对话框,用户可从打开对话框中选择要从磁盘上删除的数据库的名字。3.删除数据库目 录上一页下一页退 出2使用项目管理器使用项目管理器打开已建立的项目文件,出现项目管理器窗口,单击“数据”标签,选择要删除的“

30、数据库”,然后单击“移去”按钮。出现图3-4选择对话框,若选择“移去”仅将数据库从项目中移去,若选择“删除”将从磁盘上删除数据库。被删除的数据库中的表成为自由表。目 录上一页下一页退 出4查看数据库结构查看数据库结构,在命令窗口中输入如下命令:OPENDATABASE数据库名LISTDATABASE这时在主窗口中列出该数据库的数据库名、数据库路径、数据库版本和所含表等内容。也可以在命令窗口中输入下列命令:MODIFYDATABSE数据库名LISTDATABASE目 录上一页下一页退 出3.3.2在数据库中添加或移去表1.向数据库中添加表向数据库中添加表 具体操作如下:(1)打开要加入表的数据库

31、。(2)从“数据库”菜单中选择“添加表”。(3)从“打开”对话框中选定要添加的表名。(4)单击“确定”按钮。如果使用命令操作,则在命令窗口中输入下列命令(假设此表不在任何一个数据库中):OPENDATABASE数据库名ADDTABLE表名注意,数据表只能添加在一个数据库中,不能重复添加到其他数据库中,也就是说,同一个表不能添加在两个数据库中,如果要添加,将会报警。目 录上一页下一页退 出2.移去表的具体操作如下:(1)打开包含此表的数据库,选中移去的表。(2)从“数据库”菜单中选择“移去”。(3)系统询问是移去还是删除,选“移去”。(4)单击“是”按钮。如果用命令操作,则在命令窗口中输入下列命令:OPENDATABASE数据库名REMOVETABLE表名

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号