XXXX年VF之VF项目数据库表严浩_第1页
XXXX年VF之VF项目数据库表严浩_第2页
XXXX年VF之VF项目数据库表严浩_第3页
XXXX年VF之VF项目数据库表严浩_第4页
XXXX年VF之VF项目数据库表严浩_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2016年VFP

项目-数据库-表精讲------主讲人:

11111

一.三者关系

数据库1表1

数据库2表2项目

数据库3表3

数据库4

一个项目可以有多个数据库

一个数据库可以有多个表

一张表只能属于一个数据库2二.数据库的建立与使用

1.创建数据库①界面方式②命令方式createdatabaseabc※创建数据库后,自动生成三个文件.dbc,.dct,.dcx※一个数据库主要包含五个内容①本地视图②远程视图③连接④数据库表⑤存储过程2.打开数据库①界面方式②命令方式opendatabaseabc3.关闭数据库①界面方式②命令方式closedatabaseabc4.设置当前数据库①界面方式②命令方式setdatabasetoabc3二.数据库的建立与使用

5.删除数据库①从项目管理器中移去数据库1,此数据库1仍存在于文件夹中,属于此数据库1的表不能自动成为自由表,不能自由添加到其他数据库中。②从项目管理器中删除数据库2,此数据库2在文件夹中也被删除,下属表变成自由表,可以添加到其他数据库中。③从文件夹中直接删除数据库3,下属表存在且不是自由表。(非法操作)※使一张表变为自由表的命令:freetableabc.dbf&&使表abc变成自由表4三.数据库表的建立与使用(一)表结构概述(二)表结构的创建(三)表结构的修改(四)表的打开与关闭(五)表数据的处理5三.数据库表的建立与使用(一)表结构概述1.有关表的基本概念①数据库表与自由表:

自由表+扩展属性+主索引=数据库表②表结构:表名+表头(属性的集合)③字段:表中的一列④记录:表中的一行6三.数据库表的建立与使用(一)表结构概述2.字段的基本属性①字段名的命名要求:必须以字母开头,可由数字符号,字母,下划线组成,不分大小写,不允许空格或其他字符。自由表的字段名<=10个字符。数据库表的字段名为1-128个字符。如果从数据库中移去一个表,那么此表的长字段名将被截成10个字符。②数据类型及字段宽度:③小数位数:④NULL值:7三.数据库表的建立与使用(二)表结构的创建1.界面方式:表设计器2.命令方式:createtable表名(字段名1类型(长度),…,字段名n类型(长度))

例:createtableteacher(xmc(10),xhc(12))※表创建成功后,自动生成表文件.dbf和表备注文件.fpt8三.数据库表的建立与使用

(三)表结构的修改1.界面方式:2.命令方式:ALTERTABLE表名ADD[COLUMN]新字段名类型(长度)&&增加字段ALTERTABLE表名ALTER

字段名新类型(新长度)&&修改字段ALTERTABLE表名RENAME

旧字段名TO新字段名&&重命名字段ALTERTABLE表名DROP

字段名&&删除字段例:altertableabcadd[column]jgc(20)&&增加jg字段altertableabcalterzzmmc(20)&&修改字段altertableabcrenamezzmmtozzmmdm&&重命名字段altertableabcdropzp&&删除zp字段9三.数据库表的建立与使用(四)表的打开与关闭1.工作区:表每次打开的时候,都会在内存中分配到一块存储区域,作为工作区,而且计算机都给工作区进行了编号(即工作区号),这个编号范围从1到32767。另外,VFP还规定前10个工作区可用字母A-J作为工作区别名。2.表的别名:在工作区中打开表时为该表所定义的名称。可以自定义别名,否则系统默认就以表名作为别名。若一张表在多个工作区中被打开,系统默认在表名后依次加_a、_b…。自定义别名的格式:

use

表名alias

别名10三.数据库表表的建立立与使用用(四)表表的打开开与关闭闭3.表的打开开与关闭闭:①关闭表表:usein2&&关闭指定定工作区区打开的的表use&&关闭当前前工作区区中的表表。closetablesall&&关闭所有有工作区区中的表表②打开表表:usexs&&在当前工工作区打打开表xsselectxs&&选择xs表所在的的工作区区作为当当前工作作区select0&&选择当前前未被使使用的最最小工作作区select3&&选择3号工作区区11三.数据库表表的建立立与使用用(四)表表的打开开与关闭闭3.表的打开开与关闭闭:③不改变变当前工工作区,,在指定定工作区区打开表表:usejsin0&&不改变当当前工作作区,在在当前未未被使用用的最小小工作区区打开js表usejsin5&&不改变当当前工作作区,在在5号工作区区中打开开js表usegzaliassalaryin6&&把工资表表改别名名后在6号工作区区打开usexsagainin11&&在11号区再次次打开xs表12三.数据库表表的建立立与使用用(五)表表数据的的处理1.表的浏览览与筛选选browse&&浏览当前前工作区区中的表表list&&在主窗口口显示当当前表browseforxb="女"&&筛选记录录【显示示在表中中】listforxb="女"&&筛选记录录【显示示在主窗窗口中】】browsefieldsgh,xm,xb&&筛选字段段【显示示在表中中】listoffgh,xm,xb&&筛选字段段【显示示在主窗窗口中】】browsefieldsgh,xm,xbforxb="女"setfiltertoxb="女"&&设置记录录的筛选选条件setfilterto&&恢复原来来setfieldstogh,xm,xb&&设置字段段筛选setfieldstoall&&恢复原来来displayall&&在主窗口口中显示示所有记记录displayallforxb="女"&&在主窗口口中显示示性别为为女的所所有记录录displayoffxm&&在主窗口口中显示示表中所所有姓名名的字段段display&&默认在主主窗口中中只显示示一条记记录13三.数据库表表的建立立与使用用(五)表表数据的的处理2.表记录的的添加①单条记记录的添添加:界面方式式:显示示追加方式式命令方式式:insertinto表名(字段名1,字段名2)values(表达式1,表达式2)例:insertintostudent(xb,xh)values(“男”,“1301021”)②批量记记录的导导入:append&&显示编辑辑窗口,,直接添添加记录录appendblank&&添加一条条空记录录appendfromxs&&从学生表表中批量量导入记记录appendfromabcdelimited&&从文本文文件中批批量导入入记录appendfromabcxls&&从excel文件中批批量导入入记录14三.数据库表表的建立立与使用用(五))表数数据的的处理理3.表记录录的修修改①界面面方式式:表设计计器②命令令方式式:非SQL语言:replace[范围语语句]<字段>with<表达式式>[for<条件表表达式式>]【范围围语句句】all|nextn|rest|recordn例:replaceallcjwith75forkcdm=“60023”replaceallbzwith““优秀学学生”forcj=90replaceallbzwithiif(cj>=80,“三好好学生生”,“合格格”)SQL语言:update表名set字段1=表达式式[where<条件表表达式式>]例:updateabsetcj=90wherekcdm=“60023”15三.数据库库表的的建立立与使使用(五))表数数据的的处理理4.表记录录的删删除①逻辑辑删除除(可可以恢恢复))非SQL语言::delete[范围语语句][for条件表表达式式][in工作区区号]表别名名]例:deleteforxb=“女””&&为性别别是女女的所所有记记录添添加删删除标标记recallall&&恢复原原来delete&&默认给给当前前的一一条记记录添添加删删除标标记recall&&恢复原原来SQL语言::deletefrom表名[where<条件表表达式式>]②物理理删除除(彻彻底删删除,,无法法恢复复)pack&&彻底删删除添添加了了删除除标记记的记记录zap&&彻底删删除当当前表表中所所有记记录16三.数据库库表的的建立立与使使用(五))表数数据的的处理理5.表记录录的复复制copytoabc&&把当前前表复复制到到abc表中copytoabcfieldsxh,xm&&把当前前表内内xh和xm记录复复制到到abc表中copytoabcforxb=“女””&&把当前前表内内女性性记录录复制制到abc表中copytoabcxls&&把当前前表以以excel格式复复制copytoabcsdf&&把当前前表以以文本本格式式复制制17三.数据库库表的的建立立与使使用(五))表数数据的的处理理6.表记录录的定定位①相对对定位位和绝绝对定定位::go/goto5&&绝对定定位到到第五五条记记录gotop/gobottom&&绝对定定位到到第一一条/最后一一条记记录skip5&&相对定定位((在此此基础础上向向后加加5)skip-5&&相对定定位((在此此基础础上往往前减减5)skip&&默认在在此基基础上上向后后加1②有关关表记记录定定位的的命令令:?bof()&&判断当当前记记录是是否为为表头头?eof()&&判断当当前记记录是是否为为表尾尾?recno()&&返回当当前记记录的的记录录号?reccount()&&返回当当前表表中记记录的的总数数目※一张表表的记记录初初值为为1,记录录尾值值为记记录总总数加加1③条件件定位位:从从整张张表的的第一一条记记录开开始按按顺序序逐个个查找找符合合条件件的记记录locateforjg=“上海”&&返回籍贯为为上海的第第一条记录录的记录号号continue&&返回籍贯为为上海的第第二条记录录的记录号号18四.表索引的建建立与使用用(一)有关关索引的基基本概念(二)索引引的创建和和使用19四.表索引的建建立与使用用(一)有关关索引的基基本概念1.记录顺序::①物理顺序序(自然顺顺序)②逻逻辑顺序((人为顺序序)2.索引:①概念:按按表文件中中某个关键键字段或者者字段表达达式建立记记录的逻辑辑顺序。它它是由一系系列记录号号组成的一一个列表,,存放在.CDX中。②作用:提提供对数据据的快速访访问。③特点:让让表中记录录按照某种种逻辑顺序序显示,但但不改变表表中记录的的物理顺序序。(即:使用用gotop/gobottom等定位命令令时,结果果不受索引引影响。))20四.表索引的建建立与使用用(一)有关索索引的基本本概念3.索引关键字字(索引表达式式):不同类型字字段构成索索引表达式式时,注意数据类类型的统一一.4.索引标识名名(索引名名):即索索引关键字字的名称,长度<=10个字符。5.索引类型::①主索引:表中记录不不能有重复复值,一张张表只能有有一个主索索引。②候选索引引:在指定的关关键字段或或者表达式式中不允许许有重复值值的索引。。③普通索引引:一张表中可可以有多个个普通索引引。④唯一索引引:参加索引的的关键字段段或者表达达式在表中中可以有重重复值。但但具有重复复值的记录录只显示第第一条。21四.表索引的建建立与使用用(二)索引引的创建和和使用1.索引的创建建:①界面方式式:表设计计器②命令方式式:A)indexon索引表达式式tag索引名[candidate|unique](该命令不不能创建主主索引)例:indexonxmtagxm1&&设置普通索索引indexonxmtagxm2unique&&设置唯一索索引indexonxmtagxm3candidate&&设置候选索索引setordertoxm1&&设置主控索索引setorderto&&恢复原来B)altertable表名addprimarykey|unique索引表达式式tag索引名(该命令可可创建主索索引和候选选索引)22四.表索引的建建立与使用用(二)索引引的创建和和使用2.索引的修改改和删除::①界面方式式:表设计计器②命令方式式:deletetagximing&&删除索引名名为ximing的索引deletetagall&&删除全部索索引altertableabcdropcandidate/uniquetag&&删除表abc中的候选索索引/唯一索引23四.表索引的建建立与使用用(二)索引引的创建和和使用3.索引的使用用(设定主主控索引)):①界面方式式:表设计计器②命令方式式:setordertoxm1&&设置主控索索引setorderto&&恢复原来4.快速定位::seek““130702148”&&二分法查找找学号为130702148的学生24五.数据库表的的扩展属性性(一)数据据库表字段段的扩展属属性(二)数据据库表的表表扩展属性性25五.数据库表的的扩展属性性(一)数据据库表字段段的扩展属属性1.显示格式((输出掩码码)和输入入掩码:2.标题和默认认值:3.字段有效性性规则和说说明信息::26五.数据库表的的扩展属性性(二)数据据库表的表表扩展属性性1.长表名:如:“课程程表”(设置好后在在项目管理理器中能直直接看到)2.记录有效性性规则和说说明信息::3.触发器:4.表注释(表表的编辑说说明):如如“这是一一张教师表表。”27六.数据库表的的永久性关关系和参照照完整性规规则(一)创建建数据库表表之间的永永久性关系系(二)数据据库表之间间(已经建建立永久关关系)的参参照完整性性规则(三)表与与表之间的的关系:(四)项目目管理器操操作28六.数据库表的的永久性关关系和参照照完整性规规则(一)创建建数据库表表之间的永永久性关系系1.创建数据库库表之间永永久性关系系的三个条条件:①判断两个个表之间是是否有关联联②两个表之之间是否存存在公共字字段(名称称可以不同同,含义和和数据类型型要相同))③分清关联联形式(即即确定主表表和子表))29六.数据库表的的永久性关关系和参照照完整性规规则(一)创建建数据库表表之间的永永久性关系系2.创建过程::例:【窗口口演示】((表设计器器)①利用表设设计器创建建xs表主索引,求索引名为为xsxh,类型为主主索引,索索引表达式式为xh②利用表设设计器为cj表创建普通通索引,要要求索引名名为cjxh,索引表达达式为xh。※如果两表表中已经创创建相关索索引,可直直接在“数数据库设计计器”中创创建永久性性关系。①在“项目目管理器””中选择数数据库jxsj,击“修改””按钮,现“数据库库设计器””窗口.②右击“数数据库设计计器”窗口口,选择““查找对象象”按钮,,找到xs表和cj表.③找到主表表xs表主索引xsxh(标记:钥钥匙);找找到子表cj表的普通索索引cjxh.④将主表xs表的主索引引xsxh按住不放,,“拖放””到子表cj表的普通索索引cjxh上即可,在在两个表之之间就出现现一条关系系连线,用用以标识永永久性关系系。30六.数据库表的的永久性关关系和参照照完整性规规则(二)数据据库表之间间(已经建建立永久关关系)的参参照完整性性规则31六.数据库表的的永久性关关系和参照照完整性规规则(三)表与与表之间的的关系:1.一对一2.一对多3.多对多:纽带表32六.数据库表的的永久性关关系和参照照完整性规规则(四)项目目管理器操操作1.包含和排除除的设置:右键表设设置包含/排除2.文件编辑说说明(还包包括修改文文件名)3.项目信息编编辑(包括括附加图标标)例:修改项项目TEST的项目信息息:附加图图标NET.ICO。修改项目test的项目信息息:省份为为“江苏””。修改项目文文件test的项目信息息:邮政编编码为“210093”。33七.有关表操作作的函数?select()/?select(0)&&返回当前工工作区号?select(1)&&返回当前未未被使用的的最大工作作区号32767?select(““xs”)&&返回学生表表所在的工工作区号?used(“xs”)&&判断学生表表是否被打打开?dbused(““jsgl”)&&判断jsgl数据库是否否被打开?alias()&&返回当前工工作区内的的表别名?alias(1)&&返回1号工作区内内的表别名名34七.有关表操作作的函数?field(1)&&返回当前工工作区中表表内的第一一个字段名名?field(2,1)&&返回1号工作区中中表内的第第二个字段段名?field(4,“xs”)&&返回学生表表中的第四四个字段名名?fcount()&&返回当前工工作区中表表的字段个个数?fcount(3)&&返回3号工作区中中表的字段段个数?fcount(““xs”)&&返回学生表表中的字段段个数?delete()&&判断当前记记录是否加加了删除标标记?dbc()&&返回当前数数据库的完完整文件途途径?dbgetprop(“””,“””,“””)?dbsetprop(“””,““”,“””,“””)3536谢谢!!!9、静夜夜四无无邻,,荒居居旧业业贫。。。1月-231月-23Thursday,January5,202310、雨中中黄叶叶树,,灯下下白头头人。。。00:21:2900:21:2900:211/5/202312:21:29AM11、以我独独沈久,,愧君相相见频。。。1月-2300:21:2900:21Jan-2305-Jan-2312、故人江海海别,几度度隔山川。。。00:21:2900:21:2900:21Thursday,January5,202313、乍乍见见翻翻疑疑梦梦,,相相悲悲各各问问年年。。。。1月月-231月月-2300:21:2900:21:29January5,202314、他乡生白发发,旧国见青青山。。05一月202312:21:29上午午00:21:291月-2315、比不了得得就不比,,得不到的的就不要。。。。一月2312:21上午1月-2300:21January5,202316、行动出出成果,,工作出出财富。。。2023/1/50:21:2900:21:2905January202317、做前,能够够环视四周;;做时,你只只能或者最好好沿着以脚为为起点的射线线向前。。12:21:29上午午12:21上上午00:21:291月-239、没有失败败,只有暂暂时停止成成功!。1月-231月-23Thursday,January5,202310、很多事情情努力了未未必有结果果,但是不不努力却什什么改变也也没有。。。00:21:2900:21:2900:211/5/202312:21:29AM11、成功就就是日复复一日那那一点点点小小努努力的积积累。。。1月-2300:21:2900:21Jan-2305-Jan-2312、世间间成事事,不不求其其绝对对圆满满,留留一份份不足足,可可得无无限完完美。。。00:21:2900:21:2900:21Thursday,January5,202313、不知香积积寺,数里里入云峰。。。1月-231月-2300:21:2900:21:29January5,202314、意志坚强的的人能把世界界放在手中像像泥块一样任任意揉捏。05一月202312:21:29上午午00:2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论