您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > 实验报告--数据库应用
学生学号0121315940520实验课成绩学生实验报告书实验课程名称企业数据库应用开课学院管理学院指导教师姓名肖红彦学生姓名李志红学生专业班级信管13032015—2016学年第一学期实验报告填写规范1、实验是培养学生动手能力、分析解决问题能力的重要环节;实验报告是反映实验教学水平与质量的重要依据。为加强实验过程管理,改革实验成绩考核方法,改善实验教学效果,提高学生质量,特制定本实验报告书写规范。2、本规范适用于管理学院实验课程。3、每门实验课程一般会包括许多实验项目,除非常简单的验证演示性实验项目可以不写实验报告外,其他实验项目均应按本格式完成实验报告。在课程全部实验项目完成后,应按学生姓名将各实验项目实验报告装订成册,构成该实验课程总报告,并给出实验课程成绩。4、学生必须依据实验指导书或老师的指导,提前预习实验目的、实验基本原理及方法,了解实验内容及方法,在完成以上实验预习的前提下进行实验。教师将在实验过程中抽查学生预习情况。5、学生应在做完实验后三天内完成实验报告,交指导教师评阅。6、教师应及时评阅学生的实验报告并给出各实验项目成绩,同时要认真完整保存实验报告。在完成所有实验项目后,教师应将批改好的各项目实验报告汇总、装订,交课程承担单位(实验中心或实验室)保管存档。附表:实验成绩考核建议观测点考核目标成绩组成实验预习1.对验证型实验,考察对实验原理与方法的预习情况2.对于综合型、设计型实验,着重考查设计方案的科学性、可行性和创新性对实验目的和基本原理的认识程度,对实验方案的设计能力20%实验过程1.是否按时参加实验2.对实验过程的熟悉程度3.对基本操作的规范程度4.对突发事件的应急处理能力5.实验原始记录的完整程度6.同学之间的团结协作精神着重考查学生的实验态度、基本操作技能;严谨的治学态度、团结协作精神30%结果分析1.所分析结果是否用原始记录数据2.计算结果是否正确3.实验结果分析是否合理4.对于综合实验,各项内容之间是否有分析、比较与判断等考查学生对实验数据处理和现象分析的能力;对专业知识的综合应用能力;事实求实的精神50%实验项目名称SQLServer的安全性管理实验者李志红专业班级信管1303同组者实验日期2015.11.12——12.10一、实验目的、意义可以根据系统对安全性的不同需求,采用合适的方式来完成数据库系统安全体系的设计,独立制定具体应用环境的安全策略,要求写出实验报告,详细描述安全策略的部署与实现方法二、实验基本原理与方法遵循计算机操作的基本原理和方法三、实验内容及要求1)熟练掌握SQLSERVER的完整性控制内容与方法2)可以根据系统对安全性的不同需求,采用合适的方式来完成数据库系统安全体系的设计,独立制定具体应用环境的安全策略。四、实验方案或技术路线(只针对综合型和设计型实验)本实验为综合型实验。从最基本的安全性管理方法入手,了解完整性控制内容与方法,包括数据完整性约束、存储过程、触发器、事务、封锁协议(乐观锁)、账户管理、角色管理、用户身份认证、权限控制等诸方面的安全性管理方法,独立制定具体应用环境的安全策略。制定数据库安全策略的内容:1数据完整性约束策略1.1主键约束1.2外键约束1.3非空约束1.4唯一约束1.5CHECK约束2制定索引策略,保障数据完整性,提高数据查询检索效率2.1唯一聚集索引2.2非聚集索引2.3包含性列索引3业务级安全管理策略,运用SQL编程实现领域问题应用级安全性3.1根据不同查询与数据更新需求,定义视图约束用户对数据库的访问模式,屏蔽数据库模式与内模式3.2运用游标实现行级数据访问控制3.3定义函数描述业务规则与约束3.4定义存储过程描述业务规则与约束3.5定义触发器描述业务规则与约束3.6定义事务保障业务处理的一致性与完整性3.7运用乐观锁和并发控制保障多任务环境的数据安全性4身份与权限管理策略4.1账户管理4.2角色管理4.3访问许可权限管理4.4身份认证5实验结论与总结五、实验原始记录(可附加页)(程序设计类实验:包括原程序、输入数据、运行结果、实验过程发现的问题及解决方法等;分析与设计、软件工程类实验:编制分析与设计报告,要求用标准的绘图工具绘制文档中的图表。系统实施部分要求记录核心处理的方法、技巧或程序段;其它实验:记录实验输入数据、处理模型、输出数据及结果分析)综合应用各种安全性管理方法,独立制定具体应用环境的安全策略1数据完整性约束策略1.1主键约束:主键约束在表中定义一个主键来唯一确定表中每一行数据的标识符。1.2外键约束:外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。右键单击需要设置外键的列(此时的表是作为从表在外键中出现),选择关系。接下来点击添加--表和列规范。在主键表中选择主表和主表的主键列。设置完后保存即可。1.3非空约束:非空约束就是限制必须为某个列提供值把非空的列后面的允许NULL值的勾去掉即可1.4唯一约束:唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的。右键单击要设置的列选择索引/键。然后单击添加按钮。1.5CHECK约束:CHECK约束是指约束表中某一个或者某些列中可接受的数据值或者数据格式。以学生信息表中的sex为例,我们要限制sex列的值只能为男或女。利用check约束输入如下语句:就可以完成了我们所需要的要求。倘若需要撤销check约束,则输入关闭并保存设计。2制定索引策略,保障数据完整性,提高数据查询检索效率2.1唯一聚集索引:UNIQUE;是指每一个索引值只对应一个唯一数据。功能与主键类似,聚集索引是按照键值的方式来对物理数据进行排序,下面将在sql2008创建一个索引并且使用它。首先创建一个索引。创建了一个叫做IND_Sno的索引,使student数据输出的时候以升序的顺序排列。现在输入USEcApt(自己的表名)Select*fromstudent可以看到本身在表中是乱序排列的,利用索引选择出来后是升序排列。2.2非聚集索引:2.3包含性列索引:代码为:USEcAptGoCREATENONCLUSTERDINDEXIND_student_noONstudent(Sno)INCLUDE(Sname,Sage,Sdept)Go3业务级安全管理策略,运用SQL编程实现领域问题应用级安全性3.1根据不同查询与数据更新需求,定义视图约束用户对数据库的访问模式,屏蔽数据库模式与内模式建立专业为信管的stu_info视图。代码为:createviewstd_info(学号,姓名,年级,专业,所在班级)withencryptionasselect学号,姓名,年级,专业,所在班级fromWusizhen.dbo.学生基本情况where专业='信管'查看视图脚本发现视图的定义语句被屏蔽了select*fromINFORMATION_SCHEMA.VIEWS3.2运用游标实现行级数据访问控制创建游标并使用游标访问学生基本情况表,输出宿舍号为南四115的学生学号与姓名代码为:declarestu_infocursorforselect姓名,学号fromtb_infowhere宿舍号=N'503'orderby学号openstu_infodeclare@namevarchar(50),@idvarchar(50)printN'宿舍号为503的学生有:'fetchnextfromstu_infointo@name,@idwhile(@@fetch_status=0)beginprintN'学号:'+@id+N'姓名:'+@namefetchnextfromstu_infointo@name,@idendclosestu_infodeallocatestu_infogo3.3定义函数描述业务规则与约束定义一个自定义表值函数,查询表tb_info的的全部学生基本信息,返回值为表:createfunctionClass(@classvarchar(50))returns@temptable(姓名varchar(50),学号varchar(50),宿舍号varchar(50),性别varchar(50))asbegininsertinto@tempselect姓名,学号,宿舍号,性别fromtb_infowhere宿舍号=@classorderby学号returnend调用Class函数查询宿舍503全部学生的基本信息select*fromClass('503')3.4定义存储过程描述业务规则与约束在sqlServer中,可以使用SQLServerManagementStudio和Transact-SQL语言来创建存储过程,在创建存储过程时,要确定存储过程的三个组成部分。·输入参数和输出参数·在储存过程中执行的Transact-SQL语句。·返回的状态值,指明执行存储过程是成功还是失败。(1)首先,在cApt数据库中创建一个名为procGetStudent的储存过程,用于查询dbo.student表中的所有记录。这里student标红,显示student是无效的对象,问题仍有待解决。(2)创建带输入参数的储存过程首先在数据库中建立Grade分数表,代码如下·接下来需要创建带输入参数的储存过程输入代码CREATEPROCprocGetAvgMaxMin@course_namechar(20)ASSELECTAVG(Grade)AS平均分,MAX(Grade)AS最高分,MIN(Grade)AS最低分,FROMscoreASsINNERKOINcourseAScONs.sno=c.cnoWHEREc.cname=@course_nameGOEXECprocGetAvgMaxMin其中,@course_name为输入参数,用于调用程序接收数据。接受参数后将最高分,最低分和平均分进行计算并且填表。3.5定义触发器描述业务规则与约束首先定义触发器,在表student插入数据时显示“数据插入成功”USEcAptGoCREATETRIGGERdbo.student_alertONdbo.studentafterinsertASbeginprint'数据插入成功'END插入数据INSERTINTOdbo.studentVALUES('007','哈哈','女','20','管理')3.6定义事务保障业务处理的一致性与完整性/******ScriptforSelectTopNRowscommandfromSSMS******/SELECTTOP1000[DepartmentID],[Name],[GroupName],[ModifiedDate]FROM[AdventureWorks2014].[HumanResources].[Department]USEAdventureWorks2014GOSETIMPLICIT_TRANSACTIONSONINSERTINTOHumanResources.Department(Name,GroupName,ModifiedDate)VALUES('Zhangsan','Yanzhidandang',getdate())GOUPDATEHumanResources.DepartmentSETName='WangWu'WHEREName='Zhangsan'GOCOMMITSETIMPLICIT_TRANSACTIONSOFF3.7运用乐观锁和并发控制保障多任务环境的数据安全性USEAdventureWorks2014declare@CardNovarchar(20)declare@timestampvarbinary(8)declare@rowcountintBEGINTran--取得卡号和原始的时间戳值SELECTtop1@CardNo=F_CardNo,@timestamp=F_TimeStampfromCardwhereF_Flag=0--乐观锁:默认没有修改在修改时判断--延迟秒,模拟并发访问.--waitfordelay'000:00:5
本文标题:实验报告--数据库应用
链接地址:https://www.777doc.com/doc-6446910 .html