当前位置:文档之家› (2)数据库实验

(2)数据库实验

(2)数据库实验
(2)数据库实验

实验一表的创建

1.1实验目的:

(1)熟悉VFP的开发环境

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

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

1.2实验内容:

1、启动VFP

开始\程序\Microsoft Visual FoxPro

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)

*注意:以上三表最好按图中信息输入,保存在E:\CJGL中以备后用。

用APPEND命令或“显示”菜单下的“追加方式”命令分别给以上三个表追加5条记录。用BROWSE命令浏览表的内容,用“显示”菜单下的“浏览”命令和“编辑”命令浏览,并观察二者的区别。

实验二表的基本操作

2.1实验目的

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

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

(3)掌握表的计算功能

2.2实验内容

set default to e:\cjgl &&在命令窗口中设置,默认路径为E:\CJGL

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

1、用菜单的方式修改表的结构,单击查看菜单中的表设计器命令,在表设计器中为学生信

息表中增加新字段,民族,字符型,宽度为6。

用list structure 和 display structure命令查看修改后的表结构。

2、用命令的方式修改表的结构,在命令窗口中输入modify structure命令,在表设计器中

为学生信息表中增加新字段,政治面貌,字符型,宽度为4。

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

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

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

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

用命令方式,在命令窗口中输入browse命令也可将该表显示出来,此时可以看到菜单栏中

多了“表”菜单,用其中的命令可以实现对记录的追加、修改、替换、定位、删除等操作。

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

学号,姓名和专业

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

5、命令:list /display all &&显示所有学生的基本信息(只在屏幕显示)

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

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

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

6、替换字段:

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

append blank &&追加一条空记录

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

go bottom &&将记录指针指向最后一条记录

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

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

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

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

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

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

单击替换就可以了,注意运算符和

字符定界符在英文状态下。

图 6.1

8、转到记录:

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

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

skip

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

go bottom

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

skip

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

go 5

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

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

9、定位记录:

use xs.dbf

locate for 专业=”电子信息工程”

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

continue

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

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

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

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

图6.2

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

10、删除记录:

use xs.dbf

set delete off &&设置删除标记的记录显示

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

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

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

set delete on &&设置删除标记的记录不显示

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

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

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

list &&显示全部记录

delete for 学号=”01040107”

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

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

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

图6.3

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

11、表的连接:

select 1

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

select 2

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

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

select 3

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

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

use xs

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

?”学生数=”,n

use xskc.dbf

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

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

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

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

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

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

3.1实验目的

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

3.2实验内容

1.内存变量的使用

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

R=10

S=3.14159*r*r

Store “面积” to s1,s2

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

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

姓名_1=”金中华”

姓名_2=”赵红”

姓名_3=”鞠春松”

display memory &&显示所有内存变量

save to mymem

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

release all except 姓名* &&清除除了以“姓名”开头的其他内存变量display memory &&显示所有内存变量

姓名_3=”林时”

?姓名_3 &&显示为

restore from mymem &&将内存变量从保存的文件中恢复了

display memory &&显示所有内存变量

姓名=”林时”

?姓名 &&显示内存变量为

use xs.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) &&显示为

set decimals to 4 &&设置小数位数为4位?round(1536.2854,2) &&显示为

n=int(val(xh)/100)

?n &&显示为

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

?asc(“12345”) &&显示为

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

set date to ymd

set mark to “.”

Set cent on

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

?datetime() &&显示为

d=date()

t=datetmie()

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

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

t={^2005-6-30 10:30 a}

?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的人员信息数据库(两种方法,二者选一即可)

①SET DEFAULT TO E:/CJGL &&用命令创建数据库

CREATE DATABASE xscj &&可生成数据库名为xscj的数据库

CLOSE DATABASE

②交互建立数据库,选择“文件”“新建”“数据库”“新建文件”,系统显示“创建”对话框,在此对话框中选择路径为“E:\cjgl”,数据库名为“xscj”,单击“保存”按钮。数据库建立后形成三个文件,它们是基本文件xscj.DBC、相关的数据库备份文件xscj.DCT、相关的索引文件xscj.DCX。

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

①SET DEFAULT TO E:/cjgl &&使用命令添加数据库表

OPEN DATABASE xscj

MODIFY DATABASE &&数据库设计器-xscj

ADD TABLE xs

ADD TABLE kc

ADD TABLE xskc

ADD TABLE 成绩

CLOSE DATABASE

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

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

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

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

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

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

●专业不能为空。

②kc表

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

●课程名不能为空;

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

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

③xskc表

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

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

●成绩 0~100之间,默认值为0。(如图8.1)

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

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

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

SET DEFAULT TO E:\cjgl

OPEN DATABASE xscj

USE xs

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

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

USE

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

4、数据库表的记录属性

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

①xs表

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

②kc表

●有课程号才有学时;

●有学时才有学分。

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

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

●有成绩才有学分;

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

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

●表的逻辑名为成绩。

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

SET DEFAULT TO E:/cjgl

OPEN DATABASE xscj

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

MODI STRU

CLOSE DATABASE

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)运行查询

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

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

●在命令窗口运行查询:

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

实验五程序设计

5.1实验目的:掌握顺序、分支、循环程序的设计过程和方法

5.2实验内容:

1、顺序程序的设计:

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

(2). 编写一程序,首先由用户输入一个专业,如:“计算机科学与技术”,“工商管理”等,然后显示学生信息表中所有该专业的学生记录。

SET TALK OFF

USE 学生信息表

ACCEPT ‘专业:’ TO ZW

LIST FOR 专业=ZW

RETURN

2、分支程序的设计:

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

set talk off

accept '输入一个字符: ' to ch

if upper(ch)=ch

? lower(ch)

else

? upper(ch)

endif

return

(2). 编写程序,计算分段函数:的值。(X,Y的值从键盘输入)

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

个人所得税的计算方法为:不超过500元的税率为5%,500元到2000元部分的税率为10%,超过2000元部分的税率为 15%。

set talk off

input 'x=' to x

if x<=500

t=x*0.05

else

if x<=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). 用DO CASE语句编写第2、3题的程序,并重复上面的计算。

3、循环程序的设计:

(1).编写一程序,计算 S=1/2+1/2^2+1/2^3+…+1/2^N,其中N由用户输入。(保留小数点后5位)

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

set talk off

s=0.00000

i=1

input 'n= ' to n

do while i<=n

s=s+1/2^i

i=i+1

enddo

? 's=',s

return

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

set talk off

i=1

do while i<=9

j=1

do while j<=i

?? str(i,2)+'*'+str(j,1)+'='+str(i*j,2)

j=j+1

enddo

?

i=i+1

enddo

return

(3)用FOR循环语句编写上面第2题

实验六表单设计

6.1实验目的:

(1)熟练掌握“表单设计器”及常用控件的使用

(2)理解数学编程方式及控件常规安排

6.2实验内容:

1、设计表单,实现对数据库表的基本浏览操作(如图10.2)

(1)、文件->新建->表单->新建文件,打开表单设计器,单击显示――>数据环境,选择xs.dbf。在数据环境中依次将表中学号、姓名、性别等字段用鼠标拖拉至表单中,同时拖动xs表标题至表单中,表单上出现的标签和文本框以及Grid控件,如图10.1所示。

图10.1

(2)、表单中控件的设置。

控件类型对象名属性名属性值Click事件

CommandBox Command1 Caption 前一个

Skip –1 Thisform.refresh

Command2 Caption 后一个

Skip 1 Thisform.refresh

Command3 Caption 浏览browse

Command4 Caption 关闭Thisform.release Grid Grdxs Recordsource 数据库表xs

注:Grid控件,在Afterrowcolchange过程中添加以下代码:

LPARAMETERS nColIndex

thisform.refresh

(3)、以上设置进行之后,将文件保存成xsjbxx.scx

(4)、运行表单:

●单击程序――>运行――>xsjbxx.scx

●DO FORM xsjbxx.scx

都可得到如图10.2所示的效果:

图10.2

2、设计表单,任意给出三边长计算三角形面积(如图10.3)

图10.3 (1)、数学分析:

当给你三条边长时,可以利用“海伦定理”

)

(

*

)

(

*

)

(

*c

d

b

d

a

d

d

S-

-

-

=的原理来做。其中:

S为三角形的面积;d为三条边的均值。

(2)、选择文件->新建->表单->新建文件,新建空白表单。

(3)、添加控件及基本属性设置:

控件类型对象名属性名属性值Label Label1 Caption a=

Label2 Caption b=

Label3 Caption c=

Label4 Caption 三角形面积= TextBox Text1 Value 0

Text2 Value 0

Text3 Value 0

Text4

Command Command1 Caption 计算

注:在Command1的click事件中输入如下代码:

a= thisform.text1.value

b= thisform.text2.value

c= thisform.text3.value

If a+b>c and a+c>b and b+c>a

d=(a+b+c)/2

s=sqrt(d*(d-a)*(d-b)*(d-c))

thisform.text4.value=round(s,2)

Else

MESSAGEBOX(“不是三角形!”)

ENDIF

(4)、以上设置进行之后,将文件保存成sjxmj.scx

(5)、运行表单:

●单击程序――>运行――>sjxmj.scx

●DO FORM sjxmj.scx

都可得到如图10.3所示的效果。

3、设计表单,输入年份,显示此年份是闰年还是平年。

4、在第1题中,将几个命令按钮设计成类,利用类来实现操作。

5、在第1题中,将几个命令按钮做成快捷菜单来实现操作。

数据库实验2实验报告 2

数据库第二次试验报告 PB10011020 刘思轶实验内容 本实验有两个可选题目,旅游出行和药品免疫库。本程序即为旅游出行的一个实现。 实验原题摘要如下 数据关系模式: 航班FLIGHTS( String flightNum, int price, int numSeats, int numAvail, String FromCity, StringArivCity); 宾馆房间HOTELS( String location, int price, int numRooms, int numAvail);出租车CARS( String location, int price, int numCars, int numAvail);客户CUSTOMERS( String custName); 预订情况RESERVATIONS( String resvKey, String custName, int resvType) 系统基本功能: 1.航班,出租车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。 2.预定航班,出租车,宾馆房间。 3.查询航班,出租车,宾馆房间,客户和预订信息。 4.查询某个客户的旅行线路。 5.检查预定线路的完整性。 6.其他任意你愿意加上的功能。 程序功能 本系统由旅行服务提供商运营,发布在支持PHP + MySQL 的服务器上。 系统默认有三个角色,游客、用户和管理员。它们的权限如下 1、游客 查询当前航班、旅馆和出租车的预订情况; 2、注册用户 游客的所用权限; 查询当前预订; 预订航班、旅馆和出租车; 退订航班、旅馆和出租车。 打印旅行路线 检查预定路线的完整性。 检查航班的完备性 3、管理员 注册用户的所用权限

实验2 创建数据库和表

实验2 创建数据库和表 一、实验目的 1.了解MySQL数据库中的存储引擎分类 2.了解表的结构特点 3.了解MySQL的基本数据类型 4.了解空值的概念 5.学会在MySQL界面工具中创建数据库和表 6.学会使用SQL语句创建数据库和表 二、实验准备 1.首先要明确,能够创建数据库的用户必须是数据管理员,或是被授权使用 CREATE DATABASE语句的用户。 2.其次,确定数据库包含哪些表,以及所包含的个表的数据结构,还要了解 MySQL的常用数据类型,以及创建数据库的表。 3.此外还要了解两种常用的创建数据、表的方法,即在界面管理工具中创建 和使用CREATE DATABASE 语句创建。 三、实验内容及要求 (一)数据表描述 创建用于企业用于管理的员工管理数据库,数据库名为YGGL,包含员工的信息,部门信息,及员工的薪水信息。数据库YGGL包含下列三个表: Employees:员工信息表 Departments:部门信息表 Salary:员工薪水情况表 Employees表结构 Departments表结构

Salary表结构 (二)实验内容 1.使用命令行方式创建数据库YGGL。 1)打开MySQL command line client,输入管理员密码登录,使用CREATE 语句创建YGGL数据库。 2)在YGGL数据库存在的情况下,使用CREATE DATEBASE语句新建数据 库YGGL,查看错误信息,再尝试加上IF NOT EXISTS关键词创建YGGL,看看有 什么变化。 3)使用命令方法创建数据库YGGL1,要求数据库字符集为utf8,校对规 则为utf8_general_ci。 2.使用SQL语句在YGGL数据库中创建表employees 1)执行创建表Employees的Sql语句。 3.使用SQL语句删除表和数据库 1)删除表Employees。 2)删除数据库YGGL。 3)复制表Employees,命名为Employees1。使用命令行将表Emloyees1 中的Emailaddress列删除,并将Sex列的默认值修改为男。

数据库实验二

西南石油大学实验报告 注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。 一、实验课时:4 二、实验目的 (1) 理解查询的概念和方法。 (2) 掌握SELECT语句在单表查询中的应用。 (3) 掌握SELECT语句在多表连接查询中的应用。 (4) 掌握SELECT语句在嵌套查询中的应用。 (5) 掌握SELECT语句在集合查询中的应用。 (6) 主要掌握使用“查询分析器”进行查询。 三、实验环境 (1) PC机。 (2) SQL Server 2008。 四、实验内容及步骤 以下查询均使用实验项目1中创建的COMPANY数据库。 1.单表查询 (1)基本查询。 Q0. 使用查询分析器从Employee表中检索出所有员工的姓名。 SQL文本:SELECT FNAME,LNAME FROM EMPLOYEE;

(以下所有题目都必须按照上图的要求截图) Q1.从Employee表中检索出员工的FNAME、LNAME、SSN、BDATE、SALARY等字段,并分别加上“名”、“姓”、“社会保险号”、“生日”、“工资”的标题。员工的排序规则为:首先按工资的降序排列,然后按FNAME 的字母升序排列。 SQL文本: SELECT Fname名,Lname姓,Ssn社会保险号, Bdate生日,Salary工资 FROM EMPLOYEE ORDER BY Salary DESC,Fname;

Q2.查询不重复的员工工资值。 SQL文本: SELECT DISTINCT Salary FROM EMPLOYEE; Q3.查询没有直接上司的员工姓名。SQL文本: SELECT Fname,Lname FROM EMPLOYEE WHERE Super_ssn IS NULL;

2-实验二MySQL数据库操作实验

实验二MySQL数据库操作实验 实验目的: 1、掌握MySQL数据库的安装方法 2、掌握MySQL数据库的使用 3、熟悉数据库管理工具的使用 实验要求: 1、利用MySQL命令创建数据库和相应的数据库表,并能向数据库表中插入数据记录和相应的数据库操作。 2、利用Navicat for MySQL建数据库和相应的数据库表,并能向数据库表中插入数据记录和相应的数据库操作。 3、保存和导入数据库 4、编程查询显示数据库表中的所有记录,可以选择以下添加的任意一个数据库表的记录。 实验内容: 1、安装MySQL数据库 安装MySQL可以参照文档“MySQL 5 安装.doc”,安装MySQL并进行配置,安装成功后,即可操作管理数据库。 方法一: 从开始菜单?MySQL?MySQL Server5.0?MySQL Command Line Client,打开控制台界面,提示输入密码,密码输入成功后,登录MySQL数据库,如下图2.1所示。

图2.1 登录MySQL 服务器 方法二:将MySQL的安装路径下的bin目录添加到环境变量path中,打开控制台命令,输入mysql –uroot –p,在提示符下输入密码,登录MySQL 服务器,如下图2.2所示。 图2.2 登录MySQL服务器 2、安装Navicat for MySQL Navicat for MySQL 是一款强大的MySQL数据库管理和开发工具,Navicat 使用很好的GUI,可以使用户采用一种安全和更容易的方式创建、组织、存取和共享信息。 安装Navicat_for_MySQL_10.1.7,安装向导启动界面如下图2.3所示。

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据库实验 2

实验 2 :数据库的建立和维护实验 本实验需要 2 学时。 一、实验目的 要求学生熟练掌握使用SQL 、Transact-SQL 和SQL Server 企业管理器建立数据库、表、修改数据库、表和删除数据库和表的操作。 二、实验内容和步骤 1.创建数据库 1)在企业管理器中创建数据库student_学号:要求: ●数据库STUDENT_学号初始大小为10MB,最大大小为50MB,数据库自动增长,增长 方式是按5%比例增长; ●日志文件初始大小为2MB,最大可增长到5MB,按1MB增长; ●数据库的逻辑文件名和物理文件名均采用默认值; ●(分别为STUDENT_学号_data和e: \sql\data\MSSQL\STUDENT_学号.MDF) ●事务日志的逻辑文件名和物理文件名也采用默认值。 ●(分别为STUDENT_学号_LOG和e: \sql\data\MSSQL\STUDENT_学号_LOG.ldf) 2)②使用T-SQL语句创建数据库STUDENT_学号,要求同1; Create database STUDENT_01 On (name=STUDENT_01_data, filename='e:\STUDENT_01.MDF', size=10, maxsize=unlimited, filegrowth=10%) log on (name=student1_log, filename='e:\STUDENT_01.LDF', size=2, maxsize=5,

filegrowth=1) 2. 创建表 以上面创建的数据库为例,创建表。创建表实际上就是创建表结构,再向表中输入数据。既可以使用企业管理器创建表,也可以用Transact-SQL 命令创建表。 (1). 使用企业管理器创建表 利用企业管理器提供的图形界面来创建表,步骤如下: (1)在树形目录中展开【服务器组】→【服务器】→【数据库】→【STUDENT_学号】。 (2)选择【表】,单击鼠标右键,在弹出的快捷菜单中选择【新建表...】命令, 打开设计表对话框。 (3)如图5-10所示,设计表对话框的上半部分有一个表格,在这个表格中输入列的列名、数据类型、长度(有的数据类型不需要指定长度,如datetime 类型的长度为固定值8)、是否可以为空,在允许空域中单击鼠标左键,可以切换是否允许为空值的状态,打勾说明允许为空值,空白说明不允许为空值,默认状态是允许为空值的。 (4) 图5-10所示的设计表对话框的下半部分是特定列的详细属性,包括是否是标识列、是否使用默认值等。 (5)用图5-10所示的方法逐个定义好表中的列。 (6)设置主键约束:选中要作为主键的列,单击工具条上的【设置主键】按钮,主键列的前上方将显示钥匙标记,如图5-11所示。 (7)鼠标右键单击表中的任意一行(即任意一个列的定义),在弹出的快捷菜单中选择【属性】命令,可以打开如图5-12所示的表属性对话框,在该对话框中选择表选项卡,可以指定表的属性,比如表名、所有者、表的标识列等。图5-12中将表的名称设置为Readers , 所有者设置为dbo 。 (8)在属性对话框中选择【关系】选项卡,可以设置列上的外键约束。选择【索引/键】选项卡,可以设置列上的索引,以及主键约束和惟一性约束。选择【check 约束】选项卡,

实验一-创建数据库和表

实验一-创建数据库和表

实验一创建数据库和表 1、目的和要求 (1)了解SQL Server数据库的逻辑结构和物理结构。 (2)了解表的结构特点 (3)了解SQL Server的基本数据类型。 2、实验内容 (1)实验题目 ①创建一个新的数据库。创建用于企业管理的员工数据库,数据库名称为YGGL。 ②在创建好的数据库YGGL中创建数据表。考虑到数据库YGGL中包含员工的信息、部分信息以及员工的薪水信息,所以数据库YGGL应该包含三个表:Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 3、实验步骤 (1)在对象资源管理器中创建数据库YGGL。

(2)删除数据库YGGL。 ①界面操作删除数据库 删除数据库YGGL时,右键单击数据库,弹出菜单点击“删除”,弹出“删除对象”窗口,确认删除。 ②T-SQL语句删除数据库

在代码空白处右击鼠标,弹出菜单选择“执行(X)”或者键盘“F5”运行代码,在下方会显示运行成功。 此时在左侧“对象资管理器”中右键点击“数据库”选择刷新数据库,会发现数据库“PX”已经删除。 注意:当执行过一遍代码时,也就是执行了T-SQL语句删除数据库后再次执行代码会出现这样的警告。原因是由于执行过一遍T-SQL语句,进行操作的数据库已经被删除,不存在。 (3)使用T-SQL语句创建数据库YGGL。

新建查询后,在窗口中输入上面代码,右键代码空白处执行。然后在“对象资源管理器”中查看。如果“数据库”列表中并未列出YGGL数据库,则单击右键“数据库”,选择“刷新”选项,“数据库”列表中就会出现创建的YGGL数据库。 (4)在对象资源管理器中创建表。 ①创建表。Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 在对象资源管理器中选择创建的数据库“YGGL”,展开数据库YGGL,选择“表”,右键单击“表”在弹出的菜单中选择“新建表”。将表保存并命名为“Employees”。下面是相同方法创建的Employees(员工自然信息)表、

数据库实验二

实验二数据库设计 【实验目的】 本实验通过学生一个应用实例设计数据库,达到: 1、理解规范化数据库设计包括步骤及其任务、方法、结果等。 2、掌握数据库设计过程中关键文档的撰写包括E-R模型、E-R模型向关系模型的转换。 3、了解数据库辅助设计工具。 【实验性质】 验证性实验(学时数:2H) 【实验导读】 1、概述 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统(简称数据库应用系统),使之能够有效地存储数据,满足各种用户的应用需求(包括信息要求和处理要求)。 数据库设计的一个最基本的问题(输出)是如何建立一个好的数据库模式(逻辑结构与物理结构),如果可能的话包括基于数据库应用系统的设计原则。即给出一定的硬件与软件环境下(主要包括OS与DBMS),对于一定的信息需求和处理要求(输入),如何构造一个适合于它们的数据模式,使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。 按照规范化设计的方法,数据库设计分为以下六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。有些教材还包括规划阶段。为了叙述方便我们将后两个阶段合并。 2、需求分析 需求分析指各种需求的收集和分析、表达,结果得到数据字典(DD)描述的数据需求和数据流图(DFD)描述的处理需求。在结构化设计方法中,需求分析采用自顶向下、逐层分解的方法。 3、概念结构设计 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,用E-R图表示。E-R模型方法讨论了实体与实体之间的数据联系,目标是要设计一个“好”的数据库模型。 设计E-R图步骤: 1)确定局部应用,一般选择合适的中间层次。在DFD中选择适当层次的DFD,作为设计局部E-R图的出发点。中层允许有一定的重叠。 2)设计局部E-R图。主要包括确定实体、确定联系包括联系名及其类型、标明属性、确定主关键字、标明其它。 3)局部E-R图 4)合并及优化全局E-R图。 4、逻辑结构设计 将概念结构转换为某个DBMS所支持的数据模型一般为关系模型,并对其进行优化。转换时必须遵从转换规则,每个规则强调转换时必须确定每个关系的关系名、构成的属性、码的确定。转换规则可以分为三类即实体型的转换、联系转换(联系可分为二元联系与多元联系两类,二元联系划分成1:1、1:n、n:m三种,一元联系同二元联系一样处理)、关系合并规则。 5、物理结构设计 为逻辑数据模型选取一个最适合应用环境的物理结构(存储结构和存取方法)。 6、实施与运行、维护 数据库实施指运用DBMS提供的数据语言SQL及其宿主语言(例如C),根据逻辑设计和物理

数据库(实验2)

南京信息工程大学数据库基础教程实验(实习)报告 实验(实习)名称数据库、表的创建实验(实习)日期2016.4 得分指导老师马瑞 系计算机与软件学院专业网络工程班级 2 姓名杨泽瑞学号20141346046 一、实验目的 1.了解在SSMS创建数据库的要求。 2.了解Server数据库的逻辑结构和物理结构。 3.掌握表的结构特点。 4.掌握SQL的基本数据类型。 5.掌握空值概念。 6.掌握SSMS界面和使用T-SQL语句创建数据库的方法。 二、实验内容 1.在SSMS中创建数据库的要求如下: (1)能创建数据库的用户必须是系统管理员,或被授权使用CREATE DATABASE 语句的用户。 (2)创建数据库必须确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初大小、增长方式)和存储数据库的文件。 (3)确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQLServer 的常用数据类型,以创建数据库的表。 2.定义数据库结构。创建学生成绩数据库,数据库名为XSCJ,包含下列3个表。(1)学生表:表名为Student,描述学生信息。 (2)课程表:表名为Course,描述课程信息。 (3)学生选课表:表名为StuCourse,描述学生选课及成绩信息。

3.在SSMS控制台上创建XSCJ数据库。 要求:数据库XSCJ初始大小为5 MB,日志文件初始大小为1 MB,增长方式均采用默认值。数据库的逻辑文件名和物理文件名均采用默认值,分别为XSCJ_data 和f:\prograni FilesVMicrosoft SQL Server\MSSQL.l\MSSQL\data\XSCJ.mdf ,其中 f:\Program Files\Microsoft SQL Server\MSSQL.l\MSSQL\data^ SQL Server 2012的系统安装目录;事务日志的的逻辑文件名和物理文件名也均采用默认值,分别为XSCJ_LOG和 ProgramFiles\MicrosoftSpLServer\MSSQL.l\MSSQL\data\XSCJ_Log.ldf。 注意:不同的安装系统安装目录有可能不相同。 启动SSMS,以系统管理员或被授权使用CREATE DATABASE语句的用户登录SQL Server 2014服务器。在对象资源管理器中“数据库,,图标上单击鼠标右键,在快捷菜单上选择“新建数 ,据库”,将出现如图A2.1所不的“新建数据库”窗口。在“数据库名称”文本框中输入数据库名 1SCJ”,并将逻辑文件的初始大小改为5 MB,单击“确定”按钮,即可创建XSCJ数据库。在对象资源管理器中展开“数据库”图标,将看到新增了“XSCJ”图标。 4.将新创建的XSCJ数据库删除。在资源管理器中选择数据库XSCJ在XSCJ上单击鼠标右键删除。 5.使用T-SQL语句创建XSCJ数据库。启动査询分析器,在查询分析器中输入以下语句:

数据库原理实验一-数据库和表的创建与管理

《数据库原理》实验报告 题目:实验一 数据库和表的创建与管理学号姓名班级日期 2016.10.15 一.实验内容、步骤以及结果 1.利用图形用户界面创建,备份,删除和还原数据库和数据表 (1)创建SPJ数据库,初始大小为10MB,最大为50MB,数据库自动增长,增长 方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB 增长。数据库的逻辑文件名和物理文件名均采用默认值。 (2)在SPJ数据库中创建如图2.1-图2.4的四张表

(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。(提示: 最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)

(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为 mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。 (5) 删除已经创建的工程项目表(J表)。 (6) 删除SPJ数据库。(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在) (7) 利用备份过的bak备份文件还原刚才删除的SPJ数据库。(还原数据库) (8) 利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。(附加) (9) 将SPJ数据库的文件大小修改为100MB。

(10) 修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。 2. 利用SQL语言创建和删除数据库和数据表 (1) 用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文件名,日志文件名请自定义。

数据库实验二

实验四数据库约束实验 实验目的 (1) 理解数据库完整性约束的概念。 (2) 掌握SQL SERVER 的完整性约束技术。 (3) 了解SQL SERVER 的违反完整性约束处理措施。 实验内容 (1) 理解实体完整性、域完整性、引用完整性和用户定义完整性的意义。 (2) 定义和管理主键(PRIMARY KEY)约束、外键(FOREIGN KEY)约束、唯一性(UNIQUE)约束。 (3) 定义和管理检查(CHECK)约束、DEFAULT 约束、允许空值约束。习题 1.在数据库EDUC中,创建下列完整性约束。 (1) 为数据库表Course_info创建一CHECK约束:当插入或修改一个记录时,确保此记录的授课学时在10~80之间。 (2) 为教师信息表Teacher_info创建CHECK约束:男教师出生日期在1960年1月1日以后,女教师出生日期在1965年1月1日以后。 (3) 为教师上课信息表TC_info创建CHECK约束:学生成绩在0~100之间。 (4) 为教师上课信息表TC_info创建外键约束:“tcid”、“tno”、“classno”和“cno”。 实验步骤: (1)打开数据库表Course_info,找到lecture并右击,在出现的菜单里单击CHECK约束,出现图1所示的窗体界面。

图 1 单击窗口中常规下的表达式后的按钮,出现如图2所示的窗体界面,为确保此记录的授课学时在10~80之间,在此窗体中输入语句:lecture>=10 and lecture<=80,单击确定按钮即可完成此约束。 图2 (2)打开数据库表Teacher_info,找到birthday并右击,在出现的菜单里单击CHECK约束,出现图1 所示的窗体界面。同样单击常规下的表达式后的按钮,在CHECK约束表达式窗体中输入下列语句: birthday>’1960-1-1’ WHERE sex=’男’, birthday<’1965-1-1’WHERE sex=’女’ (3)打开教师上课信息表TC_info,找到score并右击,在出现的菜单里单击CHECK约束,出现图1 所示的窗体界面。单击窗口中常规下的表达式后的按钮,

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

数据库-实验二

实验报告册2014 / 2015 学年第2 学期 系别计算机科学与技术系 实验课程数据库原理 专业计算机科学与技术 班级 姓名 学号 指导教师

实验二——SQL语句 一、实验目的 1.熟悉SQL的数据查询语言,能使用SQL进行单表查询、连接查询、嵌套查询、集合查询 和统计查询,能理解空值的处理; 2.熟悉数据库的数据更新操作,能使用SQL语句对数据库进行数据的插入、更新、删除操 作; 3.熟悉SQL支持的有关视图的操作,能创建、查询及取消视图; 4.了解NULL在数据库中的特殊含义,掌握使用SQL进行与空值相关的操作; 二、实验预习内容 在认真阅读教材及实验指导书【实验1.2 数据查询】、【实验1.3 数据更新】、【实验1.4 视图】和【实验1.6 空值和空集的处理】的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.使用SCHOOL数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下操 作。请在空白处填写相应的SQL命令。 1)查询年级为2001的所有学生的名称,按编号顺序排列; 2)查询所有课程名称中含有data的课程编号;

3)统计所有老师的平均工资; 4)查询至少选了3门课的学生编号;

5)查询学号为80009026的学生的姓名、所选课名及成绩; 6)查询没有学生选的课程编号; 7)查询既选了C++又选了Java课程的学生编号;

8)查询选了C++但没选Java课程的学生编号; 9)向STUDENTS表中插入“LiMing”的个人信息(编号:700045678,名字:LiMing,Email:LX@https://www.doczj.com/doc/687239585.html,,年级:1992); 10)将“LiMing”的年级改为2002;

数据库实验二41245

仲恺农业工程学院实验报告纸 信息科学与技术学院网络工程专业 131 班组数据库原理及应用课学号 4123 姓名苏德实验日期教师评定 实验二数据查询与修改 一、实验目的 1、掌握使用简单查询、连接查询以及嵌套查询完成数据查询的方法 2、掌握应用SQL进行数据更新的方法; 3、掌握视图的创建与更新方法。 二、实验内容 第一部分:使用附加方式恢复数据库LibraryLib,完成如下各题: 1、《数据库原理及应用实验指导》P45 1.数据查询练习(1)-(6) (1)查询各个超期罚款用户及其罚款总数,结果按罚款总数降序排列。 (2)查询已经超期一个月以上的还未归还图书的用户借书证编号。 (3)查询已经超期一个月以上的还未归还图书的用户名称、联系方式以及超期图书名。 (4)查询在同一天借阅了不同图书的用户借书证号。 (5)查询借书从来没有被超期罚款的用户信息。 (6)检索有图书所购册数大于或等于图书价格超过“50”的图书任一所购册数的图书的价格。 分析:先找出图书价格超过“50”的图书的所购册书假设a 要查的是所购册数>= any a 的图书的价格 第一部分:实验数据修改 1.使用SQL语句向“用户信息表Users”中插入元组(用户标识:LiS;用户权限:1;密码:2;用户名称:李生;性别:男(0);部门:计算系;已借

图书:0)。 问:本题可以省略into子句中的属性名吗如果要省略,需要注意什么 2.向Publish(出版社信息) 表插入一条新的记录,在该记录中,出版社名为:国防工业出版社,地址为:北京市海淀大街籍海楼,出版社email为。 3.对每个出版社,求出所购图书总数和图书总价格,并把结果存入新建表“图书统计Temp_CNTBK”表中。 4.读者“ZouY”于今天通过管理员“LuoHH”借阅了一本“Visual FoxPro 及其应用系统开发”图书,使用T-SQL语句向Borrow表中插入该记录,并更改Book表中库存册书信息。 说明:本题有一定难度,请先思考如果插入这么一条记录,需要哪些信息,又如何获取到,关键是获取后将其存入一些变量中即可 5.使用SQL语句将所有读者借书应归还日期向后延长一天。 6.将“清华大学出版社”的图书所购册书和库存册书增加10本。 7.删除所有实际归还日期为“2009-04-17”以前且所借图书的名称中含有“数据库”字样的超期罚款记录。 8.删除“出版社信息表Publish”中出版社名称为“机械工业出版社”的元组,讨论该删除操作所受到的约束。 第二部分:实验视图 1.使用企业管理器创建一个行列子集视图View_Book,给出清华大学出版社的图书的的图书名称、书号、价格、书的页数和购买册书。 2.创建分组视图,将出版社标识及每个出版社的图书的最高价格和最低价格定义为一个视图。 3.创建一个基于题目1所建立视图的视图,定义一个视图,包括清华大学出版社的图书名称,以及购买该图书的总价格。 4.创建一个基于多个基表的视图,该视图由用户帐户、姓名、他在借书的名称组成。

大数据库系统应用与开发--实验二

实验二JDBC基础(1) 一、相关知识点 1、JDBC基本概念 2、java连接数据库的方式 3、JDBC简单查询 二、实验目的: 理解Java连接数据库的基本概念。理解JDBC的四种驱动程序,掌握纯java驱动和jdbc-odbc驱动。理解Statement对象和ResultSet对象。 三、实验内容: 1、将booklib应用的JDBC驱动程序改成JDBC-ODBC驱动方式。 第一步:设置ODBC数据源;

第二步:修改DBUtil类中的相关代码;

第三步:运行程序 【实验结果与分析】 A、说明需要修改DBUtil类的哪些地方,及修改原因? private static final String jdbcUrl="jdbc:odbc:cjeSQL"; 因为booklib应用的驱动方式是jdbc-odbc驱动 2、利用Statement对象和Result对象实现按出版社名称精确查询出版社功能(精确查 询是指查询的目标和查询条件中值完全相同的数据)。 第一步:在https://www.doczj.com/doc/687239585.html,.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。 第三步:启动booklib主程序,在出版社管理中录入几个出版社 第四步:清空https://www.doczj.com/doc/687239585.html,.zucc.booklib.control. PublisherManager类中的main函数现有内

数据库实验2

Oracle的文件操作 实验教学目的与要求: 熟悉sqlplus中的常用命令;掌握Oracle的启动和关闭;掌握Oracle文件及管理。 实验具体内容: 请同学们将每道题的结果截图,粘贴到文档相应题目下 (一)数据文件 1、为USERS表空间,增加一个数据文件users02.dbf,大小为10M 2、将users02.dbf数据文件移动到D:\oracle\product\10.2.0\oradata目录下并重命名为 users002.dbf 3、删除users002.dbf文件 提示:使用alter tablespace … drop datafile语句 (二)控制文件 4、实现多路镜像控制文件(参考书63页d) 编辑初始化参数 关闭数据库 拷贝一个原有的控制文件到新的位置,并重新命名。 重新启动数据库

5、查看当前数据库中所有控制文件信息 提示:查看视图v$controlfile select name from v$controlfile; 6、将控制文件备份为二进制文件 提示:使用语句alter database backup controlfile to 目标路径和文件 (三)重做日志文件 7、查看重做日志成员文件所在的重做日志文件组状态 提示:查看v$log视图

8、查看重做日志组及其成员的信息 提示:查看v$logfile视图 9、为数据库添加重做日志文件组组号为4,文件组下有包含redo04a.log与redo04b.log两个文件,大小为4M。 提示:使用alter database add logfile group 日志文件组组号… 两个文件路径和文件名。参考书67页 10、添加重做日志文件组号为4的组成员redo04c.log 提示:使用语句alter database add logfile member….to group 4 11、改变重做日志文件组成员的名称或位置 将redo04a.log更名为redo004a.log,同时将redo04c.log移到d:\oracle\product\10.2.0\oradata 目录下 注意:只能更改处于inactive或unused状态的重做日志文件组的成员文件名称或位置 12、删除重做日志文件组成员 注意:只能更改处于inactive或unused状态的重做日志文件组的成员文件 使用语句alter database drop logfile member…. 然后在删除操作系统中对应的重做日志文件。

实验二 创建数据库和表 实验报告

实验2 创建数据库和表实验报告 一.实验名称:创建数据库和表 二.目的和要求: (1)了解SQL Server数据库的逻辑结构和物理结构。 (2)了解表的结构特点。 (3)了解SQL Server 的基本数据类型。 (4)了解空值概念。 (5)学会使用T-SQL语句创建数据库和表.。 三.实验准备 首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 其次创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。 然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。 此外还要了解使用T-SQL语句创建数据库、表的方法。 四.实验时间:2011年4月7日 五.实验设备和实验环境: (1) PC机。 (2) SQL Server 2000。 六.实验内容: 1、实验题目 创建用于学校管理的学生-课程数据库,数据库名为“DB_自己的学号”,包含学生的信息、课程的信息以及学生选修的信息,即数据库中包含下列3个表: (l)Student:学生信息表。 (2)Course:课程信息表。 (3)Sc:选修情况表。 2.实验步骤 (1)使用T-SQL语句创建数据库 按照上述要求创建学生-课程数据库。 启动查询分析器→在“查询”窗口中输人创建数据库的T-SQL语句。 单击快捷工具栏的执行图标执行上述语句,并查看执行结果(也可在企业管理器中查看)。 打开查询分析器,在工作区域输入 create database DB_0921121010创建一个以自己学号为名的库,结果如图(1)所示:

SQL数据库实验报告 实验二

实验2 SQL Server数据库的管理 1.实验目的 (1)了解SQL Server 数据库的逻辑结构和物理结构的特点。 (2)掌握使用SQL Server管理平台对数据库进行管理的方法。 (3)掌握使用Transact-SQL语句对数据库进行管理的方法。 2.实验内容及步骤 (1)在SQL Server管理平台中创建数据库。 ①运行SQL Server管理平台,在管理平台的对象资源管理器中展开服务器。 ②右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。在新建数据库对话框的数据库名称文本框中输入学生管理数据库名studentsdb,单击“确定”按钮。 (2)选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。 (3)打开studentsdb数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改studentsdb数据文件的“分配的空间”大小为2MB。指定“最大文件大小”为5MB。修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。 (4)单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL 语句CREATE DA TABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。 (5)在查询设计器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。 (6)在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。 (7)使用SQL Server管理平台将studb数据库的名称更改为student_db。 (8)使用Transact-SQL语句DROP DATABASE删除student_db数据库。 3.实验思考 (1)数据库中的日志文件是否属于某个文件组? (2)数据库中的主数据文件一定属于主文件组吗? (3)数据文件和日志文件可以在同一个文件组吗?为什么? (4)删除了数据库,其数据文件和日志文件是否已经删除?是否任何人都可以删除数据库? (5)能够删除系统数据库吗?

数据库原理实验报告(2)

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验二数据库的创建、管理、备份及还原实验 所在院(系):数学与信息技术学院 班级:11软工转本2 学号: 1130708 11130710 姓名:马琦乔凌杰

1.实验目的 (1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改 数据库的基本方法; (2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。 (3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方 法。 2.实验要求 (1)使用SQL Server Management Studio创建“教学管理”数据库。 (2)使用SQL Server Management Studio修改和删除“教学管理”数据库。 (3)使用Transact-SQL语句创建“教学管理”数据库。 (4)使用Transact-SQL语句修改和删除“教学管理”数据库。 (5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server Management Studio对数据库“教学管理”进行备份和还原。 (6)SQL Server 2005数据库文件的分离与附加。 (7)按要求完成实验报告 3.实验步骤、结果和总结实验步骤/结果 (1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。 新建数据库如下图所示: 进入sql server management studio 主界面,选择数据库右击新建数据库。 如何修改数据库 进入sql server management studio 主界面,选择数据库右击属性即可看到数据库信息,可更改数据库基本信息。

相关主题
文本预览
相关文档 最新文档