2010-2011-2《数据库基础与应用》复习提纲_第1页
2010-2011-2《数据库基础与应用》复习提纲_第2页
2010-2011-2《数据库基础与应用》复习提纲_第3页
2010-2011-2《数据库基础与应用》复习提纲_第4页
2010-2011-2《数据库基础与应用》复习提纲_第5页
已阅读5页,还剩32页未读, 继续免费阅读

下载本文档

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

文档简介

1、数据库基础与应用期末考试及等级考试复习纲要第 1 章 数据库系统基础知识1.1 数据管理技术的三个发展阶段(1)人工管理阶段(2)文件系统阶段(3)数据库系统阶段【例】根据提供的数据独立性、数据共享性、数据完整性、数据存取方式等水平的高低, 计算机数据管理技术的发展可以划分为三个阶段,其中不包括下列的 。BA人工管理阶段B计算机管理阶段C文件系统阶段D数据库系统阶段1.2 数据库系统的组成(1)数据库(DataBase)定义:是以一定的数据模型组织的、长期存放在辅助存储器上的、可共享的相关数据 的集合。组成:由数据和元数据两部分组成。特点:具有较小的冗余度、较高的独立性和易扩展型、可供多个用户

2、或多类应用共享。(2)数据库管理系统(DataBase Management System,DBMS) 是用于建立、使用和维护数据库的系统软件。(3)应用程序(4)用户数据库系统(DataBase System)从广义上讲是由数据库、数据库管理系统 、计算机支 持系统、应用程序和有关人员组成。三个概念之间的联系:在数据库系统中通过数据库管理系统来建立和使用数据库。【例】DBMS 指的是 。A A数据库管理系统 B数据库系统 C数据库D数据库管理员1.3 了解数据库系统的模式结构三级模式结构: 外部层:单个用户的视图,对应于数据库模式的外模式。 概念层:全体用户的公共视图,可理解为数据库管理员所

3、看到的数据库,对应于数据库模式的模式。 内部层:存储视图,可理解为机器“看到”的数据库,对应于数据库模式的内模式。两级映射:概念层与内部层之间的映射:通过它实现数据的物理独立性。 外部层与概念层之间的映射:通过它实现数据的逻辑独立性。【例】数据的逻辑独立性是通过 来保证的。D A模式B内模式 C模式/内模式映射D外模式/模式映射1.4 数据模型(1)了解信息的三个世界及数据模型 三个世界中有关的对应关系: 现实世界(特征)观念世界(属性)数据世界(字段) 现实世界(事物)观念世界(实体)数据世界(记录)【例】实体是信息世界的术语,与之对应的数据库术语是 。C A文件B数据库C记录D字段(2)了

4、解 E-R 模型3 个基本概念:实体、联系(1:1,1:n,m:n)、属性E-R 图:是 E-R 模型的图形表示 实体矩形框表示 联系菱形框表示属性椭圆形表示【例】 E-R 图是 E-R 模型的图形表示法,它是表示概念模型的有力工具。在 E-R 图中,实 体之间的联系用 表示。BA矩形框B.菱形框 C.圆形框 D.椭圆形框(3)关系模型:关系:是以二维表结构来表示实体集及其实体间的联系。 关系模型的数据结构(也称关系模式):是对关系结构的描述。如 CJ(XH,KCDH,CJ)关键字: 超关键字:能唯一确定记录的一列或几列的组合。 候选关键字:最简练的超关键字。主关键字:候选关键字中选一个作为主

5、关键字,不重复且不能为空。 外部关键字:当 A 表的主关键字被包含到 B 表中时,则称 A 表的主关键字为 B 表的外部关键字。【例】关于关系的主关键字的说法中,不正确的是 。D A主关键字的取值不能为空B主关键字可能由多个字段组成C可通过主关键字唯一区分出关系的每一个元组D主关键字不能包含关系的所有属性关系运算传统的集合运算:并()、差(-)、交()等。 专门的关系运算:选择:在关系 R 中选择满足条件的元组,它是对关系的水平分解。 投影:在关系中选择出若干个属性组成新的关系,它是对关系的垂直分解。 联接:根据给定的联接条件将两个关系拼成一个新的关系。【例】关系数据操纵语言可不包含 关系运算

6、。B A连接B交运算C选择 D投影关系的规范化 关系模型的性质:l 属性值是原子的,不可分解的;l 二维表的记录数随数据的增删而改变,但其字段数是相对固定的;2l 二维表中的每一列均有唯一的字段名;l 二维表中不允许出现完全相同的两行;l 二维表中行的顺序、列的顺序均可以任意交换。【例】关于关系的下列说法,不正确的是 。A A在一个关系中允许出现两个相同的列名B在一个关系中不允许出现完全一样的两行 C关系的任意两行互换位置不影响关系的含义 D关系的任意两列可以互换,但不影响关系的含义关系模式存在的异常情况:数据冗余、插入异常、删除异常 关系的规范化: 目的:使结构合理,尽可能地消除异常情况。

7、方法:将关系模式投影分解为两个或两个以上的关系模式。规范化级别:每级称为一个范式,记作 n 范式。n 表示范式的级别,一般要求满足3NF。 关系模型的完整性:域完整性(属性的取值范围)、实体完整性(主关键字满足唯一 且不为空)、参照完整性(主关键字和外部关键字之间的一致性)1.5 关系数据库标准语言 SQL(Structured Query Language, SQL)。数据定义语言(DDL): 用来建立所需的数据库。 数据查询语言(SQL-SELECT)操作操纵语言(DML): 用来对数据库进行更新、插入、删除等维护操作。 主要内容参见第三、四章1.6 数据库设计基础 数据库设计过程中需求分

8、析阶段,经常使用的方法是结构化分析方法(SA)。结构化分析方法常用的描述工具是数据流程图(DFD)和数据字典(DD)。 数据流程图中使用的基本图形符号有 4 个,外部实体(矩形)、数据处理(椭圆形)、数据流(箭头)和数据存储。 数据字典是关于数据库中数据的描述,即元数据,不是数据库本身。【例】在结构化方法中,用数据流程图(DFD)作为描述工具的数据库系统开发阶段是 B 。A、系统规划B、需求分析C、系统设计D、系统实施系统设计包括概念结构设计、逻辑结构设计和物理结构设计。一般用 E-R 模型作为概念 结构设计的基本工具;逻辑结构设计主要是表结构的设计;物理结构主要是数据的存储方式 设计。系统测

9、试分模块测试、系统测试和验收测试。 系统运行与维护:包括日常维护、监控与分析、性能调整、扩展与增强1.7 主流的 DBMS 产品常用的 DBMS 产品有 Oracle,DB2,Sybase,MS-SQL Server,Access ,VFP【例】以下 不是微软公司的产品(A)A、OracleB、SQL ServerC、AccessD、VFP3第 2 章 VFP 数据库管理系统概述2.1 VFP 的操作环境(1)界面基本组成:标题栏、主菜单栏、工具栏、主窗口、命令窗口、状态栏(2)命令窗口中常用的几个命令?(先输出换行再输出?后面的内容)和?(直接输出?后的内容)*(在命令前注释)、&(在命令后

10、注释)MD 创建文件夹(也称目录)CD 进入到指定路径RD 删除指定文件夹Copyfile源文件to目的文件Rename源文件to 目的文件 Run运行可执行程序(.exe) QUIT 退出 VFP(3)改变系统状态的命令SET DEFAULT TOSET SAFETY ON/OFF SET DATE TO改变系统的状态可以在“工具”“选项”中进行。设置完后按住 shift+确定,则会在命令窗口显示当前设置的命令。2.2 VFP 文件类型项目文件(.PJX)表文件( .DBF)数据库文件( .DBC) 表单文件(.SCX)查询文件(.QPR) 报表文件(.FRX)标签(.LBX) 菜单文件(.

11、mnx) 类库文件(.vcx)程序文件(.prg)2.3 VFP 的项目管理器项目:是一个系统中文件、数据、文档等对象的集合。项目管理器:是开发 VFP 应用系统的一个工具,它生成一个项目文件,项目文件的扩 展名为 .PJX,项目备注的扩展名为:.PJT。项目管理器的功能:组织和管理所有与应用系统有关的各种类型的文件。【例】在 VFP 系统中,项目文件的扩展名为 B A. .prgB. .pjxC. .scxD.txt项目管理器窗口的组成:由 6 大类数据项(全部、数据、文档、类、代码、其他)和10 个命令按钮(新建、添加、修改、浏览、关闭、打开、预览、运行、移去、连编)组成。 注:粗斜体表示

12、的命令按钮根据用户选择的不同对象动态地出现。项目菜单的组成:多个子菜单(其中一部分与项目管理器中的命令按钮功能相同)。 可以利用项目管理器来创建、打开、浏览、修改所有 VFP 文件并运行其中的表单、报表、标签、菜单、程序等。特别是可以利用它来连编项目、应用程序(扩展名为.APP,在 VFP环境下执行)和可执行文件(扩展名为.EXE,能脱离 VFP 环境执行)。 有关“包含与排除”:注意包含和排除的符号与含义。包含在项目中的文件连编后运行时是只读的。如果运行过程中需要修改的,应设置为排除。主文件:项目中只能设置一个主文件。表单、菜单、程序等可以设置为主文件。主程序4是一个应用系统运行时的起点,是

13、应用系统执行时首先被执行的程序。 项目间可以共享文件。一个数据库可以同时属于不同的项目。【例】在“项目管理器”窗口中,可以选择一个文件为主文件。下列各组文件类型中, 所有文件类型均可以被设置为主程序的是 。A项目、菜单、查询和表单B 菜单、查询、表单和程序(.prg) C数据库、查询、表单和程序(.prg) D菜单、查询、表单和表【例】主文件是一个应用程序执行的开始点,在一个项目中可以指定 个主文件。(1)2.4 VFP 语言基础1数据类型:为了便于对数据进行加工和处理,需要对数据进行分类。注意各种数据 类型的字母表示以及各种类型存储时所占据的存储空间。表 1VFP 的数据类型一般的数据类型字

14、符型(CCharacter货币型(Y)Currency日期型(DDate日期时间型(TDateTime逻辑型(L)Logical数值型(NNumeric仅用于字段的数 据类型双精度型Double浮点型Float整型Integer通用型General备注型(MMemo)【例】在 Visual FoxPro 中,通用型字段和备注型字段在表中的宽度都是 个字节。2常量与变量(1)常量(constants):在操作过程中保持不变。表 2常用的常量类型常量类型数值型常量字符型常量逻辑型常量日期型常量表示方式-25.36ab,12,中国.T. , .F.2011-6-10(2)变量(variables):

15、是内存中的一个存储单元,其中的内容可以变化,但标识该存储位置的名称(即变量名)不变。掌握变量的命名规则。例如,CSTR、X1、_PP、学号是合法的名称。1X、USE 是非法的名称。因为 1X 数字开 头,USE 是打开表的命令,属于系统保留字。【例】在 Visual FoxPro 系统中,下列命令中不能作为变量名的是 BA姓名B2004 姓名C姓名 2004D_2004 学生 变量的赋值方式:1)用 STORE 命令 如:STORE王兰 TO cStud2) 用赋值操作符“=” 如:cStud = 王兰变量的作用域: 即变量使用的有效范围。PUBLIC说明的变量在整个应用程序都可以使用,用来定

16、义全局变量。LOCAL 说明的变量只可以在本程序中使用,用来定义局部变量。5PRIVATE说明的变量可以在本程序和它的子程序中使用,用来定义私有变量。 注意:在命令窗口中使用的变量都是全局变量。 变量的访问: 当变量和字段同名时,字段有优先被访问权。访问同名变量时,要 在变量名前加 m.,如 m.xm。变量的保存与恢复内存变量是系统在内存中设置的临时存储单元。当退出系统时,内存中的数据自动丢失。 若想保存这些变量的值,可以用 SAVE to 命令。例如,将当前内存中的 A 开头的第 3 个字 符是 B 的所有变量保存到文件 VARFILE 中,可用如下命令:SAVE TO VARFILE al

17、l like A?B*如果下次要恢复内存文件中的所有变量,可用 RESTORE FROM 命令。(3)数组(array):是存储在一个变量中由单个变量名引用的有序数据集合。在 VFP中,一个数组中的数据不必是同一种数据类型。常用的有一维数组、二维数组。数组元素的标识:通过一个数值下标来引用,如 AA(2),AA(2,3)数组类型的声明:用 DECLARE 或 DIMENSION 定义 例如:DIMENSIONARRAY3则定义了一维数组 ARRAY,数组下标为 3,有三个数组元素,分别为 ARRAY1、ARRAY2、ARRAY3。例如:DECLAREBB23则定义了二维数组 BB,数组下标有两

18、个,分别为 2 和 3,有 2*3 共 6 个数组元素,按先 行后列的顺序排列,分别为 BB11,BB12,BB13,BB21,BB22,BB23。二维数组各元素在内存中按行的顺序存储,而且也可以按一维数组来表示其数组元素。 例如上述二维数组 BB 中的元素 BB22数组声名后,位于第 5 位,所以该元素也可用 BB5访问。 当数组被声明后,每个数组元素被默认地赋予逻辑型,值为.F.。数组元素的赋值: 可以给数组的单个数组元素赋值,也可以给整个数组(数组名)赋值。 例如:DIMENSION AA3 AA1=123AA2=456?AA1,AA2,AA3 输出结果是:123456.F. 例如:DI

19、MESION BB34BB=123&给数组名赋值相当于对整个数组元素赋值。?BB11,B12输出结果为:1231233、函数系统函数: 主要掌握函数的功能与使用方法(名称、功能、参数、返回值)1、字符函数:ALLTRIM():去除首尾空格6TRIM():去除尾部空格 AT()/ATC():检测子串在主串中的位置 LEFT()/RIGHT():取串左/右边子串 LEN():求串长SPACE():产生空格SUBSTR():取子串 BETWEEN():是否在之间 EMPTY():是否为空2、数值函数 MAX()/MIN():取最大/小值 ABS():取绝对值INT():取整 MOD():取余 ROU

20、ND():四舍五入函数3、日期函数 DATE():取系统日期 DATETIME():取系统日期时间DAY():取系统日期中的日DOW():取星期几(17) MONTH():取月份 TIME():注意返回值是字符型的 YEAR():取年份4、数据转换函数CHR():根据所给数值给出字符CTOD():字符型转日期型 DTOC():日期型转字符型 ASC():取 ASCII 码值 Chr():转为为字符STR():数值型转字符型 ,转换后默认的长度为 10VAL():字符型转数值型5、其他函数TYPE():测试类型 GETFILE():弹出“打开”对话框 IIF():条件成立返回第一结果,否则返回第

21、二个结果 INKEY():等待键盘输入的时间 MESSAGEBOX():消息对话框,函数返回值是数值型的。 FCOUNT() :返回表的字段总数FIELD() :返回表的字段名USED() :测试表是否打开 RECCOUNT() :返回记录总数 BOF() :测试记录开始标记 EOF() :记录结束标记DBSETPROP()设置属性DBGETPROP()返回属性7RECNO() :当前记录号【例】在下列函数中,函数的返回值为数值型的是 。Abof()Bctod(01/01/06)Cat(审计,南京审计学院)Dsubstr(dtoc(date(),7)【例】函数 Round(624.64,-1)

22、的结果是 。【例】函数 Mod(43,-3)的结果是 。4、运算符与表达式(1)运算符表 3运算符及其优先级数值运算符( ) 或 */%(取余数)+关系运算符=或 !=或 # = =逻辑运算符()表达式分组NOT(非)(!)AND(与)OR (或)日期和日期时间运算符+注意:日期型(天数)时间型(秒数)字符运算符+$两个特殊的运算 符圆点运算符(.):用于分隔对象的名称以及分隔对象中属性、事件、方法作用域运算符(:):提供了从一个子类中调用一个父类的方法。注意各运算符的优先级次序(2)表达式:由常量、变量、操作符、函数、字段名等组合构成的,能求出一个值的 式子。算术表达式:由算术运算符和数值型

23、数据构成的表达式。 例:r=2s=314*r2& 314*r2 是算术表达式字符表达式:由字符运算符和字符型数据构成的表达式。例:? “今天是”+DTOC(DATE()&“今天是”+DTOC(DATE()是字符表达式日期表达式:由日期运算符和日期、时间型数据构成的表达式。关系表达式:用关系运算符将数据连接起来的式子。 例:a=2000b=year(date()?ab& ab 是关系表达式逻辑表达式:由逻辑运算符和逻辑型数据构成的表达式。 例:c=len(“南京审计学院”)d=”男”?ab or cb or c12 and d=“男”是逻辑表达式名称表达式:由圆括号括起来的一个字符表达式,用来替

24、换命令或函数中的名称。 例:DBF_NAME=XSUSE (DBF_NAME)&等价于命令 USE XS宏替换:用宏替换符号 & 表示,将双引号里的内容替换出来,它与名称表达式具有 相似的作用。8例:已知 A=1, B=2, C&A&B=GOOD则 C12=GOOD【例】表达式6=0 字段的有效性信息是对有效性规则的说明,有效性信息是一个字符表达式,需要带 西文双引号,例如:”价格必须大于 0,不能为负数!”。如果信息内容本身含有双引号,则信息中的双引号使用中文方式下的双引号,例如:”性别只能是“男”或“女”11注意,如果表中现有的数据不满足有效性规则,则若要强行设置,则需要在保存时不选 择“

25、用此规则对照现有数据”选项。 字段的默认控件类:当表中的字段在表单上显示时,常用的类型如字符型、日期型 等字段在用表单向导创建表单时,以文本框显示,如果想以其他控件显示,可以在“匹配字 段类型到类”中设置。例如,“性别”字段可以设置用“选项按钮组”。【例】:给 jxsj 数据库中的 cj 表的 cj 字段进行如下设置:(1) cj 字段在输入时只允许是三位的数字(2) 设置标题为“成绩”(3) 输入的成绩值必须在 0-100 分之间(4) 设置默认值为 60 分(5) 设置注释为:“学生各门课程的成绩” 设置如下:数据库表的表属性:长表名、记录验证、触发器等。表属性在表设计器的“表”页面中 进

26、行。长表名和表注释: 在默认情况下,表名就是文件名,例如,JS、XS,这样的表名使用方便,但不直观。对于数据库表来说,可以定义长表名,长表名的最大长度为 128 个字符,一 旦设置好长表名以后,在项目管理器中以长表名代替表名。例如,定义 JS 表的长表名为“教 师表”,XS 表的长表名为“学生表”。记录的有效性规则和信息:在向表中输入记录时,希望表中两个以上的字段之间满足一定的条件,可以为表设置记录有效性规则。和字段级规则一样,记录的有效性规则也是逻辑 表达式,有效性信息是一个字符型表达式。例如,销售日期必须在生产日期之后,年龄必须 比工龄大 20。表的触发器:触发器实际上是绑定在表上的一个逻

27、辑表达式,如果字段的值使得表达式 的结果为.T.,则允许相应的操作(删除、插入、更新),否则不允许。当表中的任何记录被 指定的操作命令修改时,触发器被激活。对于表中的记录有三种动作:插入记录、更新记录和删除记录。因此,对于每张表有三 个触发器:插入触发器、更新触发器及删除触发器。设置表的触发器可以在数据库表的表设计器中进行。【例】:CJ 表中,XH(学号)字段的前两位表示年级, 设置如下规则和触发器:(1)若 03 级的学生是新生,CJ(成绩)字段必须为 0(2)只有 02 级的学生成绩才允许被修改(3)CJ 表中所有记录不允许被删除 设置如下:124、表的打开与关闭VFP 在使用表时,首先必

28、须把表打开,一张打开的表必须占用一个工作区。一个工作区 在某一时刻只能打开一张表。如果在一个工作区中已经打开一张表,再在此工作区中打开另 一张表时,前一张表将自动被关闭。一张表也可以在多个工作区中多次被打开。工作区是用以标识一张打开的表的区域。每个工作区有一个编号。在工作区中打开的表 都有一个别名。选择工作区的命令:SELECT 区号/别名SELECT 0 是指选择当前未被使用的最小编号的工作区作为当前工作区,而不是选择 0号工作区。【例】有如下一段程序:CLOSETABLES ALL USE XSSELE3USE JSUSE KC IN0BROW 上述程序执行后,浏览窗口中显示的表及当前工作

29、区号分别是 AKC、2B.KC、3CJS、3DJS、2答案C只有 SELECT 命令才改变工作区,KC 表是在未被使用的最小工作区中打开了, 即 2 号工作区。一张表可以同时被多个用户打开,称为表的共享使用。反之,当一张表只能被一个用 户打开时,称为表的独占使用。当打开一张表时,如果没有指定用何种方式打开,则系统以默认的方式打开。系统的默 认打开方式可以通过“工具”菜单中的“选项”命令来设置。也可以用命令 SET EXCLUSIVE ON|OFF 来设置。在打开表时,亦可以用显式指定的独占或共享方式打开。在“打开”窗口的右下角有“独 占”复选框,选中表示独占,否则表示共享。或使用命令 USE

30、js SHARED|EXCLUSIVE5、记录的处理(1)使用 INSERT SQL 命令追加记录命令语法:INSERT INTO 表名(字段 1,字段 2) ;13VALUES(表达式 1 ,表达式 2 ) 例如:在产品表中插入如下一条记录Insert into cpb(cph,cpm,sccj,jg,scrq);values(“p02”,”电冰箱”,”北京”,4800,2002-2-14)备注型字段与通用型字段的数据输入:备注型字段显示“memo”,表示无内容,双击备注型字段或按 CTRL+HOME,出现编辑窗 口输入。备注型字段若显示“Memo”,表示有内容。通用型字段显示“gen”,表

31、示无内容,双击通用型字段或按 CTRL+HOME,出现编辑窗口后利用菜单命令“编辑”“插入对象”输入。通用型字段若显示“Gen”,表示有内容。(2)用 BROWSE 命令浏览语法:BROWSE FIELDS FieldlistFOR lExpression; FREEZE FieldNameNOAPPENDNODELETE; NOMODIFYTITLE cExpression 例如,浏览学生表中性别为男的学号、姓名字段。Browsefileds xh,xm for xb=“男”(3)记录的筛选可以使用 SET FILTER TO 命令设置。 例如:仅显示学生表中性别为女的学生。 Set fil

32、ter to xb=”女”BROWSE(4)限制对字段的访问可以使用 SET FIELD TO 命令设置。 例如:仅显示学生表中学号、姓名字段。 Set field to xh,xmBROWSE(5)记录的定位 记录的定位方式可分为:记录的绝对定位、记录的相对定位和条件定位。 绝对定位命令: GOTON相对定位命令: SKIPn条件定位命令:LOCATE FOR 条件CONTINUE 命令需要与条件定位命令联合使用,即定位到下一个满足条件的记录。【例】 使用 LOCATE 命令查找 JS 表中所有的女教师。USE JSLOCATEFOR XB=”女”?FOUND()& .T.?RECNO()&

33、3CONTINUE&继续查找满足条件的第 2 个性别为女的?FOUND()&.T.CONTINUE&继续查找满足条件的第 3 个性别为女的14?FOUND()&.T.?RECNO()&11CONTINUE&已到定位范围末尾?FOUND()&.F.?EOF()&.T.?RECNO()&12(6)记录的修改 可以用界面方式的记录修改也可以使用命令修改记录n UPDATE SQL 命令语法:UPDATE 表名 SET 字段 1=表达式 1,字段 2=表达式 2 ;WHERE 条件表达式 例如,对教师表中计算机系的教师基本工资上浮 20%Update js set jbgz=jbgz*1.2 wher

34、e ximing=”计算机系”n REPLACE 命令 语法:REPLACE 字段 1 WITH 表达式 1 ADDITIVE ,字段 2 WITH 表达式 2,SCOPEFOR条件Replace all jbgz with jbgz*1.2 for ximing=”计算机系”(7) 记录的删除与恢复在 Visual FoxPro 中提供了逻辑删除和物理删除两种删除方式。 逻辑删除:为了防止误删除,只在要删除的记录前作一个删除标记。 物理删除:是将记录真正的删除掉,数据表中不再保留这些记录,而且删除后不能够恢复。a) 标记要删除的记录n 界面操作:当表处于浏览状态下,单击记录前面的“删除标识列

35、”,如果删除标记 是黑色,则该记录已作删除标记。n 命令操作:使用 DELETE 命令或 DELETE SQL 命令DELETE 命令语法: DELETE ScopeFOR 条件表达式DELETE-SQL 语法:DELETE FROM 表名 WHERE 条件表达式b) 恢复带删除标记的记录n 界面操作:当表处于浏览状态下,单击记录前面的删除标记。n 命令操作:使用 RECALL 命令RECALL 命令语法: RECALL ScopeFOR 条件表达式例如:对教师表中工龄大于 30 的教师删除标记恢复RECALLALL FORWHERE year(date()-year(gzrq)30 c)彻底

36、删除记录使用 PACK 或 ZAP 命令,PACK 命令删除带删除标记的记录,ZAP 命令物理删除 所有记录。注意使用 PACK 命令时表必须以独占方式打开。d) 对带有删除标记的记录的访问使用 SET DELETEDON|OFF 命令可以指定 VFP 是否处理带有删除标记的记录。SET DELETEDON&忽略标有删除标记的记录SET DELETEDOFF&允许访问标有删除标记的记录15(8)数据的复制 数据复制可以使用 copy to 命令。语法:COPY TO Filename FIELDS FieldList Scope FOR | Expression SDF|XLS利用 copy

37、to 命令可以将当前表中的记录复制到新表中。新表可以是 VFP 类型,也可 以是 EXCEL 类型(加 XLS)或文本类型(加 SDF)。复制到新表中的记录可以是满足条件的记录。【例】将 JS 表中的所有男教师的记录复制到 EXCEL 表 MAN 中。USE JSCOPY TO MAN FOR XB=”男”XLS USE6、 索引的创建与使用 表中记录的存储顺序称为物理顺序。记录号标识了记录的物理顺序。表打开后被使用时,记录的处理顺序称为逻辑顺序。l 索引文件类型: 结构复合索引文件索引文件的主名由系统给定,与表名相同,扩展名为.CDX,一个结构复合索引文件可存储一个或多个索引信息。结构复合索

38、引文件随表的打开而自动打开,随表的关闭而自动关闭,并在使用过程中自动更新。 非结构复合索引文件一个非结构的复合索引文件也可存储一个或多个索引信息。非结构复合索引文件的主名由用户给定,与表名不同,扩展名为.CDX。非结构复合索引文件不 会随表的打开而打开。独立索引文件一个索引文件只可存储一个索引信息。独立索引文件的名字由用户给 定,扩展名为.IDX。独立索引文件不随表的打开而打开。l 索引的类型: 普通索引、唯一索引、候选索引、主索引 在数据库表中,每张表只能创建一个主索引。组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。自由表不能建立主索引,主索引只适用于数据库表。l 索引表达

39、式: 索引表达式是建立索引的依据通常有一个或多个字段组成。多个字段一定要保持多个字段的数据类型一致,若不是相同类型,需要通过一系列的函数进行转换。例如,先按性别排,性别相同的再按出生日期排,索引关键字应为:js.xb+DTOC(js.csrq,1)”。常用的转换函数 有 DTOC( ),STR()。注意:不能对备注型字段和通用型字段建立索引。【例】对于自由表而言,不能创建的索引类型是()A、主索引B、侯选索引C、普通索引D、唯一索引【例】不能用 和通用型字段构造索引表达式创建索引l 索引的使用:VFP 中为数据表建立的索引都存储在以 .CDX 为扩展名的复合结构索引文件中,在打开 数据表的同时

40、,索引文件也会随之打开。在该索引文件的多个索引中,在某一时刻只有一个 索引对表起作用,这个索引标识称为主控索引。使用 SET ORDER TO 命令可设置主控索引利用索引快速定位记录:使用 SEEK 命令可以进行记录的快速定位。16SEEK 命令只能在具有索引的表中使用。SEEK 命令的结果反映在 FOUND()函数上,如果 有相匹配的记录, FOUND()的结果为.T.;否则指针指向文件尾,FOUND()的结果为.F.。7、 自由表 所谓自由表,就是不隶属于任何数据库的表。自由表不能创建数据库表具有的那些扩展属性。自由表不能创建主索引。自由表可以添加到数据库中,成为数据库表;反之,数据库表从

41、数据库中移出,成为自由表。 需要注意的是:一张表在同一时间内只能属于一个数据库。将属于 A 数据库的表添加到 B 数据库中的办法:先将 A 数据库中的表后链解除,然后添 加到 B 数据库中。解除后链的方法可以使用“移去”按钮,也可以用命令:FREE TABLE 表名8、 利用命令创建和修改表结构(1)使用 CREATETABLE-SQL 命令创建表结构【例】CREATE TABLE JS (GH C(6),XM C(8),XB C(2),CSRQ D,JBGZ N(7,2),HF L)(2)使用 ALTERTABLE-SQL 命令修改表结构语法:ALTER TABLE 表名 ADD|ALTER

42、|DROPCOLUMN(列)【例】对 JS 表增加一列奖金 jjN(7,2)ALTER TABLE JS ADD COLUMN JJ N(7,2)【例】已知成绩表(cj.dbf)结构如下:字段名类型宽度含义xhC6学号kcdhC2课程代号cjN3,0成绩1). 创建该成绩表的命令是 CreateTablecj( )2)向成绩表中添加一条新记录, 学号:050123,课程代号:03 ,成绩:80InsertIntocjValues( )3)将成绩表中所有学号以“01”开头的记录置删除标记DeleteFromcjWhere 4) 创建一个普通索引 kccj,先按课程代号的升序排序,课程代号相同再按

43、成绩升序排序IndexOn Tag kccj3.4永久性关系与参照完整性1.永久关系 永久关系是库表之间的一种关系,一旦创建不仅在运行时存在,而且一直保留,拥有永久关系的表必须在数据库中。表间的永久关系是使用索引建立的。建立永久关系的一般步骤如下:确定两张具有一对多或一对一关系的表。17建立主表的主索引或候选索引。如果是一对多关系,则在子表中以主表的外关键字建立普通索引;如果是一对一关系, 则在子表中以与主表相同的关键字建立主索引或候选索引。在数据库设计器窗口,将主表的主索引或候选索引标识拖放到子表相应的索引标识 上,即完成永久性关系的建立。2、参照完整性 参照完整性是用来控制数据的一致性,尤

44、其控制数据库相关表之间的主关键字和外部关键字之间数据的一致性。 参照完整性的一般要求n 子表中的每一条记录在对应的主表中必须有一个父记录。n 在子表中插入记录时,其外部关键字必须是父表主关键字值中的一个。n 在父表中删除记录时,与该记录相关的子表中的记录必须全部删除。在 VFP 中,参照完整性规则分为更新规则、删除规则和插入规则,更新和删除规则有级 联、限制、忽略三种设置,插入规则只有限制和忽略两种设置。【例】数据库表的参照完整性规则包括更新规则、删除规则和插入规则。其中,插入规则可 以设置为 。DA.级联,或限制,或忽略B.级联,或忽略C.级联,或限制D.限制,或忽略3、 VFP数据完整性综述VFP 实现了关系数据库的三类完整性:l 实体完整性:包括字段的数据完整性和记录的数据完整性l 参照完整性:相关表之间的数据一致性l 用户自定义完整性3.5 有关数据库及其对象的常用函数1

温馨提示

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

最新文档

评论

0/150

提交评论