版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章数据库的创立和使用本章知识点:数据库的创立、使用与维护4.1VFP数据库概述4.2数据库的创立4.3数据库的使用4.4VFP数据字典概述4.5数据库表4.6永久关系与参照完整性4.7有关数据库操作的常用函数4.1VFP数据库概述数据库是一个容器,是许多相关的数据库表及其关系的集合。数据库中的表并不是彼此独立的。可借助一个公共字段将关联的表联系起来,建立表与表之间的“关系〞。(专业代号)(工号)(课程代号)(学号)教师表课程表任课表成绩表专业表学生表4.2数据库的创立可在数据库中存储一系列的表,在表间建立关系,设置属性和数据有效性规那么创立一个数据库将生成三个文件:数据库文件(.dbc),与数据库关联的数据库备注文件(.dct)和数据库索引文件(.dcx)数据库文件并不在物理上包含任何附属对象,仅存储了指向表文件的路径指针数据库的创立数据库的组成〔数据库表,视图,连接,存储过程〕数据库的创立界面方式(1)“工程管理器〞->“数据库〞->“新建〞,那么翻开“新建〞对话框->输入数据库名->“保存〞,出现“数据库设计器〞窗口和“数据库设计器〞工具栏(2)“新建〞->“数据库(不属于工程)命令方式CREATEDATABASE[数据库名|?]数据库名:那么创立数据库,并处于翻开状态,但不出现数据库设计器?:自动翻开“新建〞对话框(不属于工程)数据库的组成——数据库表数据库表:附属于某一个数据库的表与自由表相比,数据表具有许多扩展功能和管理特性数据库表与数据库之间的相关性是通过双向链接实现的(后链)有关数据库文件的路径和数据库名(前链)有关表文件的路径和文件名数据库数据库表数据库的组成——视图(view)设计表时,要将数据按主题分解到不同的表中,使用时,要将分散在相关表中的数据通过联接条件将它们收集在一起,构成一张“虚表〞。视图就是一种“虚表〞,其数据来源于一张或多张表。视图兼有表和查询的特点:与查询类似可以从一张或多张相关联的表中提取有用信息,与表类似可以更新其中的信息并将更新结果永久保存在磁盘上。视图可分为本地视图和远程视图数据库的组成——连接(connection)连接是保存在数据库中的一个定义,它指定了远程数据源的名称。一个远程数据源通常是一个远程数据库效劳器或文件,并且已为它在本地安装了ODBC驱动程序和设置了ODBC数据源名称。建立远程数据连接的目的是为了创立远程视图,通过使用远程视图无需将所有记录下载到本地计算机上即可提取远程ODBC效劳器上的数据子集。连接远程数据源的方法:(1)直接访问在机器上注册的ODBC数据源;(2)用“连接设计器〞设计自定义连接。数据库的组成——存储过程存储过程是保存在数据库中的过程代码,由一系列用户自定义函数或在创立表与表之间参照完整性规那么时系统创立的函数组成。假设要经常对数据库中的数据进行一些相似或相同的处理,可将这些代码编写成自定义函数并保存到存储过程中。创立、修改或移去存储过程的方法有:(1)工程管理器(2)数据库设计器窗口:数据库菜单-编辑存储过程(3)命令窗口:modifyprocedure命令利用存储过程可提高数据库的性能,翻开数据库时该数据库包含的存储过程被自动加载到内存中。4.3数据库的使用1、翻开数据库2、设置当前数据库3、检查数据库的有效性4、关闭数据库5、删除数据库翻开数据库新建的数据库,保存后自动翻开翻开数据库表时,系统也会自动翻开相应的数据库工程管理器中翻开,同时出现数据库设计器窗口翻开一个工程,系统自动翻开工程所包含的数据库〔关闭工程时数据库也同时关闭〕命令:opendatabase[DataBaseName][exclusive|shared][noupdate][validate]exclusive|shared:缺省时以独占方式翻开validate:翻开数据库时进行数据库的有效性检验可屡次使用该命令同时翻开多个数据库opendatabasedb1opendatabasedb2opendatabasedb3设置当前数据库在所有翻开的数据库中,只有一个是当前数据库,在翻开数据库时,最后一个翻开的数据库为当前数据库当前数据库的设置(1)界面:常用工具栏(2)命令:setdatabasetoDatabaseName检查数据库的有效性假设用户移动了数据库文件〔.〕或数据库表文件,可能会破坏数据库和库表之间的双向链接。命令validatedatabase可检查数据库的有效性和更新链接validatedatabase[recover][toprinter|tofileFileName]recover:更新链接,缺省时仅检查数据库的有效性,更新链接时假设库表文件不在原位,那么翻开检查数据库对话框,要求进行文件的定位to:检查结果的去向,缺省时在VFP主窗口显示注:只能处理以独占方式翻开的当前数据库关闭数据库界面:工程管理器命令:closedatabaseclosedatabase&&关闭当前数据库〔库表同时被关闭〕,假设没有翻开的数据库,那么关闭所有工作区内所有翻开的自由表、索引和格式文件,将当前工作区设置为1号工作区closedatabaseall&&关闭所有翻开的数据库删除数据库删除数据库将删除存储在数据库中的一切信息〔存储过程、视图、表之间的关系、库表的扩展属性等〕工程管理器:移去〔库表自动变为自由表〕资源管理器或deletefile命令〔不会删除库表中的链接信息,可用命令freetable删除后链,使库表成为自由表〕最好不用此方式!4.4VFP数据字典概述数据字典:是指存储在数据库中用于描述所管理的表和对象的数据,即关于数据的数据〔元数据〕。数据字典使得对数据库的设计和修改更加灵活,可以创立和指定以下内容:表中字段的标题、注释、默认值、输入掩码和显示格式,以及表单中使用的默认控件类等。表的主索引关键字。库表之间的永久性关系长表名和表注释字段级和记录级有效性规那么存储过程插入、更新和删除事件的触发器4.5数据库表1、数据库表的创立2、数据库表的字段扩展属性3、数据库表的表属性4、数据库表的约束机制及其激活时机5、数据库表的添加与移去6、数据库表的索引7、有关数据库及数据库表的几点说明数据库表的创立界面:(1)“工程管理器〞->“JXSJ数据库〞并展开->“表〞->“新建〞->“库表设计器〞(2)数据库处于翻开状态,“数据库设计器〞工具栏->“新表〞按钮(3)数据库处于翻开状态,“数据库〞菜单->“新建表〞命令命令:createtable-SQLOpendatabasejxsjCreatetablexsaname'学生表之一'(xhc(7),xbc(2))Createtablexsbfree(xhc(7),xbc(2))Name子句:指定长表名Free子句:指定该表为自由表,且不包含在工程中数据库表的字段扩展属性字段的根本属性〔库表和自由表均具有〕字段名、类型、宽度、小数位数库表的扩展属性〔1〕字段的显示属性:指定输入和显示字段时的格式字段格式、输入掩码、标题和注释〔2〕字段的验证:限定字段的取值及取值范围字段有效性规那么、有效性信息、字段的默认值扩展属性可在表设计器中设置,有些属性也可用createtable-sql,altertable-sql命令设置字段格式〔format〕字段格式用于指定字段显示时的格式,包括在浏览窗口、表单或报表中显示时的大小写和样式等。格式可以由一些字母或字母的组合来表示。A只允许字母和汉字,不允许空格或标点符号E以英国日期格式编辑日期型数据K当光标移动到文本框上时,选定整个文本框L显示前导零,只对数值型数据有效T删除输入字段前后空格!把字母转换为大写字母^使用科学记数法显示数值型数据$显示货币符号输入掩码〔inputmask〕用于指定字段中输入数据的格式可使用字母或字母的组合来表示X可输入任何字符9可输入数字和正负符号#可输入数字、空格和正负符号$在某一固定位置显示当前货币符号*在值的左侧显示星号.句点分隔符指定小数点的位置,逗号可以用来分隔小数点左边的整数局部$$在微调控制框或文本框中,货币符号显示时不与数字分开标题〔caption〕和注释〔comment〕标题和注释都是为了使表具有更好的可读性,并不是必需的字段命名时首先考虑其可读性,但有时为了使字段更为方便地参与运算,字段名常采用简练的形式假设简练的字段名不能明确地表达含义,可为字段设置一个标题,假设标题还不能充分地表达含义或需要给字段以详细的说明,还可给字段加上注释字段有效性规那么,有效性信息有效性规那么:控制输入字段的取值范围,是一个包含该字段的逻辑表达式,在字段值改变时发生作用有效性信息:违反有效性规那么时需显示的信息字符表达式,与有效性规那么配合使用有效性规那么说明(1)“表设计器〞->“字段〞->“字段验证〞->输入规那么,信息(2)创立表的同时:CREATTABLEcj(xhC(6),cjN(3,0);CHECKcj>=0ANDcj<=100error‘成绩应在0-100之间!')(3)表已经存在:ALTERTABLEcjALTERCOLUMNcj;SETCHECKcj>=0ANDcj=100error‘成绩应在0-100之间!‘说明表已有记录,设置或修改有效性规那么时:首先必须确保记录满足将要设置的有效性规那么,假设满足那么可顺利设置;否那么,有效性规那么无法设置,或在确认保存时选择对现有的数据不做检查。字段的默认值默认值:可减少数据输入的工作量〔如涉及当前日期的字段默认值可设置为datetime()〕字段允许NULL,可设置默认值为NULL;否那么不可设置为NULL用户未指定字段的默认值且字段不允许为空值,系统那么按(1)“表设计器〞->“字段〞->“字段验证〞->输入默认值(2)CREATTABLEcj(xhC(6)default‘0500000’,cjN(3,0))(3)ALTERTABLEcjALTERCOLUMNxhsetdefault‘0500000’字符型:与字段宽度相等的空串数值,双精度,浮点,货币,整型:0逻辑型:.F.备注型通用型:无日期型日期时间型:空的日期数据库表的表属性长表名与表注释、记录有效性规那么及信息、触发器长表名与表注释vfp中规定数据库与自由表的表名最大长度为128个字符如设置了长表名那么在各种对话框、窗口中均以长表名代替表名长表名与文件名可以同样使用长表名的设置:〔1〕表设计器〔2〕createtable中用name子句指定长表名
表注释:表的说明信息,说明表的含义表的记录级验证规那么字段有效性规那么仅对当前字段有效记录有效性规那么可校验多个字段之间的关系是否满足某种规那么设置:(1)“表设计器〞->“表〞->“规那么〞或“信息〞(2)Createtable命令的check,error子句或Altertable命令的setcheck,error子句〔同字段级验证规那么〕Altertablejssetcheckyear(gzrq)-year(csrq)>=18error‘…满18岁’删除:表设计器中或altertable命令的drop子句,如:altertablejsdropcheck记录级验证规那么设置说明记录级验证规那么设置说明在记录值发生改变时被激活记录指针移动时检查记录级验证规那么
(1)修改记录没移动记录指针,关闭“浏览〞窗口时仍然要检查记录级规那么(2)如对一张表增设记录级有效性规那么,设置结束时要按此规那么对所有记录进行检查,如有记录不符合规那么,那么该规那么不被成认,或在确认保存时选择不对现有数据进行验证
表的触发器触发器是绑定在表上的逻辑表达式(.T.允许进行相应操作,.F.不允许进行相应操作)当表中的记录被修改〔插入、更新、删除〕时,在进行了其它所有检查〔有效性规那么,主关键字,null值〕之后被激活分类插入触发器:每次向表中插入或追加记录时触发该规那么更新触发器:每次在表中修改记录时触发该规那么删除触发器:每次在表中删除记录时触发该规那么设置表设计器命令createtrigger删除表设计器命令deletetrigger格式:Createtriggeron
TableName;fordelete|insert|updateas
lExp例,createtriggeronkcforupdate.f.createtriggeron
js
fordelete
gl=50格式:deletetriggeron
TableName;fordelete|insert|update例,deletetriggeronkcforupdate数据库表的约束机制及其激活时机约束机制级别激活机制Null有效性字段|列从浏览中离开字段|列,或执行插入,更改字段值时字段有效性规则字段|列从浏览中离开字段|列,或执行插入,更改字段值时记录有效性规则记录发生记录更新时候选|主索引记录发生记录更新时Valid子句表单移出记录时触发器表在插入,更改,删除事件中,表中值改变时数据库表的添加与移去添加:自由表添加到数据库中成为数据库表,建立了库与表之间的双向链接界面:“工程管理器〞或“数据库设计器〞窗口或“数据库〞菜单->“添加表〞命令:addtableTableName[nameLongTableName]移去:数据库表从数据库中释放出来成为自由表,删除了库与表的双向链接界面:“工程管理器〞或“数据库设计器〞窗口命令:removetableTableName[delete]注:一张表在同一时间内只能属于一个数据库,假设意外删除了某数据库文件,其包含的库表仍保存对数据库引用的后链,不能被添加到其他的数据库中,需利用freetableTableName删除库表中的后链,使之成为自由表数据库表的索引1、一切自由表的有关索引均适合于数据库表2、库表还可以设置主索引,构成主索引的索引表达式的值对各条记录来说必须唯一,且每张库表只能设置一个主索引3、库表设置主索引的主要用途:为了建立表之间的永久关系注:主索引与其它索引分别采用不同的图标显示有关数据库及数据库表的几点说明1.单张表来说,库表仅比自由表具有字段扩展属性,可设置主索引。但在实际应用中,系统有多张关联的表组成,且各表的数据都应有一些约束条件,因此应尽可能地使用数据库表。2.同时使用多个数据库时,假设要翻开或说明非当前库中的表,使用‘!’符号,如jxsj!xs。3.移动库文件的存储位置时,应相应地考虑该数据库的库表文件的存储位置,否那么可能会出现前后链不一致。4.不要轻易地从数据库中移去表,因为库表移去时会丧失存储在库中的字段扩展属性,表属性等。5.屡次修改数据库结构,数据库表结构之后,应进行数据库清理〔数据库菜单/清理数据库命令〕4.6永久关系与参照完整性可为相关的两张表创立永久关系且基于永久关系可创立者两张表之间的数据完整性规那么表之间关系的种类表之间的永久关系参照完整性VFP数据完整性综述表之间关系的种类关系模型中实体之间的联系有三种:一对一、一对多、多对多的联系对应于关系数据库中表之间的三种关系1、一对一关系特点:甲表的一个记录在乙表中有且仅有一个相应记录乙表的一个记录在甲表中也有且仅有一个记录与之对应使用:实际应用中不常使用,因为在许多情况下,两张表可合二为一2、一对多关系特点:甲表的任意一个记录在乙表中有多个记录与之对应〔父表、一表〕乙表的每个记录在甲表仅有一个记录与之对应〔子表、多表〕3、多对多关系特点:甲表的任意一个记录在乙表中有多个记录与之对应乙表的每个记录在甲表也有多个记录与之对应使用:多对多关系不能直接利用,必须建立第三张表称为纽带表把多对多关系分解为两个一对多的关系,第三张表存储了两张表的主关键字,其主关键字可有两个外键组成表之间的永久关系persistentrelationship永久关系是库表之间的一种关系,这种关系不仅在运行时存在,且一直保持,是根据表的索引建立的。索引的类型决定了要创立的永久关系类型一对一关系,两张表都必须为主索引或候选索引一对多关系,主表必须用为主索引或候选索引,子表可用普通索引永久关系的作用查询设计器和视图设计器窗口中,自动作为默认联接条件作为表单和报表的默认关系用来存储参照完整性信息创立永久关系的方法确定两张表的关系类型建立相应的索引建立永久关系编辑永久关系:双击关系连线,翻开“编辑关系〞对话框删除永久关系:单击连线,delete建立永久关系〔1〕在数据库设计器窗口中,鼠标拖动即可建立永久关系〔2〕CREATTABLECJ(xhC(5),kcdhC(6),FOREIGNKEYxhTAGxhREFERENCExs)〔3〕ALTERTABLEcjADDTABLEFOREIGNKEYxhTAGxhREFERENCExs〕参照完整性referentialintegrityRI是用来控制数据的完整性,尤其是库中相关表之间的主键和外键之间数据一致性的规那么RI的一般要求RI的设置RI规那么是建立在永久关系根底之上的右击关系连线-〉执行参照完整性菜单命令或编辑关系对话框中单击“参照完整性〞按钮〔出现“参照完整性生成器〞对话框〕RI规那么RI规那么的保存:设置RI规那么时,系统会自动生成该规那么的程序代码,被保存在数据库的存储过程中RI规那么的实施:由系统自动设置的主表和子表的触发器完成(1)子表中的每一个记录在对应的主表中必须有一个父记录(2)在子表插入记录时,其外部关键字必须是父表主关键字值中的一个(3)在父表中删除记录,与该记录相关的子表中的记录必须删除防止出现“孤立记录〞VFP数据完整性综述VFP引进关系型数据库的三类完整性:1、实体完整性:字段的数据完整性,记录的数据完整性2、参照完整性:相关表之间的数据一致性由表的触发器实施3、用户自定义完整性:是指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山西省忻州市教师职称考试(理论知识)在线模拟题库及答案
- 2026场(厂)内专用机动车辆安全管理考试试题库附答案
- 口腔解剖生理学题库(含答案)
- 体外诊断试剂(药品)基础知识培训试题及答案
- 楼宇亮化施工方案
- 春节由来英语课件
- 太阳能海水淡化技术课件
- 文化传承实践基地运营与维护管理方案
- 易碎品快递包装与防震规范手册
- 新能源汽车零部件项目风险评估报告
- 精神病护理中的个案管理
- 五年级上册心理健康教育全册教学设计及反思
- (2026年)辽宁省本溪市公务员遴选笔试题库及答案解析
- 2026上海第一财经传媒有限公司招聘2人笔试备考题库及答案解析
- 2025至2030中国有机农业种植标准与农产品溢价能力评估分析报告
- 2026年决战行测5000题言语理解与表达完整参考答案
- 2023-2024学年广东省广州实验中学八年级上学期期中数学试卷(含答案)
- 2025学年高一体育与健康期中体育活动摄影摄像考核试卷
- 城市管理人员采购制式服装方案投标文件(技术方案)
- 2025年经济师(中级)考试真题及答案
- 医院医疗质量安全专项整治自查表
评论
0/150
提交评论