数据库的建立和操作



《数据库的建立和操作》由会员分享,可在线阅读,更多相关《数据库的建立和操作(94页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,*,第3章 数据库的建立和操作,zpz:,,本片中,凡是,SQL,的语句,可选讲,,内容,介绍数据库、数据表的基本概念,,数据库和数据表的建立,,编辑表中的数据、记录修改与删除,,表的索引等有关操作。,,概念,数据库(.,dbc,),,就是一个关于某一特定主题或目标的信息集合。,,表(.,dbf),,基本单位,是数据库的基础,,可以说表是关系数据库系统中的基本结构。,,要存数据,为所需记录的信息创建一个表。,,由行和列组成的,一行为一个记录,一列为一个字段。,,一行为一个记录(,Record),
2、一列为一个字段,(,Field),通常所说的表格,,二维表简称表(,Table),特征:,(1)若干记录,,(2)若干个字段,每记录具有相同结构的字段,,(3)不同类型的字段来存储不同类型的数据,,(4)字段的顺序与存储的数据无关,,(5)记录在的顺序与存储的数据无关。,,表的两,要素:,,表结构(列),,相应记录(行),,表结构,,表的字段,表是由记录组成,,记录又由字段组成,,,字段的属性(表结构),,字段名,,字段类型,,字段宽度,,小数位数,,1.字段名,约定:,,只能使用字母、汉字、下划线和数字,,见名知义,,,> < = + / \ | [ ] : ?
3、 空格,,字段名必须以字母或汉字开头,并且长度不能超过128个字符,,如:下列那些合法,,不以数字开头,×,3,mn,姓名1,,mn3,,,不能含有空格;,×,,m n,×,编 号,,不能含有各种运算符;,×,,S-N,S_N,,×,AI*X,,,,,2.字段类型,不同类型的字段来存储不同类型的数据,字符型,货币型,数值型,浮点型,日期型,日期时间型,双精度,整型,逻辑型,备注型,通用型,,,(1)字符型(,Character),,通常用于存储键盘输入的文本数据。,,汉字、字母、数字、空格、,,符号及标点符号,,字符型数据必用双引号或单引号或[]来定界,,字符型字段的宽度最大为254
4、 *****,,如:,,“,how” ‘1234’ [,中国人],,zpz:,,内存变量,,(2)货币型(,Currency),,保存货币数值时,用货币类型而不是数值类型字段,,,最多保留4位小数位数,多则四舍五入至4位,,,内存变量用$数值来赋初值,,如:,x=$999,,? Type(,‘,x,’,),zpz:,,内存变量,,(3)数值型(,Numeric),,数值型字段用来存储数值数据。,,它可以包含数字0~9,也可以带正、负号或小数点,,如:1234 100.89,,(4)浮点型(,Float),,浮点型字段在功能上等价于数值型字段。,zpz:,,内存
5、变量,N,,(5)日期型(,Date),,用于存储包含有年、月、日的日期数据,,长度为8字节,,(6)日期时间型(,DateTime,),,用于存储包含有年、月、日、时、分、秒的日期和时间数据。,,(7)双精度型(,Double),,双精度型用于存储精度要求较高、位数固定的数值,或真正的浮点数值。,zpz:,,内存变量,5.6,,(8)备注型,(,Memo),,长度固定为4字节,,用于存储不定长度的文本数据,,当文本数据长度可能大于254,无法使用字符型存储时,使用备注类型字段,,所有备注型字段的实际内容存储在和表名相同,扩展名为.,FPT,的备注文件中,,(9)通用型(,General),,
6、通用型用于存储,OLE,对象数据,,字段宽度固定为4个字节,用于存储一个4个字节的指针,指向该字段的实际内容,,其内容存储在扩展名为.,FPT,的文件中。,,OLE,对象包括,电子表格,、,字处理文档,、,图像,或其他多媒体对象等,,OLE,对象可以用链接方式存储在表中。,,存储数据的大小,取决于相的,OLE,服务程序,和磁盘空间大小的限制。,,(10)整型(,Integer),,整型用于存储,整数,数据,,字段宽度固定为4个字节。,,取值范围从-2 147 483 647 到2 147 483 646。,,(11)逻辑型(,Logical),,.T.,或.,Y.,为逻辑真,,.,F.,或.,
7、N.,为逻辑假,,长度固定为1字节,,(12)字符型(二进)((,Character(Binary)),,字符型(二进制)用于存储不需要系统代码页维护的字符数据,,其他字段特性同字符型字段,,密码,(各国),,(13)备注型(二进制)((,Memo(Binary)),,备注型(二进制)用于存储不需要系统代码页维护的备注字段数据。其他字段特性同备注型字段。,,数据类型(结),,数据类型(,Type)13,种,,,C-,字符型,,N-,数值形,,F-,浮点型,,,D-,日期型,,I-,整 型,L-,逻辑型,,,M-,备注型,G-,通用型,Y,货币型,,3.字段宽度,规定宽度,,字符型字段
8、 254,,货币型字段 8,,数值型字段 20,,日期型字段 8,,备注型 4,,逻辑型,1,,日期时间型 8,,通用型字段 4,,用于存储一个4个字节的指针,指向该字段的实际内容。整型字段宽度固定为4个字节。,,宽度(,Width) (,结),,(,以下类型宽度固定),,货币型、日期型、日期时间型、双精度型:8字节,,整型、备注型、备注型(二进制)、通用型:4字节,,逻辑型:1字节,,,4.小数位数,,有小数的字段:,,数值型,,浮点型,,双精度型,,字段宽度 = 整数部分宽度 +,小数点1
9、位,+小数位宽度,,如小数位数不为0,则小数位数至少要比整个字段宽度小2,,小数位数,一个,N,形变量宽为6,小数位数为3,则这个变量最大可表示的数为多少?,,,_ _ . _ _ _,,99.999,,,5.,空值,(,NULL),空值是用来标识一个字段“没有值”的标志,,空值表示没有任何值或没有确定值,,空值不等同于数值0、空字符串或逻辑“假”,,函数,EMPTY(),测试空值,,如果允许字段接受,NULL,值,则应选中该栏所在框,,表的关键字段不允许为,NULL,值,,字段类型 中文名称 宽度(字节) 说明,,,Character,字符型 254 字母、汉字、
10、数字、文本、符号,,Currency,货币型 8 货币单位,,Numeric,数值型 20 整数或小数,,Float,浮点型 20 同数值型,,Date,日期型 8 年、月、日,,DateTime,日期时间型8 年、月、日、时、分、秒,,Double,双精度型 8 双精度数值,,Integer,整型 4 整数,,Logical,逻辑型 1 真或假,,Memo,备注型 4 不定长的字母、文本、
11、数字,,General,通用型 4,,OLE,图像、多媒体对象,,小结,,数据库是表和表间关系的集合,,表是由表结构和记录组成,,表结构是由各不同字段构成,,每一字段又具有字段名、数据类型、数据宽度、小数位数等属性,,表中的每一个记录又具有相同的字段,,,建表的步骤:,,1)设计表结构,,2),建表的结构,creat,表名,,3),保存表文件,ctrl+w,,4)输入记录,append browse,,,表结构的创建,1、表设计器,,(1),打开,“,表设计器,”,,项目管理器/自由表/新建/新表/保存,,注:,,,A、,也可从菜单或工具栏中直接新建表,,,B、,与在,“,项目管理器,
12、”,中新建表不同的是: 这样新建的表将不包含在项目中,,(2),在,“,表设计器,”,中创建表结构,,表设计器/字段/输入/确定,,表结构的创建,2、用,create table -SQL,命令创建表结构,,create table |DBF,表文件名(字段名1 字段类型[(字段宽度[,小数位数])];[,字段名2 字段类型[(字段宽度[,小数位数])]]…)----编程时用,,例:学生表结构,,create table xs2(,xh,c(6),,xm,c(8),,xb,c(2),,zydh,c(6)),,教师表结构,,create table,js,(,xm,c(8),,xb,c(2),
13、,gl,n(2,0),,csrq,d,,jbgz,n(7,2),,jl,m),,3、使用,Null,值,,表设计器/字段,,create table,中,NULL,NOT NULL,子句,,例:,,create table books(,sh,c(6) not null,,sm,c(40) not null,,cbrq,d null),,,set null on,,数据表的建立,如:,,一张名为教师档案文件,zgda,.dbf,,,编号 姓名 性别 年龄 职称 工作时间 婚否 简历,,1 张黎黎 女 26 助教 05/24/83,T memo,,2,李
14、 艳 女 30 助教 09/14/90,T memo,,3,刘 强 男 38 讲师 12/24/76,,T memo,,,职工档案表结构(,zgda,.dbf),字段名 类型 宽度 小数位数 索引,NULL,,编号 字符型 4 无 升序 否,,姓名 字符型 6 无 无 否,,性别 字符型 2 无 无 否,,年龄 数值型 2 无 无 否,,职称 字符型 8 无 无 可,,工时 日期型
15、8 无 无 否,,婚否 逻辑型 1 无 无 否,,简历 备注型 4 无 无 可,,照片 通用型 4 无 无 可,,表的打开,VFP,在使用一个表前必须把表打开,,打开命令,,USE <,文件名>,,VFP,在结束使用一个表时,必须把表关闭,,关闭命令,,USE,,CLOSE ALL,,CLOSE DATABASE/TABLE,,修改表结构,,1、表设计器,,项目管理器/选定表/修改,,2、命令,,USE books,,MODIFY STRUCTURE,,修改表结构,2、命令
16、,,ALTER TABLE-SQL,命令,,添加字段:,ADD [ COLUMN ],子句,,例:,ALTER TABLE books ADD COLUMN,折扣,n(4,2),,重命名字段:,RENAME COLUMN,子句,,例:,ALTER TABLE books RENAME COLUMN,折扣,TO,zk,,删除字段:,DROP [ COLUMN ],子句,,例:,ALTER TABLE books DROP COLUMN,zk,,3、菜单/按钮方式,,法1:,,“表”,—,“,属性,”,,“,工作区,”,,“,工作区属性,”,—,“,修改,”,,,法2:,,“,窗口,”,—,“,
17、数据工作期,”,,,(,“,属性,”,—,“,修改,”,),,记录的处理,记录的追加,,1、立即输入记录(浏览/编辑/追加方式),,2、,浏览窗口下追加(,USE/BROWSE)(,表/追加新记录),,3、使用,INSERT - SQL,命令,追加,记录,,insert into,zgda,(,姓名,性别,年龄),values (',洪七公','男',900),,4,、,从其他表中追加记录,,命令,APPEND,,APPEND FROM,,APPEND [ BLANK ],,记录的浏览,,1、浏览窗口,,进入 :,,BROWSE,命令,,use books/,显示/浏览,,项目管理器/选定某个
18、表/单击,“,浏览,”,按钮,,2、命令,,BROWSE,,LIST / DISPLAY,,BROWSE,,FIELDS,书号,书名,作者,,for ...,,如何定制浏览窗口?,重新安排列的位置:,,拖动,,改变列的宽度:,,拖动,,显示或隐藏表格线:,,显示/网格线,,分为两个窗格:,,左下角拖动,,6.3.3 记录的定位,记录结束标志,记录开始标志,第,n,条记录,文件头,Go top,,go bottom,,skip,1、记录指针标志,,记录号(输入顺序),,记录的开始标志,,,BOF ( ),,记录指针标志,,( 当前记录 ),,,,,RECNO ( ),,记录的结束标志,,,EOF
19、 ( ),,2、,记录的定位方式,,绝对定位,go,,相对定位,skip,,条件定位,,几个概念,记录指针,,当前记录,,记录定位,,记录号,RECNO(),,例1,假设,ZGDA,表有848条记录,先后执行以下命令,,,,,bof,(),,,,eof(),,,recno,(),,use books f f 1,,skip -1,,t f 1,,skip -1 Error f 1,,go,bott,f
20、 f 848,,skip,,f t 849,,skip,,Error,,,例2,,RECN(),,Use books 1,,go 5,,5,,skip +2 7,,skip -3 4,,locate for …,,,3、记录定位的实现,,界面方式 (,“,表,”,—,“,转到记录,”,),,记录号:绝对定位,goto,,定位:条件定位,
21、locate for,,作用范围:,all,next,record,rest,for,,找到/未找到,,命令方式,,,绝对定位:,GO( GOTO ),,,,GO( GOTO ) TOP/BOTTOM,,,相对定位,:,SKIP(,与索引有关),skip=skip 1,,,快速移动:,SEEK,,及,FIND,,记录的修改,1、在浏览窗口中修改,,EDIT / CHANGE / BROWSE,,项目管理器/浏览,,例:修改,books,表中第5条记录,,,use books,,edit record 5,,记录的修改,2、批量记录的修改,,(1)界面方式,,“表”—“替换字段
22、”—字段条件,,(2)命令方式,,UPDATE-SQL,命令(表不必事先打开,以下同),,REPLACE,,命令,,USE books,,copy to temp,,use temp,,REPLACE,单价,,WITH 5.00 FOR,单价,<5,,记录的删除,目的:,,节省时空,,删除步骤:,,逻辑删除,,物理删除,,,逻辑删除,给要删除的记录加标记(*号),,标记要删除的记录(逻辑删除),,浏览窗口:,,单击小方框,,“,表,”,,“,删除记录,”,,命令,DELETE FROM,表名[,WHERE,过滤条件表达式],,例:,,删除教材表中库存在数量为0的记录,,delete fro
23、m books where,库存数量=0,,物理删除,彻底删除(物理删除),,“,表,”,,“,彻底删除,”,,命令,PACK(,独占),,删除有删除标记的记录,,命令,ZAP=delete,all,+pack(,独占),,恢复,记录的删除,恢复带删除标记的记录(与,set dele,无关),,,法1:,,小方框 黑-->白,,法2:,“,表,”,,“,恢复记录,”,,法3:,RECALL [,范围][,FOR,条件表达式1][,WHERE,条件表达式2],,例:,recall,,recall all,,recall all for,库存数量=0(这里的,all,可省),,说明:,缺省范围
24、(当前记录,不是全部记录),,记录的删除,对带删除标记记录的访问,,(1)测试记录的删除标记,deleted(),,有删除标记返回为真,否为假,,(2),控制对带删除标记记录的访问,,set deleted on/off,,说明:,,有些默认为,ON,,有些默认为,OFF,,实验:,,先删除若干记录(逻辑删除),,LIST,,默认为,OFF,,SET DELETED ON,,LIST,,set deleted on/off,为,set deleted on,时,,屏蔽掉有标记的记录,不能访问,,影响,Count,命令,,不影响,Reccount,(),,例:8个记录,一个有删除标记,,Set
25、deleted on,,Count to x,,? X,,7,,?,Reccount,() 8,,筛选记录,界面,,,“表”,—,“,属性,”,—,“,数据过滤器,”,,命令,,SET FILTER TO <,条件表达式>,,SET FILTER TO,,FOR,子句:临时性记录筛选,,例:,USE ZGDA,,SET FILT TO,出版社=‘石油大学’,,注意:,,是隐藏而非删除,,与,FOR,子句不同,,对,SE LECT-SQL、 DELETE-SQL、UPDATE-SQL,无效,,筛选字段,表/属性/字段筛选,,SET FIELDS TO
26、<,字段1,>,[, <字段2,>],,SET fields to,姓名,性别,,表的使用,工作区:,,用以标识一张打开的表的内存区域,,一个工作区在某一时刻只能打开一张表,,一张表可以在多个工作区同时打开,,(,use,表,again),,共有255个工作区,,默认工作区号为1区,,USE books(,默认为1号),,LIST,,USE books1(books,自动关闭),,LIST,,工作区的标识***,用,数字来标识各个工作区(1—255),,用相应工作区中表名来标识工作区,,(此时表没有指定别名,如指定别名,用别名来标识工作区,),,Sele,5,,Use,zgda,,Sele
27、,4,,Sele zgda,,1-10,个工作区常用英文字母,A-J,,Sele,10=,sele,j,,工作区的转换,命令:,,Select,工作区号/工作区中表别名/,A-J,,如:,,Sele,1,,Use,zgda,,Sele,B,,Selct zgda,,Select 0,表示选择未用的号最小工作区,,Select O,例子,sele,1,,use,zgda,,sele,4,,use,zggz,,sele,0,,? select(),,,返回选择的工作区号,The answer is :2,,表的使用,可以同时在多个工作区中打开多个没有打开的表,,SELE 1,,USE bo
28、oks1,,LIST,,SELE 2,,USE books2,,LIST,,SELE 1,,LIST,,一张表不可以在多个工作区同时打开,,表的使用,表的别名指定,,,USE <,表文件名 >,ALIAS,,<,别名 >,,例:,USE ZGDA ALIAS OK,,当前工作区:,正在使用的工作区,,ALIAS ( ),及,SELECT ( ),函数,,SELE(0):,测试当前工作区的区号,,ALIAS():,测试当前工作区中表的别名,,“,数据工作期,”,窗口,,别名,,操作非当前工作区中的表,,把其它的工作区选为当前工作区,,Sele,2,,在命令中强行指定工作区,,GO TOP I
29、N ok,,关于表的打开和关闭,刚创建的表处于打开状态*,,1、表的打开,,界面,,文件,/,打开,,窗口/数据工作期/打开,,USE ?,,命令,,USE <,表文件名>,,USE <,表文件名>,IN 0,,多次打开同一张表(同时),,USE <,表文件名>,AGAIN,,例:,USE books/SELE 0/USE XS AGAIN,,2、表的关闭,,界面,,窗口/数据工作期/关闭,,命令,,USE,,USE IN <,别名/工作区>,,CLOSE ALL&&,数据库、索引、项目管理器等也被关闭,,CLOSE DATABASES &&,如果当前没有打开的数据库,则把自由表全
30、部关闭,,CLOSE TABLES &&,关闭表,不关闭库,,退出,VFP,,注意:,SQL,语句能自动打开表,但不会自动关闭表,!,,表的独占与共享使用,表的共享使用:,,一张表可以同时被多个用户打开,,(,RECORD UNLOCKED),,表的独占使用:,,一张表只能被一个用户打开(默认),,(,EXCLUSIVE),,表的独占与共享使用,设置独占与共享打开表的默认状态,,工具/选项/数据,,SET EXCLUSIVE OFF/ON(,共享/独占),,强行用独占方式打开表,,“打开”—“独占”复选框,,USE <,工作表 >,SHARED/EXCLUSIVE,,设置改变,并不改变已
31、经打开的表的状态,,一张表同时被多次打开时,只以第一次的打开方式为准(窗口/数据工作期),,利用缓冲访问表中的数据,1、数据缓冲,,在多用户环境下,用以保护对表记录所做的数据更新以及数据维护操作的一种技术,,2、类型,,(1)记录缓冲(行缓冲):一次访问、修改、写一个记录,,(2)表缓冲:对多个记录缓冲更新,,两种锁定方式:,,(1)保守式缓冲:在多用户环境中,防止一个用户访问(读/写)另一个用户正在修改的记录或表,,(2)开放式缓冲:记录只在被,写入,时加锁,,表的数据缓冲,表的数据缓冲,,保守式行缓冲,,开放式行缓冲,,保守式表缓冲,,开放式表缓冲,,不设置缓冲,,设置表的数据缓冲,3、设
32、置表的数据缓冲,,(1)界面,,窗口/数据工作期/属性/,,选中,“,允许数据缓冲,”,,,“,锁定记录,”,,,“,缓冲,”,,“在编辑时”(保守式)“在写入时”(开放式),,“当前记录”(记录缓冲)“所有编辑过的记录”(表缓冲),,设置表的数据缓冲,(2),CURSORSETPROP(),,格式:,,,CURSORSETPROP(’Buffering’,,缓冲类型值,[工作区|别名],),,缓冲类型值,,1无缓冲(默认),,2保守式行缓冲,,3开放式行缓冲,,4保守式表缓冲,,5开放式表缓冲,,例:为,XS,表打开开放式表缓冲:,,SET MULTILOCKS ON(,除方式1外),,US
33、E XS,,= CURSORSETPROP( ’Buffering’, 5),,利用缓冲访问表中的数据,4、检测缓冲区中的数据是否与数据源表一致,,(1),CURVAL(),和,OLDVAL(),,CURVAL():,返回当前值,,OLDVAL():,返回初始值,,(2),GETFLDSTATE(),,5、,执行和放弃对缓冲数据的更改,,(1),TABLEUPDATE(),执行对缓冲行、缓冲表或临时表的修改,,格式:,TABLEUPDATE([,AllRows,][,,lForce,][,,别名|工作区],),,(2),TABLEREVERT(),放弃对缓冲行、缓冲表或临时表的修改,,格式,:
34、,TABLEREVERT([,AllRows,][,,工作区|别名],),zpz:,,此,页不,讲,,概念,物理顺序:,,一般是按照其输入的顺序进行,记录的存储顺序,,顺序找,速度慢,,不便于查找需要的信息,,逻辑顺序:,,记录的处理顺序,,(快速),,可以使用索引来改变记录的顺序即逻辑顺序,,根据表中字段的值,建立具有逻辑顺序的索引文件,然后根据索引文件重新排列数据库表中显示的记录。,,索引文件,1、索引:,,如同目录,,数据库的辅助文件,不能单独使用,,可以按一个字段索引,也可以多个,,一个表可以创建多个索引,,索引存储在索引文件中,,索引文件中存储着记录号和索引字段的,索引值,,理解索引
35、,索引可以理解为根据某一字段的值进行逻辑排序的一组指针,,,按照索引显示记录,,VFP,按照指针排列的顺序分别读取每一条记录,而这些记录在数据库中的实际存储位置并未改变。,,按年龄索引后的表文件,,姓名 年龄,,张黎黎 26,,,李 艳 30,,,刘 强 38,,,DA.DBF,姓名 年龄,,刘 强 38,,李 艳 30,,张黎黎 26,,DA.DBF,,物理顺序,逻辑顺序,记录号 年龄大小,,3 1,,2 2,,1 3,,,NL.CDX,,关键字与,索引标识,(1),索引关
36、键字,(,Index Key),,建立索引的依据(索引表达式),,字段/字段表达式,,VFP,使用索引关键字来显示和访问表中的记录,,(2)索引标识(,Tag),,索引关键字的名称(索引名),,<=10字节,,索引的类型,4种类型索引(根据关键字段),,主索引,,候选索引,,普通索引,,惟一索引,,表的索引,2、索引的类型,,主索引(,Primary,indexs,),,在数据库表中,每张表只能创建一个主索引,,组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值(学号可以,姓名不可以),,自由表不能建立主索引,,主索引存储于数据库表的结构复合索引中,,侯选索引(,Candidate
37、,indexs,),,在指定的关键字段或表达式中不允许有重复值的索引,,一张表中可以建立多个侯选索引,,侯选索引可用于数据库表和自由表,,表的索引,2、索引的类型,,普通索引(,Regular,indexs,),,可以决定记录的处理顺序,,允许关键字段或表达式的值出现重复,,对一张表可以创建多个普通索引(,GL),,唯一索引,(,Unique,indexs,),,允许有重复值,,具有重复值的记录仅存储其中的第一个(出版社),,惟一:对每一个特定的关键字只存储一次,而忽略了重复值第二次或以后的记录,,表的索引,3、索引文件的种类,,索引本身并不改变表中数据的物理顺序,,结构复合索引,(,CDX)
38、,,与数据表同名,,文件名是在创建时由系统自动给定,,结构复合索引文件与表文件同步打开、更新、关闭,,是表的一部分,,非结构复合索引,(,CDX),,文件名由用户给出,,非结构复合索引文件中不能创建主索引,,独立索引,(,IDX):,与,FoxBase,兼容,,创建索引文件,表设计器,,“,表设计器,”,——,“,索引,”,选项卡,,Index,命令,,INDEX ON <,索引表达式>,,TAG <,索引标识名>,,[,FOR <,条件表达式>,ASCENDING|DESCENDING],,[UNIQUE|CANDIDATE,](,允许相同|不允许相同),,注意,,不能对备注字段和通用
39、字段建立索引,,不要建立无用的索引,,析,Index,命令,?结构复合索引,(,CDX),,?,非结构复合索引,(,CDX),,?,独立索引,(,IDX),INDEX ON <,索引表达式>,TAG <,索引标识名>,,[,FOR <,条件表达式>,ASCENDING|DESCENDING],,[UNIQUE|CANDIDATE,](,允许相同|不允许相同),,索引的建立,步骤:,,项目管理器---表---修改,,表设计器---索引,,输入索引名----类型---表达式,,,不要对每个字段都建立索引,否则会降低程序的运行效率,,对多个字段,索引,操作步骤:,,项目管理器--选择已索引的表
40、,选,“,修改,”,,表设计器,选索引,输入索引的名称,,在,“,表达式,”,框中,输入对多个索引的表达式,,如:按性别与年龄进行索引,其表达式应为,性别+,STR(,年龄,2),,确定,,可以对多个字段建立索引,,其排序是按照表达式的值进行的,,,索引的修改和删除,索引的修改,,表设计器,,“,表设计器,”,——,“,索引,”,选项卡,,命令,,INDEX,命令修改原索引,,索引的删除,,表设计器,,“,表设计器,”,——,“,索引,”,选项卡,,DELETE TAG,删除索引标识,,索引的使用,设置主控索引,,主控索引:决定显示或访问表中记录的顺序的索引,,主控索引可以是:,,复合索引文
41、件中的一个标识(主控标识),,一个独立索引文件(主控索引文件),,打开表的同时指定主控索引,,Use,表名,index,索引文件名,,打开后再设置主控索引,,窗口 /数据工作期 /属性/索引顺序,,命令,SET ORDER TO TAG <,标识名>,,取消主控索引,,SET ORDER TO,,索引函数,,CDX() ORDER() TAG(),,索引的使用,利用索引快速定位记录,,SEEK,命令,,SEEK,命令只能在索引过的表中使用,并且只能搜索索引关键字(,XS/960102),,EOF(),与,FOUND(),,SEEK,函数(=,SEEK+FOUND()),da:,,
42、此页不讲,,筛选记录(,set filter to),操作步骤:,,项目管理器--选择已索引的表,选,“,修改,”,,表设计器,选索引,输入索引的名称,,在,“,筛选,”,处,输入过滤表达式,,按,“,确定,”,,完成筛选表达式的建立,,如:筛选性别为男的记录,表达式为,,Set filter to,性别=,‘,男,’,,可以实现对记录的控制,,,4 4 王秋燕 女 45讲师 10/09/70,T memo,gen,,5 5,姜丽萍 女 45讲师 10/09/70,T memo,gen,,6 6,陈丽丽 女 38讲师 09/27/72,T memo,gen,,7 7,刘
43、 刚 男 50副教授 06/23/61,T memo,gen,,8 8,王 良 男 39讲师 08/09/78,T memo,gen,,习,题,1.在创建表之前需要做好哪些准备工作?,,2.过滤器有什么作用?怎样设置过滤器的过滤字段?,,3.,VFP,中的索引有哪几种?索引的使用应该遵守哪几条原则?,,4.建立一个,“,职工档案,”,表,参考本章例题。建立一个,“,工资,”,表,表的内容自己定。,,5.建立一个,“,学生成绩,”,表,表的内容自己定。,,习 题,6.将,“,职工档案,”,表,复制一个新文件,先添加几个记录,进行修改和删除操作。,,(1)用,“,浏览,”
44、,或,“,编辑,”,进行表的修改操作。,,(2)给前3个记录做删除标记,然后再恢复操作。,,(3)将职称是,“,助教,”,的记录做删除标记,然后再彻底删除。,,习 题,7.用过滤器,筛选记录,将,“,职工档案,”,表进行如下操作:,,(1)浏览前4个记录,只列出姓名、性别和工资三个字段的内容。,,(2)浏览男的全部记录的内容。,,(3)浏览职称是,“,讲师,”,并且性别是男的记录的内容。,,习 题,8.将,“,职工档案,”,表,按下列要求建立索引文件:,,(1)按职称建立索引文件。,,(2)按年龄建立索引文件。,,理 解,,数据库提供一个环境,,文件名,DBC,,由多表及其关系组成,,表,提供记录信息,,文件名,DBF,,可不放数据库中,自由表,数据库,数据表,,索引应遵循原则,(1)为了提高速度,用普通索引、候选索引或主索引,,,(2)控制字段的重复值对数据库,“,表,”,用,“,主索引,”,或,“,候选索引,”,,对于,“,自由表,”,,用,“,候选索引,”,。,,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专题党课讲稿:以高质量党建保障国有企业高质量发展
- 廉政党课讲稿材料:坚决打好反腐败斗争攻坚战持久战总体战涵养风清气正的政治生态
- 在新录用选调生公务员座谈会上和基层单位调研座谈会上的发言材料
- 总工会关于2025年维护劳动领域政治安全的工作汇报材料
- 基层党建工作交流研讨会上的讲话发言材料
- 粮食和物资储备学习教育工作部署会上的讲话发言材料
- 市工业园区、市直机关单位、市纪委监委2025年工作计划
- 检察院政治部关于2025年工作计划
- 办公室主任2025年现实表现材料
- 2025年~村农村保洁员规范管理工作方案
- 在深入贯彻中央8项规定精神学习教育工作部署会议上的讲话发言材料4篇
- 开展深入贯彻规定精神学习教育动员部署会上的讲话发言材料3篇
- 在司法党组中心学习组学习会上的发言材料
- 国企党委关于推动基层党建与生产经营深度融合工作情况的报告材料
- 副书记在2025年工作务虚会上的发言材料2篇