实验五 数据库完整性一、实验目的掌握SQL Server2000中有关约.
- 格式:ppt
- 大小:1.41 MB
- 文档页数:8
数据库原理及应用实验报告实验题目:定义表和数据库的完整性和表数据的插入,修改和删除系:经济学班级:、、、、、、、、、、学号:、、、、、、、、、、、姓名:、、、、、、、、任课教师:、、、、、、、、、、时间:2012年11月一、实验目的(1)了解SQL Server 2000的基本数据类型,空值的概念,以及表的结构特点。
(2)学会使用T-SQL语句和企业管理器创建表结构和修改表结构。
(3)学会使用SQL Server 2000提供的数据完整性功能,并在创建表是定义表的数据的完整性。
通过实验进一步理解数据完整性的概念和分类。
(4)掌握使用T-SQL语句和企业管理器对数据表进行插入,修改和删除数据的操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。
通过本实验,要熟练掌握INSERT,UPDATE,DELETE语句和使用方法。
二、实验环境装有SQL Server 2000的实验机。
三、实验前准备1.要明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。
2.创建数据库必须要确定数据库名、所有者、数据库大小和存储数据的文件。
3.确定数据库包含哪些表以及包含的各表的结构并且弄明白各表之间的关系。
还要了解SQL Server 的常用数据类型,以创建数据库的表。
4.了解常用的创建数据库和表的方法。
企业管理器创建和语句创建都要会。
5 .要会进行数据的插入、删除、修改的操作方法。
四、实验内容(1)用企业管理器在数据库中创建名称为“020李”的数据库,在其中创建学生表student,课程表course,学生选课表sc,根据课本中的表结构创建后,如下图所示Student表Sc表Course表(2)用T-SQL语句在“020李”数据库中创建客户基本信息表customers,货品信息表goods,订单信息表orders,它们定义如下:create table customers(customerID int identity(1,1) primary key,Cname varchar(8) not null,address varchar(50),city varchar(10),tel varchar(50),birthday datetime,type tinyint default 1);create table goods( goodsid int constraint C1 primary key, goodsname varchar (20)not null,price money ,description varchar(200),storage int,provider varchar(50),Status tinyint default(0));create table orders(orderid int identity(1,1) constraint c2 primary key ,goodid int not null references goods(goodsid) on delete cascade,customerid int not null foreign key(customerid)references customers (customerid) on delete no action,quantity int not null constraint c3 check(quantity>0),ordersum money not null,orderdate datetime default(getdate())); customers表Goods表Orders表(3)、使用SQL语句在SPJ数据库中创建第2章习题10中的四张表;供应商表S,零件表P、项目表J和供应情况表SPJ,数据类型自行设计,注意同时定义主键、外键和其他的数据完整性。
实验9:数据库安全性实验一、实验目的加深对数据库安全性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法.二、实验内容1.数据库的安全性实验。
在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQL Server的用户和角色的管理,设置和管理数据操作权限.三、实验原理和步骤1.设置SQL Server的安全认证模式,选择混合模式。
右键服务器属性—安全性:选择SQL Server和Windows身份验证模式.重启服务,生效。
2.账号:sa账号登录3.登录帐号的管理1)将Windows帐号添加到SQL Server 2005中创建操作系统用户-4.数据库用户的管理1)dbo用户;查看banking数据库的dbo用户,查看用户权限。
2)U1用户;创建banking数据库的U1用户,查看用户权限。
5.权限管理1)赋予所创建的U1用户db_datareader角色,查看用户权限2)赋予所创建的U1用户db_datawriter角色,查看用户权限3)赋予所创建的U1用户db_owner角色,查看用户权限4)两种方法赋予所创建的U1用户对banking数据库表customer的select权限,验证并写出sql语句5)两种方法赋予所创建的U1用户对banking数据库表branch的select和对branch_name修改的权限,验证并写出sql语句6)把对loan表的update权限授予所创建的U1用户用户,并允许将此权限再授予其他用户,验证并写出sql语句7)两种方法回收所创建的U1用户对banking数据库表customer的select权限,验证并写出sql语句8)两种方法回收所有用户对banking数据库表loan的update权限,验证并写出sql语句四、实验报告要求要求写出如下设计报告:1.用Transact—SQL写出实验操作的语句2.实验步骤和实验结果。
实验六安全性和完整性控制【实验目的】1.掌握SQL Server2000的安全性机制2.掌握SQL Server2000中有关用户、角色及权限的管理方法3.掌握数据库的保护措施-----完整性控制。
【实验内容】1.使用样本数据库同实验一。
2.实行如下要求查询或操作:在student表SNO属性上创建主键;在C表的Cno属性上定义主键;在SC 表的Sno,cno属性上定义主键;定义SC表的外键其中SC表的Sno参照S表的Sno,SC表的Cno参照C表的Sno。
在SC表的成绩列上创建检查约束要求成绩的取值范围为0~100(用SQL语句添加约束的方法)1)aLter table students add constraint pk_students primary key(sno)2) alter table sc add constraint pk_sc primary key(sno,cno)3) alter table c add constraint pk_c primary key(cno)4) alter table sc add constraint fk_sc_c foreign key(cno) references c(cno),constraint fk_sc_students foreign key(sno) references students(sno) 5) alter table sc add constraint ck_sc check(grade>=0 and grade<=100)3.建立学生登记表Student,要求姓名不能取空值,年龄小于30,性别只能是“男”或“女”。
*/alter table students add constraint ck_student check(sname<>null and age<30 and sex in( '男','女'))4.使用企业管理器或sp_addlogin创建SQL Server帐号U1,U2,并分配他们访问数据库的权限 exec sp_grantdbaccess ‘U1’。
《数据库系统原理》实验指导书《数据库系统原理》实验指导书实验1 熟悉SQL Server 2000环境及数据库⽂件管理⼀、实验⽬的1、掌握登录SQL Server 2000的⽅法,熟悉SQL Server实⽤⼯具的使⽤;2、了解SQL Serve数据库的存储结构,掌握估算数据库⼤⼩技术;3、掌握创建数据库技术,掌握扩⼤和压缩数据库技术;4、掌握使⽤企业管理器⼯具和T-SQL语句及系统存储过程对数据库进⾏管理。
⼆、实验要求1、熟悉SQL Server 2000的⼯作环境,了解SQL Server主要管理⼯具的⽤途和使⽤⽅法。
2、掌握在SQL Server 2000环境下,利⽤企业管理器和T-SQL语⾔创建和管理数据库的⽅法。
三、实验设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中⽂版四、实验原理、⽅法上机操作五、实验步骤及内容(⼀)实验步骤1、教师讲授2、教师演⽰3、学⽣实际操作(⼆)实验内容1、熟悉SQL Server 2000管理⼯具(1)企业管理器(Enterprise Manager)(2)查询分析器(Query Analyzer)(3)服务管理器(Service Manager)(4)事件探查器(Profiler)(5)导⼊和导出数据(Import and Export Data)(6)SQL Server其他管理⼯具2、数据库⽂件管理(1)数据库的创建和删除。
①在企业管理器中建⽴⼀个图书读者库。
图书读者数据库中将包括⼀个数据⽂件和⼀个⽇志⽂件,各⽂件的属性见表1-1。
②删除上题所建的数据库然后⽤T-SQL语句重新创建。
(2)修改数据库①查看图书读者数据库的属性及数据⽂件和⽇志⽂件的空间使⽤情况。
②在企业管理器中,⾸先扩⼤图书读者数据库的主数据⽂件的⼤⼩,然后查看扩⼤后的数据库属性,接着收缩主数据⽂件到定义时的⼤⼩。
实验五数据库的安全性控制一、实验目的:1. 通过实验加深对数据安全性的理解,并掌握SQL Server中有关用户登录的认证以及管理办法;2. 通过实验加深对数据库存储控制机制的理解,通过自主存取控制进行权限管理,熟悉SQL Server中角色管理;3.通过实验加深对数据安全性的理解,熟悉视图机制在自主存取控制上的应用。
二、实验内容1.设置SQL Server的混合安全认证模式。
在SQL Server中的对象资源管理器中设置安全认证模式。
2.在SQL Server中,利用“对象资源管理器”创建一个名为“U1”的登录用户和数据库用户,密码为111,并允许其登录S-T数据库。
3.在SQL Server中,利用代码创建一个名为“U2”的登录用户,密码为111;其相应的数据库用户名为lucky,并允许其登录S-T数据库。
4.用“u1”用户名登录后,执行对students表的查询操作,说明执行结果,并分析原因(建议:在启动一个SQL Server 2008窗口)。
分析:没有对u1进行其他操作的授权,只能登录而不能进行插入,修改等操作5.将students表的操作权限select和insert赋予数据库用户u1,并允许其向其它用户授权。
6.以“u1”用户名登录,执行对students和teacher表的查询操作,将该运行结果进行分析。
分析:对比第4题,对U1进行授权后可以进行相应的操作7.执行下列代码后,分析用户u2能否对s_t数据库的student表进行select 和update操作,为什么?并用相应的语句验证。
分析:首先grant给public组赋予了查询,插入,更新权限,然后给lucky用户赋予了对S表的所有权限,然后又revoke收回了lucky的权限,但并没有收回public组的权限,而deny却收回了lucky的更新权限,故查询可实现,而更新不可实现8.以sa登录数据库,在s_t数据库的stc表上创建选修了课程B001的视图st_view。
实验五SQL SERVER 完整性与安全性一、实验目的掌握SQL SERVER数据访问控制策略和技术,SQL SERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。
二、实验内容1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。
2.分别为三个登录名在“gongcheng”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“gongcheng”数据库。
3.授予用户John创建表和视图的权限。
grant create table,create viewto John在“gongcheng”下,安全性—John—属性,选择安全对象,搜索特定对象,选择“gongcheng”表,在权限中选择“创建表”和“创建视图”,如图:即可赋予John“创建表”和“创建视图”的权限。
4.完成以下授权:(1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。
grant inserton Sto tomwith grant option(2)用户Mary对S,P,J三个表有SELECT和INSERT权力grant select,inserton Sto Marygrant select,inserton Pto Marygrant select,inserton Jto Mary(3)用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDA TE权力。
grant delete,update(qty)on spjto Tom(4)把对用户Tom授予的所有权力收回revoke inserton Sfrom Tom cascaderevoke delete,update(qty)on SPJfrom Tom(5)对用户Mary增加SPJ表的SELECT权力。
grant selecton spjto Mary5.两个同学为一组(自由搭配),在自己的数据库服务器上分别为对方创建一个登录名,并授予一定权力,然后用对方为自己创建的登录名和对方的数据库服务器建立连接,进行登录,对对方的数据库服务器进行操作。
实验五数据库的完整性实验(含代码)实验五数据库的完整性与安全性实验⼀、实验⽬的使学⽣了解SQL Server 2005的完整性与安全性机制,并掌握SQL Server 2005中完整性控制和安全管理的⽅法。
⼆、实验内容1、在“图书读者数据库”(Book_Reader_DB)中完成完整性控制的相关操作;2、“图书读者数据库”(Book_Reader_DB)中完成安全性控制的相关操作。
三、实验环境与实验准备⼯作实验环境:Microsoft Windows操作系统,Microsoft SQL Server 2005数据库管理系统标准版或企业版。
实验准备⼯作:在开始本实验之前,请回顾教科书的相关内容(数据库的完整性)。
四、实验⽅法与步骤1、使⽤sql脚本⽅式删除Book_Reader_DB数据库内的所有键和约束。
Sql脚本⽰例:Use Book_Reader_DB;Goalter table表名drop constraint键名|约束名;2、使⽤sql脚本定义刚刚删除的所有键和约束(实体完整性、参照完整性和⽤户⾃定义完整性约束)。
Sql脚本⽰例:alter table 表名add constraint 键名|约束名(三类完整性约束)要求:参照完整性要定义违约处理策略。
3、定义Defaul约束将Read表中“性别”的默认值改为“男”,然后输⼊数据验证。
(1)在企业管理器中完成。
(2)在查询分析器中完成(sql脚本完成)。
4、Unique 约束将Book表中“作者”加上唯⼀性约束,然后输⼊数据验证,并分析唯⼀性约束与主键约束的区别。
(1)在企业管理器中完成。
(2)在查询分析器中完成。
5、使⽤sql语句操作数据库,验证以上定义的所有约束,掌握DBMS的完整性控制机制。
上述每项实验内容相应的实验步骤必须进⾏详细的记录,并将其整理后写在实验报告中。
五、实验报告要求1、根据实验内容和每⼀步骤实验的结果,按课程实验报告的撰写规范完成实验报告。
实验5 数据库的安全性与完整性一、实验目的(1)理解数据库的安全性与完整性概念(2)掌握数据库的安全性控制技术(3)掌握数据库的完整性控制技术二、实验环境Windows XP+SQL Server 2000三、实验内容1.设置安全认证模式方法:服务器组上右键“属性”|“安全性”。
2.创建登录用户(1)利用企业管理器创建登录用户方法:安全性|登录,右键。
【例1】创建4个登录用户U1、U2、U3、U4,创建U1和U2时均选中数据库访问为SP,使他们成为SP数据库的用户,创建U3和U4时不选中任何数据库。
(2)使用T-SQL语句创建登录用户语法为:sp_addlogin 登录名[,登录密码[,默认数据库]]注意:未指定默认数据库时,默认数据库是master。
【例2】创建登录用户,登录名为丁勇,密码为dy,默认数据库为SP。
3.修改登录用户(1)利用企业管理器修改登录用户(2)使用T-SQL语句修改登录用户语法为:sp_password 旧密码,新密码,登录用户名【例3】以sa登录服务器,修改登录用户丁勇的密码。
4.删除登录用户(1)利用企业管理器删除登录用户(2)使用T-SQL语句删除登录用户语法为:sp_droplogin 登录用户名【例4】删除登录用户U4。
注意:若待删除登录用户已是某数据库用户,则需先删除数据库用户,再删除登录用户。
5.创建数据库用户(1)利用企业管理器创建数据库用户(2)使用T-SQL语句创建数据库用户语法为:sp_adduser 登录用户名【例5】创建SP的数据库用户U36.删除数据库用户(1)利用企业管理器删除数据库用户(2)使用T-SQL语句删除数据库用户语法为:sp_dropuser 数据库用户名【例6】删除SP的数据库用户U2。
7.创建数据库角色(1)使用企业管理器创建数据库角色(2)使用T-SQL语句创建数据库角色语法为:sp_addrole 数据库角色名sp_addrolemember 角色名用户sp_droprolemember 角色名用户【例7】为SP数据库创建数据库角色R2,将用户U1添加至R2中,再从R2中删除U1。