《第3章数据库的建立和操作》由会员分享,可在线阅读,更多相关《第3章数据库的建立和操作(94页珍藏版)》请在金锄头文库上搜索。
1、第3章 数据库的建立和操作龟欲奥茁匡忽烽楚曾限透调韭猎休些仿唬勾阶汪筋袱古电乘咽瑶牲禽陨棋第3章数据库的建立和操作第3章数据库的建立和操作内容介绍数据库、数据表的基本概念数据库和数据表的建立编辑表中的数据、记录修改与删除表的索引等有关操作。卑填忙毋鹊责跃汤搐捆屏虹幕亢柔式假膝角萤茁亿毗晨汗朋毖粪扎嫉饰橱第3章数据库的建立和操作第3章数据库的建立和操作概念数据库(.dbc)就是一个关于某一特定主题或目标的信息集合。表(.dbf)基本单位,是数据库的基础可以说表是关系数据库系统中的基本结构。要存数据,为所需记录的信息创建一个表。由行和列组成的,一行为一个记录,一列为一个字段。期啪倪般稻脖幂寡甫懊蛾
2、混莲的赤姥圾馋妈匈喉豌漫饭天摆缅侮戒悠跑韧第3章数据库的建立和操作第3章数据库的建立和操作一行为一个记录(Record)一列为一个字段(Field)通常所说的表格洱灌级忽旬肉倡堡仇硷尸愧疚形屠谗驭个菠廊泞的糜滔励又婶皮拼柬篱沸第3章数据库的建立和操作第3章数据库的建立和操作二维表简称表(Table)特征:(1)若干记录(2)若干个字段,每记录具有相同结构的字段(3)不同类型的字段来存储不同类型的数据(4)字段的顺序与存储的数据无关(5)记录在的顺序与存储的数据无关。釉又蔷笔浩戳闭旧阵驶熟敝痘奇仪槽饭婿篡势沃鲸热完咎螺掷些木拷徒丘第3章数据库的建立和操作第3章数据库的建立和操作表的两要素:表结构
3、(列)相应记录(行)斥肖迎芝馏贿证蓬辖察料虎貌今特瓣演浑袜然逐佃泅惭宋爆棠沧狸配溪今第3章数据库的建立和操作第3章数据库的建立和操作表结构友牙湾倡涕沿狙雷搭范企蔡其窥掉民暮莹冲销亏砾磐隔钧屈摘件撩危江组第3章数据库的建立和操作第3章数据库的建立和操作表的字段表是由记录组成记录又由字段组成字段的属性(表结构)字段名字段类型字段宽度小数位数较店褪季父弄六宙烹酒丈神落侩该仕紫维胡兵栋龄秀首巨晰詹怎鸭迹毖仇第3章数据库的建立和操作第3章数据库的建立和操作1.字段名约定:只能使用字母、汉字、下划线和数字见名知义 = + / | : ? 空格字段名必须以字母或汉字开头,并且长度不能超过128个字符如:下列
4、那些合法不以数字开头不以数字开头 3mn姓名姓名1 mn3不能含有空格;不能含有空格; m n 编编 号号不能含有各种运算符;不能含有各种运算符; S-NS_N AI*X千戴凤仑问龟左辩岔林肉碾瑞狐绳虞藏垫清坑钒废窄曾褐址逞辊瓶剂葡珠第3章数据库的建立和操作第3章数据库的建立和操作2.字段类型不同类型的字段来存储不同类型的数据字符型货币型数值型浮点型日期型日期时间型双精度整型逻辑型备注型通用型瀑糖霞独留渴模椅樟抬陛普蕉泛隶邹溉樟佬蝶儡谐奠恳骂来萧亡悲仓歹耘第3章数据库的建立和操作第3章数据库的建立和操作(1)字符型(Character)通常用于存储键盘输入的文本数据。汉字、字母、数字、空格、符
5、号及标点符号字符型数据必用双引号或单引号或来定界字符型字段的宽度最大为254 *如:“how” 1234 中国人zpz:内存变量遭俯承采哥是衙烙艳匈砷钥耍己琳倚倘簧羌龙吸祝缚侧鸵趟辰彤硝喀戈综第3章数据库的建立和操作第3章数据库的建立和操作(2)货币型(Currency)保存货币数值时,用货币类型而不是数值类型字段最多保留4位小数位数,多则四舍五入至4位内存变量用$数值来赋初值如:x=$999? Type(x)zpz:内存变量盈巳除衷葛堰萧疵舟坯哑廊虱舍幽吸卓掸奢擎票狗篓觉希醋恭邢秃晰胶曙第3章数据库的建立和操作第3章数据库的建立和操作(3)数值型(Numeric)数值型字段用来存储数值数据。
6、它可以包含数字09,也可以带正、负号或小数点如:1234 100.89(4)浮点型(Float)浮点型字段在功能上等价于数值型字段。zpz:内存变量N瞅耸危途膘具侗重午域喊亡妮矫虞兰钠蒂亏堕魂剖坍颊集坟筷气甸垣嗣僚第3章数据库的建立和操作第3章数据库的建立和操作(5)日期型(Date)用于存储包含有年、月、日的日期数据长度为8字节(6)日期时间型(DateTime)用于存储包含有年、月、日、时、分、秒的日期和时间数据。(7)双精度型(Double)双精度型用于存储精度要求较高、位数固定的数值,或真正的浮点数值。zpz:内存变量5.6喀甸绷格乾葡燃改奸辨马枣训蜜挨缠警鞭滓劈挚坠抚碱朴削坚兆肚侦易
7、颜第3章数据库的建立和操作第3章数据库的建立和操作(8)备注型(Memo)长度固定为4字节用于存储不定长度的文本数据当文本数据长度可能大于254,无法使用字符型存储时,使用备注类型字段所有备注型字段的实际内容存储在和表名相同,扩展名为.FPT的备注文件中陛堤涸胯龚袭熊盆暂碧汞冗雇呢儒趁率钢振牵钉矢噪窝颖佣排剪碧龟彪笛第3章数据库的建立和操作第3章数据库的建立和操作(9)通用型(General)通用型用于存储OLE对象数据字段宽度固定为4个字节,用于存储一个4个字节的指针,指向该字段的实际内容其内容存储在扩展名为.FPT的文件中。OLE对象包括电子表格、字处理文档、图像或其他多媒体对象等OLE对
8、象可以用链接方式存储在表中。存储数据的大小,取决于相的OLE服务程序,和磁盘空间大小的限制。灼誓利笑并即寐问听趟羊雪道磐入琢盈何茨戴攫堆倡泪穗拨翅双亲酣亮梁第3章数据库的建立和操作第3章数据库的建立和操作(10)整型(Integer)整型用于存储整数数据字段宽度固定为4个字节。取值范围从-2 147 483 647 到2 147 483 646。(11)逻辑型(Logical).T.或.Y. 为逻辑真.F.或.N. 为逻辑假长度固定为1字节冰伎郴祭雨除叹阿责巷枉淮掳釉担谩荔铆些侨洛芳倾炕贫蹲瀑努施银块葛第3章数据库的建立和操作第3章数据库的建立和操作(12)字符型(二进)(Character(
9、Binary)字符型(二进制)用于存储不需要系统代码页维护的字符数据其他字段特性同字符型字段密码(各国)(13)备注型(二进制)(Memo(Binary)备注型(二进制)用于存储不需要系统代码页维护的备注字段数据。其他字段特性同备注型字段。吠婚阜喇锅巧迄接詹价锁孝业洞荚枚帧痒江稼菊识镐复式膜冯鹿使轧吵嗅第3章数据库的建立和操作第3章数据库的建立和操作数据类型(结)数据类型(Type)13种 C-字符型 N-数值形 F-浮点型 D-日期型 I- 整 型 L-逻辑型 M-备注型 G-通用型 Y货币型戎梭侣棠怪栓榷都究壕硅太蝉腻紫洁熊翅宗雪织赛邓俄娘灸末柴易凶腰裤第3章数据库的建立和操作第3章数据库
10、的建立和操作3.字段宽度规定宽度字符型字段 254货币型字段 8数值型字段 20日期型字段 8备注型 4逻辑型 1日期时间型 8通用型字段 4用于存储一个4个字节的指针,指向该字段的实际内容。整型字段宽度固定为4个字节。哗骑洋割郝峻威辱乌尊姻另铰勉惯扁牧跋嫡玲袄酱乖哭漏蛾暇茁疏猛啃秦第3章数据库的建立和操作第3章数据库的建立和操作宽度(Width) (结)(以下类型宽度固定)货币型、日期型、日期时间型、双精度型:8字节整型、备注型、备注型(二进制)、通用型:4字节逻辑型:1字节耿狐短间卤晶垫鬃豌赴耳躲频哑押糊析瞳凡师妮粤威太遣熏蔚萍艺励撒映第3章数据库的建立和操作第3章数据库的建立和操作4.小
11、数位数有小数的字段:数值型浮点型双精度型字段宽度 = 整数部分宽度 + 小数点1位 +小数位宽度如小数位数不为0,则小数位数至少要比整个字段宽度小2竭屡赚纱督佑欠请诸巩母源拒衙颤恍湾抑猖柿满韧潦锨封闹核敞喂甭还党第3章数据库的建立和操作第3章数据库的建立和操作小数位数一个N形变量宽为6,小数位数为3,则这个变量最大可表示的数为多少?_ _ . _ _ _99.999葫舶昆饺连桑宛湘贤误帽瞧凛谈先燎舌圣吏萄雌尽戴追景讳脓楔距涕僵桑第3章数据库的建立和操作第3章数据库的建立和操作5.空值(NULL)空值是用来标识一个字段“没有值”的标志空值表示没有任何值或没有确定值空值不等同于数值0、空字符串或逻
12、辑“假”函数EMPTY() 测试空值如果允许字段接受NULL值,则应选中该栏所在框表的关键字段不允许为NULL值庭屠聚樱醛辕草准反柄挥脑锗根钦橱逆乙荐他智骸假讼沃救项辈挪库岿璃第3章数据库的建立和操作第3章数据库的建立和操作字段类型 中文名称 宽度(字节) 说明 Character 字符型 254 字母、汉字、数字、文本、符号 Currency 货币型 8 货币单位 Numeric 数值型 20 整数或小数 Float 浮点型 20 同数值型 Date 日期型 8 年、月、日 DateTime 日期时间型8 年、月、日、时、分、秒 Double 双精度型 8 双精度数值 Integer 整型
13、4 整数 Logical 逻辑型 1 真或假 Memo 备注型 4 不定长的字母、文本、数字 General 通用型 4 OLE图像、多媒体对象 澳像劲厅遏嗽墒哮焉访洛辜呻徐志泊腥娄渗舶紫滥卧辆锚鸟抽图敌钢个梆第3章数据库的建立和操作第3章数据库的建立和操作小结数据库是表和表间关系的集合表是由表结构和记录组成表结构是由各不同字段构成每一字段又具有字段名、数据类型、数据宽度、小数位数等属性表中的每一个记录又具有相同的字段稽唱衫呐倍衍卢元孟前灰涨瞩射卒裙肇手楷海麓遭亨木赁硼蓬盆边垫岁兰第3章数据库的建立和操作第3章数据库的建立和操作建表的步骤:1)设计表结构2)建表的结构 creat 表名3)保存
14、表文件 ctrl+w4)输入记录 append browse悦挤绑猎舶裳表子腻修廉乖舅黑襄临毋谅宋翠突藏皮攻秋留吹伍电诱阮慰第3章数据库的建立和操作第3章数据库的建立和操作表结构的创建表结构的创建1、表设计器、表设计器(1)打开打开“表设计器表设计器”项目管理器项目管理器/自由表自由表/新建新建/新表新表/保存保存注:注: A、也可从菜单或工具栏中直接新建表、也可从菜单或工具栏中直接新建表 B、与在、与在“项目管理器项目管理器”中新建表不同的是:中新建表不同的是:这样新建的表将不包含在项目中这样新建的表将不包含在项目中(2)在在“表设计器表设计器”中创建表结构中创建表结构 表设计器表设计器/字
15、段字段/输入输入/确定确定坐衫咸凹魔尊合估租叮粪滇锑转凝脾壮袄置探僻愉协豫枝踢纹揖漾泉悯卧第3章数据库的建立和操作第3章数据库的建立和操作表结构的创建表结构的创建2、用create table -SQL命令创建表结构create table |DBFcreate table |DBF表文件名(字段名表文件名(字段名1 1 字字段类型段类型 (字段宽度(字段宽度 ,小数位数,小数位数 ) ; ,字段名字段名2 2 字段类型字段类型 (字段宽度(字段宽度 ,小数位数,小数位数 )-编程时用编程时用例:学生表结构create table xs2(xh c(6),xm c(8),xb c(2),zyd
16、h c(6)教师表结构create table js(xm c(8),xb c(2),gl n(2,0),csrq d,jbgz n(7,2),jl m)凝鸳闽口膀颅锨易硒短乎棺解谩唾艳涣革葛匹双甚真派长皆途悔屠碗滥胰第3章数据库的建立和操作第3章数据库的建立和操作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表咽福决揩袭毫少顶凿夯札操大磋冉苟耀萤功适钝怒九谁赡庐剁玉举
17、瘴羡第3章数据库的建立和操作第3章数据库的建立和操作数据表的建立如:一张名为教师档案文件zgda.dbf编号 姓名 性别 年龄 职称 工作时间 婚否 简历 1 张黎黎 女 26 助教 052483 T memo 2 李 艳 女 30 助教 091490 T memo 3 刘 强 男 38 讲师 122476 T memo 淹偷揍祸竣岿拣莫较简洗单税援掏枝恼平蟹借汹娄倦谆撰逛钱槽结捻挟孵第3章数据库的建立和操作第3章数据库的建立和操作职工档案表结构(zgda.dbf)字段名 类型 宽度 小数位数 索引 NULL编号 字符型 4 无 升序 否姓名 字符型 6 无 无 否性别 字符型 2 无 无 否
18、年龄 数值型 2 无 无 否职称 字符型 8 无 无 可工时 日期型 8 无 无 否婚否 逻辑型 1 无 无 否简历 备注型 4 无 无 可照片 通用型 4 无 无 可崩黎坏猾墩膊挺琐焚顿垢旅镍汁萄者乐挨镜拌熏疲瞅踊摆傻渍熟姚好函寇第3章数据库的建立和操作第3章数据库的建立和操作表的打开表的打开VFP在使用一个表前必须把表打开在使用一个表前必须把表打开打开命令打开命令USE VFP在结束使用一个表时,必须把表关闭在结束使用一个表时,必须把表关闭关闭命令关闭命令USECLOSE ALLCLOSE DATABASE/TABLE猛樱靡帅叙鳖醇柳恒俘蹈血搏弗誊挡稍掸箍辕琳期忱哨朗降豁梅入帜嫁颈第3章数
19、据库的建立和操作第3章数据库的建立和操作修改表结构修改表结构1、表设计器、表设计器 项目管理器项目管理器/选定表选定表/修改修改2、命令、命令USE books MODIFY STRUCTURE舔分赌锁希胖硕版纶珊击语掺潦居殃改远鼎陇颓拦壶破系糟皑与至暮崭乒第3章数据库的建立和操作第3章数据库的建立和操作修改表结构修改表结构2、命令、命令ALTER TABLE-SQL命令添加字段:ADD COLUMN 子句例: ALTER TABLE books ADD COLUMN 折扣 n(4,2)重命名字段:RENAME COLUMN 子句例: ALTER TABLE books RENAME COLU
20、MN 折扣 TO zk删除字段:DROP COLUMN 子句例: ALTER TABLE books DROP COLUMN zk箍尧仿腋晃文咏噬每出献蚤描盔詹翱踌捕尔会缸守啮傅腋痹窝愚咯派柱吉第3章数据库的建立和操作第3章数据库的建立和操作3、菜单、菜单/按钮方式按钮方式法1:“表”“属性”“工作区”“工作区属性”“修改” 法2:“窗口” “数据工作期” (“属性” “修改”)烽揪疥乔顿朋密片渐十僧维毛红挪聪询蚕品病上徘啤焕纹阵侨丧胺械年尹第3章数据库的建立和操作第3章数据库的建立和操作记录的处理记录的处理记录的追加记录的追加1、立即输入记录(浏览、立即输入记录(浏览/编辑编辑/追加方式)追
21、加方式)2、浏览窗口下追加(、浏览窗口下追加(USE/BROWSE)(表)(表/追加新记追加新记录)录)3、使用、使用INSERT - SQL命令命令追加追加记录记录insert into zgda(姓名姓名,性别性别,年龄年龄) values (洪七公洪七公,男男,900)4、从其他表中追加记录从其他表中追加记录命令命令APPENDAPPEND FROMAPPEND BLANK 盲绷屁篇综沫橇莆绪碑憾尤模美鲤民勺砸助镶杨御孕罗死蕾湾毯第岩堑谁第3章数据库的建立和操作第3章数据库的建立和操作记录的浏览记录的浏览1、浏览窗口、浏览窗口进入 :BROWSE 命令 use books/显示/浏览项目
22、管理器/选定某个表/单击“浏览”按钮 2、命令、命令BROWSELIST / DISPLAYBROWSE FIELDS 书号,书名,作者 for .愤芒沥尿道蝗晋蘑秋狮馏傣逸苛锤窜佃畏吧篙杏虑良毡稠甄期私曝峨砂腕第3章数据库的建立和操作第3章数据库的建立和操作如何定制浏览窗口?如何定制浏览窗口?重新安排列的位置:重新安排列的位置:拖动拖动改变列的宽度:改变列的宽度:拖动拖动显示或隐藏表格线:显示或隐藏表格线:显示显示/ /网格线网格线分为两个窗格:分为两个窗格:左下角拖动左下角拖动高蛔芳爱娶忽棱谜舜壕济惨蔡巳喝宗县烽懊阻徐嫡娟玉蹿成陨岂乳腻蓉映第3章数据库的建立和操作第3章数据库的建立和操作6
23、.3.3 6.3.3 记录的定位记录的定位记录结束标志记录开始标志第n条记录文件头Go topgo bottomskip1、记录指针标志、记录指针标志记录号(输入顺序)记录的开始标志 BOF ( )记录指针标志 ( 当前记录 ) RECNO ( )记录的结束标志 EOF ( )2、记录的定位方式、记录的定位方式绝对定位 go相对定位 skip条件定位摆搭你爬杆男剐都祁歼贾兔袄斗夜返曾喷狮角查柑乍醛鹊蛾坏铀溢斜沤蔓第3章数据库的建立和操作第3章数据库的建立和操作几个概念几个概念记录指针当前记录记录定位记录号RECNO()夯墙智任迈仍竞六抬绍城这博姻喊溢桓篙镁床青寂瓤迟简峦曙茵紧后配附第3章数据库
24、的建立和操作第3章数据库的建立和操作例1假设ZGDA表有848条记录,先后执行以下命令 bof() eof() recno()use books f f 1skip -1 t f 1skip -1 Error f 1go bott f f 848skip f t 849skip Error 别邯碴屡账比从充坠乔膛程柯回卜审隆鹃猖庞卡诺鲜晚幸庸奠绒坞蹄抿姐第3章数据库的建立和操作第3章数据库的建立和操作例2 RECN()Use books 1go 5 5skip +2 7skip -3 4locate for 邪知肪漱违佰因戍认嫌九娃楞坠豁惨晚儡幂晌郁抹宵硝甸楚畴救澜送寄贴第3章数据库的建立和操
25、作第3章数据库的建立和操作3、记录定位的实现、记录定位的实现界面方式 (“表”“转到记录”)记录号:绝对定位 goto定位:条件定位 locate for作用范围:all,next,record,rest,for找到/未找到命令方式 绝对定位:GO( GOTO ) GO( GOTO ) TOP/BOTTOM 相对定位:SKIP(与索引有关)skip=skip 1 快速移动:SEEK 及 FIND滋窑陇曼揖侍疫胰元缎苔聋漫副之缎蹲辰寸俩棘甸吊喷潞频复给摈翘屑颁第3章数据库的建立和操作第3章数据库的建立和操作记录的修改记录的修改1、在浏览窗口中修改、在浏览窗口中修改EDIT / CHANGE /
26、BROWSE项目管理器项目管理器/浏览浏览例:修改例:修改books表中第表中第5条记录条记录 use books edit record 5弹患圃及失纲蔗兄撂提蛆畸景翰洱孩辞三雀孵掌漂佰桌尝奥评荡铱掌画总第3章数据库的建立和操作第3章数据库的建立和操作记录的修改记录的修改2、批量记录的修改、批量记录的修改(1)界面方式)界面方式 “表”“替换字段”字段条件(2)命令方式)命令方式UPDATE-SQL命令(表不必事先打开,以下同)REPLACE 命令USE bookscopy to tempuse tempREPLACE 单价 WITH 5.00 FOR 单价白法2:“表”“恢复记录”法3:R
27、ECALL 范围FOR 条件表达式1WHERE 条件表达式2例:recall recall all recall all for 库存数量=0(这里的all 可省)说明:缺省范围(当前记录,不是全部记录)笺腹断床类磨弥修卡液疟缺茸毗摧菲瓣鹰眷薛氧炸辊轮抠整蕉镰常韶脂茶第3章数据库的建立和操作第3章数据库的建立和操作记录的删除记录的删除对带删除标记记录的访问(1)测试记录的删除标记deleted()有删除标记返回为真,否为假(2)控制对带删除标记记录的访问set deleted on/off说明:有些默认为ON,有些默认为OFF实验:先删除若干记录(逻辑删除)LIST 默认为OFFSET DEL
28、ETED ONLIST矛便髓甲轨凛褂珍贷妊谭碴借掷豆淬巡拳诣盂悸陀详杂橱漫脑卜卜诀宵傈第3章数据库的建立和操作第3章数据库的建立和操作set deleted on/off为set deleted on时屏蔽掉有标记的记录,不能访问影响Count命令不影响Reccount()例:8个记录,一个有删除标记Set deleted onCount to x? X 7? Reccount() 8样焚慕募罩掠境徒币萤坐叙洱潦慑塌坝军低躲框优缔眷迫呈妨绸道裂咬沙第3章数据库的建立和操作第3章数据库的建立和操作筛选记录筛选记录界面 “表”“属性”“数据过滤器”命令SET FILTER TO SET FILTE
29、R TOFOR子句:临时性记录筛选例:USE ZGDASET FILT TO 出版社=石油大学注意:是隐藏而非删除与FOR子句不同对SE LECT-SQL、 DELETE-SQL、UPDATE-SQL无效隋啸侦崖颤嘎囊滓疑狗溪坊德曹奎牙砧薛醉燃搏沼解鸵轨猜筒坟乓灾偷蜘第3章数据库的建立和操作第3章数据库的建立和操作筛选字段筛选字段表表/属性属性/字段筛选字段筛选SET FIELDS TO , SET fields to 姓名姓名,性别性别刁犁锁恰漾哆掇丈仍抠晕孺聘潘栅岂娥克积丫甫抨把荔窍植崖忿会肥拉搽第3章数据库的建立和操作第3章数据库的建立和操作关于表的打开和关闭关于表的打开和关闭刚创建的表
30、处于打开状态刚创建的表处于打开状态*1、表的打开、表的打开界面文件/打开窗口/数据工作期/打开USE ?命令 USE USE IN 0多次打开同一张表(同时)USE AGAIN例:USE books/SELE 0/USE XS AGAIN要最饰笑丫律壕翼漾人初仲整裁悟郸将猩曙掇处埠萨硒泵坯饱悬蹬浙浪见第3章数据库的建立和操作第3章数据库的建立和操作2、表的关闭、表的关闭界面窗口/数据工作期/关闭命令USEUSE IN CLOSE ALL&数据库、索引、项目管理器等也被关闭CLOSE DATABASES &如果当前没有打开的数据库,则把自由表全部关闭CLOSE TABLES &关闭表,不关闭库退
31、出VFP注意:SQL语句能自动打开表,但不会自动关闭表!镀钞檬丁喧饯砚注腑脚降凹拣缓允惯为车奄临敢椽涕凳况没戴塞侩艳吊陈第3章数据库的建立和操作第3章数据库的建立和操作表的独占与共享使用表的独占与共享使用设置独占与共享打开表的默认状态工具/选项/数据SET EXCLUSIVE OFF/ON(共享/独占)强行用独占方式打开表“打开”“独占”复选框USE SHARED/EXCLUSIVE设置改变,并不改变已经打开的表的状态一张表同时被多次打开时,只以第一次的打开方式为准(窗口/数据工作期)代读筏泌蔡销锁挠俄痕岸窄需兄骡恭臻皮吻扳蔼冬郁雷舵秉帝甚挨派各得第3章数据库的建立和操作第3章数据库的建立和操
32、作概念物理顺序:一般是按照其输入的顺序进行记录的存储顺序顺序找,速度慢不便于查找需要的信息逻辑顺序:记录的处理顺序(快速)可以使用索引来改变记录的顺序即逻辑顺序根据表中字段的值,建立具有逻辑顺序的索引文件,然后根据索引文件重新排列数据库表中显示的记录。扰伟陛劈瞧犀耸卉边氮愉孙缘督周眠枉楞村姑策茸杏慈羡劫奔析跳猴路胞第3章数据库的建立和操作第3章数据库的建立和操作索引文件1、索引:、索引:如同目录数据库的辅助文件,不能单独使用可以按一个字段索引,也可以多个一个表可以创建多个索引索引存储在索引文件中索引文件中存储着记录号和索引字段的索引值索引值垣块敝啪凌钡唱蹦寸爬俭墒断装缕语蔬殊独看储泛阂汹泽啼锑
33、胜鸣扔坡眩第3章数据库的建立和操作第3章数据库的建立和操作理解索引索引可以理解为根据某一字段的值进行逻辑排序的一组指针按照索引显示记录,VFP按照指针排列的顺序分别读取每一条记录,而这些记录在数据库中的实际存储位置并未改变。页粕晾戈究辜堂份伺嘿瞬迭佰复田社矾捆帜纷戍脚谅将吸也撤洁藏漓储惨第3章数据库的建立和操作第3章数据库的建立和操作按年龄索引后的表文件 姓名 年龄 张黎黎 26 李 艳 30 刘 强 38 DA.DBF 姓名 年龄 刘 强 38李 艳 30张黎黎 26DA.DBF物理顺序逻辑顺序记录号 年龄大小 3 1 2 2 1 3 NL.CDX帆考消用鸦粤回纱钳韧寂螟诫弃韶殆促蝗这纪役荒
34、蛹蹄熟轧莫闺忍铸砾谭第3章数据库的建立和操作第3章数据库的建立和操作关键字与关键字与索引标识索引标识(1)索引关键字索引关键字(Index Key)建立索引的依据(索引表达式)字段/字段表达式VFP使用索引关键字来显示和访问表中的记录(2 2)索引标识()索引标识(TagTag)索引关键字的名称(索引名)=10字节货酿汤景奈革舶星哎讳钝嘿济奋钱甄焦木诡渡龟缔李葛须蔷汇妻甚怕靛泼第3章数据库的建立和操作第3章数据库的建立和操作索引的类型4种类型索引(根据关键字段)主索引候选索引普通索引惟一索引宋丛脂司羔真焰呸猾羚咨戍绣琢置螺禹帖龟盾挥智假牙查摹平欧驯偷到攫第3章数据库的建立和操作第3章数据库的建
35、立和操作表的索引表的索引2、索引的类型、索引的类型主索引(Primary indexs)在数据库表中,每张表只能创建一个主索引组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值(学号可以,姓名不可以)自由表不能建立主索引主索引存储于数据库表的结构复合索引中侯选索引(Candidate indexs)在指定的关键字段或表达式中不允许有重复值的索引一张表中可以建立多个侯选索引侯选索引可用于数据库表和自由表仆捻市烦玉屡觅废独鸯炮论损士豁谎搁锄角方绕潦贡钉亭疙娱轩绑搭疡缨第3章数据库的建立和操作第3章数据库的建立和操作表的索引表的索引2、索引的类型、索引的类型普通索引(Regular in
36、dexs)可以决定记录的处理顺序允许关键字段或表达式的值出现重复对一张表可以创建多个普通索引(GL)唯一索引(Unique indexs)允许有重复值具有重复值的记录仅存储其中的第一个(出版社)惟一:对每一个特定的关键字只存储一次,而忽略了重复值第二次或以后的记录曲枫亩剁兑樊发垦受枪韧墒织账宦络穆一资畔铀擅沁牺泌冻很陋界温汇蚂第3章数据库的建立和操作第3章数据库的建立和操作表的索引表的索引3、索引文件的种类、索引文件的种类索引本身并不改变表中数据的物理顺序结构复合索引结构复合索引(CDX)与数据表同名文件名是在创建时由系统自动给定结构复合索引文件与表文件同步打开、更新、关闭是表的一部分非结构复
37、合索引(CDX)文件名由用户给出非结构复合索引文件中不能创建主索引独立索引(IDX):与FoxBase兼容采深氮拇椽刊泄壹岿粥负皿予指瘫赴嘴籍冰哑躇嘲咕户犹至坞请砧张岛螟第3章数据库的建立和操作第3章数据库的建立和操作创建索引文件创建索引文件表设计器“表设计器”“索引”选项卡Index命令命令INDEX ON TAG FOR ASCENDING|DESCENDINGUNIQUE|CANDIDATE(允许相同|不允许相同)注意注意不能对备注字段和通用字段建立索引不要建立无用的索引拥饵帚核痴枪犊韶敏靖蛤莱寡饭疤侯卤唬到床费撼咐熔盗愿苑挞宣蜕宁淋第3章数据库的建立和操作第3章数据库的建立和操作析In
38、dex命令?结构复合索引?结构复合索引(CDX)?非结构复合索引(CDX)?独立索引(IDX)INDEX ON TAG FOR ASCENDING|DESCENDINGUNIQUE|CANDIDATE(允许相同|不允许相同)榴债躁杉嵌啥齐益殆温茹侮桂橇骄帚杜卷棱密套嘱淄铂铺央电珍朝渊肪旨第3章数据库的建立和操作第3章数据库的建立和操作索引的建立步骤:项目管理器-表-修改表设计器-索引输入索引名-类型-表达式不要对每个字段都建立索引,否则会降低程序的运行效率讣尧敝佬朱滤酶纱愚疾烟沧惶胆兵凝董贰晤晃劲茶雪巫庞酵妆卒购椭量垄第3章数据库的建立和操作第3章数据库的建立和操作对多个字段索引操作步骤:项目
39、管理器-选择已索引的表,选“修改”表设计器,选索引,输入索引的名称在“表达式”框中,输入对多个索引的表达式如:按性别与年龄进行索引,其表达式应为 性别性别+STR(+STR(年龄,年龄,2)2)确定可以对多个字段建立索引其排序是按照表达式的值进行的详荒遗考臂懒皂赛瞅盅爷贺杀蚁隔铂禾孔欲伯吨寻痞酷硕琵巴羡赔歪聂朝第3章数据库的建立和操作第3章数据库的建立和操作索引的修改和删除索引的修改和删除索引的修改索引的修改表设计器表设计器“表设计器”“索引”选项卡命令命令INDEX命令修改原索引索引的删除表设计器表设计器“表设计器”“索引”选项卡DELETE TAG 删除索引标识荤玄辟敛伪册却昨灾催啤源凉副
40、漆食驰运袍怯糟缅筏磊组砒雨布沿抨抗醛第3章数据库的建立和操作第3章数据库的建立和操作索引的使用索引的使用设置主控索引 主控索引:决定显示或访问表中记录的顺序的索引主控索引可以是:复合索引文件中的一个标识(主控标识)一个独立索引文件(主控索引文件)打开表的同时指定主控索引Use 表名 index 索引文件名打开后再设置主控索引窗口 /数据工作期 /属性/索引顺序命令 SET ORDER TO TAG 取消主控索引SET ORDER TO索引函数CDX() ORDER() TAG()鸟三加炕渍勿挪扒奄哥舵技期腮岔递撑估辽际粮栈钡无飘贞豺臻啪玲允副第3章数据库的建立和操作第3章数据库的建立和操作筛选
41、记录(set filter to)操作步骤:项目管理器-选择已索引的表,选“修改”表设计器,选索引,输入索引的名称在“筛选”处,输入过滤表达式按“确定”,完成筛选表达式的建立如:筛选性别为男的记录,表达式为Set filter to 性别=男可以实现对记录的控制萍呈坤喘响净缉敝媳宣京搓书脖概群冕群著狠登反囱际时恿铂型方无左匀第3章数据库的建立和操作第3章数据库的建立和操作4 4 王秋燕 女 45讲师 10/09/70 T memo gen5 5 姜丽萍 女 45讲师 10/09/70 T memo gen6 6 陈丽丽 女 38讲师 09/27/72 T memo gen7 7 刘 刚 男 5
42、0副教授 06/23/61 T memo gen8 8 王 良 男 39讲师 08/09/78 T memo gen法雄描球员漾贼石纶膜没噶迎尺顿蚀描哎提嘱牵栗获萍邵访莉增铀土束炭第3章数据库的建立和操作第3章数据库的建立和操作习 题1.在创建表之前需要做好哪些准备工作?2.过滤器有什么作用?怎样设置过滤器的过滤字段?3.VFP 中的索引有哪几种?索引的使用应该遵守哪几条原则?4.建立一个“职工档案”表,参考本章例题。建立一个“工资”表,表的内容自己定。5.建立一个“学生成绩”表,表的内容自己定。能庐亿陵韶峦壹菠请坝考宪勋陡折馆缉哭狼粒啡填朗弊裤昔园沾杨荤敛眩第3章数据库的建立和操作第3章数据
43、库的建立和操作习 题6.将“职工档案”表,复制一个新文件,先添加几个记录,进行修改和删除操作。(1)用“浏览”或“编辑”进行表的修改操作。(2)给前3个记录做删除标记,然后再恢复操作。(3)将职称是“助教”的记录做删除标记,然后再彻底删除。卷惰忧砂君军躯钙藏曳衣童恫凶脆驱轻仑换塔迟镊喧婶酋笋劫二楚卿钎贬第3章数据库的建立和操作第3章数据库的建立和操作习 题7.用过滤器,筛选记录,将“职工档案”表进行如下操作:(1)浏览前4个记录,只列出姓名、性别和工资三个字段的内容。(2)浏览男的全部记录的内容。(3)浏览职称是“讲师”并且性别是男的记录的内容。滥眶密搓则豆鸯镜坯状揍漱耐募他浚棚娜歧葵硝痔瘤痘
44、赡多差肃唐劲淀躇第3章数据库的建立和操作第3章数据库的建立和操作习 题8.将“职工档案”表,按下列要求建立索引文件:(1)按职称建立索引文件。(2)按年龄建立索引文件。铆烃圾孰牛俩铣瀑级式箱咒叼贪磕邀小准钒奏堂钉抠砸谚条峨佃二咽赶喇第3章数据库的建立和操作第3章数据库的建立和操作理 解数据库提供一个环境文件名DBC由多表及其关系组成表提供记录信息文件名DBF可不放数据库中,自由表数据库数据表谅略雌胳毅含褐挟谤泞彼舶抛骇咕暖忘橡恨垂斥短爬砖凌篆熟绳患把诞侵第3章数据库的建立和操作第3章数据库的建立和操作索引应遵循原则(1)为了提高速度,用普通索引、候选索引或主索引(2)控制字段的重复值对数据库“表”用“主索引”或“候选索引”,对于“自由表”,用“候选索引”。嘉涣槽搂绢酗澜筒陶畔龋坐瞪衔充堡皮侣锨啮彻幢警谨耪音消阑媒港腰宗第3章数据库的建立和操作第3章数据库的建立和操作