数据库与表的创建和操作.docx
- 文档编号:26395043
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:19
- 大小:111KB
数据库与表的创建和操作.docx
《数据库与表的创建和操作.docx》由会员分享,可在线阅读,更多相关《数据库与表的创建和操作.docx(19页珍藏版)》请在冰豆网上搜索。
数据库与表的创建和操作
第四章数据库与表的创建和操作
实验一自由表的建立
一、实验目的
(1)使用表设计器创建、修改表结构。
(2)使用编辑方式和浏览方式输入数据,熟练掌握不同字段类型的数据输入的要求。
(3)熟练掌握使用USE命令打开或关闭表。
(4)掌握表中数据的添加及其删除方法。
二、实验内容
1.建立学生表student.dbf,其结构和数据如下所示:
学生表student.dbf结构
字段名
类型
宽度
小数位数
学号
字符型
10
姓名
字符型
10
性别
字符型
2
出生日期
日期型
8
党员否
逻辑型
1
院系
字符型
20
专业编号
字符型
6
入学总分
数值型
5
1
简历
备注型
4
照片
通用型
4
学生表student.dbf记录
学号
姓名
性别
出生日期
党员否
院系
入学总分
专业
编号
简历
照片
刘丽
女
06/12/90
T
电气与电子工程学院
575.0
Memo
gen
李淑子
女
09/02/90
F
电气与电子工程学院
589.5
Memo
gen
宋洪博
男
09/02/91
F
能源与动力工程学院
550.0
Memo
gen
刘向志
男
11/07/89
T
能源与动力工程学院
563.0
Memo
gen
李媛媛
女
04/05/91
F
控制与计算机工程学院
547.5
Memo
gen
张函
女
01/01/90
F
控制与计算机工程学院
538.0
Memo
gen
侯明斌
男
07/18/91
F
经济与管理学院
527.0
Memo
gen
步骤要求:
(1)在“我的电脑”建立个人的文件夹。
进入vfp后,在【工具/选项/文件位置】选项卡中将其设为默认路径。
(2)建立student.dbf表文件,可以使用项目管理器或文件菜单方式创建。
(3)在“表设计器”中完成表结构的设计,单击“确定”命令按钮,会弹出对话框提示,选择“是”,则立即打开编辑或浏览窗口输入数据,选择“否”,则以后准备好记录再打开表输入,输入时,需要选择显示/追加方式命令。
(4)“刘丽”同学简历字段输入“2009年度获校级三好学生”,并自行添加照片字段,图片自定。
2.表数据添加/删除
(1)表数据添加
Ø在表尾添加新记录,“”,“李艳艳”,“女”,{01/01/91},“经济与管理学院”,534,“”。
Ø在表尾添加新记录,有“追加新记录”和“追加方式”两种。
前者通过“表/追加新记录”命令实现,是在表尾添加一条记录;后者通过“显示/追加方式”命令实现,意思是在表尾连续添加多条记录。
(2)表数据删除
Ø将表尾新添加的记录,“”,“李艳艳”,“女”,{01/01/91},“经济与管理学院”,534,“”删除。
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删除;
实验八查询与统计
一、实验目的
(1)熟练掌握顺序查询与索引查询的命令。
(2)熟练掌握数据统计的命令。
二、实验内容
1.顺序查询
LOCATEFOR<条件>[<范围>]
CONTINUE
练习:
Ø以学生表student.dbf为例,顺序查找第一个1990年出生的党员记录并显示。
Ø以学生表student.dbf为例,用顺序查找命令找出所有“控制与计算机工程学院”的学生记录并显示。
Ø以学生表student.dbf为例,用顺序查找命令找出所有入学总分在550分以上的学生记录并显示。
2.索引查询
SEEK<表达式>
练习:
Ø分别用顺序和索引查询的方法查找学号为“”的学生记录并显示。
Ø分别用顺序和索引查询的方法查找第一个姓名为“李某某”的学生记录并显示。
Ø分别用顺序和索引查询的方法查找1990年出生的学生记录并显示。
3.数据统计
命令:
(1)COUNT[<范围>][FOR<条件1>[TO<内存变量>]
(2)SUM[<数值表达式表>][<范围>][FOR<条件1>][TO<内存变量表>|ARRAY<数组>]
(3)AVERAGE[<数值表达式表>][<范围>][FOR<条件1>][TO<内存变量表>|ARRAY<数组>]
(4)CALCULATE<表达式表>[<范围>][FOR<条件1>][TO<内存变量表>|ARRAY<数组>]
(5)TOTALTO<文件名>ON<关键字>[FIELDS<数值型字段表>][<范围>][FOR<条件1>]
练习:
Ø统计党员人数,赋值给变量dyrs。
Ø统计“电气与电子工程学院”学生人数,赋值给变量dqrs。
Ø统计“能源与动力工程学院”的学生入学总分均值,赋值给变量zfpj
Ø统计“能源与动力工程学院”的学生入学最高分和平均分,分别赋值给变量zfmax,zfavg
ØTeacher.dbf(编号c(8),姓名c(10),性别c
(2),院系c(20),职称c(8),工资n(6,1),党员否l,职务c(8),出生日期d,简历m)
编号姓名性别院系职称工资党员否职务出生日期简历
李志男控制与计算机讲师3688.0.t.无{08/09/71}memo
张红女控制与计算机副教授4688.0.f.无{08/09/66}memo
宋敏女电气与电子讲师3678.5.t.无{08/09/75}memo
王名男电气与电子副教授4788.0.t.无{08/09/70}memo
建立上述自由表,统计各院系教师的工资之和,汇总结果写入新表名yuanxi_gz.dbf,打开新表yuanxi_gz.dbf,浏览表中数据,再将“院系”和工资两个字段复制到新表gztongji.dbf,浏览新表数据。
实验九多表操作
一、实验目的
(1)理解工作区、当前工作区的概念,掌握在不同工作区中打开多张表的操作。
(2)掌握引用非当前工作区表的字段的方法。
(3)掌握表间临时关系和永久关系的区别,掌握用数据工作期和命令两种方式建立关联的方法。
(4)掌握数据库表永久关系的建立方法。
(5)理解参照完整性的概念。
二、实验内容
1.选择工作区
命令:
SELECT<工作区号>|<别名>
Sele0
USE<表名>IN<工作区号>
USE<表名>IN0
练习:
Ø关闭所有打开的数据库和表,默认工作区为1号工作区,在A,B,C三个工作区中打开student.dbf、zy.dbf、cj.dbf,将student.dbf的记录指针定位在第3条记录,分别用disp命令显示三张表的当前记录信息。
2.引用非当前工作区表的字段
别名.字段名
练习:
Ø关闭所有打开的数据库和表,默认工作区为1号工作区,在A,B工作区中打开student.dbf、zy.dbf,用顺序或索引查找的方法查找学生表中“李媛媛”的学号,出生日期,院系和所学专业名称并显示。
Ø关闭所有打开的数据库和表,默认工作区为1号工作区,在A,B工作区中打开student.dbf、zy.dbf,用顺序或索引查找的方法查找学生表中学号为“”的学生的姓名,出生日期,院系和所学专业名称并显示。
3.建立关联
SETRELATIONTO[<表达式1>INTO<别名1>,…<表达式N>INTO<别名N>[ADDITIVE]
练习:
Ø打开数据工作期窗口,以student.dbf为父表,zy.dbf为子表,建立多一关系。
在命令窗口显示学生学号,姓名,出生日期,院系,专业名称。
Ø打开数据工作期窗口,以student.dbf为父表,分别与子表cj.dbf、zy.dbf建立关联。
Ø上述两项分别用命令方式实现。
4.永久关系
练习:
Ø在学生成绩管理数据库中,为student、cj、kc、zy建立永久关系。
5.参照完整性
练习:
Ø更新父表zy.dbf关键字段值,子表student.dbf相关记录自动更新。
Ø删除父表zy.dbf记录,子表student.dbf若有关联记录,则限制父表删除记录。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 创建 操作