




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东莞理工学院城市学院CITY COLLEGE OF DGUT数据库系统原理课程实验指导书编著:彭义春 董阿妮审定:牛 熠计算机与信息科学系二九年三月54前 言数据库是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。数据库系统原理是一门系统阐述数据库系统的理论、技术和方法的课程,是计算机科学本科专业的主干课程。通过该课程的学习,同学们应该掌握数据库基本理论, 理解数据库系统的原理和方法; 同时更应掌握数据库设计的基本理论和技术;另外,对一些新型的数据库,以及数据库技术的发展方向同学们也应该做一定的了解。计算机科学作为工学学科,本身
2、就是十分强调实践能力的培养的,数据库系统原理更是如此,它是一门理论与实践紧密联系的课程,特别是其中的关系数据库标准语言SQL以及数据库设计的方法和步骤等内容都需要同学们通过上机实验加以练习,以促进同学们理论分析能力和综合动手能力的培养,最终使同学们初步具备开发数据库应用系统的的能力。本书是数据库系统原理实验指导书,对于数据库系统原理的实验环境和实验所需的预备知识进行了详细的介绍,同时对每个实验都根据实验目的精心设计了实验内容,给出了实验步骤。共18学时的实验机时。实验一:SQL Server安装与使用。通过SQL Server 2000个人版的安装,了解和掌握常用的DBMS的安装。实验二:对数
3、据库、表的基本操作、索引的使用。通过企业管理器创建SQL Server数据库;使用SQL查询分析器用CREATE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表;掌握索引的创建和使用;实验三:对表的简单查询和数据计算。掌握SELECT语句对表进行简单的数据查询、数据排序和统计,能利用聚合函数进行数据统计;实验四:数据计算与多表的操作。掌握SELECT 语句的嵌套使用方法,学会对多表的复杂查询,掌握表的插入、删除、修改数据操作。实验五:综合查询及视图的使用。提高学生加对SQL语句的综合运用能力,掌握创建、删除和查询视图的方法。实验六:数据库安全性和完整性。使学生加深对数据安全性
4、和完整性的理解并掌握 SQL Server中有关用户、角色及操作权限的管理方法学会创建和使用触发器。实验七:存储过程设计。通过创建和执行存储过程,了解存储过程的基本概念,掌握使用存储过程的操作技巧和方法;实验八:利用ODBC或JDBC编程。熟悉使用ODBC或JDBC来进行数据库应用程序的设计,熟悉通过ODBC或JDBC接口编程访问数据库并对数据库进行操作。目 录第一部份 绪论1一、本课程实验的作用与任务1二、本课程实验的基础知识1第二部份 基本实验指导3实验一 SQL Server安装与使用3一、实验目的3二、实验内容与步骤3三、实验资料10四、实验注意事项11五、思考题12实验二 对数据库、
5、表的基本操作、索引的使用13一、实验目的13二、实验内容与步骤13三、实验资料18四、实验注意事项19五、思考题19实验三 对表的简单查询和数据计算20一、实验目的20二、实验内容与步骤20三、实验资料20四、实验注意事项21五、思考题21实验四 多表之间的复杂查询及表的更新操作。22一、实验目的22二、实验内容与步骤22三、实验资料22四、实验注意事项23五、思考题23实验五 综合查询及视图的使用24一、实验目的24二、实验内容与步骤24三、实验资料25四、实验注意事项26五、思考题26实验六 数据库安全性和完整性27一、实验目的27二、实验内容与步骤27三、实验资料33四、实验注意事项34
6、五、思考题34实验七 存储过程设计35一、实验目的35二、实验内容与步骤35三、实验资料37四、实验注意事项37五、思考题37实验八 利用ODBC或JDBC编程38一、实验目的38二、实验内容与步骤38三、实验资料38四、实验注意事项39五、思考题39第三部分 课程设计指导书40一、课程设计的目的和意义40二、设计要求40三、成绩评定40第四部份 附 录45附录1 SQL Server 2000的数据库的分离和附加45附录2 实验报告模板49附录3 课程设计报告模板51第一部份 绪论本指导书是根据数据库系统原理课程实验教学大纲编写的,适用于计算机科学与技术和软件工程本科专业。一、本课程实验的作
7、用与任务数据库系统原理实验的目的主要是对课程中关系数据库标准语言SQL以及数据库设计的方法和步骤等内容加以练习,因此实验中采用Microsoft公司的SQL Server 2000作为数据库平台,在该平台上练习SQL的数据定义、数据更新、数据查询、数据控制和视图功能,以及针对具体应用要求的数据库的设计与实现。本课程实验的软件环境操作系统:Windows 2000 Professional数据库管理系统(DBMS):Microsoft公司的SQL Server 2000本课程全部在计算机上完成。二、本课程实验的基础知识SQL Server 2000是微软公司最新的大型数据库服务器,其性能指标在很
8、多方面都有赶超Oracle数据库的趋势。目前国内的一些关于微软平台的数据库编程教程,多以SQL Server 2000作为数据库设计案例,并展开相关的内容。SQL Server 2000提供了傻瓜模式的安装、操作界面简单易用,容易上手,因它在安全性、稳定性、支持多用户和网络分布式结构,以及对面向对象数据库的广义支持等方面的优点而备受用户青睐。正因为SQL Server 2000有如此优越的性能使其在国内大中型企业信息管理方面得到广泛的应用。本课程实验数据采用课本习题、例子和SQL Server 2000自带的数据库为主,学生对数据库的结构和实例比较了解,也方便在上面进行相关操作。三、本课程实验
9、教学项目及其教学要求序号实验项目名称实验时数教学目标与要求1SQL Server安装与使用2了解SQL Server系统安装;了解SQL Server系统构成;了解系统各模块的的作用,掌握SQL Server服务的启动与停止。2对数据库、表的基本操作、索引的使用2通过企业管理器创建SQL Server数据库;使用SQL查询分析器用CREATE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表;掌握索引的创建和使用。3对表的简单查询和数据计算2掌握SELECT语句对表进行简单的数据查询、数据排序和统计,能利用聚合函数进行数据统计。4多表之间的复杂查询、表的更新操作2掌握SELEC
10、T 语句的嵌套使用方法,学会对多表的复杂查询,掌握表的插入、删除、修改数据操作5综合查询及视图的使用2提高学生加对SQL语句的综合运用能力,掌握创建、删除和查询视图的方法。6数据库安全性和完整性2使学生加深对数据安全性和完整性的理解并掌握 SQL Server中有关用户、角色及操作权限的管理方法学会创建和使用触发器。7存储过程设计2通过创建和执行存储过程,了解存储过程的基本概念,掌握使用存储过程的操作技巧和方法。8利用ODBC或JDBC编程4熟悉使用ODBC或JDBC来进行数据库应用程序的设计,熟悉通过ODBC或JDBC接口编程访问数据库并对数据库进行操作。第二部份 基本实验指导实验一 SQL
11、 Server安装与使用一、实验目的本次实验了解SQL Server系统安装;了解SQL Server系统构成;了解系统各模块的作用;掌握安装数据库服务器和客户机的方法;掌握测试客户机与服务器连通性的方法。二、实验内容与步骤下面以安装 SQL Server 2000 个人版为例,列出几个关键步骤,讲解如何安装SQL Server 2000。(一)运行personal目录下的Autorun.exe文件或其它可执行文件,调出安装程序后,出现图1.1所示界面。选择“安装 SQServer2000 简体中文个人版”。图1.1(二)在图1.2中,单击“安装SQL Server 2000组件”。图1.2(
12、三)在图1.3中,单击“安装数据库服务器”图1.3(四)在图1.4中,选择“本地计算机”,在单击“下一步”。图1.4(五)在图1.5中,按图示选择,再单击“下一步”。图1.6(六)在图1.6中,输入你的姓名和公司名称,再单击“下一步”。图1.6(七)在图1.7中,按图示选择,再单击“下一步”。图1.7(八)在图1.8中,按图示选择,再单击“下一步”。图1.8(九)在图1.9中,设定程序文件和数据文件路径,再单击“下一步”。图1.9(十)在图1.10中,按图示选择,再单击“下一步”。图1.10(十一)在图1.11中,按图示选择,并输入sa的密码,再单击“下一步”。图1.11(十二)出现图1.12
13、,则表示安装完成。单击“完成”图1.12为了验证是否安装成功,请看能否运行查询分析器,如果能的话就表示安装成功。(十三)单击开始程序Microsoft SQL Server查询分析器,出现如图1.13所示登陆界面,请选择SQL Server 身份验证,输入安装时输入的sa的密码。图1.13如果登录成功,则会出现,图1.14所示界面。图1.14三、实验资料l SQL Server 2000的四个版本介绍:1、SQL Server 2000 企业版作为生产数据库服务器使用。支持 SQL Server 2000 中的所有可用功能,并可根据支持最大的 Web 站点和企业联机事务处理 (OLTP) 及数
14、据仓库系统所需的性能水平进行伸缩。2、SQL Server 2000 标准版作为小工作组或部门的数据库服务器使用。3、SQL Server 2000 个人版供移动的用户使用,这些用户有时从网络上断开,但所运行的应用程序需要 SQL Server 数据存储。在客户端计算机上运行需要本地 SQL Server 数据存储的独立应用程序时也使用个人版。4、SQL Server 2000 开发人员版供程序员用来开发将 SQL Server 2000 用作数据存储的应用程序。虽然开发版支持企业版的所有功能,使开发人员能够编写和测试可使用这些功能的应用程序,但是只能将开发版作为开发和测试系统使用,不能作为生
15、产服务器使用。l 安装环境要求:计算机:Intel或兼容机Pentium 166 MHz 或更高;内存:企业版:至少 64 MB,建议 128 MB 或更多;标准版:至少 64 MB;个人版:Windows 2000 上至少 64 MB,其它所有操作系统上至少 32 MB;开发版:至少 64 MB硬盘空间:SQL Server 数据库组件:95 到 270 MB,一般
16、为 250 MB ;Analysis Services:至少 50 MB,一般为 130 MB操作系统:在Windows XP上只能安装个人版。另外,Internet Explorer 版本必须是5.0以上。四、实验注意事项安装SQL Server 2000,时常见问题有如下: (1)配置服务器时中断. (2)注册 activex 时中断. (3)显示到100的时候中断. (4)提示:command line option syntax error, type command /? for help,继续安装,最后
17、在配置服务器的时候出现:无法找到动态链接sqlunirl.dll于指定的路径 (5)以前进行的程序创建了挂起的文件操作,运行安装程序前,必须重新启动 (1)(2)(3)的解决办法: 提醒:为避免误操作,先备份注册表和数据库进不了sql server 2000,可以备份 program filesmicrosoft sql servermssqldata 文件夹的文件. 1、先把sql server卸载(卸载不掉也没有关系,继续下面的操作) 2、把microsoft sql server文件夹整个删掉。 3、运行注册表,删除如下项: hkey_current_usersoftwaremicros
18、oftmicrosoft sql server hkey_local_machinesoftwaremicrosoftmicrosoft sql server hkey_local_machinesoftwaremicrosoftmssqlserver 4、需要的话就重新启动系统 5、重新安装 另外也可尝试单步运行安装 sql server 2000的方法: 1:放入 sql server 2000 光盘. 2:在"开始"-"运行"键入 "f:x86setup.exe k=dbg" (f是光盘) (4)的解决办法 因为安装文件的路径(
19、完整路径)里有中文. 比如 c:sqlserver中文企业版 改成 c:sqlserver (5)的解决办法 a、重启机器,再进行安装,如果发现还有该错误,请按下面步骤 b、在开始->运行中输入regedit c、到hkey_local_machinesystemcurrentcontrolsetcontrolsession manager 位置 d、选择文件->倒出,保存 e、在右边窗口右击pendingfilerenameoperations,选择删除,然后确认 f、重启安装,问题解决 安装完之后运行企业管理器,如果提示说“找不到SQL Server或连接不上服务器”,再去运行
20、服务管理器,无法连接。则用如下解决方法: 运行安装程序,然后按照默认的摁下一步,到了"身份验证模式"的时候,如果选"windows身份验证模式",根本就没法完成安装,这个地方应该选"混合模式",输入sa密码。好了,你看到完成安装了。不过又有问题出现,运行服务管理器,连接你的服务器时,出现连接失败的错误信息。在网上找了半天,终于解决了。找到控制面板-管理工具-服务-MSSQLSERVER,右键、属性,登陆选项中,选择"本地系统帐户",并且在"允许服务与桌面交互"前面打钩。再次连接服务器,一切OK了
21、。 另外,我们在安装时,如果出现错误,可以查看下面文件找到原因:1)Windows 目录中的 Sqlstp.log 文件,该文件列出了安装程序所执行的操作的详细信息,并包含安装期间遇到的所有错误。通过检查该文件,可以详细了解安装在什么地方失败、为什么失败。 2)SQL安装的时的错误信息保存在一个叫Errorlog的日志文件中,默认情况下该文件位于 Program FilesMicrosoft SQL ServerMssqlLog 目录中。该错误日志包含安装程序试图启动 SQL Server 时 SQL Server 所遇到的错误,这些信息可以帮助您深入检查错误原因。 3)需要检查的另一个组件是
22、 Microsoft 数据访问组件 (MDAC) 安装程序,它作为 SQL Server 2000 安装程序的一部分启动。SQL Server 2000 安装程序会安装 MDAC 2.6。MDAC 安装程序会创建名为 Dasetup.log 的单独的日志文件;您可以查看此日志文件并确保 MDAC 安装程序没有出现问题。五、思考题1、自己动手安装和卸载SQL Server 2000其他版本。实验二 对数据库、表的基本操作、索引的使用一、实验目的理解数据库模式的概念,通过使用SQL SERVER企业管理器和SQL语句来建立、修改和删除数据库和基本表。帮助学生理解上述基本表之间的关系,从而正确、合理
23、地建立表结构,并输入相应记录信息。掌握索引的创建和使用。熟悉SQL SERVER企业管理器和查询分析器的使用,并掌握脚本文件的保存、打开与运行。模式为学生表(Student)、课程表(Course)和选课表(SC)。二、实验内容与步骤(一)通过企业管理器建立数据库单击“开始”“程序”“Microsoft SQL Server”“企业管理器”进入企业管理器的主界面,如图2.1所示。图2.1点击左边树状控制栏的+/号可以打开和关闭SQL Server组中的本地服务项目,在选中数据库服务项目后,单击鼠标右键,出现数据库的菜单,如图2.2所示:图2.2点击新建数据库,出现新建数据库窗口,如图2.3所示
24、:图2.3输入数据库名称:Test,点击数据文件选项卡,如图2.4所示:图2.4在数据文件中,你可以设定数据文件的名称,所在目录以及文件的大小等信息。完成后点击事务日志选项卡,如图2.5所示:图2.5事务日志中,你可以设定日志文件的名称,所在目录以及文件的大小等信息。接受系统的缺省值,点击确定按钮,完成数据库的新建,如图2.6所示。图2.6(二)在查询分析器中建立表进入查询分析器主界面,再选择要操作的数据库Test,如图2.7所示。图2.7在查询分析器的查询窗口中输入SQL语句,如图2.8所示。图2.8点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图2.9所示。图2.9提示命令
25、成功完成,或者报告出错信息。(三)在企业管理器中向表中添加数据在企业管理器中,按图2.10所示,在表名“Test1”右键,再选择“打开表”,最后单击“返回所有行”菜单项。图2.10在出现图2.11所示的纪录输入界面中输入内容。图2.11输完内容后单击“”保存数据。最后单击“关闭”按钮,退出。(四)完成以下实验任务,并按要求提交上机报告。1. 用企业管理器创建一个数据库,数据库名称为你姓名的全拼或首字母。2. 按照实验资料输入记录,但在学生表中必须有一条为你自己内容的记录。3. 向Student 表增加“籍贯”列(列名为Snative,char(20))4. 将年龄的数据类型改整型数。5. 为S
26、tudent中sname添加列级完整性约束,不能为空。为Student中sno添加列级完整性约束,取值唯一,不能为空。6. 删除Student中sname列级完整性约束7. 为SC建立按学号升序和课程号降序建立唯一索引。8. 用Create Index对表student的sname字段建立一个升序索引,索引名Sname_Indexs。9. 用Drop Index删除索引Sname_Indexs。三、实验资料学生表Student、课程信息表Course、选修表SC,表结构分别如下:(说明:Pk表示此列为主属性)Student表:主码列名数据类型宽度小数位空否备 注PkSnoChar9
27、N学生学号 Sname Char12 Y学生姓名 Ssex Char2 Y性别 SageSmallInt3Y年龄SdeptChar20Y所在系别 Course表:主码列名数据类型宽度小数位空否备 注PkCnoChar4 N课程代码 CnameChar20 Y课程名称 CpnoChar4 Y先行课号 CreditDecimal31Y学分SC表:主码列名数据类型宽度小数位空否备 注FkSnoChar9 N学号 FkCnoChar4 N课程代码
28、0;GradeDecimal5 1Y成绩具体内容:学生表Student学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept(你自己的内容)200615121李勇男20CS200615122刘晨女19IS200615123王敏女18MA200615125张立男19IS课程表Course课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27C语言64选课表SC(注:至少有一条你自己的选课记录)学号Sname课程号Cno成绩Grade(你自己的内容)200615121192200615121285
29、200615121388200615122290200615122380四、实验注意事项1、在使用查询分析器时,应注意选择所要操作的数据库;2、SQL语句不能包含中文符号;3、标准SQL与SQL Server 2000的T-SQL的数据类型和语法在某些地方不同,要注意。五、思考题1、掌握企业管理器和查询分析器的功能、作用。2、与数据库相关的磁盘文件和扩展名分别是什么?实验三 对表的简单查询和数据计算一、实验目的本次实验课巩固SQL查询的概念,要求学生能够掌握查询分析器的使用方法和SELECT语句对表进行简单的数据查询、数据排序和数据计算。二、实验内容与步骤使用企业管理器创建一个以你自己姓名全拼
30、首字母命名的数据库,并在库中通过SQL语句创建Student、Course和Study三张表。表名及表中存储的数据内容参照实验资料,但表的结构要求同学们根据存储数据的特点自行设计。在查询分析器中用SQL语句完成下列问题,并按要求上交上机报告。(1)查询选修了课程的学生的学号。 (2)查询学生学号和出生年份。(3)查询计算机系学生的学号、姓名。 (4)查询年龄在20岁与22岁之间(包括20和22岁)的学生姓名和年龄。 (5)查询学生姓名中含有“波”字的学生情况。(6)查询缺少学习成绩的学生学号和课程号。 (7)查询选修C601课程的学生的学号和成绩,并按分数的降序排列。 (8)求选修了课程的学生
31、人数。 (9)求课程C601的平均成绩。(10)求选修课程超过2门的学生学号。 (11)查询参加学习的学生所学的课程号和总分。 (12)查询选修高等数学课程且成绩在80分以上的学生的学号、姓名。(13)查询每一课程的间接先行课(即先行课的先行课)。(14)查询年龄低于所有工程系学生的学生姓名、所在系、年龄。 (15)找出刘建平老师所开全部课程的课程号、课程名。(16)找出全部课程的任课教师。(17)求学生1203所学课程的总分。(18)找出所有姓张的学生的姓名和籍贯。三、实验资料表名:Student学号Sno姓名Sname性别Ssex年龄Sage籍贯Snative所在系Sdept通信地址Sad
32、dress你的后四位学号(你的姓名)1101王燕女20北京工程系1202李波男21上海计算机系1203陈建男19长沙计算机系1303张斌男22上海经管系1305张斌女20武汉经管系表名:Course课程号Cno课程名Cname任课老师teacher先行课程号pcnoC601高等数学周振兴NullC602大学英语王志伟NullC603数据结构刘剑平C601C604操作系统刘剑平C603C605数据库系统原理彭义春C601表名:Study学号Sno课程号Cno成绩grade(你的学号)C605(自定)1101C605851102C601881202C601341202C602851202C6041
33、203C603781203C604501305C601681305C60270四、实验注意事项1、在构造条件表达式时,要注意字段的数据类型;2、注意连接条件不要漏掉。3、注意聚集函数参数和分组条件的设置。五、思考题1、掌握SQL的特点和功能。2、连接、自身连接、外连接有何区别与联系?3、掌握连接查询工作过程。4、在Select语句中同时包括where、group、having等子句时执行的先后顺序是怎样的?实验四 多表之间的复杂查询及表的更新操作。一、实验目的使学生能够熟练使用T_SQL语句对表进行较为复杂的查询和统计;会使用SQL语句对表进行插入、删除、修改数据。二、实验内容与步骤使用企业管
34、理器创建一个以你自己姓名全拼首字母命名的数据库,并在库中创建S、P、J和SPJ四张表。创建表的代码参照实验资料,表内容参照课本第二章习题5(P75)中的4个表的内容。在查询分析器中用SQL语句完成下列问题,并按要求上交上机报告。1、 用SQL建立课本第二章习题5(P75)中的4个表(注:不准用企业管理器创建),将建表和插入内容的SQL代码以你自己学号后两位和姓名为文件名保存并与上机报告一起打包上交。压缩文件的文件名为你自己学号后两位和姓名。2、 针对上题中的4个表试用SQL语言完成第二章习题5中的查询操作:1) 求供应工程J1零件的供应商号码SNO;2) 求供应工程J1零件P1的供应商号码SN
35、O;3) 求供应工程J1零件为红色的供应商号码SNO;4) 求没有使用天津供应商生产的红色零件的工程号JNO;5) 求至少用了供应商S1所供应的全部零件的工程号JNO;3、 针对上题中的4个表试用SQL语言完成以下各项操作:1) 找出工程项目J2使用的各种零件的名称及其数量;2) 找出上海厂商供应的所有零件号码;3) 找出使用上海产的零件的工程名称;4) 找出没有使用天津产的零件的工程号码;5) 把全部红色零件的颜色改成蓝色;6) 由S5供给J4的零件P6改为由S3供应,请做必要的修改;7) 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;8) 请将(S2,J6,P4,200)
36、插入供应情况关系。三、实验资料-创建S表CREATE TABLE S(SNO char(4) PRIMARY KEY, SNAME char(10), STATUS char(2), CITY char(6) ;-创建P表CREATE TABLE P(PNO char(4) PRIMARY KEY, PNAME char(10) , COLOR char(2), WEIGHT char(6);-创建J表CREATE TABLE J(JNO char(4) PRIMARY KEY, JNAME char(10), CITY char(6),);-创建SPJ表CREATE TABLE SPJ(SN
37、O char(4), PNO char(4), JNO char(4), QTY char(3),PRIMARYKEY(SNO,PNO,JNO),FOREIGN KEY(SNO) REFERENCES S(SNO),FOREIGN KEY(PNO) REFERENCES P(PNO),FOREIGN KEY(JNO) REFERENCES J(JNO),);内容为教材第二章习题5(P75)中的4个表的内容。注:以上代码可从FTP服务器上下载或在上机时教师通过网上共享学生下载。四、实验注意事项1、在插入数据时,可以使用课本所讲的语句样式插入,也可使用SQL Server;2、SQL语句不能包含中
38、文符号,字符串类型的值要加英文单引号“'”;五、思考题1、在对主属性进行修改时为何不能直接修改?2、EXISTS子句能否用多表连接来实现?实验五 综合查询及视图的使用一、实验目的使学生能够熟练使用T_SQL语句对多表进行各种查询、统计和更新数据的操作;使学生能够掌握视图的应用。二、实验内容与步骤班级表Class(班级号CNo,所在院系Department,所属专业Speciality,班长学号Monitor)学生表Student(学号SNo,姓名SName,性别Gender,所在班级号CNo)课程表Lesson(课程号LNo,课程名LName,教材名Book,学分数CreditHour
39、)学生成绩表Grade(学生学号SNo,课程号LNo,分数Score)班级选课表Election(班级号CNo,课程号LNo,教师编号Tid,上课年度Year,上课学期Semester)教师表Teacher(教师编号Tid,姓名TName,所在院系Department)以上表中,英文为表名或属性名,中文为其相应解释,基于以上关系模式,用SQL语言实现下列问题 ,每个表插入3-5条记录,具体内容请参照实验资料,但必须有你自己的一条记录。1、综合查询1) 计算所有“数据库系统”课程的课程号及相应教材。2) 计算所有班长的学号,姓名,所在班级号和所学专业。3) 计算2005年度讲授过两门或两门以上课
40、程的教师编号和所教授的课程号。4) 加入新的班级选课记录,课程号为“06022505”,班级号为“030611”,上课年度为“2005”,上课学期为“上”,授课教师暂时未定。5) 将课程号为“06022505”的课程教材改名为“数据库系统基础教程”。6) 创建一个视图V1,给出所有“计算机系”学生的学号,姓名,性别,所在班级编号和“数据库系统”课程的分数。7) 统计“计算机系”所有教师的教师编号,教师名,2005年度教授的总课程数和总学分数,按总学分数从低到高排列。8) 查询选修了“数据库系统”但没有选修“软件工程”的班级编号,所属专业和该班学生人数。2、视图的使用1) 创建一个视图,该视图只
41、含男生的信息,即学号、姓名、所在班级号。2) 对视图添加一条记录数据。3) 删除视图中所有姓“陈”的学生数据。4) 通过视图修改表内某一学生的姓名。5) 有三个基本表Student、Lesson和Grade,创建一个视图,该视图包含学生的学号、姓名、所选课程名、课程学分及其对应的分数。6) 将上述视图中你自己的某一门课程分数按照分数除以30再乘以学分数换算成积点数,保留1位小数。7) 删除上述视图。三、实验资料各表参考数据班级表Class:学生表Student:课程表Lesson:学生成绩表Grade:班级选课表Election:教师表Teacher:四、实验注意事项1、注意多个表之间的联系。
42、五、思考题1、为何要引入视图?它有什么优点?实验六 数据库安全性和完整性一、实验目的让学生加深对数据安全性和完整性的理解。掌握 SQL Server中有关用户、角色及操作权限的管理方法。通过创建触发器,了解触发器的基本概念,理解触发器的功能,掌握使用触发器的操作技巧和方法;通过修改触发器,进一步理解触发器的功能,掌握使用触发器的操作技巧和方法。二、实验内容与步骤1、给数据库Test新建一个用户打开企业管理其中,在数据库Test上右击,对弹出菜单按图6.1所示选择菜单项。图6.1在图6.2所示的“新建用户“对话框中,新建一个登录名或选择一个已有的登录名。图6.2如果是新建一个登录名,则会出现图6
43、.3所示的对话框,在名称栏输入一个登录名。在“身份验证”栏选择“SQL Server身份验证”,在输入登录时的密码,在“数据库”栏选择Test数据库。最后单击“确定”按钮完成新建登录名的操作。图6.3返回到新建用户对话框,此时选择你刚建好的登录名,此时在用户名中自动填入了与登录名通明的用户名,你也可以更改。在“数据库角色成员”中选择相应的权限。最后单击“确定”按钮完成新建用户的操作。图6.42、给数据库Test新建一个用户打开企业管理其中,在数据库Test上右击,对弹出菜单按图6.1所示选择“新建数据库角色”菜单项。在图6.5所示新建角色对话框中输入你要建的角色名。最后单击“确定”按钮完成新建
44、角色的操作。图6.5在企业管理器中,单击数据库Test下的“角色”,在右栏我们可以看到你刚才建好的角色了。如图6.6所示。图6.63、通过企业管理器给表Test1创建一个触发器打开企业管理其中,在数据表Test1上右击,对弹出菜单按图6.7所示选择菜单项。图6.7在图6.8所示的对话框的文本区域输入新建触发器的SQL代码。输完后单击“检查语法”按钮可以检查出你的代码的语法错误。在检查无误后,在单击“关闭”按钮完成新建触发器操作,系统会自动以你在CREATE TRIGGER中给定的名字保存一个触发器。图6.8当然,新建触发器的操作也可以在查询分析器中来完成。在查询分析器中的操作与前面的查询操作一
45、样,同学们在掌握了通过企业管理器来创建后,请自己练习在查询分析器中的操作。4、实验任务创建一个以你的名字的首字母+“db”为名字的数据库,包含课本的示例的三个表:Student、Course和SC表。SQL代码可从FTP服务器下载或由教师通过网络共享让学生下载。1)安全性实验a) 在SQL Server企业管理器中建立一个自己名字拼音首字母的数据库用户(登录名与其一样)和数据库角色。分别通过SQL Server企业管理器和SQL的数据控制功能,将自己创建的学生表、课程表、和选课表的不同的操作权(自定,)赋予它们,将相应的管理权限的窗口截图,只保留有权限的对象,如下图。b) 关闭SQL Serv
46、er企业管理器,打开SQL查询分析器。选择SQL Server安全验证,以你自己的用户名为连接到SQL Server。在“查询分析器”窗口中输入SQL语句,验证以上设置的权限,输入的SQL语句要包括有权限的操作和没有权限的操作。截图。2)完整性实验a) 用SQL语句对学生表Student添加所在系属性为“计算机系”的缺省,插入一条没有输入系名的记录,再把表记录结果图截图。b) 对课程表Course分别添加以下完整性约束:级联删除、级联修改和拒绝修改,再分别对课程表进行删除数据和修改数据的操作。3)触发器实验a) 创建触发器trigger_t1,实现当修改学生表Student中的数据时,显示提示
47、信息“学生情况表被修改了”。并执行触发器。b) 创建触发器trigger_t2,实现当修改学生表Student中的某个学生的学号时,对应学生选修表SC中的学号也作修改。并执行触发器。c) 对已创建的触发器trigger_t1进行修改,实现当修改学生表Student中的数据时,显示提示信息“学生表中XXX号学生记录被修改了” 。并执行触发器。d) 删除学生情况表上的触发器trigger_t1。三、实验资料-创建 Student表CREATE TABLE Student /*列级定义主码*/ (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ss
48、ex CHAR(2), Sage SMALLINT, Sdept CHAR(15);insert into Student values('200215121','李勇','男',20,'CS');insert into Student values('200215122','刘晨','女',19,'CS');insert into Student values('200215123','王敏','女',18,'
49、MA');insert into Student values('200215125','张立','男',19,'IS');-创建 Course表CREATE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4), Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno);INSERT INTO CourseSELECT '1','数据库','5
50、39;,4UNION ALLSELECT '2','数学',null,2UNION ALLSELECT '3','信息系统','1',4UNION ALLSELECT '4','操作系统','6',3UNION ALLSELECT '5','数据结构','7',4UNION ALLSELECT '6','数据处理',null,2UNION ALLSELECT '7',
51、9;PASCAL语言','6',4-创建 SC表CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4), Grade SMALLINT,PRIMARY KEY (Sno, Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno);INSERT INTO SCSELECT '200215121','1',92UNION ALLSELECT '200215121','2'
52、;,85UNION ALLSELECT '200215121','3',88UNION ALLSELECT '200215122','2',90UNION ALLSELECT '200215122','3',80四、实验注意事项1、注意区分登录名和用户名的区别和联系以及用户和角色的区别和联系。2、注意触发器触发条件和触发事件。五、思考题1、简述触发器的工作原理?2、SQL Server采用几级安全验证?简述其安全模式?3、简述用户和角色的关系以及服务器角色和数据库角色的作用?4、SQL Server
53、实现数据完整性有哪两种方法?5、SQL Server有几种约束类型?它们分别是什么?实验七 存储过程设计一、实验目的1、通过对常用系统存储过程的使用,了解存储过程的类型; 2、通过创建和执行存储过程,了解存储过程的基本概念,掌握使用存储过程的操作技巧和方法; 3、通过对已创建的存储过程的改变,掌握修改存储过程的操作技巧和方法;二、实验内容与步骤1、通过企业管理器创建存储过程打开企业管理其中,在数据库Test上右击,对弹出菜单按图7.1所示选择“存储过程”菜单项。图7.1在图7.2所示的对话框的文本区域输入新建存储过程的SQL代码。输完后单击“检查语法”按钮可以检查出你的代码的语法错误。在检查无
54、误后,在单击“关闭”按钮完成新建存储过程操作,系统会自动以你在CREATE PROCEDURE中给定的名字保存一个存储过程。图7.2与新建触发器操作一样,新建存储过程的操作也可以在查询分析器中来完成。在查询分析器中的操作与前面的查询操作一样,同学们在掌握了通过企业管理器来创建后,请自己练习在查询分析器中的操作。2、实验任务说明:以下存储过程名以你的名字全拼的首字母+下划线+题目给定的名称创建一个以你的名字的首字母+“db”为名字的数据库,包含课本的示例的三个表:Student、C和SC表。SQL代码可从FTP服务器下载或由教师通过网络共享让学生下载。1)使用sp_helptext查看byroy
55、alty存储过程的文本,该存储过程在数据库pubs中。2)在自建库中创建存储过程proc_8_t1,要求实现如下功能:产生学分为4的课程学生选课情况列表,其中包括课程号、课程名、学分、学号、姓名、系别、性别等。并调用此存储过程,显示执行结果。3)在自建库中创建存储过程proc_8_t2,要求实现如下功能:输入系别名称,产生该系学生的选课情况列表,其中包括系别、学号、姓名、课程号、课程名、成绩、学分等。并调用此存储过程,显示“CS”系学生的选课情况列表。4)在自建库中创建存储过程proc_8_t3,要求实现如下功能:输入学生学号,根据该学生所选课程的总学分显示提示信息,如果总学分<9,则显示“此学生学分不足!”,否则显示“此学生学分已足!”。并调用此存储过程,显示“200215121”学生的总学分情况。对学生成绩库中已创建的存储过程proc_8_t1进行修改,要求在显示列表中增加班级字段
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- fof基金合同范例
- 光伏扶贫合同范例
- 中型租车合同范例
- 传媒广告合同范例
- 农村住宅建房合同范例
- 代理软件产品销售合同范例
- 买单出口合同范例
- 农民收购牧草合同范例
- 个人山林承包合同范例
- 光盘供货合同范例
- 《无人机飞行操控技术》项目6 无人机地面站飞行操控
- 石膏娃娃课件教学课件
- 老年人健康保健-老年人的长期照护(老年护理课件)
- 急诊分娩课件
- 人教版生物中考-试题评价与分析共37张课件
- 国外陶瓷介绍课件
- 2024至2030年中国咨询行业前景预测与投资机会洞察报告
- 英语语言与文化智慧树知到答案2024年华侨大学
- 辽宁沈阳历年中考语文现代文之记叙文阅读17篇(含答案)(2003-2023)
- 《中国近现代史纲要》课件-第一章
- 王者荣耀用户协议范文下载
评论
0/150
提交评论