版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精选数据库实验指导书?数据库原理与应用?实验指导书主编:李正茂合肥学院计算机科学与技术系2023年7月
前言数据库原理与应用课程实验作为课程实践性环节之一,是教学过程中必不可少的重要内容。通过实验,使学生加深理解、验证稳固课堂教学内容;增强对数据库管理系统一些知识的感性认识;培养学生理论与实践相结合以及用所学知识分析和解决实际问题的能力。本书是?数据库原理与应用?课程的实验配套书,实验分为课内必修内容。指导教师在每次实验前应讲清实验目的、根本原理、实验要求等,并指导学生做好实验预习,并在规定的时间内完成相关课程实验。在实践教学中着重培养运用所学知识分析和解决实际问题的能力,注重动手能力的提高。实验课程教学中应在老师指导下,以学生为主体,充分调动学生的积极性和能动性,重视学生动手能力的培养。课内实验后,学生将实验结果等内容写出实验报告,应符合实验教学的要求,并得到指导教师认可。实验报告由个人独立完成,每人一份。报告应字迹整齐,程序代码、运行结果等符合要求。指导教师对每份实验报告进行审阅、评分。该实验课程内容是对理论教学内容的应用与验证。实验成绩=实验报告成绩〔50%〕+自主学习实验工程1〔20%〕+自主学习实验工程2〔30%〕。本书根据理论课的教学进度,共开设12个课内实验工程〔其中2个综合性实验工程〕和2个自主学习实验工程。
目录TOC\h\z\t"标题1,1"实验准备熟悉上机环境 4实验一建立数据库 19实验二建立数据表 22实验三修改表和数据完整性 26实验四数据操作及完整性约束 29实验五SQL数据查询一 32实验六SQL数据查询二 35实验七视图的应用 38实验八游标的应用 40实验九存储过程及应用 43实验十触发器及应用 46实验十一用户管理和权限管理 48实验十二数据库概念数据模型和逻辑数据模型设计 52自主实验工程1:实验考核 54自主实验工程2:按照要求设计并实现实验方案 55
实验准备熟悉上机环境一、安装前准备:1.SQLServer2023的版本SQLServer2023主要有三个版本:精简版(32位),SQL速成版(32位),工作组版(32位和64位),网络版(32位和64位),企业版和开发人员版(32位和64位)。大多数企业选择企业版,因为它们可以在生产效劳器环境中安装和使用。2.系统需求2.1安装硬件和软件要求:表1SQLSERVER2023对硬件和软件的要求组件要求框架SQLServer安装程序安装该产品所需的以下软件组件:.NETFramework3.5SP1SQLServerNativeClientSQLServer安装程序支持文件软件SQLServer安装程序要求使用MicrosoftWindowsInstaller4.5或更高版本安装了所需的组件后,SQLServer安装程序将验证要安装SQLServer2023的计算机是否也满足成功安装所需的所有其他要求。有关详细信息,请参阅系统配置检查器的检查参数网络软件SQLServer202364位版本的网络软件要求与32位版本的要求相同。支持的操作系统都具有内置网络软件。独立的命名实例和默认实例支持以下网络协议:SharedmemoryNamedPipesTCP/IPVIA注意:障转移群集不支持Sharedmemory和VIA。在以WindowsServer2023Standard、Enterprise和DataCenter版本中的Hyper-V角色运行的虚拟机环境中支持SQLServer2023。虚拟机必须运行本主题稍后局部中列出的特定SQLServer2023版本所支持的操作系统。除了父分区所需的资源以外,还必须为每个虚拟机〔子分区〕的SQLServer2023实例提供足够的处理器资源、内存和磁盘资源。具体要求在本主题的稍后局部中列出。在WindowsServer2023上的Hyper-V角色中,最多可以为运行WindowsServer202332位或64位版本的虚拟机分配四个虚拟处理器。最多可以为运行WindowsServer202332位版本的虚拟计算机分配2个虚拟处理器。对于承载其他操作系统的虚拟计算机,最多可以为虚拟计算机分配一个虚拟处理器。注意:建议在关闭或终止虚拟机之前先关闭SQLServer2023。在Hyper-V环境中不支持来宾故障转移群集〔在SQLServer2023中配置故障转移群集〕。有关WindowsServer2023中Hyper-V角色的详细信息,请参阅WindowsServer2023网站。有关包括Hyper-V在内的虚拟化支持的详细信息,请参阅ServerVirtualizationValidationProgram〔效劳器虚拟化验证方案〕。Internet软件所有的SQLServer2023安装都需要使用MicrosoftInternetExplorer6SP1或更高版本。Microsoft管理控制台(MMC)、SQLServerManagementStudio、BusinessIntelligenceDevelopmentStudio、ReportingServices的报表设计器组件和HTML帮助都需要InternetExplorer6SP1或更高版本。硬盘磁盘空间要求将随所安装的SQLServer2023组件不同而发生变化。有关详细信息,请参阅本主题稍后局部中的硬盘空间要求。显示器SQLServer2023图形工具需要使用VGA或更高分辨率:分辨率至少为1,024x768像素。2.2操作系统与SQLServer2023下表列出了SQLServer2023Enterprise〔64位〕x64的系统要求。表2系统要求组件要求处理器处理器类型:最低:AMDOpteron、AMDAthlon64、支持IntelEM64T的IntelXeon和支持EM64T的IntelPentiumIV处理器速度:建议1.4GHz或更快操作系统WindowsServer202364位x64StandardWindowsServer202364位x64DataCenterWindowsServer202364位x64EnterpriseWindowsServer2023SP264位EnterpriseWindowsServer2023SP264位x64Standard内存RAM:最小:512MB建议2.048GB或更大最大:操作系统最大内存注意:整个安装过程建议大家关闭杀毒软件。二、sql2023安装过程1、安装首先,在安装文件setup.exe上,单击鼠标右键选择"以管理员的身份运行",如下列图所示:图1设置安装文件的权限单击安装光盘中的setup.exe安装文件,翻开如下所示的"SQLServer安装中心"对话框:图2翻开的"SQLServer安装中心"对话框图3准备安装程序在翻开的"SQLServer2023安装程序"对话框中,出现"安装程序支持规那么"选项,可以看到,一些检查已经通过了,单击确定按钮,进入到下一步,如下图:图4"安装程序支持规那么"选项单击确定按钮之后,出现输入产品密钥的提示,输入相应密钥,单击下一步按钮继续安装,如下图:图5输入密钥在接下来的许可条款页面中选择"我接受许可条款"选项,单击下一步按钮继续安装,如下图:图6选择"我接受许可条款"选项在出现的"安装程序支持文件"页面中,单击安装按钮继续,如下图:图7"安装程序支持文件"页面安装程序支持文件的过程如下图:之后出现了"安装程序支持规那么"页面,只有符合规那么才能继续安装,单击下一步按钮继续安装,如下图:图8"安装程序支持规那么"页面在"功能选择"页面中,单击全选按钮,并设置共享的功能目录,单击下一步继续,如下图:图9"功能选择"页面在"实例配置"页面中,选择默认实例,并设置是实例的根目录,单击下一步按钮继续,如下图:图10"实例配置"页面在"磁盘空间要求"页面中,显示了安装软件所需的空间,单击下一步继续,如下图:图11"磁盘空间要求"页面在"效劳器配置"页面中,根据需要进行设置,单击下一步按钮继续安装,如下图:图11"效劳器配置"页面在"数据库引擎配置"页面中,设置身份验证模式为混合模式,输入数据库管理员的密码,即sa用户的密码,并添加当前用户,单击下一步按钮继续安装,如下图:图11"数据库引擎配置"页面在"AnalysisServices配置"页面中,添加当前用户,单击下一步按钮,如下图:图12"AnalysisServices配置"页面在"ReportingServices配置"页面中,按照默认的设置,单击下一步按钮,如下图:图13"ReportingServices配置"页面在"错误和使用情况报告"页面中,根据自己的需要进行选择,单击下一步按钮继续安装,如下图:图14"错误和使用情况报告"页面在"安装规那么"页面中,如果全部通过,单击下一步按钮继续,如下图:图15"安装规那么"页面在"准备安装"页面中,看到了要安装的功能选项,单击下一步继续安装,如下图:图16"准备安装"页面在"安装进度"页面中,可以看到正在安装SQLServer2023,如下图:图17"安装进度"页面经过漫长的等待,SQLServer2023安装过程完成,现在没有错误,我的第一次错误是在上边的那个步骤出现的,单击下一步按钮继续,如下图:图18安装完成页面在"完成"页面中,可以看到"SQLServer2023安装已成功完成"的提示,单击关闭按钮结束安装,如下图:图19安装完成页面启动SQLServer2023,选择开始菜单中的MicrosoftSQLServer2023下的SQLServer配置管理器,启动SQLServer效劳,如下图:图19启动软件效劳界面图20启动集成工具界面最后启动微软为我们提供的集成工具,按照上图中的选择SQLServerManagerStudio选项翻开,输入用户名和密码进入,如下图:图21启动软件界面图22进入软件界面到此安装工作已经全部结束。
实验一建立数据库一、预习要求1.复习和掌握教材2.1,10.1节内容2.预习SQLServer软件的使用和SQLServer中数据库的存储结构。3.预习SQLServer数据库中的建立方法。4.准备好上机所需的程序。二、实验目的1.理解SQLServer数据库的存储结构;2.掌握SQLServer数据库的建立方法。三、实验内容1.创立数据库1〕创立一个名称为“test1_学号〞的数据库,该数据库的主数据文件逻辑名称为“test1_学号_order_dat〞,物理文件名为“test1_学号_orderdat.mdf〞,初始大小为10MB,最大尺寸为50MB,增量为5MB;数据库的事务日志文件逻辑名称为“test1_学号_order_log〞,物理文件名为“test1_学号_orderlog.ldf〞,初始大小为5MB,最大尺寸为25MB,增量为5MB。并且要求主数据文件和事务日志文件的物理位置在不同的硬盘上。2〕创立一个指定多个数据文件和日志文件的数据库。该数据库名称为“test2_学号〞,有1个10MB和1个20MB的数据文件和1个10MB的事务日志文件。数据文件逻辑名称为“test2_1_学号〞和“test2_2_学号〞,物理文件名为“test2_1_学号.mdf〞和“test2_2_学号.ndf〞。主文件是“test2_1_学号〞,由primary指定,两个数据文件的最大尺寸分别为无限大和100MB,增长速度分别为10%和1MB。事务日志文件的逻辑名为“test2_log1〞,物理文件名为“test2_log1.ldf〞,最大尺寸均为50MB,文件增长速度为1MB。2.修改数据库1〕修改建立的“test1_学号〞数据库,为之添加一个5MB大小的新数据文件。2〕修改“test1_学号〞数据库,将其中的主数据文件增加一个5MB的存储空间。3.删除建立的数据库。四、实验原理1.建立数据库的命令格式:CREATEDATABASEdatabase-nameON<filespec>[,<filespec>,…][,FILEGROUPfilegroup-name<filespec>[,<filespec>,…]][LOGON<filespec>[,<filespec>,2.修改数据库的命令格式:ALTERDATABASEdatabase{ADDFILE<filespec>[,…n]|ADDLOGFILE<filespec>[,…n]|ADDFILEGROUPfilegroup-name|REMOVEFILElogical_file_name|MODIFYFILE<filespec>}3.删除数据库的命令格式:DROPDATABASEdatabase-name五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.建立和修改数据库,需要是dbcreator固定效劳器角色的成员,或被显式得授予CREATEDATABASE权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLServerManagementStudio。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.SQLServer的CREATEDATABASE命令在创立数据库时是如何申请物理存储空间?
实验二建立数据表一、预习要求1.复习和掌握教材5.1节内容。2.预习SQLServer软件的使用和SQLServer中数据定义功能。3.预习SQLServer数据表的根本操作。4.准备好上机所需的程序。二、实验目的1.掌握建立表的根本操作。2.掌握数据完整性的功能,加深对数据完整性的理解。三、实验内容1.准备实验环境:使用实验一的技术建立名称为“学生管理〞数据库。2.建立如下图的订单管理数据库中的5张表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性),各个表的具体描述如下:院系字段名数据类型主关键字外部关键字参照的表取值说明编号短整数Yes名称20个字符唯一,不允许为空值负责人10个字符办公地点20个字符学生字段名数据类型主关键字外部关键字参照的表取值说明学号8个字符Yes院系短整数Yes院系表的编号字段姓名10个字符不允许空值性别2个字符必须取值“男〞或“女〞生源6个字符状态4个字符教师字段名数据类型主关键字外部关键字参照的表取值说明教师编号8个字符Yes院系短整数Yes院系表的编号字段姓名10个字符不允许为空值性别2个字符必须取值“男〞或“女〞职称6个字符取值“教授〞、“副教授〞、“讲师〞或“助教〞专业10个字符课程字段名数据类型主关键字外部关键字参照的表取值说明课程编号8个字符Yes课程名称20个字符不允许为空值责任教师8个字符Yes教师表的教师编号字段学时短整数不允许为空值课程性质10个字符取值为公共根底、专业根底、专业选修和任意选修选课字段名数据类型主关键字外部关键字参照的表取值说明学号8个字符YesYes学生表的学号字段课程编号8个字符YesYes课程表的课程编号字段成绩短整型取值在0~100之间,并且默认为空值编号编号名称负责人办公地点院系学号院系姓名教师编号号院系性别职称学生教师学号课程编号成绩性别生源状态姓名专业课程编号号课程名称学时课程性质责任教师课程选课选课图1学生管理数据库四、实验原理建立根本表结构的命令:CREATETABLE[schema_name].table_name〔{<column_definition>|<computed_column_definition>}[<table_constraint>][,…n])其中列定义〔column_definition〕的根本格式是:column_name<data_type>[NULL|NOTNULL][[CONSTRAINTconstraint_name]PRIMARYKEY|UNIQUE|[FOREIGNKEY]REFERENCES[schema_name.]referenced_table_name[(ref_column)][ONDELETE{NOACTION|CASCADE|SETNULL|SETDEFAULT}][ONUPDATE{NOACTION|CASCADE|SETNULL|SETDEFAULT}]|CHECK(logical_expression)][DEFAULTconstraint_expression]如果需要还可以定义计算列〔computed_column_definition〕和表级约束(table_constraint)空值约束NOTNULL和NULL主关键字约束PRIMARYKEY惟一性约束UNIQUE参照完整性约束FOREGINKEY默认值定义DEFAULT取值范围约束CHECK五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.建立表需要具有CREATETABLE的权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.SQL所支持的关系数据库的三级模式结构是什么?根本表对应什么模式?
实验三修改表和数据完整性一、预习要求1.复习和掌握教材5.1节内容。2.预习SQLServer软件的使用和SQLServer中数据定义功能。3.预习SQLServer数据表的根本操作。4.准备好上机所需的程序。二、实验目的1.掌握修改表的结构的根本操作。2.索引的建立方法。3.掌握数据完整性的功能,加深对数据完整性的理解。三、实验内容1.在实验二所建立的数据表根底上。2.修改表的结构,具体要求如下:为学生表增加一个“平均成绩〞字段,类型为短整型,默认是空值。为课程表的“学时〞字段重新定义约束:取值为8的倍数,不允许为空值。将院系表的“名称〞字段的类型修改为varchar(30)。为教师表增加一个“工资〞字段,类型为5位整数、2位小数的数值型。3.分别建立如下索引在教师表的姓名字段上建立普通升序索引。在课程表的课程名称字段上建立惟一索引。在学生表的姓名字段上建立聚集索引。在选课表的学号〔升序〕、成绩〔升序〕和课程〔降序〕三个字段上建立一个普通索引。四、实验原理1.修改表结构的命令:ALTERTABLEschema_name.table_name{ALTERCOLUMNcolumn_name<data_type>[NULL|NOTNULL]|ADD<column_definition>|<computed_column_definition>|<table_constraint>|DROP[CONSTRAINT]constraint_nameCOLUMNcolumn_name}2.删除数据表的命令格式:DROPTABLEtable-name3.建立索引命令:CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEX<索引名>ON<表名或视图名>(<列名>[ASC|DESC][,…n])[ON{<分区>(<列名>)|<文件组>}]五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.修改表的结构,建立索引需要具有CREATETABLE的权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.在进行数据表建立和修改操作时,需要实现哪些完整性约束?请结合自己的实验过程进行描述。
实验四数据操作及完整性约束一、预习要求1.复习和掌握教材5.2节内容。2.预习SQLServer软件的使用和SQLServer中数据操作功能。3.准备好上机所需的程序。二、实验目的1.掌握对表中数据的插入、删除、修改等操作;2.深入体会数据完整性及约束的作用。三、实验内容在实验三建立的表的根底上:自行设计各个表的记录,其中院系表至少10条记录、学生表至少30条记录、课程表至少10条记录、教师表至少10条记录、选课表至少50条记录。设计一组记录执行插入操作,要求分别设计假设干违反实体完整性规那么、参照完整性规那么和用户完整性规那么的插入操作,并分析原因。设计几个删除操作,体会执行删除操作时检查参照完整性规那么的效果〔要求涉及拒绝删除、空值删除和级联删除等不同的处理方式〕。设计一组更新操作,体会执行更新操作时检查参照完整性规那么、参照完整性规那么和用户完整性规那么的效果。在实验报告中要给出具体的记录和设计的操作,并针对各种数据完整性检查给出具体的分析和讨论。四、实验原理1.插入语句的命令格式:INSERTINTOschema_name.table_or_view_name[(column_list)]VALUES({expression|DEFAULT|NULL)}[,…n])2.更新语句的命令格式:UPDATEschema_name.table_or_view_nameSETcolumn_name={expression|DEFALUT|NULL}[,…n][WHERE<search_condition>]3.删除语句的命令格式:DELETE[FROM]schema_name.table_or_view_name[WHERE<search_condition>]五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.完成数据的插入、更新和删除操作,需要在表上具有执行INSERT、UPDATE和DELETE语句的权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.执行SQL的数据操作时是如何检查完整性规那么的?
实验五SQL数据查询一〔一般简单查询和连接查询〕一、预习要求1.复习和掌握教材6.1~6.6节内容。2.预习SQLServer软件的使用和SQLServer中数据操作功能。3.准备好上机所需的程序。二、实验目的1.熟练掌握SQLSELECT语句,能运用查询语句完成各种查询。三、实验内容在实验三和实验四的根底上完成查询操作,将题目中的x,y等具体化:一般简单查询不带条件的查询指定字段〔考虑去掉和不去掉重复值两种情况〕。查询某个表中的所有记录。使用单个条件的简单查询。使用多个条件〔AND关系〕的查询。使用多个条件〔OR关系〕的查询。使用多个条件〔混合AND和OR关系〕的查询。使用带NOT运算的查询。使用BETWEEN···AND···的查询。使用NOT···BETWEEN···AND···的查询。使用LIKE运算符的字符串匹配查询。使用LIKE运算符的模板匹配查询。查询空值和非空值的查询结果要求排序的查询查询结果按多列排序,并分别要求升序和降序的查询。使用TOP显示前假设干记录的查询。使用TOP显示前假设干记录的查询,如果有满足条件的并列记录一并显示。2、连接查询两个关系的连接查询。带其他查询条件的两个关系的连接查询。多个关系〔三个以上〕的连接查询。两个关系的广义笛卡尔积运算结果。根据两个关系的广义笛卡尔积运算结果得到两个关系进行自然连接的结果。查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段。查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中列出所有教师信息〔即包括不是任何课程责任教师的教师信息〕。查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中能够反映目前没有确定责任教师的课程信息。查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中既能够反映目前不是责任教师的教师信息,又能反映目前没有确定责任教师的课程信息。提示:〔22〕~〔25〕分别用内连接、左连接、右连接完成,分析它们的效果。四、实验原理1.SQLSELECT查询语句的一般格式是:SELECT[ALL|DISTINCT]<表达式>[,<表达式>…]FROM<表名>[,<表名>…][WHERE<逻辑表达式>][GROUPBY<列名>[,<列名>…][HAVING<谓词>]][ORDERBY<列名>[ASC|DESC],[<列名>[ASC|DESC]]…]五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.执行SQLSERVER语句,需要在表上有SELECT的权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.对于内连接、左连接、右连接查询的区别是什么?
实验六SQL数据查询二〔嵌套查询和汇总分组查询〕一、预习要求1.复习和掌握教材6.1~6.6节内容。2.预习SQLServer软件的使用和SQLServer中数据操作功能。3.准备好上机所需的程序。二、实验目的1.熟练掌握SQLSELECT语句,能运用查询语句完成各种查询。三、实验内容在实验三和实验四的根底上完成查询操作,将题目中的x,y等具体化:1、嵌套查询〔注意使用ANY、ALL和EXISTS〕使用IN运算的简单嵌套查询。使用NOTIN运算的简单嵌套查询。使用关系运算〔如等于〕的简单嵌套查询。使用ANY或SOME的简单嵌套查询。使用ALL的简单嵌套查询。查询院系名称含“计算机〞、职称为教授、所负责教程为必修课的教师姓名、职称、课程名称和课程学时等信息〔分别用嵌套查询和连接查询完成,分析各自的效率〕。设计两个内外层互相关的嵌套查询。使用EXISTS的嵌套查询。使用NOTEXISTS的嵌套查询。2、汇总和分组查询使用COUNT统计数目的查询。使用SUM计算合计的查询。一次完成求和、计数、计算平均值的查询。查询所有课程的成绩都大于60分的学生的平均分最高的学生信息。查询数据库课程的成绩大于70分的、所有课程平均分最高的学生信息。查询每个学生的平均成绩。查询每个学生的所有成绩的最高成绩、最低成绩、平均成绩和所考课程的门数。查询至少有10门必修课程考试成绩的每个学生的平均成绩。设计2个使用COMPUTE···BY和COMPUTE的查询。设计1个使用COMPUTE的查询。设计1个使用COMPUTE···BY的查询。四、实验原理1.SQLSELECT查询语句的一般格式是:SELECT[ALL|DISTINCT]<表达式>[,<表达式>…]FROM<表名>[,<表名>…][WHERE<逻辑表达式>][GROUPBY<列名>[,<列名>…][HAVING<谓词>]][ORDERBY<列名>[ASC|DESC],[<列名>[ASC|DESC]]…]五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.执行SQLSERVER语句,需要在表上有SELECT的权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.连接查询和嵌套查询的区别是什么?如何转化使用?
实验七视图的应用一、预习要求1.复习和掌握教材6.7节内容。2.预习SQLServer软件的使用和SQLServer中视图操作功能和使用方法。3.准备好上机所需的程序。二、实验目的1.理解视图的概念;2.掌握视图的使用方法。3.理解视图和根本表的异同之处。三、实验内容1.参照实验五中完成的查询,按如下要求设计和建立视图:基于单个表按投影操作定义视图。基于单个表按选择操作定义视图。基于单个表按选择和投影操作定义视图。基于多个表根据连接操作定义视图。基于多个表根据嵌套操作定义视图。定义含有虚字段的视图。2.分别在定义的视图设计3种查询〔包括基于视图和根本表的一般、连接和嵌套查询〕。3.在定义的视图上分别进行插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。3.在实验报告中要给出具体的视图定义要求和操作要求,并针对各种情况做出具体的分析和讨论。四、实验原理1.视图是用SQLSELECT查询定义的,创立视图命令格式如下:CREATEVIEW<视图名>AS<SELECT-查询块>2.删除视图的命令格式如下:DROPVIEW<视图名>五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.定义视图需要有执行CREATEVIEW命令的权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.视图的含义和作用是什么?它与根本表的区别是什么?
实验八游标的应用一、预习要求1.复习和掌握教材7.1节内容。2.预习SQLServer软件的使用和SQLServer中游标的定义和使用方法。3.准备好上机所需的程序。二、实验目的1.理解SQL的宿主使用方式。2.掌握游标的使用方法。三、实验内容1.参考例7-3建立一个嵌套游标应用,其功能是按学号升序列出全体学生信息〔学号、姓名、院系名称〕及其所修课程的名称和考试成绩信息〔基于前面实验建立的表和插入的数据〕2.按要求逐一读出游标中的记录,并在界面上显示。四、实验原理1.定义游标的SQL语句的一般格式是:DECLARE<游标名>[INSENSITIVE][SCROLL]CURSORFOR<SELECT-查询块>[FOR{READONLY|UPDATE[OF<列名>[,<列名>…]]}]2.翻开游标的SQL语句的一般格式是:OPEN<游标名>3.从游标中读记录的SQL语句的一般格式是:FETCH[[NEXT|PRIOR|FIRST|LAST|ABSOLUTEn|RELATIVEn]FROM]<游标名>[INTO:<主变量1>,:<主变量2>…]4.关闭游标的SQL语句的一般格式是:CLOSE<游标名>5.释放游标DEALLOCATE<游标名>6.使用游标的UPDATE命令的格式是:UPDATE<表名>SET<列名>={<表达式>|NULL}[,<列名>={<表达式>|NULL}…]WHERECURRENTOF<游标名>7.使用游标的DELETE命令的格式是:DELETEFROM<表名>WHERECURRENTOF<游标名>五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.定义游标需要有定定义游标的权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.游标的作用?
实验九存储过程及应用一、预习要求1.复习和掌握教材7.2节内容。2.预习SQLServer软件的使用和SQLServer中存储过程的概念、创立和执行过程。3.准备好上机所需的程序。二、实验目的1.理解存储过程的概念。2.掌握存储过程的使用方法。三、实验内容1.建立如下的存储过程〔基于前面实验建立的表和插入的数据,并为每个存储过程设计返回的状态值〕:〔1〕按要求设计完成如下功能的存储过程。①查询平均分数在x到y范围内的学生信息。说明:该存储过程有两个参数;要求查询的学生信息包括学号、姓名、院系名称和平均成绩。②更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考试成绩,并返回该学生的平均成绩。〔2〕在客户端以存储过程和输入SQL语句的方式分别执行相同的查询或操作,比拟使用和不使用存储过程的区别。四、实验原理1.创立存储过程的SQL语句的一般格式是:CREATEPROC[edure][schema_name].procedure-name[;number][@parameterdata-type[VARYING][=default][OUT|OUTPUT],…]ASsql-statement2.执行存储过程的语句是:[EXECute][@<返回状态码>=]<存储过程名>[[@<参数>=]{<值>|@<变量>}…]或EXECUTE[@return_status=][schema_name].procedure-name[;number][@parameter=]{value|variable[OUTPUT]}[,…n]五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.建立存储过程需要有CREATEPROCEDURE的权限,执行存储过程需要有EXECUTE权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.为什么要使用存储过程?
实验十触发器及应用一、预习要求1.复习和掌握教材7.3节内容。2.预习SQLServer软件的使用和SQLServer中触发器的概念、创立和执行过程。3.准备好上机所需的程序。二、实验目的1.学习触发器的使用,加深对触发器功能和作用的理解。2.体会触发器执行的时机。三、实验内容1.建立如下的存储过程〔基于前面实验建立的表和插入的数据,并为每个存储过程设计返回的状态值〕:〔1〕为选课表分别建立插入和更新触发器,如果当前学生累计不及格门数到达5那么给出警示信息。〔2〕为课程表分别建立插入和更新触发器来建立约束规那么:“专业根底〞课的教师必须为“教授〞或“副教授〞,如果不满足约束那么拒绝操作,并给出错误信息。四、实验原理1.建立触发器的语句是:CREATETRIGGER[schema_name].trigger-nameON{table|view}FOR{INSERT|UPDATE|DELETE}AS[IFUPDATE(column)[{AND|OR}UPDATE(column)…]]sql-statement五、实验仪器、设备1.软件一一SQLServer2023;六、实验考前须知1.建立存储过程需要有CREATEPROCEDURE的权限,执行存储过程需要有EXECUTE权限。2.建立触发器需要有CREATETRIGGER的权限。七、实验方法及其步骤上机实验时应该一人一组,独立上机。对出现的问题要善于自己发现问题所在,独立处理。上机步骤:1.调出SQLServer2023软件的用户界面,进入SQLSERVERMANAGEMENTSTUDIO。2.输入自己编好的程序。3.检查已输入的程序正确与否。4.运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。5.输出程序清单和运行结果。八、实验报告要求实验报告应包括以下内容1.实验题目2.实验目的3.实验内容4.实验过程5.实验结果分析〔包括实验的结果和其中的实验数据以及中间的调试过程〕6.实验总结九、思考题1.为什么要使用触发器?2.触发器和游标的异同之处?实验十一用户管理和权限管理一、预习要求1.预习SQLServer软件的使用和SQLServer中用户管理和权限管理的概念、创立和执行过程。2.准备好上机所需的程序。二、实验目的1.学习理解和体会数据库平安性的内容。2.加强对数据库管理系统的平安管理功能的认识。三、实验内容1.以系统管理员身份完成如下实验:〔1〕建立3个不同用户名称的注册用户〔分别为‘user1’,‘user2’,‘user3’〕。〔2〕使用ALTERLOGIN命令对建立的注册用户修改密码。〔3〕指定’user1’为数据库管理员用户。2.以数据库管理员身份完成如下实验:〔1〕根据已有的注册用户建立3个当前数据库的用户。〔2〕使用ALTERUSER命令修改用户设置。〔3〕建立1个角色‘role1’,授予该角色查询、修改、插入学生表的权限。〔4〕授权‘user2’用户‘role1’角色,不授予‘user3’任何角色,通过操作学生表比拟‘user2’和‘user3’权限。〔如果由〔2〕改了新的用户名,那么以对应的新用户名进行相应工作〕〔5〕取消‘user2’的role1角色。3.以‘user1’身份完成:〔1〕授予‘user2’和‘user3’建立对象的权限,并各自建立自己的对象〔如表和视图等〕。〔2〕授予‘user2’用户‘学生’表的查询、修改、删除、插入等权限及转授权限,在授权过程中体会GRANT命令中WITHGRANTOPTION短语的作用。再由‘user2’授予‘user3’权限〔自己定义〕。〔3〕分情况收回授权,并体会REVOKE命令中GRANTOPTIONFOR和CASCADE短语的作用。四、实验原理1.建立注册用户的语句是:CREATELOGINlogin_name{WITHPASSWORD=’password’[MUST_CHANGE][,DEFAULT_DATABASE=database][,CHECK_EXPIRATION={ON|OFF}]}2.修改注册用户的语句是:ALTERLOGINlogin_name{{ENABLE|DISABLE}|WITHPASSWORD=’password’[,OLD_PASSWORD=’oldpassword’][,DEFAULT_DATABASE=database][,NAME=login_name]}3.建立数据库用户的语句是:CREATEUSERuser_name[LOGINlogin_name][WITHDEFAULT_SCHEMA=schema_name]4.修改数据库用户的语句是:ALTERUSERuser_nameWITH{NAME=new_user_name|DEFAULT_SCHEMA=schema_name}[,…n]]5.建立角色的语句是:CREATEROLErole_name[AUTHORIZATIONowner_name]6.为角色指定成员的系统过程是:sp_addrolemember[@rolename=]‘role’,[@mem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论