数据库考试必备.docx
- 文档编号:27770368
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:46
- 大小:988.96KB
数据库考试必备.docx
《数据库考试必备.docx》由会员分享,可在线阅读,更多相关《数据库考试必备.docx(46页珍藏版)》请在冰豆网上搜索。
数据库考试必备
《数据库技术及应用》
实验指导书
实验一认识DBMS
一、实验目的
1、通过对某个商用数据库管理系统的安装使用,初步了解DBMS的工作环境和系统构架。
这里以SQL2000为例。
2、熟悉SQL的安装。
二、实验平台
操作系统:
Windows2000或者WindowsXP。
数据库管理系统:
SQL2000或者SQL2005
三、实验内容
1、根据安装文件的说明安装数据库管理系统。
在安装过程中记录安装的选择,并对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库管理系统会有什么影响。
2、学会启动和停止数据库服务。
3、初步了解RDBMS的安全性,这里主要是用户的登录和服务器预定义角色。
可以尝试建立一个新的用户,赋予其数据库管理员的角色,今后的实验可以用该用户来创建数据库应用。
4、了解RDBMS的系统架构。
5、了解RDBMS的管理和使用。
四、实验报告
本实验不需提交报告。
SQLServer2000的安装
将安装光盘插入光驱后,出现图1所示提示框。
选择“安装SQLServer2000组件”,出现图2所示页面后,选择“安装数据库服务器”。
图1
图2
选择“下一步”,然后选择“本地计算机”进行安装。
图3
图4
在“安装选择”窗口,选择“创建新的SQLServer实例...”。
对于初次安装的用户,应选用这一安装模式,不需要使用"高级选项"进行安装。
"高级选项"中的内容均可在安装完成后进行调整。
图5
在"用户信息"窗口,输入用户信息,并接受软件许可证协议。
图6
图7
在"安装定义"窗口,选择"服务器和客户端工具"选项进行安装。
我们需要将服务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习SQLServer很有用处。
如果你已经在其它机器上安装了SQLServer,则可以只安装客户端工具,用于对其它机器上SQLServer的存取。
图8
在"实例名"窗口,选择"默认"的实例名称。
这样本SQLServer的名称将和Windows2000服务器的名称相同。
SQLServer2000可以在同一台服务器上安装多个实例,也就意味着可以重复安装多次,这时用户就可以选择不同的实例名称。
建议将实例名限制在10个字符之内。
因为实例名会出现在各种SQLServer和系统工具的用户界面中,因此,较短的实例名称相对容易读取。
需要注意的是,实例名称不能是"Default"或"MSSQLServer"以及SQLServer的保留关键字。
图9
在"安装类型"窗口,选择"典型"安装选项,并指定"目的文件夹"。
程序和数据文件的默认安装位置都是"C:
\ProgramFiles\MicrosoftSQLServer\"。
如果用户的C盘是系统区、D盘是应用区,也可以选择D盘作为安装区。
如果数据库中数据有10万条以上的记录,则至少预留1G以上的存储空间,以满足庞大的日志空间和索引空间的需求。
图10
在"服务账号"窗口,请选择"对每个服务使用统一账户..."的选项。
在"服务设置"处,选择"使用本地系统账户"。
如果需要"使用域用户账户"的话,请将该用户添加至WindowsServer的本机管理员组中。
图11
在"身份验证模式"窗口,请选择"混合模式..."选项,并设置管理员"sa"账号的密码。
如果您的目的只是为了学习的话,可以将该密码设置为空,以方便登录。
如果是真正的应用系统,则千万需要设置和保管好该密码!
如果需要更高的安全性,则可以选择"Windows身份验证模式",这时就只有WindowsServer的本地用户和域用户才能使用SQLServer了。
图12
在"选择许可模式"窗口,根据您购买的类型和数量输入(0表示没有数量限制)。
"每客户"表示同一时间最多允许的连接数,"处理器许可证"表示该服务器最多能安装多少个CPU。
笔者这里选择了"每客户"并输入了100作为示例。
图13
然后就是约10分钟左右的安装时间,安装完毕后,出现该界面,并新增了以下的菜单。
企业管理器(EnterpriseManager)
企业管理器是SQLServer2000主要的管理工具,它提供了简单易用的管理控制台(MMC)用户界面,使初学者可以通过菜单和向导的模式建立数据库、定义数据表、备份和还原、数据导入导出、以及管理用户权限和数据库安全级别等高级功能。
1.登陆企业管理器用户界面
首先通过【开始】→【程序】→【MicrosoftSQLServers】→【企业管理器】进入企业管理器界面。
图16
在企业管理器的左边列出的是控制台管理目录,依次是数据库类型(SQLServers)、数据库群组名(SQLServers组)、数据库服务器主机名(如:
GUOLH(WindowsNT),其中:
GUOLH为数据库所在的机器名,默认连接为本机)和该数据库服务器提供的所有的管理工具(包括数据库、数据转换服务、管理、复制、安全性、支持服务等)。
在“数据库”选项中列出的是当前服务器中所有的数据库名(master、model、msdb、Northwind等),其中master、model、tempdb等为系统数据库,记录其他数据库的公有属性和某些隐藏信息,用户不要直接对系统数据库(也就是master库)中的表和数据项进行修改和删除,否则将会给数据库系统造成不可挽回的损失。
在本机上安装完毕SQLServer2000,第一次打开企业管理器,系统将自动以管理员身份(用户名:
sa)登录,如果出现登录是要求输入用户名和密码,请以sa为登录账号,密码为安装时设置的密码。
图17
如果忘记密码,也不要紧,只要当前连接的数据库主机是自己的电脑,只需在数据库服务器主机名(如:
GUOLH(WindowsNT))上点击右键,选择“编辑SQLServer注册属性”,弹出如下对话框:
图18
将“连接模式”改为“使用Windows身份验证”。
点击“确定”,关闭企业管理器,再重新进入,就不会再出现登录界面,此时只要用户登录Windows2000的账号是管理员账号,用户就具备了管理数据库的最高权限。
由于SQLServer2000支持网络访问和远程管理,所以建议用户及时修改SQLServer身份验证模式中的管理员密码,方法是进入“安全性”→“登录”,双击“sa”,出现如下对话框:
图19
在密码框中输入新密码,点击确定,再次确认密码即可。
2.建立数据库
要建立数据库最简单的方法是在“数据库”选项上点右键弹出菜单,选择“新建数据库”,出现如下对话框:
图20
在名称栏目中输入数据库的名称(如:
我的数据库),其他选项采用默认设置,点“确定”一个新的数据库就生成了。
新的数据库名将出现在“数据库”列表中。
(在一个数据库服务器上可以新建许多个数据库,他们之间相对独立)
如果在数据库中定义数据表,只要双击进入“我的数据库”,再双击进入“表”,企业管理器的右边将列出该数据库中所有的可见表。
如下图所示:
图21
所列的数据表的名称的前三个字母都是“sys”,他们都是该数据库的系统表,用户请不要把这些表删除,以免给该数据库造成不可挽回的破坏。
用户要定义自己的表,只要在“表”右键菜单中选择“新建表”,出现如下图所示的表字段定义对话框。
由于一个空的数据库中含有很多系统表,用户可以将所有的系统库和系统表进行隐藏,具体操作请看前面的“已注册的SQLServer属性”对话框。
图22
用户定义视图可以点击工具栏上的“添加表”按钮来添加视图的基表,选择各表中的字段的存在形式。
也可以在SQL编辑器中直接输入建立视图的SQL语句。
如下图:
图23
“关系图”也是数据库设计的常用操作,在“关系图”上点击出现右键菜单,选择“新建数据库关系图”。
出现“创建数据库关系图先导”,直接点击下一步,选择需要参与关系设计的有关数据表和视图。
继续下一步,然后完成。
如图出现关系图设计界面。
用户只要用鼠标拖动,设置各种属性,就可以将各表中的相关字段建立某种关系。
图25
图24
查询分析器(QueryAnalyzer)
查询分析器是SQLServer2000的另一个非常主要的客户端工具,只要用户熟悉Transact-SQL编程,查询分析器的管理功能比企业管理器有过之而无不及。
只是两者操作模式不一样,前者用Transact-SQL程序对数据库系统进行分析和管理,后者用图形界面和向导对数据库进行操作。
初学者和不熟悉SQL的用户往往喜欢用企业管理器,毕竟使用鼠标操作更方便,但对于那些更高级的查询分析、批处理创建删除,使用查询分析器就比较灵活了。
打开查询分析器,出现的是登录界面。
在SQLServer下拉式列表框中输入连接的机器名或IP地址。
如果连接的是本机数据库,连接方式使用“Windows身份验证”,如果连接的是远程数据库,请使用“SQLServer身份验证”。
图27
登录后出现查询分析器的主界面。
窗口的顶部是菜单和工具栏,在工具栏中有一个数据库列表框,列出主机中所有的数据库,用户可直接在列表框中选择进行操作的数据库名(如:
Northwind)。
主窗口的左边是对象浏览器(包括对象和模板两页),右边是Transact-SQL程序编辑器。
图28
用户可直接在编辑器中输入查询分析语句“select*fromcategories”,其中categories是Northwind数据库中的一张表,用户可以在左边对象浏览器的数据库用户表中找到。
然后点击工具栏上的绿色三角形按钮进行执行。
查询结果将出现在编辑器的下面,如下图:
图29
查询分析器的另一页就是程序模板,选择左边的模板类型,右边编辑框将自动生成相应的Transact-SQL程序。
修改程序中的参数就执行相应的功能。
例如要创建一个数据库,就在左边选择CreateDatabase模板类型,再选择详细类型CreateDatabaseBasicTemplate,右边出现一段程序,其功能是判断主机中是否存在数据库N,如果存在的话,就将其删除,然后再创建数据库N。
用户也可以通过程序模板来进一步学习Transact-SQL语言。
实验二交互式SQL
一、实验目的
熟悉通过SQL对数据库进行操作。
完成作业的SQL练习。
二、实验平台
操作系统:
Windows2000或者WindowsXP。
数据库管理系统:
SQL2000或者SQL2005
三、实验内容
1、在RDBMS中建立一个数据库,进行实验所要求的所有操作,所有的SQL操作均在此建立的新数据库中进行。
2、根据以下要求认真进行实验,记录所有的实验用例。
数据定义:
基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除。
数据操作:
完成各类查询操作(单表查询、连接查询、嵌套查询、集合查询);完成各类更新操作(插入数据、修改数据、删除数据)。
视图的操作:
视图的定义(创建和删除),查询,更新(注意更新的条件)。
5、了解RDBMS的管理和使用。
四、实验报告
提交各类操作的命令及自己实验中存在的问题及解决方法,实验总结及体会。
2.1数据定义
一、实验内容:
创建用于学生管理数据库,数据库名为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、用可视化界面建立:
在SQLSERVER中用企业管理器-新建数据库;
2、命令方式建立:
在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)
(二)表的建立
用可视化界面建立:
在SQLSERVER中用企业管理器—数据库—XSCJ—表—右键—新建表;
命令方式建立:
在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、在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
实验2.2数据操作
一、实验目的
本实验的目的是使学生掌握SQLServer查询分析器的使用方法,加深对SQL和SQL语言的查询、更新语句的理解。
熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
二、实验内容
(一)单表查询
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.查询每个学生及其选修课程的情况:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 考试 必备
![提示](https://static.bdocx.com/images/bang_tan.gif)