SQL SERVER数据库管理系统软件的使用.docx
- 文档编号:29987046
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:19
- 大小:353.38KB
SQL SERVER数据库管理系统软件的使用.docx
《SQL SERVER数据库管理系统软件的使用.docx》由会员分享,可在线阅读,更多相关《SQL SERVER数据库管理系统软件的使用.docx(19页珍藏版)》请在冰豆网上搜索。
SQLSERVER数据库管理系统软件的使用
数据库管理系统软件的使用
一、实验目的
(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,输入学生表中的记录。
图10
图11student表记录录入
依次按相同方法建立course表和sc表,并输入其中的记录。
(4)修改表中的数据:
(5)删除表中的记录
思考:
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
思考:
如何求出不及格学生的学号,姓名,不及格的课程名以及成绩。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL SERVER数据库管理系统软件的使用 SERVER 数据库 管理 系统软件 使用