2数据库实验.docx

上传人:b****4 文档编号:5238986 上传时间:2022-12-14 格式:DOCX 页数:23 大小:401.17KB
下载 相关 举报
2数据库实验.docx_第1页
第1页 / 共23页
2数据库实验.docx_第2页
第2页 / 共23页
2数据库实验.docx_第3页
第3页 / 共23页
2数据库实验.docx_第4页
第4页 / 共23页
2数据库实验.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

2数据库实验.docx

《2数据库实验.docx》由会员分享,可在线阅读,更多相关《2数据库实验.docx(23页珍藏版)》请在冰豆网上搜索。

2数据库实验.docx

2数据库实验

实验一 表的创建

1.1实验目的:

(1)熟悉VFP的开发环境

(2)掌握主窗口、菜单、工具栏和命令窗口的使用方法

(3)掌握用各种方式建立表结构,输入记录、追加记录、浏览记录

1.2实验内容:

1、启动VFP

开始\程序\MicrosoftVisualFoxPro

2、熟悉环境

练习命令窗口的关闭与打开(窗口\命令窗口),工具栏的打开与关闭。

3、创建表结构,并输入记录(在E盘上新建文件夹CJGL,文件保存在此)

(1)用菜单创建,文件\新建\表\新建文件,学生信息表(文件名为XS,如图5.1)

学生信息表:

学号(C)姓名(C)性别(C)出生时间(D)专业(C)总学分(N)

备注(M)照片(G)

练习在表设计器中练习插入字段,删除字段。

在表中输入5条记录,注意备注字段和通用字段内容的输入方式,观察输入请与输入后有什么不同?

              图5.1

用鼠标双击XS表备注字段,打开备注字段的编辑窗口,在该窗口中输入备注内容。

用鼠标双击照片字段,打开通用字段的编辑窗口,插入图像有以下两种方法:

●击通用字段,选择“编辑”菜单中的“插入对象”菜单项,打开“插入对象”对话框,选择对象类型为“BMP图像”,单击“确定”按钮,即可在通用字段编辑窗口中编辑图片。

●先把要插入的图像在WINDOWS的画图程序中复制到剪贴板上,在VFP双击照片字段,然后选择“编辑”菜单中的“粘贴”菜单项。

(2)用CREATE命令创建课程信息表(文件名为KC,如图5.2)并输入5条记录

课程信息表:

课程号(C)课程名(C)类别(C)开课学期(N)学时(N)学分(N)

图5.2

(3)创建成绩信息表:

(文件名为XSKC,如图5.3)并输入5条记录

成绩信息表学号(C)课程号(C)成绩(N)学分(N)

学号

课程号

成绩

学分

 

学号

课程号

成绩

学分

01040101

0101

86

3

 

01040104

0104

74

4

01040101

0102

67

4

 

01040104

0105

81

5

01040101

0103

90

5

 

01040104

0106

90

5

01040101

0104

80

4

 

01040105

0101

85

3

01040101

0105

72

5

 

01040105

0102

88

4

01040102

0102

56

0

 

01040106

0103

48

0

01040102

0103

78

5

 

01040106

0104

66

4

01040102

0104

86

4

 

01040106

0105

72

5

01040102

0105

66

5

 

02040101

0201

80

3

01040103

0101

67

3

 

02040101

0202

78

4

01040103

0102

76

4

 

02040101

0203

93

5

01040103

0104

84

4

 

02040201

0201

57

0

01040103

0105

89

5

 

02040201

0202

84

4

01040104

0101

50

0

 

02040201

0203

90

5

01040104

0102

78

4

 

02040108

0107

99

2

01040104

0103

99

2

 

01040101

0108

99

2

图5.3

*注意:

以上三表最好按图中信息输入,保存在E:

\CJGL中以备后用。

用APPEND命令或“显示”菜单下的“追加方式”命令分别给以上三个表追加5条记录。

用BROWSE命令浏览表的内容,用“显示”菜单下的“浏览”命令和“编辑”命令浏览,并观察二者的区别。

实验二  表的基本操作

2.1实验目的

(1)掌握修改表结构的方法

(2)掌握记录的修改、删除、定位、排序等操作

(3)掌握表的计算功能

2.2实验内容

setdefaulttoe:

\cjgl&&在命令窗口中设置,默认路径为E:

\CJGL

usexs.dbf     &&打开已经建好的学生信息表

1、用菜单的方式修改表的结构,单击查看菜单中的表设计器命令,在表设计器中为学生信息表中增加新字段,民族,字符型,宽度为6。

用liststructure和displaystructure命令查看修改后的表结构。

2、用命令的方式修改表的结构,在命令窗口中输入modifystructure命令,在表设计器中为学生信息表中增加新字段,政治面貌,字符型,宽度为4。

●用自己熟悉的方式,在学生信息表中增加联系方式字段,之后再把这个字段删除。

练习在表设计器中调整字段的排列顺序。

 

3、用菜单的方式浏览表,单击查看菜单中的浏览命令,显示表(如图5.1):

查看之后用ctrl+w或直接单击关闭按钮,将表关掉。

用命令方式,在命令窗口中输入browse命令也可将该表显示出来,此时可以看到菜单栏中多了“表”菜单,用其中的命令可以实现对记录的追加、修改、替换、定位、删除等操作。

4、命令:

browse field学号,姓名,专业 for性别=”女”&&用表格浏览所有女生的学号,姓名和专业

●练习用表格浏览所有计算机科学与技术专业学生的姓名,性别和出生时间。

5、命令:

list/displayall&&显示所有学生的基本信息(只在屏幕显示)                                 

listfor专业=”计算机科学与技术”&&显示所有计算机科学与技术的学生

●练习显示所有男生的基本信息。

●练习显示1985年以后出生的学生名单。

6、替换字段:

 browse&&显示现有的所有记录

 appendblank  &&追加一条空记录

 list&&显示记录,表的末尾有条空记录

 gobottom&&将记录指针指向最后一条记录

 replace学号with“01040107”,姓名with“吴有祥”

 list&&最后空记录已添加内容

用菜单方式,单击表―>追加新记录,直接输入数据。

7、备注型字段中追加内容:

replaceall备注with"体育班长"for姓名="刘中" &&命令方式

用菜单方式,单击表->替换字段…,打开如下图6.1对话框:

 

 单击替换就可以了,注意运算符和字符定界符在英文状态下。

图图6.1

8、转到记录:

 usexs.dbf&&在工作区中打开学生信息表

 ?

recno()&&显示当前记录号的函数,当前记录号为1

 skip

?

recno()&&当前记录号为2

 gobottom

 ?

recno()&&当前记录号为10

 skip

?

eof()&&显示.T.,因为记录指针指向表的最后一条记录的下一个

 go5

?

recno()&&当前记录号为5

用菜单方式,单击表->转到记录->第一个,最后一个,上一个,下一个,记录号等,同时当前记录号在状态栏中显示出来。

9、定位记录:

 usexs.dbf

locatefor专业=”电子信息工程”

 display&&显示记录号为7的记录

continue

display       &&显示记录号为8的记录

continue     &&状态栏提示已到定位范围末尾

display       &&因为没找到,所以无显示。

用菜单方式,单击表->转到记录->定位…打开如下图6.2对话框:

 图6.2

单击定位会定位在找到的第一个记录上,没有continue的功能。

10、删除记录:

 usexs.dbf

setdeleteoff&&设置删除标记的记录显示

 deletefor学号=”01040107”&&给该记录加上删除标记

 list&&刚删除的记录旁边有*删除标记

browse&&表格中刚删除的记录旁边有黑块删除标记

 setdeleteon&&设置删除标记的记录不显示

 list&&只显示没有删除标记的记录(browse也一样)

 ?

recount()&&显示表中记录的总个数11

 recallfor学号=”01040107”&&取消对该记录的删除或说取消删除标记

 list&&显示全部记录

 deletefor学号=”01040107”

pack&&对加了删除标记的记录彻底删除 

?

recount()&&显示表中记录的总个数10

用菜单方式,单击表->删除记录…可打开如下图6.3对话框:

 图6.3

单击删除就会为该记录加上删除标记。

再单击表->彻底删除就可以将该记录从表中彻底删除。

11、表的连接:

 select1

usexs&&在工作区1中打开xs表

select2

usexskc    &&在工作区2中打开表xskc

joinwithxsto成绩fields学号,xs.姓名,课程号,成绩,学分for学号=xs.学号&&为学生成绩表中加入姓名字段,保存在成绩表中

select3

use成绩&&用browse命令显示在学生成绩库中加入了姓名字段

12、表的计算(利用学生成绩表):

usexs

countton&&把表中记录的个数赋值给内存变量n

?

”学生数=”,n

usexskc.dbf

sum成绩for学号=”01040101”tozf&&统计01040101号学生的总分

 ?

”01040101号学生的总分是”,zf

average成绩 for课程号=”0101”tojf&&统计0101号课程的均分

 ?

”0101号课程的均分是”,jf

 calculateavg(成绩),min(成绩),max(成绩),std(成绩)for课程号=”0101” &&统计计算0101号课程的均分,最低分,最高分和标准偏差。

实验三  内存变量和常用函数

3.1实验目的

掌握内存变量和常用函数的使用

3.2实验内容

1.内存变量的使用

在命令窗口中输入下列命令,观察主窗口中显示的信息,写出显示的内容。

R=10

S=3.14159*r*r

Store“面积”tos1,s2

?

r,s,s1,s2&&主窗口中显示                 

ndate={^2005-6-30}+1  

姓名_1=”金中华”

姓名_2=”赵红”

姓名_3=”鞠春松”

displaymemory&&显示所有内存变量              

savetomymem

?

file(“mymem.mem”)&&显示为         

releaseallexcept姓名*&&清除除了以“姓名”开头的其他内存变量

displaymemory&&显示所有内存变量             

姓名_3=”林时”

姓名_3       &&显示为           

restorefrommymem&&将内存变量从保存的文件中恢复了

displaymemory&&显示所有内存变量             

姓名=”林时”

?

姓名        &&显示内存变量为           

usexs.dbf

?

姓名&&显示字段变量为           

?

M->姓名 &&显示内存变量为           

2.常用函数的使用

在命令窗口中输入下列命令,观察主窗口中显示的信息,写出显示的内容。

Xh=”01040102”

Xm=”赵 红”

?

len(xh),len(xm)&&显示为         

left(xm,2)&&显示为         

?

right(xm,2) &&显示为         

?

substr(“01040102”,3,2)&&显示为         

专业=”计算机”

zxf=40

?

xm+left(xh,2)+”院”+str(zxf)+”分”&&显示为         

?

”红”$xm&&显示为         

?

empty(“”)&&显示为         

temp=xh+xm-trim(专业)      

at(“计算机”,temp,1)&&显示为         

?

int(680.34)&&显示为         

?

sqrt(9)&&显示为         

?

max(2,4.5,-100)&&显示为         

?

mod(26,10),mod(23,-5)&&显示为         

setdecimalsto4&&设置小数位数为4位

?

round(1536.2854,2)&&显示为         

n=int(val(xh)/100)

?

n&&显示为         

?

chr(65)+str(n)&&显示为         

?

asc(“12345”)&&显示为         

?

date(),time()&&显示为         

setdatetoymd

setmarkto“.”

Setcenton

?

date(),time()&&显示为         

?

datetime()&&显示为         

d=date()

t=datetmie()

?

d+1,t+1&&显示为         

?

year(d),month(d),day(d),dow(d)&&显示为         

t={^2005-6-3010:

30a}

?

dtoc(t),ttoc(t)&&显示为         

出生时间={^1985.12.8}

?

date()-出生时间+1&&显示为         

?

left(xh,2)!

=”02”&&显示为         

?

zxf>=36&&显示为         

?

(date()-出生时间+1)<30&&显示为         

婚否=.T.

?

.not.婚否&&显示为         

cvar=”fox”

?

”Visual&cvar.Pro6.0”&&显示为         

实验四:

数据库和数据库表的创建

4.1实验目的

(1)掌握数据库和数据库表的创建。

(2)掌握查询设计器创建查询和应用。

4.2实验内容

1、创建名为xscj的人员信息数据库(两种方法,二者选一即可)

SETDEFAULTTOE:

/CJGL&&用命令创建数据库  

CREATEDATABASExscj&&可生成数据库名为xscj的数据库

CLOSEDATABASE

交互建立数据库,

选择“文件”“新建”“数据库”“新建文件”,系统显示“创建”对话框,在此对话框中选择路径为“E:

\cjgl”,数据库名为“xscj”,单击“保存”按钮。

数据库建立后形成三个文件,它们是基本文件xscj.DBC、相关的数据库备份文件xscj.DCT、相关的索引文件xscj.DCX。

2、将4个自由表加入数据库中(两种方法,二者选一即可)

SETDEFAULTTOE:

/cjgl     &&使用命令添加数据库表

OPENDATABASExscj

MODIFYDATABASE&&数据库设计器-xscj

ADDTABLExs

ADDTABLEkc

ADDTABLExskc

ADDTABLE成绩

CLOSEDATABASE

交互添加数据库表,打开xscj数据库,选择“数据库”“添加表”,在“打开”对话框中选择需要加入的表后点击“确定”按钮。

3、数据库表的字段特征属性

⑴xscj数据库各表字段的属性设置要求

①xs表(选中表,单击显示―>表设计器或单击鼠标右键选择“修改”菜单项,打开表设计器如下设置)

●学号不能为空、只能是数字组合;

●出生时间年龄在16~24之间;

●专业不能为空。

②kc表

●课程号不能为空、只能是数字组合;

●课程名不能为空;

●学时1~150之间,默认值为0;

●学分1~8之间,默认值为0。

③xskc表

●学号不能为空、只能是数字组合;

●课程号不能为空、只能是数字组合;

●成绩0~100之间,默认值为0。

(如图8.1)

图8.1成绩(xskc)数据表字段属性

成绩中将学号和课程号均设置索引

⑵验证xscj数据库各表字段的属性

SETDEFAULTTOE:

\cjgl

OPENDATABASExscj

USExs

APPENDBLANK &&本命令执行出错,学号和专业字段不能为空,设默认值则可执行

GO2

EDIT&&出生时间改为2000.02.01系统出错,它不符合年龄范围

USE

●kc表和xskc表自己打开,设置不符合字段条件的情况,观察出错信息。

4、数据库表的记录属性

⑴xscj数据库各表记录的属性设置要求

①xs表

●学号前两位的代号与专业字段一一对应。

②kc表

●有课程号才有学时;

●有学时才有学分。

③xskc表(成绩表的设置一样)

●有学号和课程号才有成绩;

●有成绩才有学分;

●学号必须在xs表中存在;

●课程号必须在kc表中存在;

●表的逻辑名为成绩。

⑵设置xscj数据库各表记录的属性

SETDEFAULTTOE:

/cjgl

OPENDATABASExscj

USExs   &&kc表、xskc表和成绩表的设置类似

MODISTRU

CLOSEDATABASE

5、使用查询设计器生成查询

图8.2查询结果

按照以下步骤操作,得到如图8.2所示查询结果。

(1)打开查询设计器:

文件新建查询

(2)数据环境中,单击鼠标右健选择“添加表”,系统打开“添加表或视图”对话框。

选择数据库的xs、kc和成绩表后,数据环境如图8.3所示。

这3个表之间的永久关系被带入数据环境中,表之间有连线显示。

(3)在查询设计器中,选择“字段”选项卡,在“可用字段”框中选择所需的数据库表的字段。

如图8.4所示。

(4)设置查询联接条件,两表之间的联接条件也可以通过查询设计器的“联接”选项卡来设置和修改,如图8.5所示。

(5)设置查询筛选条件,指定选取记录的条件可以使用查询设计器的“筛选”选项卡,如图8.6所示。

图8.3查询数据环境

图8.4选择查询输出字段

图8.5查询设计器的“连接”

图8.6查询设计器的“筛选”

(6)设置查询排序依据,使查询结果按“课程号”从小到大排序,课程号相同时再按成绩从大到小排。

如图8.7所示。

图8.7查询设计器的“排序依据”

(7)在查询设计器中还有一个“分组依据”选项卡,所谓分组就是将一组类似的记录汇总成一个结果记录,以便完成对这一组记录的计算。

(8)杂项,在“查询设计器”的“杂项”选项卡中,可以设置一些特殊的查询条件,在将“无重复记录”复选框选中。

(9)选择查询结果的输出去向,在“查询设计器”单击“查询去向”按钮,打开“查询去向”对话框,系统默认值为查询结果显示在浏览窗口中。

(10)生成SQL语句,可以通过选择“查询”菜单(或者快捷菜单)中的“查看SQL”项或单击查询设计器的工具栏上的“SQL”按钮,即可看到所生成的SELECT--SQL语句。

(11)生成查询文件,查询创建完成后,单击常用工具栏上的“保存”按钮或“文件”菜单中的“保存”命令,输入文件名(例如xskc1),系统自动为该文件加上扩展名“.QPR”,即生成了查询文件xskc1.QPR。

该文件中保存的就是SQL语句。

(12)运行查询

●单击“查询”主菜单选择“运行查询”菜单项;

●单击鼠标右健在快捷菜单中选择“运行查询”菜单项;

●在命令窗口运行查询:

DOxskc1.QPR      &&查询结果如图8.2所示。

实验五 程序设计

5.1实验目的:

掌握顺序、分支、循环程序的设计过程和方法

5.2实验内容:

1、顺序程序的设计:

(1).编写一程序,计算并显示圆的周长(L)和面积(S),其中半径(R)由INPUT语句读入。

(2).编写一程序,首先由用户输入一个专业,如:

“计算机科学与技术”,“工商管理”等,然后显示学生信息表中所有该专业的学生记录。

   SETTALKOFF

   USE学生信息表

   ACCEPT‘专业:

’TOZW

   LISTFOR专业=ZW

   RETURN

2、分支程序的设计:

(1).编写一程序,输入一个英文字母,若为大写,则显示它的小写字母,若为小写则显示它的大写字母。

   settalkoff

   accept'输入一个字符:

'toch

   ifupper(ch)=ch

    ?

lower(ch)

   else

    ?

upper(ch)

   endif

   return

(2).编写程序,计算分段函数:

的值。

(X,Y的值从键盘输入)

(3).编写一程序,输入某人的收入额,计算其个人所得税。

   个人所得税的计算方法为:

不超过500元的税率为5%,500元到2000元部分的税率为10%,超过2000元部分的税率为15%。

   settalkoff

   input'x='tox

   ifx<=500

    t=x*0.05

   else

    ifx<=2000

     t=500*0.05+(x-500)*0.1

    else

     t=500*0.05+1500*0.1+(x-2000)*0.15

    endif

   endif

   ?

'税金为:

',str(t,6,2)

   return

(4).用DOCASE语句编写第2、3题的程序,并重复上面的计算。

3、循环程序的设计:

(1).编写一程序,计算S=1/2+1/2^2+1/2^3+…+1/2^N,其中N由用户输入。

(保留小数点后5位)

利用程序分别计算N=5,10和20时,S的值。

   settalkoff

   s=0.00000

   i=1

   input'n='ton

   dowhilei<=n

    s=s+1/2^i

    i=i+1

   enddo

   ?

's=',s

   return 

(2).编写一个二重循环程序,显示如下的乘法口诀表。

   settalkoff

   i=1

   dowhilei<=9

    j=1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1