数据库上机实验报告sql server 2000_第1页
数据库上机实验报告sql server 2000_第2页
数据库上机实验报告sql server 2000_第3页
数据库上机实验报告sql server 2000_第4页
数据库上机实验报告sql server 2000_第5页
已阅读5页,还剩6页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程代码:1010000450数据库Database学分:3总学时:48实验学时:16面向专业:信息与计算科学,数学与应用数学一、实验教学目标数据库是计算机科学与技术专业的专业必修课程。课程内容主要包括:数据模型、关系代数、关系数据库标准语言SQL、关系系统、关系数据理论、数据库设计方法。学习本课程的过程中,只有通过上机实验,才能使学生真正深层次了解数据库系统的体系结构,掌握数据库系统的基础理论、技术和方法,掌握主流数据库管理系统SQLServer2000的应用技术及数据库应用系统的设计、开发能力。二、实验教学基本要求认真阅读教材中与实验相关的章节内容,提前做好实验准备,做到在每个实验前明确实验目的、掌握实验的基本内容及操作方法;在实验中正确使用实验设备,认真观察、分析实验结果;实验后要根据要求做好总结,写出实验报告。三、实验教材或实验指导书《数据库系统概论》,萨师煊王珊主编,高等教育出版社四、考核方式与评分办法实验成绩评定分两部分:上机实验操作占50%,实验报告占50%。五、实验项目设置序号实验项目名称实验学时实验类型实验要求主要设备(用品)台(套)数1安装SQLServer20002综合必开862启动SQLServer2000和建库、表2综合必开863SQLServer2000查询分析器2综合必开864SQL语言的DDL2综合必开865SQL语言的DML2综合必开866DML的数据查询2综合必开867SQL语言的DCL2综合必开868SQL语言综合练习2综合必开86六、实验内容与实验方式实验一安装SQLServer2000(一)实验内容1.安装Microsoft的数据库服务软件SQLServer2000。以sqlserver2000企业版为例安装教程第一步:打开安装文件中的“AUTORUN”文件,安装程序会自动运行出现版本选择界面,我们以选择企业版为例。第二步:在接下来的界面中选择“安装数据库服务器”选项。第三步:这时出现安装向导,出现“计算机名”窗口。“本地计算机”是默认选项,其名称就显示在上面,我们按其默认点“下一步”。第四步:接下来,在“安装选择”对话窗口中,同样按其默认项“创建新的SQLServer实例,或安装客户端工具”点下一步。第五步:在"用户信息"窗口,输入用户信息,并接受软件许可证协议。第六步:在"安装定义"窗口,选择"服务器和客户端工具"选项进行安装。我们需要将服务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习SQLServer很有用处。如果你已经在其它机器上安装了SQLServer,则可以只安装客户端工具,用于对其它机器上SQLServer的存取。第七步:在"实例名"窗口,选择"默认"的实例名称。这时本SQLServer的名称将和Windows2000服务器的名称相同。第八步:在"安装类型"窗口,选择"典型"安装选项,并指定"目的文件夹"。第九步:在"服务账号"窗口,请选择"对每个服务使用统一账户..."的选项。在"服务设置"处,选择"使用本地系统账户"。如果需要"使用域用户账户"的话,请将该用户添加至WindowsServer的本机管理员组中。第十步:在"身份验证模式"窗口,请选择"混合模式..."选项,并设置管理员"sa"账号的密码。如果需要更高的安全性,则可以选择"Windows身份验证模式",这时就只有WindowsServer的本地用户和域用户才能使用SQLServer了。第十一步:在"选择许可模式"窗口,根据您购买的类型和数量输入(0表示没有数量限制)。"每客户"表示同一时间最多允许的连接数,"处理器许可证"表示该服务器最多能安装多少个CPU。笔者这里选择了"每客户"并输入了100作为示例。第十二步:约10多分钟的安装时间,然后打开开始菜单下的sql子目录下的企业管理器。2.熟悉软件的使用以及各个组成部分。第一:打开企业管理器,可以对本地的数据进行管理,也可以登录服务器端,即可以远程操作自己的数据库;第二:登录查询分析器,可以通过sql管理语句,对数据库进行管理。(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库SQLServer2000,最后老师检查操作结果。每次86组,每组1人。实验二启动SQLServer2000和建库、表(一)实验内容1.启动数据库服务软件SQLServer2000。第一步:打开企业管理器,可以登录服务器端,即可以远程操作自己的数据库,登录步骤如下;第二步:左侧方框中控制台根目录的子目录的SQLserver组上,右击,并新建SQLserver注册…;第三步:在“服务器”一栏里输入想要登录的服务器ip地址,选择使用SQLserver身份验证,写入登录名和密码,就可以登录了。第四步:登录查询分析器,可以通过sql管理语句,对数据库进行管理。2.在SQLServer2000中建立数据库。第一步:通过企业管理器进入服务器端以后,可以在数据库文件里“新建数据库”。第二步:输入数据库名称。第三步:通过相关需求对数据库的相关属性进行设置,然后完成。3.在数据库上建立表。第一步:登录企业管理器第二步:进入自己的database,并打开“表”选项;第三步:在表选项右侧空白处,点击右键,选择“新建表…”;第四步:在弹出的窗口中,分别填写列名,数据类型,长度和是否允许空值,然后关闭窗口。第五步:关闭窗口会弹出是否保存表,选择是,接下来弹出的窗口中填写表名即可。(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库SQLServer2000,最后老师检查操作结果。每次86组,每组1人。实验三SQLServer2000查询分析器(一)实验内容1.启动数据库服务软件SQLServer2000的查询分析器。第一步:在登录企业管理器的前提下,登录查询分析器。第二步:登录查询分析器与登录企业管理器类似,需要输入ip地址或者如果是本地数据库,直接用windows身份验证即可。2.在查询分析器中建立表。第一步:在查询分析器命令栏里输入以下语句:定义一个学生-课程模式S-TCREATESCHEMA“S-T”AUTHORIZATIONWANG/*为用户WANG定义了一个模式S-T*/然后点击“分析查询”和“执行查询”。第二步:在查询分析器命令栏里输入以下语句:建立“学生”表Student,学号是主码,姓名取值唯一CREATETABLEStudent (SnoCHAR(9)PRIMARYKEY,/*列级完整性约束条件*/SnameCHAR(20)UNIQUE,/*Sname取唯一值*/SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));然后点击“分析查询”和“执行查询”。(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库SQLServer2000,最后老师检查操作结果。每次86组,每组1人。实验四SQL语言的DDL(一)实验内容1.用如下语句对表进行操作:CreateTable 建表;DropTable删除表;AlterTable更改表。CREATETABLEStudent(SnoCHAR(4)PRIMARYKEY)DROPTABLEStudent/*当Student表与其他数据有级联关系或者其他关系时,不能删除。*/ALTERTABLEStudentADDS_entranceDATENULL/*向Student表增加“入学时间”列,其数据类型为日期型*/ALTERTABLEStudentDROPCOLUMNSno /*删除Student表中的Sno这一列,含有以下关系的列不能被删除:被复制列。用在索引中的列。用在CHECK、FOREIGNKEY、UNIQUE或PRIMARYKEY约束中的列。有相关联的默认值(由DEFAULT关键字定义)的列,或绑定到默认对象的列。绑定到规则的列。*/2.用如下语句对视图进行操作:CreateView建视图;DropView删除视图。/*创建一个IS_Student视图,视图中返回来自于表Student中Sdept=’IS’的所有学生的Sno,Sname,Sage列*/CREATEVIEWIS_Student AS SELECTSno,Sname,Sage FROMStudent WHERESdept='IS'/*删除IS_Student视图*/dropVIEWIS_Student3.如下语句对索引进行操作:CreateIndex建立索引;DropIndex删除索引。/*创建一个Stusname索引,在Student表中以Sname列升序排列*/CREATECLUSTEREDINDEXStusnameONStudent(Sname)/*删除Student表中的Stusname索引*/DROPINDEXStudent.Stusname(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库SQLServer2000,最后老师检查操作结果。每次86组,每组1人。实验五SQL语言的DML(一)实验内容1.启动数据库服务软件SQLServer2000的查询分析器,用INSERT语句对表进行插入操作。/*将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中*/INSERTINTOStudent(Sno,Sname,Ssex,Sdept,Sage)VALUES('200215128','陈冬','男','IS',18)/*学生张成民的信息插入到Student表中*/INSERT INTOStudent VALUES('200215126','张成民',18,'CS','男')/*对表Student中每一个系,求学生的平均年龄,并把结果存入表Dept_age表中。*/第一步:CREATETABLEDept_age(SdeptCHAR(15), /*系名*/Avg_ageSMALLINT) /*学生平均年龄*/第二步:INSERTINTODept_age(Sdept,Avg_age)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept2.用UPDATE语句对表中已有的记录进行修改。/*将学生200215121的年龄改为22岁*/UPDATEStudentSETSage=22WHERESno='200215121'/*将所有学生的年龄增加1岁*/UPDATEStudentSETSage=Sage+1/*将CS系全体学生的成绩置零*/UPDATESCSETGrade=0WHERE'CS'=(SELECTSdeptFROMStudentWHEREStudent.Sno=SC.Sno)3.用DELETE语句对表中已有的记录进行删除。/*删除学号为200215128的学生记录*/DELETEFROMStudentWHERESno='200215128'/*删除所有的学生选课记录*/DELETEFROMSC/*删除计算机科学系所有学生的选课记录*/DELETEFROMSCWHERE'CS'=(SELECTSdeptFROMStudentWHEREStudent.Sno=SC.Sno)(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库SQLServer2000,最后老师检查操作结果。每次86组,每组1人。实验六DML的数据查询(一)实验内容1.启动数据库服务软件SQLServer2000的查询分析器,用SELECT语句对表进行简单查询操作。/*查询全体学生的学号与姓名。*/ SELECTSno,Sname FROMStudent;/*查询全体学生的详细记录。*/SELECT*FROMStudent;/*指定DISTINCT关键词,去掉表中重复的行*/SELECTDISTINCTSnoFROMSC/*查询考试成绩有不及格的学生的学号*/SELECTDISTINCTSnoFROMSCWHEREGrade<60/*查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄*/SELECTSname,Sdept,SageFROMStudentWHERESageBETWEEN20AND23/*查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。*/ SELECTSname,Ssex FROMStudent WHERESdeptIN('IS','MA','CS')/*查询学号为200215121的学生的详细情况。*/SELECT*FROMStudentWHERESnoLIKE'200215121'/*查询选修1号课程的学生最高分数。*/SELECTMAX(Grade)FROMSCWHERECno=‘1‘2.用SELECT语句对表进行连接查询操作,连接查询涉及被连接和连接两个表。等值连接:连接运算符为=/*查询每个学生及其选修课程的情况*/SELECTStudent.*,SC.*FROMStudent,SCWHEREStudent.Sno=SC.Sno自然连接:/*查询每个学生及其选修课程的情况*/SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudent,SCWHEREStudent.Sno=SC.Sno自身连接:查询每一门课的间接先修课(即先修课的先修课)SELECTFIRST.Cno,SECOND.CpnoFROMCourseFIRST,CourseSECONDWHEREFIRST.Cpno=SECOND.Cno外连接:/*查询每个学生及其选修课程的情况(包括Student表中不满足条件的元组)*/SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudentLEFTOUTJOINSCON(Student.Sno=SC.Sno);复合条件连接:WHERE子句中含多个连接条件:/*查询每个学生的学号、姓名、选修的课程名及成绩*/SELECTStudent.Sno,Sname,Cname,GradeFROMStudent,SC,Course/*多表连接*/WHEREStudent.Sno=SC.SnoandSC.Cno=Course.Cno3.用SELECT语句对表进行嵌套查询操作。带有IN谓词的子查询:/*查询与“刘晨”在同一个系学习的学生。此查询要求可以分步来完成*/SELECTSno,Sname,Sdept FROMStudent WHERESdeptIN(SELECTSdeptFROMStudentWHERESname='刘晨')带有比较运算符的子查询/*假设一个学生只可能在一个系学习,并且必须属于一个系,则在上例中可以用=代替IN*/SELECTSno,Sname,SdeptFROMStudentWHERESdept=(SELECTSdeptFROMStudentWHERESname='刘晨')带有ANY(SOME)或ALL谓词的子查询/*查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄*/SELECTSname,SageFROMStudentWHERESage<ANY(SELECTSageFROMStudentWHERESdept='CS')ANDSdept<>'CS'/*父查询块中的条件*/带有EXISTS谓词的子查询查询没有选修1号课程的学生姓名。SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMSCWHERESno=Student.SnoANDCno='1');4.用SELECT语句对表进行组合查询操作。/*查询计算机科学系的学生及年龄不大于19岁的学生。*/SELECT*FROMStudentWHERESdept='CS'UNION /*UNION:将多个查询结果合并起来时,系统自动去掉重复元组。*/SELECT*FROMStudentWHERESage<=19;/*查询计算机科学系的学生与年龄不大于19岁的学生的交集*/SELECT*FROMStudentWHERESdept='CS'INTERSECTSELECT*FROMStudentWHERESage<=19/*sqlserver2000中没有INTERSECT的这样的用法*//*查询计算机科学系的学生与年龄不大于19岁的学生的差集。*/SELECT*FROMStudentWHERESdept='CS'EXCEPTSELECT*FROMStudentWHERESage<=19/*sqlserver2000中没有EXCEPT的这样的用法*/.(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库SQLServer2000,最后老师检查操作结果。每次86组,每组1人。实验七SQL语言的DCL(一)实验内容1.启动数据库服务软件SQLServer2000的查询分析器,用GRANT语句对数据库存取权限进行授权操作。/*把查询Student表权限授给用户U1*/GRANTSELECTONStudentTOU1/*把对Student表和Course表的全部权限授予用户U2和U3,但是在sqlserver2000中不允许同时对多个表的授权语句*/GRANTALLPRIVILEGESONStudent,CourseTOU2,U3;/*把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户*/GRANTINSERTONTABLESCTOU5WITHGRANTOPTION2.用REVOKE语句将DBA(数据库管理员)、DBO(建库用户)授与其它用户对数据库的操作权收回。/*把用户U4修改学生学号的权限收回*/ REVOKEUPDATE(Sno) ONStudent FROMU4;/*收回所有用户对表SC的查询权限*/REVOKESELECT ONSC FROMPUBLIC;/*把用户U5对SC表的INSERT权限收回*/ REVOKEINSERT ONTABLESC FROMU5CASCADE(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库SQLServer2000,最后老师检查操作结果。每次86组,每组1人。实验八SQL语言综合练习(一)实验内容1.启动数据库服务软件SQLServer2000的查询分析器,用CreateTable建表;/*建立“学生”表Student,学号是主码,姓名取值唯一。*/CREATETABLEStudent (SnoCHAR(9)PRIMARYKEY,/*列级完整性约束条件*/SnameCHAR(20)UNIQUE,/*Sname取唯一值*/SsexCH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论