南昌大学数据库实验报告文档格式.doc
- 文档编号:7005443
- 上传时间:2023-05-07
- 格式:DOC
- 页数:36
- 大小:1.65MB
南昌大学数据库实验报告文档格式.doc
《南昌大学数据库实验报告文档格式.doc》由会员分享,可在线阅读,更多相关《南昌大学数据库实验报告文档格式.doc(36页珍藏版)》请在冰点文库上搜索。
安装路径是指SQLServer的系统文件和数据文件的安装位置。
默认情况下“安装类型”是典型安装,“安装路径”是操作系统设定的“ProgramFiles”文件夹。
你可以自行改变,初次安装最好不要改变他,按默认情况使用;
配置启动服务的帐号:
有两类用户帐号:
一类是与Windows操作系统的集成帐号,一类是混合帐号。
选择第一类帐号进行安装;
配置服务器端网络库:
SQLServer支持多种网络库,这些网络库必须与操作系统的网络协议共同工作,才能实现客户机与数据库服务器的通信。
安装完成后,可以通过操作系统的开始菜单操作:
“开始”―>
SQLServer”->
“数据库服务器网络配置”进行配置;
配置客户端网络库:
客户机要与数据库服务器通信,必须安装有与服务器网络库一样的网络库。
可以通过操作系统的开始菜单操作:
“客户端网络配置”进行配置;
使用“企业管理器”:
(1)了解企业管理器的界面、菜单结构以及各项功能;
(2)了解“数据库服务器”的属性配置;
(3)了解“数据库”的属性配置;
(4)初步了解数据库、表、视图、用户、安全管理,复制等概念;
使用查询分析器:
进入查询分析器,在分析器中输入语句:
Createdatabaseabc
运行观看结果
六、实验数据及处理结果
1、SQL2000个人版数据库下载完后先解压,运行文件夹里面的AUTORUN.EXE,弹出此框
3、选择“安装数据库服务器”,弹出此图。
4、点击“下一步”,弹出此图。
5、点击“下一步”,如果弹出数据库挂起,请重新启动电脑,然后直接点击“下一步”
6、选择“创建新的SQLServer实例,或安装客户端工具”,点击“下一步”。
7、默认,点击“下一步”。
8、选择“服务器和客户端工具”,点击“下一步”。
9、可以设置一下数据库文件的存放路径,最好是不要放在盘,点击“下一步”。
10、接着弹出“服务帐户”以下框在服务设置那里选择“使用本地系统帐户”,然后点击“下一步”。
11、弹出“身份验证模式”,选择“混合模式(Windows身份验证和SQLServer身份验证)”,并且把“空密码(不推荐)”打上勾,建议最好不要设置密码因为容易忘记,
12、以后的其它各项都可以按默认情况设置点下一步……直到完成。
13、启动的SQLServer服务管理器,开始—程序—MicrosoftSQLServer—服务管理器,点击“开始/继续”前面的绿色三角按钮启动SQL服务即可。
另外那个“当启动OS时自动启动服务”也建议选择上,安装设置完毕。
14、运行脚本的操作步骤是:
点击开始—程序--MicrosoftSQLServer—查询分析器,进去之后直接覆盖,然后运行上面的绿色箭头,操作完成就OK了。
企业管理器页面
查询分析器
七、思考讨论题或体会或对改进实验的建议
1.查询分析器的作用是什么?
可以有几种启动查询分析器的方法?
分析分析器与数据库的关系;
怎样在分析器中选择不同的数据库;
怎样在分析器中查看数据库的结构?
查询分析器的作用是:
1、创建查询和其它SQL脚本,并针对SQLServer数据库执行它们。
("
查询"
窗口)
2、由预定义脚本快速创建常用数据库对象。
(模板)
3、快速复制现有数据库对象。
(对象浏览器脚本功能)
4、在参数未知的情况下执行存储过程。
(对象浏览器过程执行功能)
5、调试存储过程。
(T-SQL调试程序)
6、调试查询性能问题。
(显示执行计划、显示服务器跟踪、显示客户统计、索引优化向导)
7、在数据库内定位对象(对象搜索功能),或查看和使用对象。
(对象浏览器)
8、快速插入、更新或删除表中的行。
打开表"
9、为常用查询创建键盘。
(自定义查询HYPERLINK"
10、向"
工具"
菜单添加常用命令。
(自定义"
菜单功能)
启动查询分析器的方法:
在“开始”菜单中依次选择“所有程序|MicrosoftSQLServer|查询分析器”打开查询分析器。
在“开始”菜单中依次选择“所有程序|MicrosoftSQLServer|企业管理器”打开企业管理器后,单击菜单栏中的“工具”选项,选择“SQL查询分析器”,即可打开查询分析器。
分析分析器与数据库的关系:
在分析器中可以对数据库及数据库中的表进行一系列的操作,如查询和更撰。
在分析器中选择不同的数据库的方法:
在工具栏中“当剌数据库”栏目中,点击小黑三角,在弹凸的下拉列表中选择要倇换的数据库名称即可实现数据库的切换。
在分析器中查看数据库的结构:
在“对象浏裈器”窗口不,单击要查看的数据库名称前的“+”,使其变为“-”展开数据库,就可看到数据库的结构,若要查看其中某一遹的结构,仍是单击要查看项目名称前的“弫”。
例如要查看表s的结构,可依次展开“用户表”、“dbo.s”、“列”,即可查看s的结构。
八、参考资料
1.《数据库系统实验指导》,单建魁等著,清华大学出版社
□验证□综合□设计□创新实验日期实验成绩:
实验二
数据库及表的建立
1.巩固数据库的基础知识
2.掌握创建数据库的两种方法,掌握表的建立和删除方法,掌握修改表结构的基本方法
3.掌握对数据库和表的相关操作方法
在SQLserver2000中,建立数据库既可以在查询分析器中使用sql语句来实现,也可以在企业管理器中使用菜单命令直接创建。
同样的表的建立和删除,以及修改表结构也有这两种方法。
创建数据库的sql语句:
createdatabase<
数据库名>
创建表的sql语句:
createtable<
表名>
(<
列名>
<
数据类型>
[列级完整性约束条件]
[,<
[列级完整性约束条件]]
........
表级完整性约束条件>
]);
删除基本表的sql语句:
droptable<
[restrict|cascade];
修改表的结构的sql语句:
altertable<
[add<
新列名>
[完整性约束]]
[drop<
完整性约束名>
]
[altercolumn<
];
其中,add子句用于增加新列和新的完整性约束条件,drop字句用于删除指定的完整性约束条件,altercolumn子句用于修改原有的列定义,数据类型。
相互连成LAN的计算机2台以上,安装有SQLServer2000软件。
五、实验步骤
1.创建数据库
(1)使用查询分析器创建数据库
打开查询分析器,输入如下的sql命令:
createdatabaseyang。
执行命令后即建立一个名为“yang”的数据库。
(2)使用企业管理器创建数据库
打开企业管理器,在左边的小窗口中依次展开目录,找到数据库文件夹,在数据库文件夹处右击,选择“新建数据库”命令,在弹出的数据库属性对话框中输入数据库的名称“abc”,即可完成创建。
2.查看、修改数据库属性
3.创建表
(1)打开查询分析器,在工具栏中切换数据库至新建的“yang”,输入如下命令:
createtables
(snochar(9)PRIMARYKEY,
snamechar(20),
ssexchar
(2),
sageSMALLINT,
sdeptchar(20)
);
来创建表。
(2)可以使用如insertintosvalues('
20130101'
'
张三'
男'
20,'
IS'
的命令向s表中输入数据,也可以在企业管理器中找到s表后,右击选择“打开表|返回所有行”命令来向表中直接输入数据。
(3)采用同样的方法创建表课程表c、选课表sc。
创建的语句如下所示。
createtablec
(cnochar(9),cnamechar(20),cpnochar(4),ccreditSMALLINT);
createtablesc
(snochar(9),cnochar(9),gradechar(6));
(4)在企业管理器中为c表和sc表输入数据。
4.修改表结构
(1)向c表中增加“teacher”这一列。
ALTERtablecaddteacherchar(8);
(2)将sc表中grade的数据类型改为smallint。
altertablescaltercolumngradesmallint;
(3)向c表中增加课程名为主码的约束条件。
altertablecaddprimarykey(cno);
(4)修改列名:
execsp_rename‘s.ssex’,’sex’,’column’
5.删除表
使用DROPTABLE<
删除表。
或者直接在对象浏览器窗口中选中表后右击删除表。
创建的数据库名称为abc,又在其下创建了三个表,分别为学生表s、课程表c和选课表sc。
三个表中的数据分别如图1、图2和图3所示。
图1
图2
图3
七、思考讨论题或体会或对改进实验的建议
1.说明数据库和表的关系?
一个SQL数据库是由多个表构成的,即数据库是表的汇集,是表的主要组成部分。
表在数据库中是存储数据的方式。
2.遇到的问题及解决的方法
忘记切换数据库到自己建的数据库下,导致下面的操作都在“master”数据库下进行。
解决方法:
在建立新的数据库后,应养成将当前数据库立即切换到新建数据库的习惯。
3.体会或建议
1、在企业管理器中输入数据比在查询分析器中输入数据要更方便。
2、在进行查询等操作时,查询分析器更为方便。
3、列属性默认为空,但自己也可以定义约束条件,对属性限制,比如NOTNULL,限定列值非空。
实验三
表的查询
1.了解查询的概念和方法,掌握查询分析器的使用方法
2.掌握select语句的语法和作用
3.掌握多表连接的方法,能熟练进行多表操作的复杂检索
数据库查询是数据库的核心操作。
SQL提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。
其一般格式为:
SELECT[ALL|DISTINCT]<
目标列表达式>
[,<
].......
FROM<
表名或视图名>
]......
[WHERE<
条件表达式>
[GROUPBY<
列名1>
[HAVING<
]]
[ORDERBY<
列名2>
[ASC|DESC]];
整个SELECT语句的含义是,根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。
如果有GROUPBY子句,则将结果按<
的值进行分组,该属性列值相等的元组为一个组。
通常会在每组中作用聚集函数。
如果GROUPBY子句带HAVING短语,则只有满足指定条件的组才予以输出。
如果有ORDERBY子句,则结果还要按<
的值的升序或降序排列。
SELECT语句既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。
视图是从一个或几个基本表(或视图)导出的表。
它与基本表不同,是一个虚表。
数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。
视图已经定义,就可以和基本表一样被查询、被删除。
也可以在一个视图之上再定义新的视图,但对视图的更新(增、删、改)操作则有一定的限制。
SQL语言用CREATEVIEW命令建立视图,其一般格式为
CREATEVIEW<
视图名>
[(<
]....)]
AS<
子查询>
[WITHCHECKOPTION];
其中,子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDERBY子句和DISTINCT短语。
WITHCHECKOPTION表示对视图进行UPDATE,INSERT和DELECT操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。
删除视图的格式为DROPVIEW<
[CASCADE];
视图定义后就可以像对基本表一样对视图进行查询了。
1.单表查询
(1)了解select语句的语法
(2)输入一些检索数据,进行简单的检索,并使用top,distinct等关键字
查询所有学生的详细情况:
select*froms;
查询选修了课程的学生学号:
selectdistinctsnofromsc;
查询计算机科学系全体学生的元组:
selectsnamefromswheresdept='
CS'
;
查询考试成绩不及格的学生学号:
selectdistinctsnofromscwheregrade<
60;
查询年龄在20-23岁之间的学生的姓名、系别和年龄:
selectsname,sdept,sagefromswheresagebetween20and23;
查询计算机科学系CS、数学系MA的学生姓名和性别:
selectsname,ssexfromswheresdeptin('
MA'
查询既不是计算机科学系CS也不是数学系MA的学生姓名和性别:
selectsname,ssexfromswheresdeptnotin('
查询学号为20130104的学生的详细情况:
select*fromswheresno='
20130104'
查询所有姓李的学生的详细情况;
select*fromswheresnamelike'
李%'
查询没有成绩的学生学号和相应的课程号:
selectsno,cnofromscwheregradeisnull;
查询选修了03号课程的学生学号及成绩,查询结果按分数降序排列:
selectsno,gradefromscwherecno='
03'
orderbygradeDESC;
查询选课学生的情况,查询结果按课程号升序排列,同一门课程按学号降序排列:
select*fromscorderbycno,snoDESC;
查询选修课程的学生人数:
selectcount(distinctsno)fromsc;
查询选修了01号课程的学生的最高分:
selectmax(grade)fromscwherecno='
01'
求出各个课程号及相应的选课人数:
selectcno,count(distinctsno)fromscgroupbycno;
查询选修了4门课以上的学生学号;
selectsnofromscgroupbysnohavingcount(*)>
=4;
2.多表查询
(1)连接查询
查询计算机科学系年龄在20岁以下的学生姓名:
selectdistinctsnamefroms,scwheresdept='
andsage<
20;
查询学生20130103选修的总学分数:
selectsum(ccredit)fromsc,cwheresno='
20130103'
ando=o;
查询每门课的间接选修课:
selecto,second.cpnofromcfirst,csecondwherefirst.cpno=o;
查询选修了02号课程且成绩在90分以上的所有学生:
selects.sno,s.snamefroms,scwheres.sno=sc.snoando='
02'
andgrade>
90;
(2)嵌套查询
查询与王五在同一个系学习的学生:
selectsno,snamefromswheresdeptin(selectsdeptfromswheresname='
王五'
查询选修了课程名为“数据结构”的学生姓名和学号:
selects.sno,s.snamefromswheresnoin(selectsnofromscwherecnoin(selectcnofromcwherecname='
数据结构'
));
找出每个学生超过他选修课程平均成绩的课程号:
selectsno,cnofromscxwheregrade>
(selectavg(grade)fromscywherey.sno=x.sno);
查询其他系中比计算机科学系某一学生年龄小的学生姓名和年龄:
selectsname,sagefromswheresage<
any(selectsagefromswheresdept='
)andsdept<
>
'
查询所有选修了1号课程的学生姓名:
selectsnamefromswhereexists(select*fromscwheresno=s.snoandcno='
3.视图的建立及使用视图进行检索
建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生:
createviewIS_sasselectsno,sname,sage,ssexfromswheresdept='
建立一个由学生学号和他的平均成绩定义的视图:
createviewS_G(sno,Gavg)asselectsno,avg(grade)fromscgroupbysno
删除视图IS_s:
dropviewIS_s;
在信息系学生的视图中找出年龄小于20岁的学生:
selectsno,snamefromIS_swheresage<
在S_G视图中查询平均成绩在75分以上的学生学号和平均成绩:
selectsno,GavgfromS_GwhereGavg>
=75;
将信息系学生视图中学号为20130112的学生姓名改为“蒋明”:
updateIS_ssetsname='
蒋明'
wheresno='
20130112'
向信息系学生视图中插入一个新的学生记录,学号为20130116,姓名为赵新,男,20岁。
insertintoIS_svalues('
20130116'
赵新'
删除信息系学生视图中学号为20130116的记录:
deletefromIS_swheresno='
建立的数据库名和表名及数据如实验二,各查询的结果依次如下各截图:
单表查询:
3.1查询所有学生的详细情况:
3.2查询选修了课程的学生学号:
3.3查询计算机科学系全体学生的元组:
3.4查询考试成绩不及格的学生学号:
3.5查询年龄在17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南昌大学 数据库 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)