版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上一页下一页1第五章第五章 数据库的创建与操作数据库的创建与操作第一节第一节 数据库的建立与基本操作数据库的建立与基本操作 第三节第三节 多表操作多表操作第二节第二节 在数据库中操作表在数据库中操作表第四节第四节 数据的完整性数据的完整性上一页下一页2返 回第一节第一节 数据库的创建与基本操作数据库的创建与基本操作VFP的数据库是一个逻辑概念。它是一个容器或框架,可以存放一系的数据库是一个逻辑概念。它是一个容器或框架,可以存放一系列数据库对象,如:表、视图等。列数据库对象,如:表、视图等。数据库文件的扩展名为数据库文件的扩展名为dbc,同时会自动建立扩展名为,同时会自动建立扩展名为dct的数据
2、库备的数据库备注文件和一个扩展名为注文件和一个扩展名为dcx的数据库索引文件。的数据库索引文件。刚建立的数据库只是定义了一个空的数据库。必须在数据库中建立数刚建立的数据库只是定义了一个空的数据库。必须在数据库中建立数据表后,才能存放和操作数据。据表后,才能存放和操作数据。必须强调,在建立数据库之前,首先要完成数据库的设计。我们已经必须强调,在建立数据库之前,首先要完成数据库的设计。我们已经设计了教学管理系统的数据库:设计了教学管理系统的数据库: 一、一、 数据库的建立数据库的建立有三种方法可以建立数据库:有三种方法可以建立数据库:(1)在项目管理器中建立数据库在项目管理器中建立数据库(最重要和
3、简单、实用最重要和简单、实用)(2)通过通过“新建新建”对话框建立数据库对话框建立数据库(3)使用命令建立数据库使用命令建立数据库上一页下一页31. 在项目管理器中建立数据库在项目管理器中建立数据库要求首先建立项目并打开项目管理器。此时建立的数据库属于这个项要求首先建立项目并打开项目管理器。此时建立的数据库属于这个项目。目。具体方法通过操作实例:具体方法通过操作实例:假定项目为:管理假定项目为:管理(gl)数据库名:学生管理数据库名:学生管理(xsgl) 2. 通过通过“新建新建”对话框建立数据库对话框建立数据库此时建立的数据库不属于此时建立的数据库不属于“项目项目”。3. 使用命令交互建立数
4、据库使用命令交互建立数据库格式:格式:Create Database |?【例【例5.1】用命令方式创建学生管理数据库】用命令方式创建学生管理数据库xsgl。Set defa to e:syCREATE DATABASE xsgl上一页下一页4二、二、 数据库的基本操作数据库的基本操作1. 打开数据库打开数据库格式:格式:Open Database |? ExclusiveSharedExclusive:独占性打开:独占性打开Shared:共享性打开:共享性打开 【例【例5.2】用命令方式打开学生管理数据库】用命令方式打开学生管理数据库XSGL。解解在命令窗口中输入如下命令:在命令窗口中输入如
5、下命令:OPEN DATABASE xsgl上一页下一页52. 修改数据库修改数据库命令格式:命令格式:Modify Database NOEDIT【例【例5.3】用命令方式打开学生管理数据库】用命令方式打开学生管理数据库xsgl的设计器。的设计器。解解在命令窗口中输入如下命令:在命令窗口中输入如下命令:MODIFY DATABASE xsgl3. 关闭数据库:关闭数据库:命令格式:命令格式:Close Database ALL4. 删除数据库删除数据库命令格式:命令格式:Delete Database |? DELETE TABLESRECYCLE上一页下一页6第二节第二节 在数据库中创建操
6、作表在数据库中创建操作表一、一、 在数据库中新建表在数据库中新建表在数据库打开的情况下,新建的表为数据库表。在数据库打开的情况下,新建的表为数据库表。1、字段的显示属性、字段的显示属性(1)格式:控制字段在浏览窗口、表单、报表等显示时的样式。)格式:控制字段在浏览窗口、表单、报表等显示时的样式。(2)输入掩码:控制输入该字段的数据的格式。)输入掩码:控制输入该字段的数据的格式。(3)标题:把英文字段名显示为汉字。)标题:把英文字段名显示为汉字。2、字段有效性、字段有效性(1)规则:限制该字段的数据的有效范围。)规则:限制该字段的数据的有效范围。(2)信息:不符合规则时显示的信息。)信息:不符合
7、规则时显示的信息。(3)默认值:系统预置的值。)默认值:系统预置的值。(4)字段注释:增加可读性。)字段注释:增加可读性。上一页下一页7二、二、 向数据库导入自由表向数据库导入自由表 在项目管理器中选择数据库,再单击数据库下的表,单击在项目管理器中选择数据库,再单击数据库下的表,单击“添加添加”,在弹出的窗口中选择要添加的表的名称,单击在弹出的窗口中选择要添加的表的名称,单击“确认确认”。 也可用命令方式,先打开数据库及数据库设计器,然后单击工具栏中也可用命令方式,先打开数据库及数据库设计器,然后单击工具栏中的的“添加表添加表”按钮,选择某一个表即可。如向按钮,选择某一个表即可。如向XSGL数
8、据库中添加成绩表。数据库中添加成绩表。 OPEN DATABASE XSGL MODIFY DATABASE 然后单击工具栏中的然后单击工具栏中的“添加表添加表”按钮,选择按钮,选择cj表即可。表即可。三、三、 从数据库中移出表从数据库中移出表 依次选择【数据】依次选择【数据】【数据库】【数据库】展开【表】,从列表中选择要移出展开【表】,从列表中选择要移出的表,单击【移出】,系统会显示一个对话框,选择【移出】即可(如果的表,单击【移出】,系统会显示一个对话框,选择【移出】即可(如果选择【删除】,则直接从磁盘彻底删除该表)。移出的表不在项目管理器选择【删除】,则直接从磁盘彻底删除该表)。移出的表
9、不在项目管理器中,但仍在其文件夹中。中,但仍在其文件夹中。上一页下一页8一、一、 工作区的概念工作区的概念 在实际工作中,有时需要同时打开几个表。在实际工作中,有时需要同时打开几个表。Visual FoxPro允许同时最多打开允许同时最多打开32767个表进行操作。这就需要引进工作区的个表进行操作。这就需要引进工作区的概念。概念。 所谓工作区就是在内存中开辟的一块区域,用于存放被打开所谓工作区就是在内存中开辟的一块区域,用于存放被打开的表。系统最多可以开设的表。系统最多可以开设32767个工作区,这些工作区分别用数个工作区,这些工作区分别用数字字132767来标识,称为工作区号,前十个工作区还
10、可以使用字来标识,称为工作区号,前十个工作区还可以使用字母母AJ来标识,称为工作区的别名。工作区还可用在该区打开来标识,称为工作区的别名。工作区还可用在该区打开的表名来标识(也称为工作区的别名)。系统默认的工作区为的表名来标识(也称为工作区的别名)。系统默认的工作区为1 区,用户可以使用工作区的选择命令选择工作区,当前被选中区,用户可以使用工作区的选择命令选择工作区,当前被选中的工作区称为当前工作区,在当前工作区被打开的表称为的工作区称为当前工作区,在当前工作区被打开的表称为“当当前表前表”。只有。只有“当前表当前表”的相关信息显示在状态行并可以被方的相关信息显示在状态行并可以被方便的使用。便
11、的使用。第三节第三节 多表操作多表操作上一页下一页9二、二、 工作区的选择和互访工作区的选择和互访1 、 选择工作区的命令选择工作区的命令格式:格式: SELECT SELECT / 功能:选择指定的工作区为当前工作区。功能:选择指定的工作区为当前工作区。说明:说明:l l 每一个工作区某一时刻仅可以打开一个表文件。每一个工作区某一时刻仅可以打开一个表文件。l l 当使用当使用SELECT 0时表示选择当前未使用的最小工作区。时表示选择当前未使用的最小工作区。l l 可以使用可以使用SELECT( )函数测定当前的工作区号。函数测定当前的工作区号。l 命令命令USE IN ALIAS也能在指定
12、工作区打开也能在指定工作区打开表,但不改变当前工作区。表,但不改变当前工作区。【例【例5.4】分别在】分别在1,2工作区打开学生情况表工作区打开学生情况表(XSQK)、成绩表、成绩表(CJ)、二个、二个表,并选择当前工作区为表,并选择当前工作区为1区。区。.上一页下一页10Select 1Use xsqkSelect 2Use cjSelect 12 、 工作区的互访工作区的互访在当前工作区中使用其它工作区中表的数据,一定要在当前工作区表的字段在当前工作区中使用其它工作区中表的数据,一定要在当前工作区表的字段名前加上别名和连接符。名前加上别名和连接符。格式格式1:别名:别名.字段名字段名格式格
13、式2:别名:别名-字段名字段名【例【例5.5】分别在】分别在1,2工作区打开学生情况表工作区打开学生情况表(XSQK)、成绩表、成绩表(CJ)二个表,并二个表,并选择当前工作区为选择当前工作区为1区,用区,用DISPLAY显示两个工作区中当前记录的学号。显示两个工作区中当前记录的学号。USE CJ IN 2USE XSQK IN 1DISPLAY A.xh,b-xh上一页下一页11三、三、 表的关联操作表的关联操作 所谓表的所谓表的关联就是利用公共字段或关键字将两个或多个表连接在一起,关联就是利用公共字段或关键字将两个或多个表连接在一起,可以同时对这几个表进行操作,如同操作一个表那样方便。可以
14、同时对这几个表进行操作,如同操作一个表那样方便。 根据表中的记录对应的数量关系,关联可分为一对一的关联、一对多根据表中的记录对应的数量关系,关联可分为一对一的关联、一对多的关联和多对一的关联。其中的处于前方的表称为的关联和多对一的关联。其中的处于前方的表称为“父表父表”(或主表),(或主表),另一方称为另一方称为“子表子表”。 根据表的关联存续的时间长短,又根据表的关联存续的时间长短,又可分为可分为“永久关联永久关联”和和“临时关临时关联联”。永久关联只能在数据库表之间建立且数据库中可以看到的实际联系,永久关联只能在数据库表之间建立且数据库中可以看到的实际联系,而临时关联不要求是数据库表。建立
15、永久关联主要用于保证数据的完整性,而临时关联不要求是数据库表。建立永久关联主要用于保证数据的完整性,建立临时关联主要用于多表查询的连接操作。建立临时关联主要用于多表查询的连接操作。 建立关联的方法有多种,下面分别介绍。建立关联的方法有多种,下面分别介绍。返 回上一页下一页12 在在Visual FoxPro中可以通过表的关联来实现一个表的记录指针移动时,中可以通过表的关联来实现一个表的记录指针移动时,另一个表的指针也随之移动。此时我们把第一个表称为主动表(父表),第另一个表的指针也随之移动。此时我们把第一个表称为主动表(父表),第二个表称为被动表(子表)。一般主动表为多表,被动表为一表,建立的
16、关二个表称为被动表(子表)。一般主动表为多表,被动表为一表,建立的关联为联为“多对一多对一”关联。关联。1. 建立表之间的临时关联的命令建立表之间的临时关联的命令格式:格式: SET RELATION TO INTO /, INTO / ADDITIVE 功能:以当前表为主动表与其他一个或多个被动表建立关联。功能:以当前表为主动表与其他一个或多个被动表建立关联。 说明:说明:l l 主动表与被动表以公有字段建立关联,此时要求被动表(子表)必须以主动表与被动表以公有字段建立关联,此时要求被动表(子表)必须以此关键字建立索引,并且将其设定为主控索引。此关键字建立索引,并且将其设定为主控索引。l l
17、 一个主动表可以同时与多个被动表建立关联,如果指定了一个主动表可以同时与多个被动表建立关联,如果指定了ADDITIVE,则保留以前建立的关联,否则删除以前建立的关联。当建立多个关联时,主则保留以前建立的关联,否则删除以前建立的关联。当建立多个关联时,主动表的指针移动时,其他所有被动表的记录指针也随之移动。动表的指针移动时,其他所有被动表的记录指针也随之移动。 返 回上一页下一页13【例【例5.65.6】分别在分别在1,2工作区打开学生情况表工作区打开学生情况表(XSQK)、成绩表、成绩表(CJ)二个表,二个表,并按学号为关键字建立两表之间的关联,用并按学号为关键字建立两表之间的关联,用DISP
18、LAY显示学号为显示学号为“0901100210”成绩信息。成绩信息。 USE xsqk IN 1 index on xh tag xh USE cj IN 2 index on xh tag xh SET RELATION TO xhxh INTO a DISPLAY a.xh,a.xm,b.kcdm,b.cja.xh,a.xm,b.kcdm,b.cj FOR xhxh= 0901100210 2. 撤消关联的命令撤消关联的命令格式:格式: SET RELATION TO 或或 SET RELATION OFF INTO | 功能:撤销以当前表为主动表与其他一个或多个被动表建立的关联。功能:
19、撤销以当前表为主动表与其他一个或多个被动表建立的关联。返 回上一页下一页14一、在数据库中建立永久关联一、在数据库中建立永久关联建立永久关联的表必须是数据库表,并且已经按关联的关键字建立了索引。建立永久关联的表必须是数据库表,并且已经按关联的关键字建立了索引。永久关联是在数据库设计器中建立的。永久关联是在数据库设计器中建立的。【例【例5.75.7】已知学生管理系统的数据库已知学生管理系统的数据库xsglxsgl中的表中的表xsqk.dbfxsqk.dbf以以“xh”为主关为主关键字建立了主索引,表键字建立了主索引,表Cj.dbfCj.dbf以以“xh”建立了普通索引。试为这两个表建立建立了普通
20、索引。试为这两个表建立永久关联。永久关联。解:解:第一步:用系统第一步:用系统“文件文件”菜单的菜单的“打开打开”命令,打开数据库命令,打开数据库xsglxsgl。(也可以。(也可以在项目管理器中打开)在项目管理器中打开)第二步:在第二步:在xsqkxsqk的框中找到主索引的框中找到主索引“xh”,用鼠标将其拖动至,用鼠标将其拖动至CJCJ框中的索引框中的索引“xh”上,放开鼠标。即可建立两个表的永久关联。上,放开鼠标。即可建立两个表的永久关联。 返 回第四节第四节 数据的完整性数据的完整性上一页下一页15二、 数据的完整性数据的完整性数据的完整性就是指保证数据库中数据正确的特性。数据的完整性
21、就是指保证数据库中数据正确的特性。完整性控制的主要目完整性控制的主要目的在于防止不正确的数据进入数据库,在对数据库操作时一般通过的在于防止不正确的数据进入数据库,在对数据库操作时一般通过3类完整类完整性规则来保证数据库中数据的正确性,这就是性规则来保证数据库中数据的正确性,这就是“实体完整性实体完整性”、“域完整域完整性性”和和“参照完整性参照完整性”。 1. 实体完整性实体完整性 实体完整性是指表中不允许出现重复的记录。实体完整性是指表中不允许出现重复的记录。在在Visual FoxPro中我们中我们可以利用主关键字或候选关键字的特性来保证表中不出现重复的记录。可以利用主关键字或候选关键字的
22、特性来保证表中不出现重复的记录。 2. 域完整性域完整性 域完整性是指限制表中字段取值的有效性规则。域完整性是指限制表中字段取值的有效性规则。例如,在创建表时用例如,在创建表时用户定义字段的类型、宽度等都属于域完整性的范畴。除此之外,户定义字段的类型、宽度等都属于域完整性的范畴。除此之外,Visual FoxPro还在表设计器中提供了还在表设计器中提供了“字段有效性字段有效性”规则和规则和“显示显示”规则来进一规则来进一步保证域的完整性。步保证域的完整性。【例【例5.8】 修改修改CJ的结构,设置的结构,设置“成绩成绩”字段的有效值在字段的有效值在0100分之间,如分之间,如果输入的分数值不在此范围时,给出出错信息:果输入的分数值不在此范围时,给出出错信息:“分数输入错误!分数输入错误!”返 回上一页下一页16 3. 参照完整性参照完整性 参照完整性是指当插入、更新和删除一个表中的数据时,需要参照引参照完整性是指当插入、更新和删除一个表中的数据时,需要参照引用另一个表中的数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度绿色建筑认证合同
- 房屋买卖合同范本2024年:某高档住宅小区3篇
- 2024年度城市供水供气合同(特许经营权)
- 二零二四年度教育设备融资租赁合同11篇
- 饭店2024年度营销推广协议3篇
- 2024年度房地产买卖合同:卖家将一套住宅出售给买家3篇
- 外阴卵黄囊瘤的临床护理
- 2024年溶剂油行业现状分析:8月我国溶剂油市场出口新加坡约占52%
- 2024年度信息安全服务与技术保障合同2篇
- 2024年歌厅服务器租赁合同2篇
- 能源经济学复习题
- 《神经病学》癫痫-课件
- 血吸虫病防治知识考试复习题库(含答案)
- 国家开放大学一网一平台电大《可编程控制器应用实训》形考任务1及3试题答案
- comd能力模型怎么把抽象的要求具体化
- 人教版高中语文选修-中国古代诗歌散文欣赏:《蜀相杜甫》
- 35kV屋内配电装置安装施工方案
- 2023学年六年级英语核心素养测试题
- 机械设计基础(山东交通学院)智慧树知到答案章节测试2023年
- 2023年山西省太原市辅警协警笔试笔试真题(含答案)
- 全国2016年10月自考00323西方行政学说史试题及答案
评论
0/150
提交评论