资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第三章数据库与表的创建和使用3.1 数据库的概述3.1.1 数据库的组成数据库的基本组成数据库由一个以上相互关联的数据表组成,可以包含一个或多个表、视图、到远程数据源的 连接和存储过程 。数据库表: 一张数据库表只能属于一个数据库,数据库表与数据库之间通过双向链接实现的;前链(在数据库中),后链(在数据库表中)视图( view) :一个保存在数据库中的、由引用一个或多个表、或其他视图的相关数据组成的虚拟表,可以是本地的、远程的或带参数的。连接( Commection): 保存在数据库中的一个定义,指定数据源的名称存储过程( stored procedure) :是保存在数据库中的一个过程。该过程能包含一个用户自定义函数中的任何命令和函数。3.1.2 数据字典(自学)3.2数据库的创建、打开、关闭数据库文件 : 扩展名为 .DBC 创建数据库时系统数据库备注文件 : 扩展名为 .DCT 自动生成 3 个文件数据库索引文件 : 扩展名为 .DCX 3.2.1 数据库的创建1. 菜单操作方式创建数据库(菜单,工具栏,项目管理器)2. 命令方式创建数据库Create database 数据库名 |? 3. 数据库设计器及“数据库”菜单Modify database 数据库名 cj n(5,1),ksrq d) 2. CREATE TABLEXS(GH C(6) NOT NULL,XM C(8) NULL,CSRQ D NULL )2. 表结构的修改(1)用表设计器修改A. 用项目设计器调出表结构设计器:B. 用命令调出表结构设计器:USE MODIFY STRUCTURE(2)使用ALTER TABLE - SQL命令功能命令格式示例添加字段ALTER TABLE xscj ADD COLUMN kcmc C(14)修改字段ALTER TABLE xscj ALTER COLUMN kcmc C(14) 重命名字段ALTER TABLE xscj RENAME COLUMN kcmc TO kc删除字段ALTER TABLE xscj DROP COLUMN kc 举例:3.3.3 字段属性与表属性1. 字段 的扩展属性1)字段的标题与注释:增强表的可读性字段标题在浏览表时用此名称代替意义不够直观的字段名(不要加引号 )字段注释使字段具有更好的可读性,进一步的解释字段的意思(不要加引号)举例:a)为 ts 表设置 flh 字段的标题为“分类号” ;b) 为 ts 表设置 flh 字段的注释为“ flh 为图书的分类号” ;2)字段的显示属性:用来指定输入和显示字段时的格式格式确定字段内容在被显示时的样式(A,D,K,T, ! ) (T! )输入掩码指定字段中输入数据的格式(即所输入的任何内容均显示成此符号)(A,X,. , , ,9)举例:a)为 ts 表设置 flh 字段的有关属性,使该字段中输入的字母均为大写字母;b)为表的 gh 字段设置输入掩码,使输入值为开头第一个为字母,其他为数字字符c)为 xs 表设置 xh 字段的有关属性,使在输入和显示xh 时其前导空格自动删除;3)字段的默认值向表中添加新记录时,为字段所指定的最初的值称为该字段的默认值,在设置字段默认值时,默认值必须是一个与字段数据类型一致的表达式或一个值举例:a) 为 xs 表设置 xb 字段的默认值为“男” ;4)字段的有效性规则和有效性信息:仅对修改对应字段值是激活该规则规则用来控制输入到字段中的数据的取值范围,或所输数据必须满足的条件,该规则是一个逻辑表达式信息当所输数据违反(不满足)规则时,系统提示出错的消息,该信息为一个字符型表达式(必须要加引号 )举例:a)为 ts 表的 cs 字段设置字段的有效性规则和有效性说明信息,要求:其值必须大于 0;b)为 xs 表的 xb 字段设置字段的有效性规则,要求性别为“男”或“女”c)为 cj 表的 cj 字段设置字段的有效性规则,要求cj 大于等于 0 并且小于等于100 5)字段的默认控件类:作用是指定用“表单向导”生成表单或从数据环境中将字段拖放到表单上时,与该字段相应的控件类。举例:a)为 ts 表设置 cs字段的有关属性, 使该字段从表单的数据环境中拖放到表单上时,生成相应控件为微调框控件;2. 数据库表的表属性:长表名,表注释,记录验证规则及信息,触发器等1)长表名与表注释长表名默认情况下,表名为表文件名,对数据库表,允许再定义一个表名(长表名) ,最大长度为128 个字符。表注释表的说明信息,对表的进一步解释,与字段注释一样,不需要加引号举例:a)为 ts 表设置长表名为“ tushubiao” ;2)记录有效性规则和信息:在改变记录值时激活该规则有效性规则用来校验记录的多个字段之间的关系是否满足某种条件,该规则为逻辑表达式,如果满足则可以修改记录,否则不可以修改有效性信息如果修改记录时违反(不满足)该规则时,系统提示出错的信息,有效性信息为一个字符型表达式,必须要加引号举例:a) 为 ts 表添加一个数据类型,字段宽度与cs字段相同的字段,字段名为jccs,并设置其标题为 “借出册数”,并设置 ts 表的记录级有效性规则及其说明信息,要求:jccs 字段值不能大于cs字段值;b)为 js 表设置记录有效性规则,要求教师的csrq(出生日期 )小于 gzrq(工作日期 )3)表的触发器:触发器是绑定在表上的逻辑表达式,当表中的任何记录被指定的操作命令(插入,更新,删除)修改时,在进行了其他所有检查之后被激活插入触发器当所插记录符合此规则时,才可以插入到表中(必须为逻辑表达式)更新触发器当修改后的记录符合此规则时,才可以进行修改(必须为逻辑表达式)删除触发器当待删记录符合此规则时,才可以被删除掉(必须为逻辑表达式)逻辑表达式的构造:1)将否定条件转化为肯定条件,构造符合肯定条件的表达式2)取特殊值进行试探并修改该逻辑表达式举例:a)为 ts 表设置更新触发器,要求:分类号(flh)字段的值为空格字符串时不可更新;b)为 xs 表设置删除触发器,要求:xh(学号)前两位在“ 00”到“05”之间的可以删除c)设置 xs 表的插入触发器,禁止插入3.3.4 表的打开与关闭1. 工作区工作区: 指用来标识一张打开的表的区域。每个工作区都有一个编号(132767(前十个工作区号也可以用字母AJ 表示 ),在 VFP 系统启动后,系统默认当前工作区号为1。一个工作区在某一时刻只能打开一张表,一张表可以在多个工作区中多次被打开,同一时刻可在多个工作区打开多张表。当前工作区: 正在使用的工作区。VFP 系统启动后,系统默认当前工作区号为 1,可用 SELECT 命令把任何一个工作区设置为当前工作区。SELECT| Select n & 选择工作区号为n 的工作区为当前工作区Select 0 & 选择没被使用的最小工作区号的工作区为当前工作区Select xs & 选择 xs表所在的工作区为当前工作区2数据工作期窗口数据工作期是当前数据动态工作环境的一种表示。窗口菜单数据工作期3表的打开只有表打开了,才能访问其中的数据(1)界面方式打开表文件菜单中打开数据工作期中打开项目管理器中打开(2)使用命令方式打开表Use tablename In nworkarea /ctablealias Again Alias bm Noupdate 表的别名:在工作区中打开表时为该表所定义的名称。可以自定义别名,否则系统默认就以表名作为别名。强行指定工作区(不一定是当前工作区):要操作非当前工作区中的表,可以把其工作区设置为当前工作区,或在命令中强行指定工作区。命令格式 : IN| In 0 In 5 In 别名4几个常用的函数ALIAS (工作区号 )函数:测试指定工作区中的表的别名,无参数时指当前工作区表的别名。? alias():返回当前工作区中表的别名。? alias(n):返回工作区号为n 的工作区中表的别名。SELECT (别名 )函数 :测试指定别名的表所在的工作区号,无参数时指当前工作区的区号。Select(0)=select():返回当前工作区号。Select(1):返回当前未被使用的最大工作区号。Select(“表别名” )返回该表所在的工作区号。5表的关闭(1)通过界面关闭表数据工作期(2)使用不带表名的USE 命令关闭表USE & 关闭当前工作区中的表USE IN | & 关闭指定工作区中的表CLOSE TABLES ALL & 关闭所有打开的表CLOSE DATABASE & 关闭当前数据库,顺便关闭了其表CLOSE DATABASE ALL & 关闭所有打开的数据库CLOSE ALL & 关闭所有的数据库,表和索引6表的独占与共享使用表的独占: 一张表只能被一个用户打开,默认状态以独占方式打开。表的共享: 一张表可以被多个用户同时打开。设置方式:(1) 系统默认打开方式通过工具菜单中的 选项, 数据来设置(2) 命令设置SET EXCLUSIVE OFF& 默认打开方式为 共享SET EXCLUSIVE ON& 默认打开方式为 独占或强行打开:USE cj SHARED & 以共享 方式打开 cj 表USE cj EXCLUSIVE & 以独占方式打开 cj 表3.3.5 表记录的处理1 记录的输入(1) 表结构创建后立即输入(备注型字段,通用型字段的输入):(2) 在浏览窗口中追加记录(表处于浏览状态):第一种:利用“显示/追加方式”可以追加多条记录。第二种:利用“表 /追加新记录”可以追加一条空记录,并且处于编辑状态等待用户输入数据。(3) 使用 INSERT-SQL命令该命令的一般格式为:INSERT INTO(字段名 1,字段名 2 ,) VALUES (表达式 1,表达式 2 ,)例:INSERT INTO xscj(xh,xm,cj) VALUES (“81991001“, “ 张良“, 85.5)(4) 使用 APPEND 与 APPEND FROM 命令追加记录APPEND BLANK IN 工作区号 /别名 APPEND FROM 文件名 Field 字段列表 For 条件Delimited/xls 2浏览浏览窗口使用 BROWSE 命令浏览表 ,通过不同的子句来实现对特定记录的浏览。BROWSE FIELDS fieldlist FOR expression1 FREEZE 字段名 NOAPPEND NODELETE NOMODIFY TITLE expression2 3记录的筛选(1)利用工作区属性 /数据过滤器进行筛选记录(2)set filter to 条件 举例:筛选性别为男的同学4限制对字段的访问(1)利用工作区属性 /字段筛选进行筛选部分感兴趣的字段(2)SET FIELD TO 字段列表 补充 VFP 命令中的常用子句1)范围子句子句格式功能ALL表示对表文件的全部记录进行操作NEXT n表示对从当前记录开始的共n 个记录进行操作 , n为正整数RECORD n 指明操作对象是表文件的第n 号记录REST对从当前记录起到文件结尾的全部记录进行操作2)FOR 子句: 用于指明进行操作的条件。格式 : FOR 例如:list NEXT 6 FOR cj 范围按顺序搜索表 , 直到找到满足指定条件的第1个记录,需要再找,用continue 命令6. 记录的值的修改一张表用非只读方式打开后,即可通过菜单在浏览窗口(或编辑窗口) 中或从命令窗口中用命令直接对其记录进行编辑、修改和删除。(1) 界面方式修改记录的值修改记录:从表菜单中选择 替换字段, 在替换字段对话框中选择待替换的字段并构造出替换表达式及替换条件 替换。(2) 命令方式修改记录的值UP
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号