数据库原理及应用实验(Access、VFP、SQL SERVER)
1.Access部分:
实验一 Access创建数据库(2课时)
实验二 Access数据库高级操作(2课时)
2.VFP部分:
实验三 VFP建立数据库与简单查询(2课时)
实验四 VFP数据库基本操作(2课时)
实验五 VFPSQL基本操作(4课时)
实验六 VFPSQL高级操作(2课时)
实验七 VFP结构化数据库应用编程(2课时)
实验八 VFP可视化面向对象应用编程(4课时)
实验九 VFP数据库应用系统设计(8课时)
3.SQL SERVER数据库部分:
实验十 SQL SERVER数据库基本操作(2课时)
实验十一 SQL SERVER数据库高级操作(2课时)
实验一 Access创建数据库
一、实验目的
1.理解关系数据库的基本概念。
2.掌握Access数据管理系统的基本操作。
3.在Access中建立学生管理数据库SM,建立student数据表,掌握建数据库和数据表的一般过程。
4.对student数据表完成简单的查询操作。
二、 实验内容
1.在硬盘的用户盘上建立一个用户目录(如D:\JYY),用于保存本门课程的所有实验文件。每次实验后,应将文件其备份到软盘,下次上机时再将其复制到硬盘上。所有操作在硬盘上完成。
2.启动ACCESS,先建立数据库SM,再在数据库中建立基本表STUDENT。
3.STUDENT表结构数据如下:
学号
姓名
性别
出生日期
所在系
200117101001
张三
男
1982/10/12
IS
200117101002
李艳
女
1981/12/10
MATH
200117101003
王五
男
1983/11/13
CS
其中:“学号”数据类型为字符型, 长度12位;姓名数据类型为字符型, 长度10位; 性别数据类型为字符型, 长度2位;出生日期数据类型为日期型, 长度8位。
4.在ACCESS建立数据表窗口中建立STUDENT表结构,并将“学号”设置为主码。
5.保存STUDENT表结构,输入三条学生数据。
6.显示STUDENT表学生数据,利用SQL语句完成简单的查询操作。
7.对STUDENT表数据操作后,再建立课程表COURSE和学生选修表SCG,表结构如下:COURSE(课程号,课程名,学分);SCG(学号,课程号,成绩)。
8.创建数据表“成绩”,包含“学号、课程号、成绩”等字段(注意该表中的“学号”数据类型与“学生”表中的“学号”数据类型一致,“课程号”的要求同理),并填写10个左右的记录,每记录的学号和课程号应该是另外两表中实际存在的。
三、 实验要求及检查
1.能利用ACCESS建立表结构并输入实验数据。
2.每个表中录入不少于3个记录。
3.学生表的有一个记录为本人的真实信息。
4.各表中的学号和课程号应该一致。
四、 上交(不要求)
1.与该数据库相关的所有文件。
2.但不能包含非相关文件。
3.将要上交的所有文件压缩打包成一个压缩文件。
4.将压缩文件以邮件的附件形式上交。
5.在邮件主题中包含“实验一”及姓名、学号等内容,严格如“数据库实验一某某某12345678”的格式。
实验二 Access数据库高级操作
一、实验目的
1.对实验一所创建的数据库SM和数据表STUDENT、COURSE、SCG进行操作。
2.掌握如何创建查询。
3.掌握如何创建窗体和报表。
4.掌握如何创建启动窗体。
二、实验内容
1.启动Access,打开实验一所创建的数据库SM。
2.重新复习实验一的操作,显示基本表的结构和数据。
3.用向导创建一个查询,用于显示所有男生,然后再运行查询。
4.创建表关联:将SM数据库中的三个数据表建立关联,并设置完整性约束条件,如果无法设置完整性,那很可能是三表的数据内容没有相互对应。
5.创建查询:根据三个数据表的关联形成一个查询“成绩明细”,包括“姓名、课程名、成绩”等属性。
6.用向导创建窗体:给数据表“学生”创建窗体;给查询“成绩明细”创建窗体。
7.用向导创建报表:给查询“成绩明细”创建报表;给数据表“学生”创建报表,要求每页显示一个学生记录。
8.创建启动窗体:在其上放置命令按钮,用来调用刚才创建的各个窗体和报表,并设置为自启动方式。
9.关闭Access,在文件夹中直接双击SM.mdb数据库文件,观察窗体的自启动情况以及命令按钮的调用情况。
三、实验要求及检查
1.能在ACCESS中用向导或手工建立查询、窗体和报表。
2.能运行查询、窗体和报表。
3.窗体和报表格式符合要求。
四、上交(不要求)
1.将本实验生成的Access数据库文件Sm.mdb作为Email的附件上交。
2.必须在邮件主题中包含如“数据库实验二 姓??名 学??号”等字样。
实验三 VFP建立数据库与简单查询
一、实验目的
1.掌握VFP的启动、运行、关闭。
2.在项目管理器建立数据库和数据表、视图等。
3.用VFP命令在命令窗口中完成建立数据库基本操作。
4.掌握简单的查询语句。
?二、实验内容
1.新建实验文件夹D:\SM,并将VFP的默认工作目录设置为D:\ SM。
2.创建新的项目,并在项目中新建数据库SM。
3.练习在VFP中建立一个学生数据库(自由表)熟悉建库的基本操作过程及注意事项。
(1)先建库结构:字段名、字段类型。
(2)向数据表增加新记录。
(3)练习简单的查询操作。
4.建立数据库DB1,然后在DB1下建三个基本表student,course,sc,每个表输入5条记录,理解数据库、视图、查询表、基本表的区别,结构如下:
student(sno,sname,ssex,sage,sdept),表示学号,姓名,性别,年龄,所在系。
course(cno,cname,cpno,ccredit), 依次表示课程号,课程名,先行课程号,学分。
SC(sno,cno,grade),依次表示学号,课程号,成绩。
??????? 5.学习VFP中建立数据库的基本操作,并给每个数据表建立索引。
6.练习LIST、DISPLAY、BROWSE的使用。
三、实验要求
1.在VFP中建立自由表、数据库、基本表、视图等。
2.运行并能完成简单的查询。
四、上交(不要求)
??????? 1.将D: \SM文件夹及其中的所有文件打包压缩后作为Email的附件上交。
??????? 2.必须在邮件主题中包含如“数据库实验三 某某某 12345678”字样。
实验四 VFP数据库基本操作
一、实验目的
用VFP提供的命令在命令窗口中完成数据库的基本操作。
理解工作区、关联,掌握多表操作
?二、实验内容
1.显示结构LIST STRU或DISPSTRU,修改结构MODI STRU
2.追加记录APPEND,插入记录INSERT,显示查询记录LIST,或DISPLAY
3.理解记录指针的用法,练习命令GO,SKIP
4.逻辑删除记录DELETE,物理删除PACK。
5.清空库中所有记录ZAP。
6.练习排序SORT。
7.建立索引,区分IDX索引与结构索引文件(CDX)的不同,INDEX,索引查询FIND,SEEK。
8.理解几个函数的作用:EOF(),BOF(),FOUND()等。
9.练习多库操作,多表间的连接和关联,理解工作区的作用。
10. 练习库文件间的更新操作,UPDATE,REPLACE
11. 练习数据运算命令:COUNT,SUM,CALCULATE,TOTAL
?????? 12.给数据表建立关联,并设置完整性规则。
?????? 13.创建视图view1,包含学生姓名、课程名称、成绩等字段。
?????? 14.通过向导创建报表report1,显示student表的情况,并做适当的编辑修改,预览观看效果
三、实验要求
1.在VFP中建立数据库、基本表、视图及报表等。
2.运行并能完成简单的查询。
四、上交(不要求)
??????? 1.将D:\JYY\SM文件夹及其中的所有文件打包压缩后作为Email的附件上交。
??????? 2.必须在邮件主题中包含如“数据库实验四 某某某 12345678”字样。
实验五 VFP SQL基本操作
一、实验目的
1.在VFP的运行SQL基本命令
2.在命令窗口中建立表、运行查询(SELECT语句)
?二、实验内容
对SM数据库的三个表(student、course、scg),表结构如下:
student(sno,sname,ssex,sbirthday)
course(cno,cname,cpo,ccredit)
scg(sno,cno,grade)
用SQL语句完成以下操作:
1.创建关系表stu1(sno,sname,ssex,sbirth,sdept)。
2.对student按姓名建立索引。
3.查询信息系所有年龄不大于21岁的女生。
4.查询1982年出生的男生的姓名。
5.查询信息系、金融系所有姓“王”的同学的姓名和年龄。
6.查询姓“王”的男同学的人数。
7.查询2号课程的最低分。
8.查询总分最高的学生的学号。
9.查询每个同学的平均分。
10.查询每个同学所选修的课程门数。
11.查询“计算机网络”90分以上的同学的姓名。
12.查询每门课程的课程名及选修人数。
13.查询选修了全部课程的学生姓名。
14.查询总学分已超过40学分的学生学号、姓名、总学分。
15.查询至少选修了学生“20021710233”选修的全部课程的学生姓名。
16.查询其他系中比“cs”系任一学生年龄都小的学生名单。
17.查询每一个同学的学号、姓名、选修的课程名及分数。
18.查询信息系学生或年龄小于20岁的学生。
19.查询信息系学生与年龄小于20岁学生的交集。
20.查询信息系学生与年龄小于20岁学生的差集。
21.向student增一新生(“20021710146”,“王飞”,“男”,12/22/1985,“is”)
22.删除“李军”同学的所有信息。
23.为信息系所有男生建一视图vs_ism。
24.利用视图vs_ism查询信息系“王强”同学。25.查询年龄在25-30之间的学生姓名及性别。
26.查询姓“欧阳”的学生 。
27.查询信息系is,数学系ma和计算机系cs的学生。
28.检索蒋炎焱老师所授课程的课程号和课程名。
29.检索年龄大于23岁的男学生的学号和姓名。
30.检索至少选修蒋炎焱老师所授课程中一门课程的女学生姓名。
31. 创建一工作表stu1(sno,sname,ssex,sage,sdept)。
32. 对STUDENT按姓名建立索引。
33. 查询信息系所有年龄不大于21岁的女生。
34. 查询每个同学所选修的课程门数。
35. 查询信息系、金融系所有姓“王”同学的姓名和年龄。
36. 查询姓“王”的男同学的人数。
37. 查询2号课程的最低分。
38. 查询总分最高的学生的学号。
39. 查询每个同学的平均分。
三、实验要求
1.SQL语句在VFP中建立基本表、视图等。
2.SQL语句运行并能完成简单的查询。
四、上交(不要求)
??????? 1.将D:\SM文件夹及其中的所有文件打包压缩后作为Email的附件上交。
??????? 2.必须在邮件主题中包含如“数据库实验五 某某某 12345678”字样。
实验六 VFP SQL高级操作
一、实验目的
1.在VFP的运行SQL命令
2.在命令窗口中建立表、运行查询(SELECT语句)
3.能完成复杂查询。
?二、实验内容
对SM数据库的三个表(student、course、scg),表结构如下:
student(sno,sname,ssex,sbirthday)
course(cno,cname,cpo,ccredit)
scg(sno,cno,grade)
用SQL语句完成以下操作:
40.检索姓名以wang打头的所有学生的姓名和年龄。
41.在scg中检索成绩为空值的学生学号和课程号。
42.求年龄大于女同学平均年龄的男学生姓名和年龄。
43.求年龄大于所有女同学年龄的男学生姓名和年龄。
44.在基本表student中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表student2(sno,sname,sex)。
45.在基本表scg中删除尚无成绩的选课元组。
46.把wang同学的选课和成绩全部删去。
47.把选修maths课不及格的成绩全改为空值。
48.把低于总平均成绩的女同学成绩提高5%。
49.在基本表scg中修改3号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)。
50.将修改成绩的权限授用户“JYY”。
51.检索wang同学不学的课程的课程号。
52.检索全部学生都选修的课程的课程号与课程名。
53.检索选修课程包含蒋炎焱老师所授课程的学生学号。
54.统计有学生选修的课程门数。
55.求选修5号课程的学生的平均年龄。
56.求蒋炎焱老师讲授的每门课程的学生平均成绩。
57.统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
58.检索学号比wang同学大,而年龄比他小的学生姓名。
59.检索至少选修两门课程的学生学号。
60.查询“计算机网络“分数大于90分的同学的姓名。
61.查询每门课程的课程名及选修人数。
62.查询选修的全部课程的学生姓名。
63.查询总学分已超过40学分的学生学号、姓名、总学分。
64.查询至少选修了学生”0201“选修的全部课程的学生姓名。
65.查询其他系中比’CS‘系任一学生年龄都小的学生名单。
66.向student中增一同学(“0289”,“王”,“男”,19,“IS”)
67.删除一“李军”同学的所有信息。
68.为IS系所有男生建一视图S_ISM,查询IS系“王强”同学。
三、实验要求
1.用SQL语句在VFP中建立视图、索引等。
2.用SELECT语句完成复杂查询。
3.练习DML语句和DCL语句,完成数据操纵和控制。
四、上交(不要求)
????? 1.将D:\SM文件夹及其中的所有文件打包压缩后作为Email的附件上交。
必须在邮件主题中包含如“数据库实验六 某某某 12345678”字样。
实验七 VFP数据库结构化编程
一、实验目的
???????1.掌握使用项目管理器建立管理一个项目。
???????2.掌握数据库表的关联。
???????3.掌握VFP数据库结构化程序设计。
二、实验内容
学习结构化程序设计方法,熟悉VFP中分支判断、循环结构和过程(子程序)的设计方法。建立两个数据库应用程序。
1.新建实验文件夹D:\SM,并将VFP的默认工作目录设置为D:\SM。
???????2.创建新的项目,并在项目中新建数据库SM,包括student,course,scg表。
3.在命令窗口中用CREATE COMMAND D:\SM\exp1.prg建立一个数据库应用程序,exp1.prg程序实现在student表中查询“张三”学生数据,如存在则显示,如不存在则显示“没有张三同学!”。
4. 在命令窗口中用CREATE COMMAND D:\SM\exp2.prg建立另一个数据库应用程序,exp2.prg程序实现可查询多个学生的成绩数据。
5.给student,course,scg数据表建立关联,并设置完整性规则。
6. 设计一个应用程序,完成对student表数据的增加,删除,修改,查询功能。
三、实验要求
1.学习掌握建立一个VFP应用项目的过程。
2.项目的各部分能独立运行通过。
3.掌握VFP结构化程序设计。
四、上交(不要求)
???????1.将D:\SM文件夹及其中的所有文件打包压缩后作为Email的附件上交。
2.必须在邮件主题中包含如“数据库实验六三 某某某12345678”字样。
实验八 VFP可视化程序设计
一、实验目的
1.理解掌握VFP可视化面向对象程序设计方法。
2.掌握创建表单、报表、菜单。
3.练习数据库应用系统的建立开发。
4.练习项目管理,连编和制作安装程序。
二、实验内容
1. 学习VFP可视化的面向对象的程序设计方法,理解类、对象、控件、属性、方法、事件驱动的意义,掌握VFP中常用的控件对象的属性、方法及事件,掌握属性和方法的作用及如何引用,理解对象事件发生机制。控件对象包括:窗口、标签、文本框、命令按钮、下拉框、列表框等。
???????2.通过向导创建student1表单,做适当的编辑修改,运行观看效果。
3.人工新建student表单,实现尽可能多的功能。在窗口上布景相应的控件,熟悉控件的属性、方法、事件。要求:
(1)student表增加民族、专业、班级等字段;
(2)编程实现对表中数据的浏览、增加记录、删除、修改、统计查询等功能;
(3)性别、民族、专业、班级等字段的录入能进行有效的完整性控制;
(4)窗口布局美观,操作方便。
???????4.创建视图view1,包含学生姓名、课程名称、成绩等字段。
???????5.建表单sc1,浏览显示视图view1的内容。
???????6.通过向导创建报表report1,显示student表的情况,并做适当的编辑修改,预览观看效果。
???????7.人工设计报表report2,显示student表的情况,要求分页显示每个学生,版面做适当的美化。
???????8.设计菜单menu1,调用以上的几个表单和报表。
???????9.创建程序代码文件program1,让其首先调用菜单,并设置为主文件。
???????10.连编成可执行文件,运行可执行文件,观察是否达到预期目标。
???????12.将必要的文件做成安装程序。
???????13.运行安装程序,将应用程序安装到硬盘。
14.运行安装到硬盘的应用程序,观察是否达到预期目标。
三、应用软件要求
1.窗体、报表功能基本能正常运行。
2.菜单可用合理
3.连编成功。
四、上交要求
???????1.将D:\ SM文件夹及其中的所有文件打包压缩后作为Email的附件上交。
???????2.必须在邮件主题中包含如“数据库应用软件 某某某 12345678”字样。
实验九 VFP数据库应用系统设计
一、实验目的
选择一个应用题目,深入分析设计一个简单的数据库应用软件。
进行细致地数据库分析设计,充分考虑数据的安全性和完整性。
???????3.应用软件包括主表单、菜单、工具条、报表及多个操作窗口。
???????4.连编项目,并制作安装程序。
二、实验内容
针对某一业务管理活动(如工资管理、人事管理等),设计开发一个实用的功能完善的MIS软件。
(一)要求
1.对应用系统所涉及的对象进行系统分析设计。理解数据间的联系及应用要求,画出ER图,为系统建立合理的数据模型。
2.确定系统应具备的基本功能,合理划分系统子模块,确定人机交互方式,设计好菜单。
3.编写规范的系统分析设计报告。
4.编程实现系统各功能,并进行严格的软件测试,使系统能正确运行。
5.美化界面,试运行,编写系统操作说明书。
(二)具体步骤
1.新建实验文件夹D:\GZGL,并将VFP的默认工作目录设置为D:\ GZGL
???????2.用向导使用项目管理器建立一个项目,将相关文件存放到相应文件夹中。
3.细致地数据库分析设计,确定建立几个表,每个表包括哪些字段、表与表如何联系,充分考虑数据的安全性和完整性,在项目中新建数据库。
4.分析数据库用户的权限,建立用户登录窗口。
5.分析创建相关视图。
6.建立主窗口、主菜单、工具条。
???????7.创建各级窗口,做适当的编辑修改,运行观看效果。
???????8.创建各级报表并做适当的编辑修改,预览观看效果。
???????9.创建程序代码文件program1,让其首先调用菜单,并设置为主文件。
???????10.连编成可执行文件,运行可执行文件,观察是否达到预期目标。
???????11.将必要的文件做成安装程序。
???????12.运行安装程序,将应用程序安装到硬盘。
13.运行安装到硬盘的应用程序,观察是否达到预期目标。
三、应用软件要求
1.功能基本能正常运行。
2.数据库设计科学。
3.界面友好。
四、上交要求
???????1.将D:\ GZGL文件夹及其中的所有文件打包压缩后作为Email的附件上交。
???????2.必须在邮件主题中包含如“数据库应用软件 某某某 12345678”字样。
实验十 SQL SERVER数据库基本操作
一、实验目的
1.熟悉SQL SERVER的启动、运行、关闭,熟悉主界面。
2.掌握在SQL SERVER中完成数据库基本操作,包括对数据库和数据表的相关操作。充分考虑数据的安全性和完整性。
???????3.理解SQL SERVER数据库的相关概念。
二、实验内容
1.打开SQL SERVER数据库的企业管理器,学习企业管理器的使用,学习菜单和工具条的功能。
???????2.在企业管理器中,建立学生管理数据库SM和数据表(student,course,scg),并输入一些记录数据。
3.学习数据库管理的操作界面。
4.在企业管理器中,练习SQL语句的用法。
5.创建多种数据库对象,如视图、规则、等。
三、实验要求
1.掌握企业管理器的基本用法。
2.掌握数据库和数据表的基本操作。
3.掌握在SQL SERVER中使用SQL语句。
实验十一 SQL SERVER数据库高级操作
一、实验目的
1.掌握SQL SERVER的数据库备份和恢复。
2.掌握在SQL SERVER中日志文件的使用。
???????3.深入理解SQL SERVER数据库的安全性和完整性。
二、实验内容
1.在企业管理器中,建立备份设备。
???????2.在企业管理器中,学习备份和恢复学生管理数据库SM。
3.在企业管理器中,用SQL语句完成更复杂的查询操作。
4.理解并创建数据库对象,如触发器等。
5.通过ODBC实现对SQL SERVER数据库的访问。
三、实验要求
1.能熟练使用SQL SERVER完成数据库管理工作。
2.在企业管理器中,掌握SQL语句、菜单与界面的使用。