四川师范大学数据库实验原理实验报告_第1页
四川师范大学数据库实验原理实验报告_第2页
四川师范大学数据库实验原理实验报告_第3页
四川师范大学数据库实验原理实验报告_第4页
四川师范大学数据库实验原理实验报告_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、四川师范大学计算机学院实验报告册课程名称:实验学期数据库原理概论2014 年至 2015 年第一学期专业班级:软件工程4班姓名:刘世麟学号:2013110424指导教师:俞晓院系名称:计算机科学学院实验最终成绩:实验一熟悉SQL SERVE的环境(验证型实验2学时)1. 目的要求:1) 了解 SQL Server management studio的使用2. 实验内容: 回答下面每一个问题,写出实验步骤1)在 “已注册服务器窗口”中注册 sql server 数据库服务器展开【 数据库引擎】 节点, 右击 Local Server Group 节点, 选择【新建服务器注册】 命令,设置相应属性

2、,单击【保存】即可。2)在“对象资源管理器”中创建名字为 sc 的数据库 展开节点,右击【数据库】节点,选择【新建数据库】命令,在【数据库名称】后填写 sc,设置相应属性,单击【确定】即可。3)在 sc 数据库中创建一个名字为 student 的基本表 展开【数据库】节点,选择数据库并展开,右击表节点,选择【新建表】命令,设置行 列信息,保存即可。4)在查询窗口中里创建名为S C的数据库CREATE DATABASE S_C5)在查询窗口中使用sql 语言创建名字为 course 的基本表CREATE TABLE course3. 主要设备及软件 1) PC2) Microsoft SQL S

3、erver 2005实验二建立表格,并插入若干记录验证型实验2 学时)1. 目的要求: 1) 学会使用 Create Table 和 Insert 语句2. 实验内容1) 使用 sql 语言建立 student,course 和 sc 共三张表格 (包括主键 ,外码的指定) ,分析具体情 况适当给出一些用户自定义的约束 .CREATE TABLE Student (Sno char(9) PRIMARY KEY,Sn ame char(20) NOT NULL,Ssex CHAR(2),Sage SMALLINT,Sde pt char(20);CREATE TABLE Course(Cno

4、char(4) P RIMARY KEY,Cn ame char(14),Cpno char(4),Ccredit smalli nt,FOREIGN KEY(C pno) REFERENCES Course(C no), );CREATE TABLE SC(Sno char(9),Cno char(4),Grade small int,P RIMARY KEY(S no,C no),FOREIGN KEY(S no) REFERENCES Stude nt(S no),FOREIGN KEY(C no) REFERENCES Course(C no), );2)使用Insert语句向这三张表

5、格里添加至少10条记录(数据如教材56页所示),如果出现错VALUES('95OO1','李勇','男',20,'CS');VALUES('95OO2','刘晨','女',20,'IS');VALUES('95003','王敏','女',20,'MA'); VALUES('95004','张立','男',20 ,'IS');误,分析错误原因I

6、NSERTINTO StudentINSERTINTO StudentINSERTINTO StudentINSERTINTO Student SELECT* FROM Student ;SnoIIIIlliIII 131 III,SnameSsexSageSdepl李翼臭20CS刘晨立2&IS&5003王皺峦MA&5004张立215UP DATE Course SETC pno ='5' WHERE Cno= '1'INSERTINTO CourseINSERTINTO CourseINSERTINTO CourseINSERTINTO

7、 CourseINSERTINTO CourseINSERTINTO CourseINSERTINTO Course(Cno(Cno(Cno(Cno(Cno(Cno (Cno,Cn ame ,Cn ame ,Cn ame ,Cn ame ,Cn ame ,Cn ame ,Cn ame,Ccredit ,Ccredit ,Ccredit ,Ccredit ,Ccredit ,Ccredit ,Ccredit)VALUES('1','数据库',4);)VALUES('2','数学',2);)VALUES('3',信息系

8、统)VALUES('4','操作系统)VALUES('5','数据结构)VALUES('6','数据处理',4);',3);',4);',2);)VALUES('7','PASCAL 语言',4);UP DATE CourseUP DATE Course UP DATE Course UP DATE Course SELECT* FROMSETC pnoSETC pnoSETC pno SETC pno Course ;='1'= '6

9、'= '7'= '6'WHERE CnoWHERE CnoWHERE CnoWHERE Cno=3;= '4'= '5'= '7'CrioCnameCpnoCcjieditrriIIIbI _ Jill d数据库542埶学NULL23僖薜编14A操作系纟克535埶据结枸74£埶据处理NULL27PASCAL语言64INSERTINTO SC VALUES('95OO1' ,'1',92);INSERTINTO SC VALUES('95001' ,&

10、#39;2',85);INSERTINTO SC VALUES('95001' ,3,88);INSERTINTO SC VALUES('95002' ,'2',90);INSERTINTO SC VALUES('95002' ,3,80); SELECT* FROM SC;SndCnoGradeIIIIII ±11111350011 132 I95001“ 205350013as95M32M3關展开【数据库】节点,单击【表】节点,选择【新建表】,填入如下数据数据粪型筑祥Mil值Snoch目咋)Snamechar

11、po)恥Xch吨)HSagesmallirrLH H HBIII IIHBI IBHII I ch咻)iHIlIBHBIIIHIIIB « IIIHII IIHBIII IM“ if0保存的时候保存为Student就行了展开【数据库】节点,单击【表】节点,选择【新建表】,填入如下数据3)在“对象资源管理器”中实现 (1)题中的三张表教据类型? Cnocharts)Cramechaf(14) ; 5oc har(4)CcneditSTTialint保存的时候保存为Course设置外键如图所示S 擁曰表纽列觊范艸境基表CourseCno知唯一婕基表Course主/BSTg列Cno展开【数

12、据库】节点,单击【表】节点,选別名数据类型 Snodhar也)咎Cno匚 hai)Gradesmallint保存的时候保存为Course设置外键如图所示3的列瞬5匚Sno Cno却唯一缠SC主/唯一釜药一Snci, Cno1 r |»0111|歹腹基專SC陶列Cno主/睢一理基表Course主/唯一避列Cno【新建表】允许NlJI值允许Nd值,填入如下数据4)在“对象资源管理器”中向这(1)题中的三张表添加至少10条记录(数据如教材56页所示)如果岀现错误,分析错误原因第一张表中插入数据Sno5 nameSsexSage£dept95C01李勇禺30匚S95W2刘晨女19b

13、95C03王a立IBMA.79W04张Hs19日NULLNULLMULLNULLMULL第二张表中插入数据匚no卜,2Cnrne数库信息系统 换作系统 数拥结构 数粥处理 PASCALCpnQ5匚 credit4第三张表插入数据SroSRKT1阿*CnoGrade929500135350Q1as9500 Z905500Z503.主要设备及软件1) PC2) Microsoft SQL Server 2005实验三 修改表格结构,修改和删除表格中的数据(验证型实验4学时)1. 目的要求:1)用ALTER语句修改表结构:添加列,修改列定义,删除列。使用UP DATE和DELETE 语句修改和删除S

14、tudent,sc, course表格中的数据。2. 实验内容如下所示,创建表 S,并完成随后的操作Create table s(s no char(2) p rimary key,s name char(10);1)向表中添加属性列status,数据类型为intALTERTABLE s ADD status int ;2)向表中添加属性列 city, 数据类型为 varchar(20), 并限定其取值范围为“上海”,“北京”,“天津”之一ALTER tables ADD city varchar (20);Alter tables add constraint CK_city check (

15、 city ='上海' or city ='北京 ' or city ='3)4)5)天津' );ALTER tableALTER tableALTER table修改属性列 status 的数据类型为 smallints ALTER COLUMN status smallint删除( 3)题中取值范围的约束s DROPCK_city ;删除属性列 statuss DROPCK_city ;如教材 85 页所示,建立 student, sc, course等表 , 并插入若干数据,完成如下操作:列出没有成绩的学生的学号和课程号SELECT Sno

16、, Cno FROMsc WHEREGrade IS NULL;列出 2 号课程成绩在 70 分到 80 分学生的学号SELECT Sno FROMsc WHEREGrade = 2 AND Grade between 70 AND80 ;查询所有 2005 级的学生的姓名,性别和所在系SELECT Sname, Ssex, Sdept FROMstudent WHERESno LIKE '2005%' ;查询计科系 2004 级全体学生的所有信息SELECT* FROMstudent WHERESdept = 'js' ANDSno LIKE '200

17、4%' ;查询计科系 2006 级 3 班和 4 班学生的姓名和性别SELECTSname,SsexFROMstudent WHERESdept ='js' AND( Sno LIKE '2006_3%' ORSnoLIKE '2006_4%' );查询数学系所有学生的姓名,性别和出生年份SELECT Sname, Ssex, 2012- Sage FROMstudent WHERESdept ='math' ;将course表中名为PASCAL语言的课程更名为“ C语言”UPDATECourse SET Cname =

18、'C 语言' WHERECname = 'PASCAL' ; 将所有课程的学分增加 1 分UPDATECourse SET Ccredit = Ccredit +1;删除没有选课成绩的选课记录DELETE FROMsc WHEREGrade IS NULL;删除“ IS ”系的所有学生信息DELETE FROMstudent WHERESdept ='IS' ;删除所有的课程信息DELETE FROMCourse ;3. 主要设备及软件 1) PC2) Microsoft SQL Server 2005实验四 查询(多表查询,嵌套查询,分组查询)

19、验证型实验12 学时)1. 目的要求:1) 实现单表和多表的普通查询和嵌套查询。包括返回单值的子查询和返回多值的子查询。 使用 5个聚合函数以及 GROUP BY 子句和 HAVING 子句实现分组查询 .2. 实验内容有如下关系模式,分析每个关系模式的主码,外码,完成后面的查询职员表:Emp( eid:i nteger;e name:stn ng,salary:real)咅部门表:Dep t(did:i nteger,d name:stn ng,ma nagend:i ntegerflo orn um:i nteger)职员与部分的关系表:Works(eid:i nteger,did:i n

20、teger)Works表表示:一个职员可以在多个部门工作,一个部门有多个职员De pt表中man agerid可以取值n ull,表示尚未任命部门经理,floornum 可以取值n ull ,表 示尚未分配工作地点用单表查询完成如下操作:1)输出所有员工的姓名和工资SELECT ename , salary fflianws 盘 ary1 歐阳頁丹4CHXK) IM liar监阳红梅 2阳青青 朱凌云 朱凌霄朱棣 薛程 向羞 向香FROM Emp;2)3)4)245'&7aJMMIWXMXJlEHODOllfXHX)4&M04EMXH3101113131415刘丽 Sa

21、ntd白域 白云 田昕 界芝 姓fft雅BWOaoooTWDO3M00 ora 50000输出薪水少于SELECT ename100 000的雇员的名字10 000或者大于FROM Emp WHERE salary < 10000 or salary > 10000012345ename IIHIIBIHBIII rHBIIIHII IIHnil i欧州青青j薛程 划丽 SarTti输出所有姓“欧阳SELECT ename ,”,且全名为四个字的雇员的姓名和工资salary FROM Emp WHERE ename LIKE '欧阳ename salary-r ! f 0

22、1 in Ti 1- 1 歐阳罰40000kllB-IIBIUJIlBL LIIIIIIUP2 K阳a梅250冈3 聊晴青9000输出薪水在20 000和50 000之间的雇员的名字SELECT ename FROM Emp WHERE salary BETWEEN 20000 AND 500005)6)7)8)1345ename rwiBiiimi iirBniiBi 日夏丹i、 . . H 4晩理梅向羞白云乔乏输出部门名字中含有“的所有部门的名字和楼层号SELECT dn ame , floor numFROM Dept WHERE dn ame LIKE '%_%'dna

23、meflcwmumI Illi 1媒体策划血买92硏究-容户规划9查询公司的员工数SELECT COUNT(*) FROM Emp;I'1 M丁!查询所有还没有部门经理的部门的名字和编号SELECT dname , did FROM Dept WHERE managerid is NULL;dPiamt iddiddnamemana庐ridfloatTiLin1丽j1 H . H J宫戶管理1MJ592902仓憶服务100593取3煤体策划英买1()0594904硏穽車户观划1M695M5美术1财9M6101297W7果1W339510011M41021002人事1WJ41010100

24、3财经100410111004新闻100410查询所有已分配楼层的部门的所有信息SELECT * FROM De pt WHERE floornum is NOT NULL;ESCAPE ''7 3 o 1 T JI T JI i1MM1004IMM1M41刚1WJ41W)71010ia101010la用连接查询完成如下操作:查询“电视”部门的职工人数SELECT COUNT( did ) FROM WorksWHERE dname ='电视');1)WHERE Works . did=(SELECT didFROM Dept2)氏列名) llkll klllB

25、iM Illi i*l I I V1ie i"H IIH输出每个部门的名字和平均工资selectdname , avg ( salary ) fromand dept . did =works . did group b1dnarrte(无列庠) KMXHJO2僅媒r j3创意朋务4电视476« «66eW6ft75广告IfflXMX)>&海外10W007技术lOOMX)a喜户管理G72509媒体第划买65250'emp, dept , worksdn ame ;where emp. eid=works . eid3)1Q|7775011A&

26、#165;lOWTO12社埶lOWffi'13糖果235W14fit具6S25C15文SlOOOM'16薊闻imoo17研究占户规划S275018资源100TOQ查询每个部门的部门编号,及其拥有的雇员的人数select Dept . did , Cou nt ( eid ) from De pt , Works WHERE Dep t . did GRO UP BY De pt . did ;=Works . did1 i、,3301 49024344454|g47W74|31W139100(331'J3111004312&3131006311OT73151俪3

27、11刚3173IB10116查询在第10层工作,SELECT DISTINCT Works.did=Dept4)did同时薪水少于Y 50000的所有雇员的名字ename FROM Emp, Dept , Works WHEREEmp. eid =Works . eid AND :.did AND De pt . floornum = 10 AND salary > 50000;ename准雅i X薛程朱棣5)输岀同时管理三个或者更多部门的管理者的名字3)select en ame from dep t,e mp where dep t.ma nagend=e mp .eid grou

28、p by man ageride namehav ing cou nt(did)>=3;erame1丨来叢云I2 未黄脅6)输岀管理在同一层上10个以上部门的所有管理者的名字SELECTS name FROM)e pt , Emp WHER Emp. eid = Dept . man agerid grou p by man agerid ,floornum , ename having COUNgid ) > 10 ;ename7)输岀雇员“刘丽”工作的部门的名字SELECTdname FROMEmp, Dept, Works WHER Emp ename ='刘丽

29、9;ANDEmp eid = Works . eidANDWorks . did = Dept . did ;dname1I就* IIIHII IIIWII !用嵌套查询完成如下操作:1)查询工资最高的雇员的名字SELECT enameFROM EmpWHEREsalary =( SELECT MAsalary ) FROM Emp;ename lO li薜程2)查询工资最低的雇员的名字及其所在部门的编号和名字SELECTename, Dept. did , dname FROM:mp Dept, Works WHEREalary = (SELECTMIN( salary )FROMEmp)

30、ANDEmp. eid = Works . eid ANDWorks . did = Dept . did ;erame; L-1 II I t i划丽i Ihtllllll-llll HW lllllSantaSdntadid10119011011dname电视容户管理电视输岀与Santa工作部门相同的所有雇员的所有信息SELECTE mp. eid , en ame, salary FROMEm p, De pt, Works WHER Emp. eid = Works . eid AND9)Works. did=De pt. did ANDDe pt. did in( SELECTdid

31、 FROMWorks WHEREeid = (SELECTeidWHEREname ='Sa nta');eidenamesalary1 ' I I I rLH IIIi 1M5 j朱凌肓11'Oi2一而亍SantagMO310'13白域TEHXH)410'17姓成雅WMW51W7薛程mm霜lO'IO划丽ftMO11W1欧阳夏丹+EHKK)£1011Santaa31014白云iWDO1010'17ft®雅FROME mp4)找岀薪水在20 000以上,并且在电视部门或者玩具部门工作的雇员的名字SELECTDIS

32、TINCT ename FROMEmp. Dept, Works WHER Emp eid = Works. eidANDWorks . did5)=Dept . did ANDsalary > 20000 ANDdname in (SELECTdname FROMDept电视'or dname='玩具');2345enameIIHJII ILHIII BliH HJBIII i首云、H H欧阳红梅日夏舟薜程输岀与刘丽在同一层工作的雇员的名字WHEREname='234575ANDWorks . didSELECTDISTINCT ename FROMEm

33、p, Dept, Works WHER Emp eid = Works. eid=Dept . did ANDfloornum in (SELECTDISTINCT floornumFROMDept , EmpWorks WHEREDept. did = Works . did ANDWorks . eid = Emp. eid ANDEmp. ename ='刘丽');ename|l Ulli SantaI H H H -自云刘丽7)8)SELECTDISTINCT ename FROMEmp, Dept, Works WHEREsalary > All( SELECT

34、salary FROMEmp Dept WHEREmp. eid = Dept . managerid ANDEmp. eid = Works . eid ANDWorks . didDe pt. did ANDe name in( SELECTe name FROMEmp);enarrre1 BAM伯域3、空34必畑aM丹5乔芝£田昕7向£3向香9姓僦w薛程11弓&芸凡121314未凌云输岀满足如下条件的各个部门的名字:经理的姓为张,同时他的薪水既不是本部门最高也不是最低SELECTDISTINCT dname FROMWorks , Dept, emp wher

35、e Dept . managerid =emp eid and enamelike '张%' ANDsalary <( select max( salary ) FROM?mp WHEREid IN( SELECTeidworks , De pt WHERWorks . did =De pt. did) ANDsalary >( SELECT mi n( salary ) fromwhere eid in( select eid from works where works . did =dept. did );输岀比“玩具”部门所有职工工资都高的雇员的姓名FROM

36、empSELECTe name FROME mp WHEREalary > (SELECTmaX salary ) FROME mp Works, De ptEmp eid = Works . eid ANDWorks . did = Dept . did ANDDept . dname='玩具');输岀比“电视”部门职工平均工资高的雇员的姓名SELECTe name FROME mp WHEREalary >( SELEcT AV(G salary ) FROME mp, Works, De ptWHEREWHEREEmp eid = Works . eid AN

37、DWorks . did =Dept. did ANDDept . dname ='电视'GROUPBYDe pt. did );2345£1£SenameI ari rTiiBii r - 朱彖云宋棣10)找岀所有有职工的部门的名字和楼层号薛程 张蔓凡 白诫 田昕 养壬12)SELECT dn ame, floor num FROM Dept WHEREdid in( SELECT DISTINCT did FROM Works);dname|. *«. . . ILH III待金理floorriLun311)查询所有没有职工的部门编号和名字SE

38、LECT did , dnameFROM Dept WHEREdid not in( SELECT DISTINCT didFROM Works);did dname输岀同时在玩具部门和糖果部门工作的雇员的名字和薪水SELECTDISTINCT en ame, salary FROME mp , Works, De pt WHER Emp. eid=Works. eid ANDWorks. eid in (SELECTeid FROMWorks, De pt WHER Works. did = De pt. didANDDept. dname='玩具')ANDWorks . e

39、id in ( SELECTeid FROMWorks , Dept WHERWorks . did = Dept . didANDDept . dname='糖果');2e側券9媒体莆划显买34硏兗_畧户規划95美术997糠果53109A¥TQ10ly经1011wo1012葺外1D13社教TD14U15广告1D16W17借媒TD1B电视Wena salaryI !-'Fl1 ii 25M0n.X. _ ujir2 思夏舟 4j3. 主要设备及软件1) PC2) Microsoft SQL Server 2005实验五为表格建立约束,修改约束和查询约束(验证型

40、实验4学时)1. 目的要求: 1)使用ALTER语句和CREATE语句建立、修改、删除和查询约束2. 实验内容: 执行以下SQL语句,完成随后的操作,若有错误,分析错误原因并改正错误: create table student(sno char(9) not null , sname char(10),ssex char(2),sage tinyint,sdept varchar(40);create table course(c no char(4) not nu II, cn ame varchar(30),c pno char(4),credit tinyint)create table

41、 sc(s no char(9),char(5),grade nu menc(3,1);出错第三句改为create table sc(s no char(9), eno char(5), grade nu menc(3,1)1)在student表中,使sdept只能取值“计算机科学学院”,“数软学院”,“电子工程学 院”,“化学与材料科学学院”Alter table student add constraintCK_sdept check (sdept ='计算机科学学院or sdept ='数软学院or sdept -电子工程学院or sdept ='化学 与材料科学

42、学院);2)在student 表中sage有默认值183)为 student表建立主键ALTER TABLE studentADD PRIMARY KEY( Sno) ;4)为 course表建立主键和外键,其中外键约束名为 C_FK_CPNOALTERTABLE course ADD primary key ( cno), C_FK_CPNOCHAR( 4) FOREIGNKEY( cpno)REFERENCEScourse ( cno);5)为 course表建立检查约束,限定 credit 的取值只能取 3, 2, 4, 5;ALTER TABLE courseADD CHECK( cr

43、editin( '3' , '2' , '4' , '5' );6)为 course表建立唯一约束,确保每们课程名字唯一ALTER TABLE courseADD UNIQUE( cname);7)为 sc 表建立主键和外键,并给出相应的约束名ALTER TABLE sc ADD constraint PK_sno_cno PRIMARY KEY( sno, cno), FK_sno CHAR( 9)FK_cno CHAR( 4) FOREIGN KEY( cno)FOREIGN KEY( sno) REFERENCESstude

44、nt ( sno),REFERENCEScourse ( cno);8)在 course 表中插入元组 (1, 数据库,5,4) 和 (2, 数学, null,2),若不能正确插入,分析原因,给出解决办法不能正确插入,因为数据类型不对,更改方案INSERT INTO course (cno, cname, cpno, creditVALUES( '1', ' 数据库 ' ,'5',4);INSERT INTO Course ( cno, cname, cpno, creditVALUES( '2', ' 数学' ,

45、null,2);若前面的题中建立了约束关系,那删掉9)在 sc 表中插入元组( 95001,1,92)和( 95001,3,88),若不能正确插入,分析原因,给出解决办法INSERT INTO Course ( cno, cpno, credit ) VALUES( 95001, 1, 92);INSERT INTO Course ( cno, cpno, credit ) VALUES( 95001, 3, 88);等对约束进行查询和管理若前面的题中建立了约束关系,那删掉使用系统存储过程, sp_help, sp_helpconstraint1)查阅联机帮助文档,选中“索引”选项卡,分别输入

46、sp_help,sp_helpconstraint ,阅读其帮助信息。使 SC 数据库成为当前数据库,执行如下命令,简要解释执行结果Exec sp_helpsp_help 过程仅在当前数据库中查找对象。Exec sp_help student列出 student 中所有对象的对象名称、所有者和对象类型。Exec sp_help course列出 course 中所有对象的对象名称、所有者和对象类型。Exec sp_helpconstaint scExec sp_helpconstraint student3)对存储过程 sp_help 和 sp_helpconstraint 进行总结,简要解释

47、其用途sp_help :报告有关数据库对象( sys.sysobjects 兼容视图中列出的所有对象)、用户定义数据类型或 SQL Server 2008 提供的数据类型的信息。sp_helpconstraint :返回一个列表, 其内容包括所有约束类型、 约束类型的用户定义或系统提供的名称、定义约束类型时用到的列,以及定义约束的表达式(仅适用于DEFAULT 和CHECK 约束)。修改约束:关闭和打开某个约束。1)在 course 表中插入元组( 4, 数据结构, 6, 4),能够插入吗?为什么?不能,首先数据格式不定,其次 6 不符合外键约束2)禁用约束C_FK_CPNO再次插入元组(4,

48、数据结构,6, 4),能够插入吗?为什么?可以插入,因为约束已经删除3)重新启用约束 C_FK_CPNOALTER TABLEcourse check constraintFK_course_C_FK_CPN_0F975522;3. 主要设备及软件 1) PC2) Microsoft SQL Server 20051. 目的要求:实验六 Sql Server验证型实验数据库安全管理4 学时)1) 建立用户,为用户赋权限,收回权限,建立角色,给用户赋角色2. 实验内容:分别在对象资源管理器和查询窗口中完成下列操作创建建登录帐号 john, 并使其成为固定服务器角色 dbcreator 的一个成员

49、 CREATE LOGIN john WITH PASSWORD = '123456' ;1)2)授予 john 服务器权限: alter any login , create any database 张开 grant系统数据库】节点,选择【 masteralter any login , create any】数据库,新建查询执行 database to john ;3)John 可以,因为上题已经赋予了CREATE LOGIN mary WITH PASSWORD = '123456'可以创建登录帐号吗?为什么?,若能,alter any login创建安

50、全登录帐号帐户的权限Mary4)创建用户 Mary123, 使用安全登录帐号 Mary5)6)7)8)9)10)展开【系统数据库】节点,选择【 master 】数据库,新建查询执行 GRANT ALTER ANY LOGIN TO mary ;create user Mary123 for login授予帐户 Mary123 查询和修改 student GRANT SELECT , ALTER on studentMary ;表的权限TO Mary123 ;创建角色 teachers, 拒绝 teachers 修改 student 表 CREATE ROLE teachers ;DENY SE

51、LECT ON OBJECT : studentTO teachers使帐户 Mary123 成为 teachers 的一个成员, Mary123 能够查询和修改 student 表吗?为 什么?EXEC sp_addrolemember 'teachers' , 'Mary123'能,因为 teachers 具有查询和修改的权限;而 Mary123 是 teachers 的一员。如果希望角色 teachers 能够修改 student 表,应该怎么做? GRANT ALTER ON student TO teachers ;授予帐户 Mary123 在数据库 sc 中创建表和创建视图的权限GRANT ALTER ON schema : dbo TO mary123 GRANT CREATE TABLE , CREATE VIEW To Mary123 ;若 mary123 分别是固定数据库角色 d

温馨提示

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

评论

0/150

提交评论