SQLSERVER数据库管理系统软件的使用教程文件.docx
《SQLSERVER数据库管理系统软件的使用教程文件.docx》由会员分享,可在线阅读,更多相关《SQLSERVER数据库管理系统软件的使用教程文件.docx(20页珍藏版)》请在冰豆网上搜索。
SQLSERVER数据库管理系统软件的使用教程文件
PS:
消费者分析
10元以下□10~50元□50~100元□100元以上□
尽管售价不菲,但仍没挡住喜欢它的人来来往往。
这里有营业员们向顾客们示范着制作各种风格迥异的饰品,许多顾客也是学得不亦乐乎。
在现场,有上班族在里面精挑细选成品,有细心的小女孩在仔细盘算着用料和价钱,准备自己制作的原料。
可以想见,用本来稀奇的原料,加上别具匠心的制作,每一款成品都必是独一无二的。
而这也许正是自己制造所能带来最大的快乐吧。
2003年,全年商品消费价格总水平比上年上升1%。
消费品市场销售平稳增长。
全年完成社会消费品零售总额2220.64亿元,比上年增长9.1%。
数据库管理系统软件的使用
一、实验目的
(1)认识几种常见的数据库管理系统,熟悉它们的使用界面;
(2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。
二、实验内容
分别在Access和SQLSERVER2000中建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。
三、实验步骤:
创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。
数据库XSGL包含下列3个表:
(l)student:
学生基本信息。
(2)course:
课程信息表。
(3)sc:
学生选课表。
各表的结构分别如表1、表2和表3所示。
表1学生信息表:
student
列名
数据类型
长度
是否允许为空值
sno
字符(文本)型
10
否
sname
字符(文本)型
10
否
ssex
字符(文本)型
2
否
sage
整数(数值)型
是
sdept
字符型
4
否
表2课程信息表:
course
列名
数据类型
长度
是否允许为空值
cno
字符(文本)型
3
否
cname
字符(文本)型
30
否
credit
整数(数值)型
是
pcno
字符(文本)型
3
是
表3学生选课表:
sc
列名
数据类型
长度
是否允许为空值
sno
字符(文本)型
10
否
cno
字符(文本)型
30
否
grade
整数(数值)型
是
1.用可视化界面在Access中建立数据库和表:
(a)在Access中创建xsgl.mdb数据库,使用表设计视图创建如表1、表2、表3所示结构的3个表。
提示:
(1)启动Access2000或Access2003,选择文件->新建->空数据库,输入数据库文件名xsgl.mdb,进入
(2);
(2)启动如图1的设计界面后,选择表对象和使用使用设计器创建表,选择新建,进入(3);
(3)生成如图2界面,选择设计视图,点击确定按钮,进入(4);
(4)在图3表设计界面下,分别创建student表,course表和sc表的结构;
(5)输入表中的记录:
分别在student表、course表和sc表中输入如下表中的记录:
在数据库视图下,选择表对象中的相应表选择打开,在浏览视图下输入如下表记录:
sno
sname
ssex
sage
sdept
95001
李勇
男
20
CS
95002
刘晨
女
19
IS
95003
王敏
女
18
MA
95004
张立
男
19
IS
95005
刘云
女
18
CS
cno
cname
credit
pcno
1
数据库
4
5
2
数学
6
3
信息系统
3
1
4
操作系统
4
6
5
数据结构
4
7
6
数据处理
3
7
PASCAL语言
4
6
sno
cno
grade
95001
1
92
95001
2
85
95001
3
88
95002
2
90
95002
3
80
95003
2
85
95004
1
58
95004
2
85
(b)对表中的记录进行浏览、修改、删除操作。
2.在SQLSERVER中用企业管理器新建数据库和表:
(1)建立xsgl数据库:
启动SQLServer2000企业管理器,界面如下:
图4SQLServer2000企业管理器界面
选择树形菜单数据库,点击鼠标右键,出现如下弹出式菜单,选择新建数据库
在图中,按图分别设置数据库xsgl的属性,点击确定按钮,完成了数据库的创建。
图5数据库名称属性设置
图6数据库数据文件属性设置
图7数据库日志文件属性设置
选择确定按钮,则创建xsgl数据库。
(2)建立student、course、sc表:
选择xsgl数据库树形菜单,选择表,在图8表逻辑对象中点击鼠标的右键,在弹出式菜单中选择新建,启动表设计器。
图8表逻辑对象界面
选择新建,启动如图9的表设计器,建立表结构,保存为student。
图9student的表结构
分别按表2、3建立course表和sc表。
(3)在表中添加记录:
选择student表,在快捷菜单下选择打开表->返回所有行,进入图11,输入学生表中的记录。
PS:
消费者分析
除了“漂亮女生”形成的价格,优惠等条件的威胁外,还有“碧芝”的物品的新颖性,创意的独特性等,我们必须充分预见到。
图10
据统计,上海国民经济持续快速增长。
03全年就实现国内生产总值(GDP)6250.81亿元,按可比价格计算,比上年增长11.8%。
第三产业的增速受非典影响而有所减缓,全年实现增加值3027.11亿元,增长8%,增幅比上年下降2个百分点。
图11student表记录录入
大学生的消费是多种多样,丰富多彩的。
除食品外,很大一部分开支都用于。
服饰,娱乐,小饰品等。
女生都比较偏爱小饰品之类的消费。
女生天性爱美,对小饰品爱不释手,因为饰品所展现的魅力,女人因饰品而妩媚动人,亮丽。
据美国商务部调查资料显示女人占据消费市场最大分额,随社会越发展,物质越丰富,女性的时尚美丽消费也越来越激烈。
因此也为饰品业创造了无限的商机。
据调查统计,有50%的同学曾经购买过DIY饰品,有90%的同学表示若在学校附近开设一家DIY手工艺制品,会去光顾。
我们认为:
我校区的女生就占了80%。
相信开饰品店也是个不错的创业方针。
依次按相同方法建立course表和sc表,并输入其中的记录。
“碧芝”隶属于加拿大的beadworks公司。
这家公司原先从事首饰加工业,自助首饰的风行也自西方,随着人工饰品的欣欣向荣,自制饰品越来越受到了人们的认同。
1996年'碧芝自制饰品店'在迪美购物中心开张,这里地理位置十分优越,交通四八达,由于是市中心,汇集了来自各地的游客和时尚人群,不用担心客流量问题。
迪美有300多家商铺,不包括柜台,现在这个商铺的位置还是比较合适的,位于中心地带,左边出口的自动扶梯直接通向地面,从正对着的旋转式楼拾阶而上就是人民广场中央,周边4、5条地下通道都交汇于此,从自家店铺门口经过的90%的顾客会因为好奇而进看一下。
(4)修改表中的数据:
(5)删除表中的记录
300元以下□300~400元□400~500□500元以上□思考:
1.Access数据库主要有哪些对象组成?
2.SQLSERVER2000数据库主要由哪些逻辑对象组成?
物理数据库文件包括哪些文件?
实验二:
数据库的建立和维护
实验目的
熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。
实验内容
建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。
实验步骤:
创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。
数据库XSGL包含下列3个表:
(l)student:
学生基本信息。
(2)course:
课程信息表。
(3)sc:
学生选课表。
各表的结构分别如表1、表2和表3所示。
表1学生信息表:
student
列名
数据类型
长度
是否允许为空值
sno
字符型
10
否
sname
字符型
10
否
ssex
字符型
2
否
sage
整数型
是
sdept
字符型
4
否
表2课程信息表:
course
列名
数据类型
长度
是否允许为空值
cno
字符型
3
否
cname
字符型
30
否
credit
整数型
是
pcno
字符型
3
是
表3学生选课表:
sc
列名
数据类型
长度
是否允许为空值
sno
字符型
10
否
cno
字符型
30
否
grade
整数型
是
一.数据库的建立:
2.用可视化界面建立:
(a)在SQLSERVER中用企业管理器-新建数据库;
3.命令方式建立:
(a)在SQLSERVER中,在查询分析器中使用T-SQL语句:
CREATEDATABASEXSGL
ON(NAME='XSGL_DATA',
FILENAME='E:
\XSGL.MDF',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=5%)
LOGON
(NAME='XSGL_Log',
FILENAME='e:
\XSGL_Log.ldf',
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=1MB)
二.表的建立:
1.用可视化界面建立:
在SQLSERVER中用企业管理器—数据库—XSCJ—表—右键—新建表;
2.命令方式建立:
在SQLSERVER中查询分析器的编辑窗口中用下列SQL语句:
useXSGL
Createtablestudent(snoCHAR(5),snameCHAR(10),ssexCHAR
(2),sageint,sdeptCHAR(4))
go
Createtablecourse(cnoCHAR
(2),cnameCHAR(30),creditINT,pcnoCHAR
(2)NULL)
go
Createtablesc(snoCHAR(5),cnoCHAR
(2),gradeINTNULL)
go
三.表数据的添加:
1.用可视化方法:
I:
在SQLSERVER中用企业管理器—数据库—XSCJ—表-表名—右键-打开表-返回所有行;
输入下列数据:
sno
sname
ssex
sage
sdept
95001
李勇
男
20
CS
95002
刘晨
女
19
IS
95003
王敏
女
18
MA
95004
张立
男
19
IS
95005
刘云
女
18
CS
cno
cname
credit
pcno
1
数据库
4
5
2
数学
6
3
信息系统
3
1
4
操作系统
4
6
5
数据结构
4
7
6
数据处理
3
7
PASCAL语言
4
6
sno
cno
grade
95001
1
92
95001
2
85
95001
3
88
95002
2
90
95002
3
80
95003
2
85
95004
1
58
95004
2
85
2.在SQLSERVER查询分析器的编辑窗口中使用下列SQL语句插入数据:
insertintostudent(sno,sname,ssex,sage,sdept)values('95001','李勇','男',20,'CS')
insertintostudent(sno,sname,ssex,sage,sdept)values('95002','刘晨','女',19,'IS')
insertintostudent(sno,sname,ssex,sage,sdept)values('95003','王敏','女',18,'MA')
insertintostudent(sno,sname,ssex,sage,sdept)values('95004','张立','男',19,'IS')
insertintostudent(sno,sname,ssex,sage,sdept)values('95005','刘云','女',18,'CS')
insertintocourse(cno,cname,credit,pcno)values('1','数据库',4,'5')
insertintocourse(cno,cname,credit,pcno)values('2','数学',6,null)
insertintocourse(cno,cname,credit,pcno)values('3','信息系统',3,'1')
insertintocourse(cno,cname,credit,pcno)values('4','操作系统',4,'6')
insertintocourse(cno,cname,credit,pcno)values('5','数据结构',4,'7')
insertintocourse(cno,cname,credit,pcno)values('6','数据处理',3,null)
insertintocourse(cno,cname,credit,pcno)values('7','PASCAL语言',4,'6')
insertintosc(sno,cno,grade)values('95001','1',92)
insertintosc(sno,cno,grade)values('95001','2',85)
insertintosc(sno,cno,grade)values('95001','3',88)
insertintosc(sno,cno,grade)values('95002','2',90)
insertintosc(sno,cno,grade)values('95002','3',80)
insertintosc(sno,cno,grade)values('95003','2',85)
insertintosc(sno,cno,grade)values('95004','1',58)
insertintosc(sno,cno,grade)values('95004','2',85)
四.表数据的修改:
1.用可视化方法:
在SQLSERVER中用企业管理器—数据库—XSCJ—表-表名—右键-打开表-返回所有行;
在表格中将相应的数据修改即可。
2.命令方法:
将所有学生的年龄增加一岁:
updatestudentsetsage=sage+1
将4号课程的学分改为4:
updatecoursesetcredit=4wherecno=4
设置7号课程没有先行课:
updatecoursesetpcno=nullwherecno=7
将95001号学生的1号课程的成绩增加3分:
updatescsetgrade=grade+3wheresno=’95001’andcno=’1’
五.表数据的删除:
1.用可视化方法:
在SQLSERVER中用企业管理器—数据库—XSCJ—表-表名—右键-打开表-返回所有行;
单击左边的行标记,选定某一行,或单击后拖动选择相邻的多行,再右击鼠标选择弹出式菜单中的删除。
2.命令方法:
删除学号为95005的学生的记录:
deletefromstudentwheresno=’95005’
删除所有的课程记录:
deletefromcourse
删除成绩为不及格(少于60分)的学生的选课记录:
deletefromscwheregrade<60
思考:
比较用可视化界面与命令方式在数据的插入、修改、删除方面的优缺点。
实验三:
数据库的简单查询和连接查询
实验目的:
掌握简单表的数据查询、数据排序和数据联结查询的操作方法。
实验内容:
简单查询操作和连接查询操作。
实验步骤:
一.单表查询:
1.查询全体学生的学号和姓名:
selectsno,snamefromstudent
2.查询全体学生的所有信息:
select*fromstudent
或者selectsno,sname,ssex,sage,sdeptfromstudent
3.查询全体学生的姓名,出生年份,和所在系,并用小写字母表示所有系名:
selectsname,'出生年份为:
',year(getdate())-sage,lower(sdept)fromstudent
4.给上例的结果集指定列名:
selectsname,'出生年份为:
'出生,year(getdate())-sage年份,lower(sdept)系名fromstudent
5.查询选修了课程的学生的学号:
selectdistinctsnofromsc
比较:
selectsnofromsc
6.查询年龄在20岁以下的学生的姓名及其年龄:
selectsname,sagefromstudentwheresage<20
7.查询考试成绩有不及格的学生的学号:
selectdistinctsnofromscwheregrade<60
比较:
selectsnofromscwheregrade<60
8.查询年龄在20-30岁直接的学生的姓名,姓名,所在系:
selectsname,ssex,sdeptfromstudentwheresagebetween20and30
9.查询IS,CS,MA系的所有学生的姓名和性别:
selectsname,ssexfromstudentwheresdeptin('IS','MA','CS')
10.查找所有姓’李’的学生的姓名,学号和性别:
selectsname,sno,ssexfromstudentwheresnamelike'李%'
比较:
将学生表中的’95001’号学生的姓名’李勇’改为’李勇勇’,再执行:
selectsname,sno,ssexfromstudentwheresnamelike'李_'
11.查询没有先行课的课程的课程号cno和课程名cname:
selectcno,cnamefromcoursewherepcnoisnull
二.查询结果排序
12.查询选修了3号课程的学生的学号和成绩,并按分数降序排列:
selectsno,gradefromscwherecno='3'orderbygradeDESC
23.查询全体学生的情况,查询结果按所在系号升序排列,同一系中的学生按年龄降序排列:
select*fromstudentorderbysdeptASC,sageDESC
三.连接查询:
14.查询每个学生及其选修课程的情况:
selectstudent.*,sc.*fromstudent,scwherestudent.sno=sc.sno
比较:
笛卡尔集:
selectstudent.*,sc.*fromstudent,sc
自然连接:
selectstudent.sno,sname,ssex,sdept,cno,gradefromstudent,scwherestudent.sno=sc.sno
15.查询每一门课程的间接先行课(只求两层即先行课的先行课):
selectFo,Second.pcno间接先行课fromcourseFirst,courseSecondwhereFirst.pcno=So
比较:
selectFo,Second.pcno间接先行课fromcourseFirst,courseSecondwhereFirst.pcno=SoandSecond.pcnoisnotnull
16.列出所有学生的基本情况和选课情况,若没有选课,则只列出基本情况信息:
SQLServer中:
selects.sno,sname,ssex,sdept,cno,gradefromstudents,scscwheres.sno*=sc.sno
17.查询每个学生的学号,姓名,选修的课程名和成绩:
selectS.sno,sname,cname,gradefromstudentS,courseC,scSCwhereS.sno=SC.snoandC.cno=SC.cno
思考:
如何求出不及格学生的学号,姓名,不及格的课程名以及成绩。