数据库第四章详解chapter4.docx
《数据库第四章详解chapter4.docx》由会员分享,可在线阅读,更多相关《数据库第四章详解chapter4.docx(13页珍藏版)》请在冰豆网上搜索。
数据库第四章详解chapter4
第四章数据库与表的创建和操作
实验一自由表的建立
一、实验目的
(1)掌握在表设计器中建立和修改表结构。
(2)掌握在编辑或浏览窗口输入数据,重点掌握逻辑型字段、日期/日期时间型数据、备注/通用型字段数据输入的注意事项。
(3)掌握用USE命令打开或关闭表。
(4)掌握表数据添加/删除的方法。
二、实验内容
1.建立学生表student.dbf,其结构和数据如下所示:
学生表student.dbf结构
字段名
类型
宽度
小数位数
学号
字符型
10
姓名
字符型
10
性别
字符型
2
出生日期
日期型
8
党员否
逻辑型
1
院系
字符型
20
专业编号
字符型
6
入学总分
数值型
5
1
简历
备注型
4
照片
通用型
4
学生表student.dbf记录
学号
姓名
性别
出生日期
党员否
院系
入学总分
专业
编号
简历
照片
1081180101
刘丽
女
06/12/90
T
电气与电子工程学院
575.0
080601
memo
gen
1081180102
李淑子
女
09/02/90
F
电气与电子工程学院
589.5
080601
memo
gen
1081150102
宋洪博
男
09/02/91
F
能源与动力工程学院
550.0
080501
memo
gen
1071150104
刘向志
男
11/07/89
T
能源与动力工程学院
563.0
080501
memo
gen
1081160520
李媛媛
女
04/05/91
F
控制与计算机工程学院
547.5
080605
memo
gen
1081160503
张函
女
01/01/90
F
控制与计算机工程学院
538.0
080605
memo
gen
1081120118
侯明斌
男
07/18/91
F
经济与管理学院
527.0
110201
memo
gen
步骤要求:
Ø在“我的电脑”建立自己的文件夹。
打开vfp后,在工具/选项/文件位置选项卡中将其设为默认路径。
Ø建立表文件,可以通过项目管理器或文件菜单两种方式建立。
Ø结构输入完毕,单击“确定”命令按钮,会弹出对话框提示,选择“是”,则立即打开编辑或浏览窗口输入数据,选择“否”,则以后准备好记录再打开表输入,输入时,需要选择显示/追加方式命令。
Ø“刘丽”同学简历字段输入“2009年度获校级三好学生”,并自行添加照片字段,图片自定。
2.表数据添加/删除
(1)表数据添加
✓在表尾添加新记录,“108113110”,“李艳艳”,“女”,{01/01/91},“经济与管理学院”,534,“110201”。
✓在表尾添加新记录,有“追加新记录”和“追加方式”两种。
前者通过“表/追加新记录”命令实现,是在表尾添加一条记录;后者通过“显示/追加方式”命令实现,意思是在表尾连续添加多条记录。
(2)表数据删除
✓将表尾新添加的记录,“108113110”,“李艳艳”,“女”,{01/01/91},“经济与管理学院”,534,“110201”删除。
3.用USE命令打开、关闭表。
4.表结构的修改
✓先以独占方式打开表。
✓再选择显示/表设计器命令打开表设计器进行修改。
✓增加”班级C(16)”字段,将姓名字段字节宽度改为20。
✓将以上两项修该恢复原样。
5.表数据修改
✓先以独占方式打开表。
✓再选择显示/编辑命令打开编辑或浏览窗口进行修改。
实验二数据库的创建
一、实验目的
(1)掌握数据库创建的方法。
(2)掌握数据库的基本操作。
二、实验内容
(1)项目管理器创建数据库。
Ø创建项目文件“学生成绩管理”。
Ø打开“学生成绩管理”项目管理器,选择“数据库”选项卡,单击“新建”命令按钮,在打开的数据库设计器中完成“学生成绩管理”数据库的设计,包含学生表student.dbf、课程表kc.dbf、成绩表cj.dbf、专业表zy.dbf。
其中表结构和记录详见书第四章。
(2)文件菜单创建数据库。
(选作)
Ø从菜单中选择【文件/新建】命令,在弹出的“新建”对话框,选定“数据库”文件类型,单击“新建文件”按钮。
Ø在打开的对话框中,输入文件名“学生成绩管理”,选择保存位置,单击“保存”。
Ø数据库设计器窗口完成“学生成绩管理”数据库的设计,内容同上。
(3)打开、关闭数据库
Ø打开“学生成绩管理”数据库。
Ø关闭“学生成绩管理”数据库。
(4)新建、添加、移去表。
Ø在“学生成绩管理”数据库设计器中,移去课程表kc.dbf、成绩表cj.dbf。
Ø
学生成绩管理数据库
将移去的两张表添加到“学生成绩管理”数据库中。
实验三数据库表属性设置
一、试验目的
(1)掌握数据词典的概念。
(2)掌握数据库表设计器与自由表设计器的异同。
(3)掌握在数据库表设计器中如何对字段扩展属性、记录扩展属性的设置方法。
二、实验内容
1.打开学生表student.dbf,观察其数据库表设计器窗口。
2.字段属性设置。
(1)字段的显示属性:
格式、输入掩码和标题
Østudent.dbf中,要求:
“学号”字段C(10),只输入数字,不能输入字符;入学总分字段N(5,1),整数位数为3位,小数位数为1位,只接受数字,并指出小数点的位置。
设置其输入掩码。
(2)字段有效性规则
Østudent.dbf表中,要求:
“学号”字段首位必须为“1”,在出错提示信息框中显示“学生学号首位必须为1”,设置其字段有效性规则。
Ø成绩表cj.dbf中,要求:
“成绩”字段不能为负,且不能超过100,在出错提示信息框中显示“成绩非负”,设置其字段有效性规则。
3.记录有效性规则
Ø课程表kc.dbf中,要求:
学分为学时数除以16,设置其记录有效性规则。
4.触发器
Ø课程表kc.dbf,要求:
只允许每年9月添加新记录,每月28号进行删除和修改,设置其触发器。
Ø
学生表Student.dbf中,要求:
只允许修改、添加、删除“党员”的纪录,设置其触发器。
实验四索引的建立与使用
一、实验目的
(1)掌握索引的概念。
(2)掌握在表设计器中建立、修改结构复合索引文件的方法。
(3)掌握在工作区窗口设置主控索引的方法。
二、实验内容
1.索引的建立与修改
(1)学生表student.dbf中,在表设计器中建立结构复合索引文件student.cdx。
包含3个索引标识:
Ø按“学号”字段建立主索引,索引标识为xh;
Ø按“专业编号”字段建立普通索引,索引标识为zybh;
Ø按“总分”字段建立普通索引,索引标识为zongfen。
(2)成绩表cj.dbf中,在表设计器中建立结构复合索引文件cj.cdx。
包含2个索引标识:
Ø按”学号”字段建立普通索引,标识为xh;
Ø按”课程编号”字段建立普通索引,标识为kcbh;
(3)课程表kc.dbf中,在表设计器中建立结构复合索引文件kc.cdx。
包含一个索引标识:
Ø按“课程编号”字段建立候选索引,标识为kcbh。
(4)专业表zy.dbf中,在表设计器中建立结构复合索引文件kc.cdx。
包含一个索引标识:
Ø按”专业编号”字段建立候选索引,标识为zybh;
2.索引的使用
Ø打开学生表student.dbf,在工作区属性对话框中将xh索引标识设为主控索引,浏览表中数据。
Ø
打开学生表student.db,在工作区属性对话框中将zongfen索引标识设为主控索引,浏览表中数据。
表设计器索引选项卡
工作区属性对话框
实验五数据库与表操作常用命令
一、实验目的
(1)熟悉vfp命令常用格式。
(2)熟练掌握范围子句、FIELDS、FOR子句的使用。
(3)掌握数据库与表操作常用命令。
二、实验内容
1.vfp命令常用格式
命令动词[FIELDS<表达式>][范围][FOR<条件>][WHILE<条件>]
注意:
vfp命令书写规范,一行只能写一条命令,一行写不下,可以写续行符;vfp命令各子句之间可以颠倒顺序;命令不区分大小写。
2.list/display命令
练习:
(1)打开学生表,显示第1条到第3条记录的学生信息。
(2)显示所有"电气与电子工程学院"的学生的学号,姓名。
(3)显示第4条记录的信息。
(4)显示所有党员的学生记录信息。
(5)显示所有1991年之前出生的学生记录信息。
(6)显示所有性“刘”的学生记录信息。
(7)显示所有入学总分在550分的学生姓名、学号、性别。
(8)显示专业编号前4位是”0806”的学生的姓名,学号和院系。
3.数据库操作命令
(1)数据库的建立、打开
CREATEDATABASE<数据库名>
OPENDATABASE<数据库名>
USE<数据库名>.DBC
(2)在数据库中创建、添加、删除表
练习:
Ø用命令方式打开已经建立好的“学生成绩管理”数据库;
Ø将学生表student.dbf从数据库中移去,观察数据库设计器的内容;
Ø再将学生表student.dbf添加到数据库中。
(3)数据库的关闭
CLOSEDATABASE[数据库名]
CLOSEALL
4.表的操作命令
(1)表的打开和关闭
USE<表文件名>
USE
CLOSEALL
(2)表文件复制
COPYTO<文件名>[FIELDS<字段列表>/FIELDSLIKE<通配字段名>/;FIELDSEXCEPT<通配字段名>][<范围>][FOR<条件>][WHILE<条件>][[TYPE];
[SDF/DELIMITED/XLS]]
练习:
Ø将控制与计算机工程学院学生的记录复制到新表student_1.dbf中,且新表只包含学号,姓名,院系三个字段;浏览student_1.dbf表中数据。
Ø以数据格式将Student表中的前4个记录复制到文本文件并显示文本文件内容。
(3)表结构复制
COPYSTRUCTURETO<文件名>[FIELDS<字段名表>]
练习:
Ø复制student表结构到student_2.dbf中,新表只包括编号,名称,价格3个字段;显示新表结构。
Ø复制一个仅有姓名,编号,院系,性别4个字段的表结构到student_3.dbf中。
实验六表的操作命令
一、实验目的
(1)熟练掌握表记录操作命令:
LIST、BROWSE、SKIP/GO、INSERT、DELETE/PACK、REPLACE。
(2)逻辑表的设置。
二、实验内容
1.记录浏览:
BROWSE
练习:
Usestudent
Browsefields姓名,学号,出生日期for党员
Browsefields姓名:
H=”学生姓名”,学号,出生日期for党员
比较以上两条命令的显示结果。
2.记录指针移动:
GOTOP/BOTTOM;GO<数值表达式>;SKIP[<数值表达式>]
练习:
Ø打开学生表,显示第3条记录到第7条记录的信息。
Ø指针指向最后一条记录,再上移3个记录,显示当前记录的信息。
Ø执行如下命令,观察屏幕运行结果:
UseStudent
?
Recno()
?
Bof()
Skip-1
?
Recno()
?
Bof()
GoBottom
Skip
?
eof()
3.记录添加:
APPEND[BLANK];INSERT[BLANK][BEFORE]
练习:
Ø复制student.dbf到新的表文件,打开新表;
Ø在新表表尾追加一个空白记录;
Ø在新表表尾追加一条记录,字段值自行输入;
Ø在新表的第3条记录之前插入一条记录,字段值自行输入;
4.记录删除与恢复:
DELETE[<范围>][FOR<条件>][WHILE<条件>]
PACK
RECALL[<范围>][FOR<条件>][WHILE<条件>]
ZAP
练习:
Ø复制student.dbf到新的表文件,打开新表;
Ø将新表第3条记录打上删除标记;
Ø将第5条记录以及之后的所有记录逻辑删除;
Ø显示表记录;
Ø恢复第3条记录;
Ø彻底删除带有删除标记的记录;
Ø浏览表中信息;
5.记录字段值修改
REPLACE<字段名1>WITH<表达式1>[ADDITIVE][…][<范围>][FOR<条件>][WHILE<条件>]
练习:
Ø复制student.dbf到新的表文件,打开新表;
Ø将student表所有学生的入学总分字段提高10%;
Ø将第3条记录的备注字段添加“2007年评为三好学生”;
单个记录与数组间的数据传送:
SCATTER[FIELDS<字段名表>/FIELDSLIKE<通配字段名>/FIELDSEXCEPT<通配字段名>][MEMO]TO<数组名>[BLANK]/MEMVAR[BLANK]
GATHERFROM<数组名>/MEMVAR[FIELDS<字段名表>/FIELDSLIKE<通配字段名>/FIELDSEXCEPT<通配字段名>][MEMO]
练习:
Ø打开刚刚建立的新表文件,用命令方式实现第一条记录和最后一条记录互换;
Ø将新表中第4个记录发送给一组内存变量,并将该同学的入学总分修改为619.5;
6.逻辑表设置
SETFILTERTO[<条件>]
SETFIELDSTO[[<字段名1>[,<字段名2>…]]/ALL[LIKE<通配字段名>/EXCEPT<通配字段名>]]
练习:
Ø为student.dbf设置过滤器,过滤条件为90年以后出生的党员学生。
Ø对student.dbf设置字段表,使有效字段为学号、姓名和院系。
Ø取消过滤器和字段表,显示表中所有记录。
实验七排序与索引
一、实验目的
(1)掌握排序与索引的异同。
(2)掌握用命令方式建立结构复合索引文件。
(3)掌握如何用命令方式确定主控索引。
(4)掌握索引的删除和更新。
二、实验内容
1.排序
SORTTO<新文件>ON<字段名1>[/A|/D][/C][,<字段名2>[/A|/D][/C]…][<范围>][FOR<条件1>][WHILE<条件2>][FIELDS<字段名表>|FIELDSLIKE<通配字段名>|FIELDSEXCEPT<通配字段名]
练习:
Ø打开学生表student.dbf;
Ø按照学号的降序排序,生成新表文件包含学号、姓名、性别、院系,打开新表文件,浏览表中信息;
Ø按照学生入学总分的降序排序,总分相同再按出生日期的降序排序,生成新表文件包含学号、姓名、性别、出生日期、院系,打开新表文件,浏览表中信息;
2.索引的建立
INDEXON<索引关键字>TAG<索引标识名>[OF<复合索引文件名>][FOR<条件>][ASCENDING|DESCENDING][UNIQUE|CANDIDATE][ADDITIVE]
练习:
Ø复制学生表student.dbf,为新表建立结构复合索引文件,包含三个索引:
(1)按“学号”升序建立候选索引,索引标识为xh,显示表记录;
(2)按year(出生日期)表达式降序建立普通索引,索引标识为csrq,显示表记录;
(3)先按专业编号的升序排列,专业编号相同再按出生日期的升序排列,显示表记录。
3.索引的使用
SETORDERTO[TAG]<索引标识>
练习:
Ø打开刚刚建立的新表,浏览表中信息;
Ø将xh索引标识确定为主控索引,浏览表中信息;
Ø将csrq索引标识确定为主控索引,浏览表中信息;
4.索引的删除
DELETETAGALL/<索引标识>[,<索引标识2>1……
练习:
Ø将新表中的索引标识xh,csrq删除;
实验八查询与统计
实验九多表操作