版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 Visual FoxPro基础,【主要内容】 2.1 数据库与表的概述 2.2 数据库的操作 2.3表的基本操作 2.4数据完整性,【目的要求】 掌握数据库的基本操作 掌握表的基本操作 掌握排序、索引的基本操作 掌握表间关系的意义及设置,2.1.1数据库,在建立Visual FoxPro数据库时,实际建立的数据库是扩展名为“DBC:”的文件,与之相关的,还会自动建立一个扩展名为“DCT”的数据库备注文件和一个扩展名为“DCX”的数据库索引文件,其中“DCT”和“DCX”这两个文件是供Visual FoxPro数据库管理系统管理使用的,一般不能直接使用这些文件。,在Visual FoxP
2、ro中,数据库可以说是一个逻辑上的概念和手段,它通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一组织和管理。,2.1 数据库与表的概述,这两个文件是自动建立的 是供VF数据库管理系统管理使用的, 一般不能直接使用这些文件。,2.1.2 表,在关系数据库中,将关系称为表。在Visual FoXPro中,表就是规则的带有表头的二维表格,如图2.1所示。 表由表结构和表数据组成,表结构包括字段名、字段类型、字段宽度和小数位数等属性,表数据由表中的记录组成。,2.1.2 表,表中的行称为记录,表中的列称为字段,字段由字段变量和字段值组成。表中的第一行由字段变量组成,称为表头,字段变量是多值
3、变量。,2.1.3 数据库与表,数据库管理的重要对象之一就是表,表既可以由数据库管理,也可以单独存在。归数据库管理的表称为数据库表,不归任何数据库管理的表称为自由表。在Visual FoxPro中,通过数据库操作可以将相互关联的数据库表统一管理。,数据库表,自由表,数据库表和自由表可以相互转换 自由表添加到数据库中成为数据库表 数据库表移出数据库成为自由表 一个表只能属于一个数据库 如果要将表从一个数据库转到另一个数据库中,必须先将它移出前一个数据库,才能加入后一个数据库。,自由表和数据库表的关系,2.2 数据库的操作,数据库的基本操作主要包括数据库的建立、打开、修改、指定当前数据库和关闭等,
4、2.2.1 建立数据库,设置默认磁盘目录,使用设置命令,您希望的搜索路径,创建一个新的数据库-菜单法,1,2,3,新建文件名,单击”新建文件“按钮,4,新数据库文件名,新数据库文件名,创建一个新的数据库-菜单法,2命令方式,格式:CREATE DATABASE |? 参数“?”:如果不指定数据库文件名或使用参数“?”,都会弹出如图2-3所示的“创建”对话框。 用命令方式建立数据库不打开“数据库设计器”窗口,数据库只是处于打开状态,可以用MODIFY DATABASE命令或选择“显示”-“数据库设计器”-“数据库设计器”窗口,也可以不打开数据库设计器继续以命令方式操作。 建立数据库后,在“常用工
5、具栏的数据库列表中显示新建立的数据库名或已打开的数据库。,数据库的基本操作,2.2.2打开数据库,1.菜单方式 文件打开- 选择数据库文件(*.dbc)- 确定 “文件”菜单,选择“打开”,在“打开”窗口,在文件类型下拉框内,选择数据库类型,然后输入要打开的数据库名,“确定”按钮,进入“数据库设计器”窗口。 2.命令方式 【格式】 OPEN DATABASE |? 【举例】 在当前目录下打开“教职工”数据库。 open database D:zxd学生数据库,修改一个数据库,【格式】 MODIFY DATABASE |? 【功能】 修改编辑一个数据库。同时打开数据库和数据库设计器窗口 【举例】
6、 修改并编辑“教职工”数据库。 MODI data D:LIULI教职工,2.2.3 设置当前数据库,Visual FoxPro在同一时刻可以打开多个数据库,但在同一时刻只能有一个当前数据库。 【格式】 SET DATABASE TO 数据库文件名:指定一个已经打开的数据库为当前数据库。 如果不指定任何数据库,即输入命令: SET DATABASE TO 将会使得所有打开的数据库都不是当前数据库。 注意:所有的数据库都没有关闭,只是都不是当前数据库。 另外,也可以通过“常用”工具栏中的数据库下拉列表来指定当前数据库。如图27所示,2.2.4 关闭数据库,当数据库不再使用时应该关闭数据库。可以使
7、用CLOSE DATABASE命令关闭当前数据库,也可以使用CLOSE ALL命令关闭所有打开的数据库。 【格式】CLOSE DATABASE CLOSE ALL 【注意】关闭“数据库设计器窗口并不是关闭数据库,2.2.5 删除数据库,删除数据库文件时,首先关闭要删除的数据库,再执行删除数据库操作。 【格式】 DELETE DATABASE|?DELETETABLES RECYCLE 【举例】 删除指定路径D:LIULI下的“教职工”数据库。 DELE data D:LIULI教职工 DELETETABLES:表示在删除数据库的同时,删除数据库中的表。 RECYCLE:表示删除的内容放入回收站
8、。,建立表时,如果存在当前数据库,则建立的表为数据库表,否则,建立的表将是自由表。 表文件的扩展名“.DBF” 如果表中有备注型字段,系统生成一个主名与表名相同的扩展名为”.FPT”的备注文件。,2.3 表的基本操作,建立表时,应首先建立表的结构,再输入表中的数据。表结构是由字段组成的,每个字段包括: 字段名(FIELD_NAME):栏名 字段类型(FIELD_TYPE):栏内数据类型 字段宽度(FIELD_LEN):栏内数据的宽度 小数位数(FIELD_DEC):数值数据的小数位数 NULL:是否接受空值,即不确定的值,2.3.1 表结构的建立,表的结构:由若干栏组成,每栏称为一个字段,每个
9、数据行称为一条记录,1、字段名是表中列的名称,必须以字母、汉字或下划线开头,可以包括字母、汉字、数字和下划线,,2、字段类型是表中每列数据的最大宽度,2、字段类型,字段宽度是表中每列数据的最大宽度,当字段类型为数值型、浮点型或字符型时,需要指定字段宽度,数值型和浮点型的宽度包括符号位、数字、小数点,各占一个字节;字符型和二进制字符型的宽度确定方法为汉字、全角字符占两个字节,半角字符、数字等占一个字节; 其他类型字段的宽度均由Visual FoxPro统一规定, 货币型、双精度、日期型、日期时间型:8字节 备注型、通用型、整型字段:4字节 逻辑型:1字节,3、字段宽度,数值型字段、浮点型字段和双
10、精度型字段可规定小数位数,小数位数至少应比该字段的宽度值小2。,4、小数位数,NULL表示本字段是否接受空值NuLL, 空值是指不确定的值。,5、NULL,6.建立表结构,建立表时,首先要确定表中各字段的上述属性,即确定表的结构。表2-1给出了XSBDBF表中各字段的属性。,6.建立表结构,创建一个新表的方法: 菜单法:“文件” “新建” “表”“表设计器” 命令法:create 表文件名/? 工具法:“新建”工具“表”“表设计器”,创建一个新表-表设计器法,打开表设计器,1,2,3,新建表文件名程,单击”新建表“按钮,创建一个新的表,定义表结构,字段信息,能够接收NULL值标记,对字段加以注
11、释,以提醒自己或其它用户,清楚地掌握字段的属性、意义及特殊用途等,对字段加以注释,1为字段输入注释,进行字段标题的设置,清楚概括学号字段的属性;长度可达128,2设置默认字段值 为了提高表中数据输入的速度和准确性, 设置字段数据的默认值时,注意字段的类型;字符型数据要加定界符“ ”,日期型数据要用到字符日期转换函数(CTOD)等,对入学时间设置默认值,为提高表中数据输入的速度和准确性,除了定义字段的默认值外,还可以定义字段格式和掩码。如,学号字段只接受数字字符,对学号字段设置输入掩码,3设置字段的格式和掩码,禁止在字符串的前后输入空格,格式掩码中可用的功能符和格式符,4设置字段的有效性规则,点
12、击“字段有效性”中“规则”框的三点按钮,可在表达式生成器中设置字段的格式,对学号字段设置规则,违反规则的出错信息,二、 用命令方式创建表,CREATE TABLE 命令,语法,CREATE TABLEDBF TableName FREE (FieldName1 FieldType(nFieldWidth,nPrecision) ,FieldName2 .),表名,自由表,字段名,字段类型,字段长度,小数点位数,范例,直接录入数据:创建完表结构后,在输入数据记录对话框中选择“是”,如下图示,选择“是”,立即输入记录,2.3.2 表的数据录入,2 追加录入数据-对于已经建立好的表,在表的浏览状态下
13、选“显示/追加方式”,可自动在尾部追加N条记录 选“表/追加新记录”,只允许添加一条记录 选“表/追加记录”,从选定文件向当前表添加多条记录,格式一:APPEND BLANK 短语BLANK表示追加一条空记录 格式二:APPEND FROM |? FIELDS SDF 格式三:INSERT INTO (字段1,字段2,) VALUE (表达式1,表达式2,);,命令方式:,菜单方式:,输入数据,选中该项后才能输入汉字,2.3.2 表的数据录入,打开图像文件后将它复制下来,在Visual FoxPro中粘贴该图像,按【Ctrl + W】键保存该图像,1,2,3,2.3.2 表的数据录入,修改数据
14、记录,1,2,双击要修改记录的”照片“字段后打开通用字段编辑窗口,双击照片后打开图像编辑软件,输入记录时的注意事项,逻辑型字段宽度为1,只接受T,Y,F,N这4个字母之一(大小写均可) 日期型数据必须与系统日期格式相符 SET DATE MDY可将系统日期格式转换为美国日期格式mm/dd/yy,(1)把光标定位于“memo”或“gen”。 (2)按Ctrl+PgDn,Ctrl+PgUp或Ctrl+Home等组合键之一或双击鼠标,出现“memo”或“gen”编辑窗口。 (3)输入或编辑数据后,按Ctrl+W或单击关闭按钮,以储存数据和返回数据输入窗口;如果按Ctrl+Q或Esc键则放弃当前所输入
15、的信息而返回。 (4)在备注型或通用型字段数据输入后,该记录的“memo”或“gen”中的第一个字母被改写成大写,变为“Memo”或“Gen”。 备注型与通用型字段值存储在与表文件同名,但扩展名为.FPT的备注文件中。,备注型与通用型字段的输入与编辑,备注型与通用型字段中已填有memo和gen等内容, 等待输入有关数据。操作如下:,2.3.3 表的显示 1.显示表结构 1)菜单方式:显示-表设计器 2)在数据库设计器中显示:右击要显示的表, -快捷菜单选择“修改” 3)命令方式 【格式】DISPLAY|LIST STRUCTURE 【功能】显示表文件的字段结构。,命令格式:,FOR WHILE
16、 ,说明:不使用条件和范围短语时,LIST显示全部记录,DISPLAY显示当前记录 范围:ALL:对表中全部记录进行操作; NEXT:对从当前记录在内的以下连续N条记录进行操作; RECORD:只对第N条记录进行操作; REST:对从当前记录到文件尾的所有记录进行操作。 FIELDS子句:指明当前操作涉及表的哪些字段,字段名间用“,”隔开,2.显示表记录,注意:FOR与WHILE子句均指明进行操作的记录的条件。 1.范围缺省时,FOR子句默认为ALL;WHILE子句则只从当前记录开始按条件筛选 2.当发现一个记录不满足条件时,FOR子句跳过该记录继续检查下去;WHILE子句则只操作到这个不满足
17、条件的记录为止。 若两者同时出现,则优先处理WHILE子句,说明:命令与子句,子句与子句,子句的各部分间须至少以一个空格隔开;且各子句的书写顺序任意,区别:,1.修改表结构,菜单方式: 1.选定要打开的表:文件/打开 2.打开表设计器:显示/表设计器 命令方式:USE MODIFY STRUCTURE,添加字段,删除字段,修改字段内容,按着拖动改变字段位置,2.3.4 表的修改,1,2,选择”修改“菜单项,修改表结构,在数据库设计器中修改:右击要修改的数据库表-修改,1.修改表结构,2.修改表数据,在浏览状态下可以直接修改表中的数据,对于大批数据的修改,可用REPLACE命令: REPLACE
18、 WITH , with 表达式2FOR ,REPLACE命令功能:根据命令中指定的条件和范围,用表达式的值去更新指定字段的内容。 说明:WITH后面表达式的类型必须与WITH前面字段的类型一致 。,【例】 修改“学生”表的结构,增加“年龄”字段;将所有学生2004年的年龄填入该字段。 USE 学生 MODIFY STRU & 在表设计中添加入学时间字段,确定 replace all 入学时间 with 2008/9/1,2.3.5 表的浏览,菜单方式:在表打开的状态下,显示/浏览 命令方式:BROWSE 在数据库设计器中浏览:右击要修改的数据库表-浏览,表记录的删除可分为逻辑删除和物理删除两
19、种操作。 逻辑删除还可以恢复,即去掉删除标记 物理删除则不可恢复。,2.3.6表记录的删除,可在“浏览”或“编辑”窗口中删除记录 点击作删除标记 选“表/彻底删除”对打了删除标记的记录作真正删除,删除标记当再次单击时,为取消标记,删除记录分两步进行:第一步将要删除的记录做删除标记, 第二步才将记录真正从表中删除。,1逻辑删除记录,若要有选择的删除一组记录,可单击“表/删除记录”,填写对话框。例如:,可将学生表中“入学成绩,3、指定工作区,2.3.11 表的索引,1索引概述 索引是一种快速查询和定位技术。若要按特定的顺序定位、查看或操作表中的记录,可以通过索引完成相关的操作。 在Visual F
20、oxPro中,索引不仅提供一种排序机制,还提供关键字技术。 索引是一种逻辑排序方法,它不改变当前表文件记录的物理排序顺序,而是建立一个与该表文件相对应的索引文件。 即创建一个由指向DBF文件记录的指针构成的文件。,2索引关键字,如果一个字段集的值能唯一标识表中的记录而又不含有多余的字段,则称该字段集为候选关键字。一个表中可以有多个候选关键字,可以选择其中一个作为主关键字,简称关键字。 每一个表都有且只有一个主关键字。 在Visual FoxPro中,用候选索引表示候选关键字,用主索引表示主关键字。,(1)关键字,2索引关键字,如果一个字段集不是所在表的关键字,而是其他表的关键字,则称该字段集为
21、外部关键字。 外部关键字常用来实现表与表之间的关系和表与表之间的参照完整性。,(2)外部关键字,3索引文件类型,索引文件分为单索引文件和复合索引文件, 复合索引文件又分为独立复合索引文件和结构复合索引文件。 单索引文件是扩展名为“IDX”的索引文件,用命令方式建立。 独立复合索引文件是文件名与表名不同,扩展名“CDX”的复合索引文件,用命令方式建立。 结构复合索引文件是文件名与表名相同,扩展名为“CDX”的复合索引文件,用命令方式和表设计器均可建立。,4索引类型,分类:分为主索引、候选索引、唯一索引和普通索引 (1)主索引 主索引的重要作用在于它的主关键字特性,主关键字的特性如下: 主索引只能
22、在数据库表中建立且只能建立一个。 被索引的字段值不允许出现重复的值。 被索引的字段值不允许为空值。,如果一个表为空表,那么可以在这个表上直接建立一个主索引。 如果一个表中已经有记录,并且将要建立主索引的字段含有重复的字段值或者有空值,那么Visual FoxPro将产生错误信息。 如果一定要在这样的字段上建立主索引,则必须先删除有重复字段值的记录或有空值的记录。,(2)候选索引,候选索引和主索引具有相同的特性。建立候选索引的字段可以看作是候选关键字,一个表可以建立多个候选索引。候选索引与主索引一样,要求字段值的唯一性并决定了处理记录的顺序。 在数据库表和自由表中均可以为每个表建立多个候选索引。
23、 (3)唯一索引 唯一索引只在索引文件中保留第一次出现的索引关键字值。唯一索引以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。 在数据库表和自由表中均可以为每个表建立多个唯一索引。,(4)普通索引,普通索引不仅允许字段中出现重复值,并且索引项中也允许出现重复值。它将为每一个记录建立一个索引项,而不管被索引的字段是否有重复记录值。 主索引和候选索引具有相同的功能,除具有按升序或降序索引的功能外,都还具有关键字的特性。建立主索引或候选索引的字段值可以保证唯一性,它拒绝出现重复的字段值。,5索引文件的建立,可以使用INDEX命令或在表设计器中建立索引。命令方式可以建立单索引文件、独立复合索引文件和结构复合索引文件, (1)在表设计器中建立结构复合索引 在表设计器中,“索引”选项卡用来建立或编辑索引, 索引名:通过索引名使用索引, 类型:主索引、候选索引、普通索引、唯一索引中的一种。 表达式:指定索引表达式,可以是包含表中字段的合法表达式。可以是单独的一个字段,如学号;也可以是包含字段的表达式;还可以包含多个字段,多个字段类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加气混凝土切割工岗前安全技能考核试卷含答案
- 2026年工业视觉检测系统实现精密制造缺陷零漏检应用案例
- 媒体编辑岗位的面试技巧与问题
- 2026年AI驱动的产品设计用户反馈分析
- 校园数据备份与灾备方案
- 再生骨料在桩基中的应用方案
- 桩基施工设备选型方案
- 基坑土方施工中的降水与排水设计方案
- 排水检查井安装技术方案
- 施工现场土方开挖进度控制方案
- 2025年湖南交通职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 《土地性质及分类》课件
- 2024年新修订烈士褒扬条例解读全文学习课件
- 冀教版六年级下册数学全册单元知识小结
- 公共政策导论全套教学课件
- 渔业资源调查与评估
- 食管癌中医护理方案
- 妇女儿童权益法律知识讲座
- 奥迪A6L使用说明书
- 智慧供应链管理PPT完整全套教学课件
- 医院课件:《规范医疗服务收费行为培训》
评论
0/150
提交评论