北邮大三下数据库试验报告_第1页
北邮大三下数据库试验报告_第2页
北邮大三下数据库试验报告_第3页
北邮大三下数据库试验报告_第4页
北邮大三下数据库试验报告_第5页
免费预览已结束,剩余13页可下载查看

付费下载

下载本文档

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

文档简介

1、北京邮电大学实验报告课程名称数据库系统原理实验内容实验5数据库完整性与安全性实验班级 2013211* 姓名 *指导老师 成绩2016 年_05 月 20 日实验5 数据库完整性与安全性实验实验目的:1. 通过对完整性规则的定义实现,熟悉了解 法,加深对数据完整性的理解。2. 通过对安全性相关内容的定义,熟悉了解 加深对数据库安全性的理解SQL SERVER中完整性保证的规则和实现方SQL SERVER中安全性的内容和实现方法,新建表(N)屮 跚肆前1000行附隅前200行(E)编写表SB本为实验内容完整性实验与要求:1. 分别定义数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束

2、; 定义主键:方法一:使用 Enterprise Manager设置主键(以 book表为例) 光标移到book表的位置,右键-设计BFileTables9 口田口 在你要选的属性列右键-设置主键,完成。列名列名方法二:使用SQL语句。右键数据库,新建查询XSQLtJueryOql P.dmim§trato(/广 X 番昭alter table book add primary key(bookid)±1 J ReportServer*田 |Repo rtServerTemp D B3 (j学生囲mLOO %田琳轟黄至圏h ma |日i表± i_j±j

3、|一FileTablese EQS3s» 列f PK_book_490DlAE 15C;i± Li 如J命令已戚功完质。1设置外键:方法一:使用 Enterprise Manager设置外键(以 student表为例)单击student表,鼠标移到"键”文件夹,单击右键,选择"新建外键”门 dbo.student报rvs3田选择“表和列规范”进行设置产裡关奈远走的关嘉:;FK_sludtrtt_clas5FK_stud &rrt_stiident'兰趙表(P):正在追辑严比矣泵姑届性*需藝先埼充"盍釦歹一锐W ,屋性,然后二克按

4、垂 祐的关垂-偉規)表和顾范跳逵或铮自月巧经确呈*标识畠钢FK_std dent_stud ent说胡l> Wifii+S 我们想在student表设置class_id属性为外键,按照下图选择,点击确定,保存即可。表和列 IX黄桑£(N):FK_student_classlstudent class idi class id "方法二:SQL语句 新建查询,输入如图语句。alter table student add foreign key(class.id references class二dbo.coursie二 dbo.departinent dbo.stude

5、nt回Li列a汩? Plstudenti¥ FK_5tuclemt_cl assJ_6E0T _j约覲”l畴器m|4-100%. * *aA消息命令已弱功完彘。2. 向学生表插入具有相同学号的数据,验证其实体完整性约束;E ii_LS已r丈 int u stud已匸代valuee (? £0940206?,'魏恺? 3 1, null, nul 1, null, nul 1)100 % - <T消息消息2627,级别状态1,第1行_注反了 FRIMARY KEY约束LL FK_student$ "。不能在对象“血.航诃讹”中插入重复键。重复键值为(&

6、#167;9940206) o 语句已终止。Stude nt表的主键是学号,所以不能插入有相同学号的学生。3. 向学生表中插入一条数据,班级号是学生表的外键,验证参照完整性约束;:-insert into studentvalues C &123456f / 魏恺,1, * 1994/11/12?, ' 20132113O2J / 2013/O9/01null)100% -扁屣消息547-级别1B-状« 0>1 ftINSERT 语句与 FOKEIGN KEY"FK-Ztudent_class_i_398D8EEEo 该;中突发生于数据库哼生迭课4&q

7、uot;,表"dbo.claJ语句已终止。Class表中没有"2013211302”这个班级,所以无法插入。改变班级号为 class表中存在的, 则能够进行插入,结果如下::-ins-Kt inta studentvalues C g 12345$ "恺 1/ 1994/11/12*/£90402*/2013/00/0l null)Bselect *from student100% 口结果J消息stiaderLl.idstu-deiitnafieseKbirthclaisideatTancedatehone_addr1|23456譎恺11994-11-1

8、2 00.00:00.000諏022DI3-09-D 00:00:00.00DBULL2绅畑01张虹13964-D9-01 00.00:00.000S994I0E1999-09-03 CO:DO:W.ODO南京市克楼区古平崗3号4.删除教师表中的所有数据,验证参照完整性约束;E delate fron t bacher select 、iron teacher_course_class|100 % <百结果匕消息消息肌T,级別仙陋Q,第行DELETE语旬与KEFEB1WCB旳束"FJ认“her匚一 1皿讣_45菇55肥"冲究该璋究览生于敕据宙"学生谄课牡*克

9、气3, + Rghw_c皿m 语句已基止”(11行妥响)5. 定义存储过程,完成查询学生表中学号=g9940206的行,并执行。资料:存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,是利用SQL Server所提供的Transact-SQL语言所编写的程序。功能是将常用或复杂的工作,预先 用SQL语句写好并用一个指定名称存储起来,以后需要数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。F create procedure f ind_student_id ash.select *from studentwhere s

10、tudent_id=* g940206>100 %由消息命令已成功完成。,找定义了一个名为"find_stduent_id ”的存储过程,点击资源管理器中的"存储过程” 到它,右键-> 执行存储过程。.一i局义词-Li可牺匏-Lj” i_J爭诜胡眦境 E Sdbo-ifindla 口函歆t 站养贬器T 程学康3 !_覺型S) 规111 r LJ IK认值 a J计刘掲南 d匚j序洌呼逢施欢一.穆改(Y)执行若楮过軽迥”, 幅存碗媲於本为花) 查看恠疏赶(V)nr第賂0)右面S)启动 PowerShell(ll-Q備ab实行结果如下图:* fl X&QLQ

11、utry,15.sql血ato,別 xSQLQueryl3-,s-ql -aJ.dministirator (56)* /国空I彳膜I同述j可遍程性一1存储过IS+ lJ粟昨储过程T S d bo,find_5tud entjd 亠i M賀据库旌吕器一I理序集匸進1 EriAlSUSE【学生迭课4JGODECLARE SrAturn valu# intEXEC ®return value 一 dbo find, stud&nt idSELECT ' Return alue' = ©return value1D0 vaEludent_i d 3“W“j

12、940206:student _nanesexbirthclass_ident raace_date11981-04-0500:00:00.0001g394021999-OG-Ol 00:00:000j林每国6. 定义触发器,当向学生表插入一条记录时,将所有学生的学号值加1;并对其进行测试触发器介绍:触发器是维护表间的数据的一致性和完整性的一种机制。触发器的主要用途在于:能够对数据库的多个表的内容级联(cascade)修改 当违反参照完整性时,触发器能够撤回试图进行数据修改的事务。触发器能够实施比规则复杂的多的限制触发器还能够比较数据修改前后某表的状态,并进行相应的动作。方法一:使用SQL语句

13、IRereate trigger id_up on student for insert-as updat & studenttet student_id=T g' +cast Ccast (subst ring (student-id, 2f 7) integer +1 as nvarchar; 100 % 豆"消息命令已成功完成。stude nt_id+1。需因为学号不是纯数字,学号含有字母和数字的字符串,所以不能直接 要进行一些转换。方法二:使用资源管理器创建。右键“触发器”- “新建触发器”,弹出下图对话框。还是需要用SQL语句写,所以不再重复。SET ANS

14、I.NULLS ONCOSET QUOTED_IDENTIFIER OUGO1 = = :=一= = =:= Auth&r:Author, 9 Create date: <Create Date,f >-Description: <Description, f >ElCREATE TftIC-ER jSchema.NJie, sysname, Schema.N-ajie Trigser.Nane sysnaae, TrigserManeON <Schema_Naji;eJ<Tble_Nane? sysnan?jAF TER <Dat a_Mo

15、dificatSt at ement 3j. 5 INSERT. DELETE UPDATEASBEGINSET NOCOUNT ON added to prevent extra result sets fron ihterfering with SELECT stiteiientsSET MCCOUWT ON* Hi 旨H丹 A iHie-Insert statenents for trigser hereENDJ J二二0 0 E 0 ® E醍加审:安全性实验内容与要求:1.定义一新的登陆帐号、数据库用户,并授予其访问学生选课系统。数据库 安全性-用户-登录名-新建登录名S3S

16、S(N).自动 PowerShellfH)报表闫+ "躺 +臭制操作选项见下图冃査录客-輛迭释页 上常黒严朋务器角色2用户腆射连接就绪淮择页宮常规空服劳器角色 y用户映射r安全对象兰状态Windows島诒验证址)。SQL Server 身()验证 巒码広:确认密玛©:牯定1貶码I日密码©:强制头施巒码聲略足强制密吗过觀Q0用户在下次登录时虧须更迪密码W映射到证书獻认數拯屋屯)默认语言;映射到非对称密钥tt)映射到凭摇(M)映射的凭1S确走1=3卿本审13帮助服霁器甬色用于向用户覆予.服务器角色):di skadm 1 n procftSEadmiiL publi

17、c secur i tyadmin serveradmininbulk&djniiLdbcrealor宫脚本闵帮助映射到此登录宅的用户0):映射数据庫用户masterf JJA规劳户金态常聽用安状3 一Z-IJ4莫妮卡数榻库角色成员身份仗):学生选课QmmdbRsportS*rverR«partS*rverTempBBtifhpdlmnnmmt-ir-ik/1学生选滦41 ! I I Bl I i学生选课系绒已启用GuEEt帐户:学生选课4朋劳器:SDni-aO151113UB连接:5DO-20151113UBAd«ini str at出杳看连捋屋件就绪点击确定,用

18、户"莫妮卡”创建成功。2.分别采用 Windows 2007验证方式和 Windows 2007及SQL Server混合验证方式用不同 的用户进行登录连接;先断开当前连接。I疋桑资琼肓理器直接暂書口 rajReportServerTempta fri学生选课4输入相关信息进行连接。3. 分别用sa用户和新定义的用户访问学生选课数据库,并对其中的学生表数据进行修改; 连接sa用户,方法如上。SQLQuerylO.sql -.-.B.master (sa (60)SQLQueryS.sqLii-updat e student set studeTvt_najiie='t 吴,

19、v±L&re studant.idF7 g9S40203fE select *fron student|100 % *4结果肉消息itudtnt id5tudenVn&m<富音幫birthcls's.identrance_dah1! 59940203k udiii ii&aAi iiiuj u小昊1134-09-0100:00:00.000g994021599-09-0100:00:00 000p2g9940204袜红0184-06-0100:00:00.0001909-(K-O10:00:00,000t359940205曹雨1133-12-01

20、00:00;00. 0001999-09-0100:00:00.000p4599402®芮华1133-09-0900:DC:00. COOisgs-M-oi00:00:00 000F| 5g4020TF李红丸D1904-09-0800:00:00.000CW40Z1999-09-0100:00:00.000>修改成功。使用“莫妮卡”用户对 stude nt表进行改写。操作被拒绝。Hupdate student set student_naine- '吴小筍 where studjent_id-' g235Lselect *from student100%国结果由消息消息纳,级别14,状态5,第1行 拒绝了对对象傲拥库学生选课V -架构的UPDATE枳限。4. 创建数据库角色,并授予访问学生选课数据库的读、写权限; 授权仅以student表为例SQLQueryll-sql administrator (6

温馨提示

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

评论

0/150

提交评论