南昌大学数据库实验报告_第1页
南昌大学数据库实验报告_第2页
南昌大学数据库实验报告_第3页
南昌大学数据库实验报告_第4页
南昌大学数据库实验报告_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、实 验 报 告目 录一、 实验一 实验环境的建立3 二、 实验二 数据库及表的建立12三、 实验三 表的查询16四、 实验四 数据操纵24五、 实验五 数据库完整性、安全性研究27六、 实验六 简单系统的设计33 南昌大学实验报告实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验一一、实验项目名称:实验环境的建立二、实验目的:1了解SQL Server 2000常用版本和对操作系统的不同要求 2熟悉SQL Server 2000的基本性能3正确安装和配置SQL Server 2000三、实验基本原理 SQL即结构化查询语言,是关系数据库的标准语言,SQL是一个综合的、功能极强同时

2、又简洁易学的语言。它集数据查询、数据操纵、数据定义和数据控制功能于一体。 自SQL成为国际标准语言之后,各个数据库厂家纷纷推出各自的SQL软件或与SQL的接口软件。这就使大多数数据库均用SQL作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。 Microsoft SQL Server 2000是美国微软公司推出的使用相当广泛的数据库管理系统,包含一套图形工具,如服务器管理(用于启动和关闭数据库服务)、企业管理器(用于创建和修改数据库及备份数据库等)和HYPERLINK " 语句和过程并提供图形查询分析功能)等。四、主要仪器设备及耗材 相互连成LAN的计算机

3、2台以上,windows 2000 server 操作系统,SQL Server 2000安装标准版安装软件。五、实验步骤 安SQL Server 2000:将安装光盘放入CDROM,将自动弹出“SQL Server自动菜单”界面,如果没有自动弹出则选择光盘根目录下的autorun.exe,双击运行:选择运行“安装SQL Server 2000组件”进入安装组件界面,选择“安装数据库服务器”。进入安装界面后,按照安装提示进行安装;一般需要人工进行干预的有:选择安装类型和安装路径:安装类型有:典型安装、最小安装、和自定义安装。安装路径是指SQL Server的系统文件和数据文件的安装位置。默认情

4、况下“安装类型”是典型安装,“安装路径”是操作系统设定的“Program Files”文件夹。你可以自行改变,初次安装最好不要改变他,按默认情况使用; 配置启动服务的帐号:有两类用户帐号:一类是与Windows操作系统的集成帐号,一类是混合帐号。选择第一类帐号进行安装;配置服务器端网络库:SQL Server支持多种网络库,这些网络库必须与操作系统的网络协议共同工作,才能实现客户机与数据库服务器的通信。安装完成后,可以通过操作系统的开始菜单操作:“开始”>SQL Server”>“数据库服务器网络配置”进行配置; 配置客户端网络库:客户机要与数据库服务器通信,必须安装有与服务器网络

5、库一样的网络库。可以通过操作系统的开始菜单操作:“开始”>SQL Server”>“客户端网络配置”进行配置;使用“企业管理器”:(1)了解企业管理器的界面、菜单结构以及各项功能;(2)了解“数据库服务器”的属性配置;(3)了解“数据库”的属性配置;(4)初步了解数据库、表、视图、用户、安全管理,复制等概念; 使用查询分析器:进入查询分析器 ,在分析器中输入语句:Create database abc 运行观看结果六、实验数据及处理结果1、SQL2000个人版数据库下载完后先解压,运行文件夹里面的AUTORUN.EXE,弹出此框 3、选择“安装数据库服务器”,弹出此图。 4、点击“

6、下一步”,弹出此图。 5、点击“下一步”,如果弹出数据库挂起,请重新启动电脑,然后直接点击“下一步” 6、选择“创建新的SQL Server实例,或安装客户端工具”,点击“下一步”。7、默认,点击“下一步”。 8、选择“服务器和客户端工具”,点击“下一步”。 9、可以设置一下数据库文件的存放路径,最好是不要放在盘,点击“下一步”。 10、接着弹出“服务帐户”以下框在服务设置那里选择“使用本地系统帐户”,然后点击“下一步”。 11、弹出“身份验证模式”,选择“混合模式(Windows身份验证和SQL Server身份验证)”,并且把“空密码(不推荐)”打上勾,建议最好不要设置密码因为容易忘记,1

7、2、以后的其它各项都可以按默认情况设置点下一步直到完成。13、启动的SQL Server服务管理器,开始程序Microsoft SQL Server服务管理器,点击“开始/继续”前面的绿色三角按钮启动SQL服务即可。另外那个“当启动OS时自动启动服务”也建议选择上,安装设置完毕。14、运行脚本的操作步骤是:点击开始程序- Microsoft SQL Server查询分析器,进去之后直接覆盖,然后运行上面的绿色箭头,操作完成就OK了。 企业管理器页面查询分析器七、思考讨论题或体会或对改进实验的建议1. 查询分析器的作用是什么?可以有几种启动查询分析器的方法?分析分析器与数据库的关系;怎样在分析器

8、中选择不同的数据库;怎样在分析器中查看数据库的结构?查询分析器的作用是:1、创建查询和其它 SQL 脚本,并针对 SQL Server 数据库执行它们。("查询"窗口)2、由预定义脚本快速创建常用数据库对象。(模板)3、快速复制现有数据库对象。(对象浏览器脚本功能)4、在参数未知的情况下执行存储过程。(对象浏览器过程执行功能)5、调试存储过程。(T-SQL 调试程序)6、调试查询性能问题。(显示执行计划、显示服务器跟踪、显示客户统计、索引优化向导)7、在数据库内定位对象(对象搜索功能),或查看和使用对象。(对象浏览器)8、快速插入、更新或删除表中的行。("打开表&

9、quot;窗口)9、为常用查询创建键盘。(自定义查询HYPERLINK "10、向"工具"菜单添加常用命令。(自定义"工具"菜单功能)启动查询分析器的方法: 在“开始”菜单中依次选择“所有程序|Microsoft SQL Server|查询分析器”打开查询分析器。在“开始”菜单中依次选择“所有程序|Microsoft SQL Server|企业管理器”打开企业管理器后,单击菜单栏中的“工具”选项,选择“SQL查询分析器”,即可打开查询分析器。分析分析器与数据库的关系: 在分析器中可以对数据库及数据库中的表进行一系列的操作,如查询和更撰。在分析器

10、中选择不同的数据库的方法: 在工具栏中“当剌数据库”栏目中,点击小黑三角,在弹凸的下拉列表中选择要倇换的数据库名称即可实现数据库的切换。在分析器中查看数据库的结构:在“对象浏裈器”窗口不,单击要查看的数据库名称前的“+”,使其变为“-”展开数据库,就可看到数据库的结构,若要查看其中某一遹的结构,仍是单击要查看项目名称前的“弫”。例如要查看表s的结构,可依次展开“用户表”、“dbo.s”、“列”,即可查看s的结构。八、参考资料1数据库系统实验指导,单建魁等著,清华大学出版社 南昌大学实验报告实验类型: 验证 综合 设计 创新 实验日期 实验成绩:实验二一、实验项目名称:数据库及表的建立二、实验目

11、的:1巩固数据库的基础知识 2掌握创建数据库的两种方法,掌握表的建立和删除方法,掌握修改表结构的基本方法 3掌握对数据库和表的相关操作方法三、实验基本原理 SQL即结构化查询语言,是关系数据库的标准语言,SQL是一个综合的、功能极强同时又简洁易学的语言。它集数据查询、数据操纵、数据定义和数据控制功能于一体。在SQL server 2000中,建立数据库既可以在查询分析器中使用sql语句来实现,也可以在企业管理器中使用菜单命令直接创建。同样的表的建立和删除,以及修改表结构也有这两种方法。创建数据库的sql语句:create database <数据库名>创建表的sql语句:creat

12、e table <表名>(<列名><数据类型>列级完整性约束条件 ,<列名><数据类型>列级完整性约束条件 . ,<表级完整性约束条件>);删除基本表的sql语句:drop table <表名>restrict|cascade;修改表的结构的sql语句:alter table <表名> add <新列名><数据类型>完整性约束 drop <完整性约束名> alter column<列名><数据类型>其中,add子句用于增加新列和新的完整性约

13、束条件,drop字句用于删除指定的完整性约束条件,alter column 子句用于修改原有的列定义,数据类型。四、主要仪器设备及耗材相互连成LAN的计算机2台以上,安装有SQL Server 2000软件。5、 实验步骤 1创建数据库(1)使用查询分析器创建数据库 打开查询分析器,输入如下的sql命令:create database yang。执行命令后即建立一个名为“yang”的数据库。(2) 使用企业管理器创建数据库打开企业管理器,在左边的小窗口中依次展开目录,找到数据库文件夹,在数据库文件夹处右击,选择“新建数据库”命令,在弹出的数据库属性对话框中输入数据库的名称“abc”,即可完成创

14、建。2查看、修改数据库属性3创建表(1)打开查询分析器,在工具栏中切换数据库至新建的“yang”,输入如下命令:create table s(sno char(9) PRIMARY KEY,sname char(20),ssex char(2),sage SMALLINT,sdept char(20); 来创建表。(2) 可以使用如insert into s values('20130101','张三','男',20,'IS'); 的命令向s表中输入数据,也可以在企业管理器中找到s表后,右击选择“打开表|返回所有行”命令来向表中直

15、接输入数据。(3) 采用同样的方法创建表课程表c、选课表sc。创建的语句如下所示。create table c(cno char(9),cname char(20),cpno char(4),ccredit SMALLINT);create table sc(sno char(9),cno char(9),grade char(6);(4)在企业管理器中为c表和sc表输入数据。4修改表结构(1)向c表中增加“teacher”这一列。ALTER table c add teacher char(8);(2)将sc表中grade的数据类型改为smallint。alter table sc alte

16、r column grade smallint;(3)向c表中增加课程名为主码的约束条件。alter table c add primary key(cno);(4)修改列名:exec sp_rename s.ssex,sex,column5删除表使用DROP TABLE<表名>restrict|cascade;删除表。或者直接在对象浏览器窗口中选中表后右击删除表。六、实验数据及处理结果创建的数据库名称为abc,又在其下创建了三个表,分别为学生表s、课程表c和选课表sc。三个表中的数据分别如图1、图2和图3所示。图1图2图3 七、思考讨论题或体会或对改进实验的建议1.说明数据库和表

17、的关系?一个SQL数据库是由多个表构成的,即数据库是表的汇集,是表的主要组成部分。表在数据库中是存储数据的方式。2.遇到的问题及解决的方法 忘记切换数据库到自己建的数据库下,导致下面的操作都在“master”数据库下进行。解决方法:在建立新的数据库后,应养成将当前数据库立即切换到新建数据库的习惯。3.体会或建议1、在企业管理器中输入数据比在查询分析器中输入数据要更方便。2、在进行查询等操作时,查询分析器更为方便。3、列属性默认为空,但自己也可以定义约束条件,对属性限制,比如 NOT NULL,限定列值非空。八、参考资料1数据库系统实验指导,单建魁等著,清华大学出版社 南昌大学实验报告实验类型:

18、 验证 综合 设计 创新 实验日期: 实验成绩:实验三一、实验项目名称:表的查询 二、实验目的:1了解查询的概念和方法,掌握查询分析器的使用方法 2掌握select语句的语法和作用 3掌握多表连接的方法,能熟练进行多表操作的复杂检索三、实验基本原理数据库查询是数据库的核心操作。SQL提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。其一般格式为:SELECT ALL | DISTINCT <目标列表达式>,<目标列表达式>.FROM <表名或视图名>,<表名或视图名>.WHERE <条件表达式>GROUP

19、BY <列名1> HAVING <条件表达式> ORDER BY <列名2>ASC | DESC ;整个SELECT语句的含义是,根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。如果有GROUP BY子句,则将结果按<列名1>的值进行分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数。如果GROUP BY子句带HAVING短语,则只有满足指定条件的组才予以输出。如果有ORDER BY 子句,则结果还要按<列名2>的值的

20、升序或降序排列。SELECT语句既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。视图是从一个或几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。视图已经定义,就可以和基本表一样被查询、被删除。也可以在一个视图之上再定义新的视图,但对视图的更新(增、删、改)操作则有一定的限制。SQL语言用CREATE VIEW 命令建立视图,其一般格式为CREATE VIEW<视图名>(<列名>,<列名>.) AS <子查询> WITH CHECK OPTION

21、;其中,子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDER BY 子句和DISTINCT短语。WITH CHECK OPTION表示对视图进行UPDATE,INSERT和DELECT操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。删除视图的格式为 DROP VIEW<视图名>CASCADE;视图定义后就可以像对基本表一样对视图进行查询了。四、主要仪器设备及耗材相互连成LAN的计算机2台以上,安装有SQL Server 2000软件。五、实验步骤1单表查询(1)了解select语句的语法(2)输入一些检索数据,进行简单的检索,并使用

22、top,distinct等关键字 查询所有学生的详细情况:select * from s;查询选修了课程的学生学号:select distinct sno from sc;查询计算机科学系全体学生的元组:select sname from s where sdept='CS'查询考试成绩不及格的学生学号:select distinct sno from sc where grade<60;查询年龄在20-23岁之间的学生的姓名、系别和年龄:select sname,sdept,sage from s where sage between 20 and 23;查询计算机科学

23、系CS、数学系MA的学生姓名和性别:select sname,ssex from s where sdept in('CS','MA');查询既不是计算机科学系CS也不是数学系MA的学生姓名和性别:select sname,ssex from s where sdept not in('CS','MA');查询学号为20130104的学生的详细情况:select * from s where sno ='20130104'查询所有姓李的学生的详细情况;select * from s where sname like

24、'李%' 查询没有成绩的学生学号和相应的课程号:select sno,cno from sc where grade is null; 查询选修了03号课程的学生学号及成绩,查询结果按分数降序排列:select sno,grade from sc where cno='03' order by grade DESC;查询选课学生的情况,查询结果按课程号升序排列,同一门课程按学号降序排列:select * from sc order by cno,sno DESC;查询选修课程的学生人数:select count(distinct sno) from sc ;查询

25、选修了01号课程的学生的最高分:select max(grade) from sc where cno='01'求出各个课程号及相应的选课人数:select cno,count(distinct sno)from sc group by cno;查询选修了4门课以上的学生学号;select sno from sc group by sno having count(*)>=4;2多表查询 (1)连接查询查询计算机科学系年龄在20岁以下的学生姓名:select distinct sname from s,sc where sdept='CS'and sage

26、<20;查询学生20130103选修的总学分数:select sum(ccredit) from sc,c where sno='20130103'and o=o;查询每门课的间接选修课:select o,second.cpno from c first,c second where first.cpno=o;查询选修了02号课程且成绩在90分以上的所有学生:select s.sno,s.sname from s,sc where s.sno=sc.sno and o='02' and grade>90; (2)嵌套查询查询与王五在同一个系学习的学生

27、:select sno,sname from s where sdept in(select sdept from s where sname='王五');查询选修了课程名为“数据结构”的学生姓名和学号:select s.sno,s.sname from s where sno in(select sno from sc where cno in(select cno from c where cname='数据结构');找出每个学生超过他选修课程平均成绩的课程号:select sno, cno from sc x where grade>(select

28、avg(grade)from sc y where y.sno=x.sno);查询其他系中比计算机科学系某一学生年龄小的学生姓名和年龄:select sname,sage from s where sage<any(select sage from s where sdept='CS')and sdept<>'CS'查询所有选修了1号课程的学生姓名:select sname from s where exists(select * from sc where sno=s.sno and cno='01');3 视图的建立及使用视

29、图进行检索建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生:create view IS_s as select sno,sname,sage,ssex from s where sdept='IS' 建立一个由学生学号和他的平均成绩定义的视图:create view S_G(sno,Gavg) as select sno,avg(grade)from sc group by sno删除视图IS_s:drop view IS_s;在信息系学生的视图中找出年龄小于20岁的学生:select sno,sname from IS_s where sage

30、<20;在S_G视图中查询平均成绩在75分以上的学生学号和平均成绩:select sno,Gavg from S_G where Gavg>=75;将信息系学生视图中学号为20130112的学生姓名改为“蒋明”:update IS_s set sname='蒋明'where sno='20130112'向信息系学生视图中插入一个新的学生记录,学号为20130116,姓名为赵新,男,20岁。insert into IS_s values('20130116','赵新',20,'男');删除信息系学生视图中

31、学号为20130116的记录:delete from IS_s where sno='20130116'六、实验数据及处理结果 建立的数据库名和表名及数据如实验二,各查询的结果依次如下各截图:单表查询:3.1查询所有学生的详细情况: 3.2查询选修了课程的学生学号: 3.3查询计算机科学系全体学生的元组: 3.4查询考试成绩不及格的学生学号:3.5查询年龄在17-19岁之间的学生的姓名、系别和年龄: 3.6查询计算机科学系CS、信息系统系IS的学生姓名和性别: 3.7查询既不是计算机科学系CS也不是数学系MA的学生姓名和性别: 3.8查询学号为20130105的学生的详细情况:

32、查询3.9所有姓李的学生的详细情况; 3.10查询选修了03号课程的学生学号及成绩,查询结果按分数降序排列: 3.11查询选课学生的情况,查询结果按课程号升序排列,同一门课程按学号降序排列: 3.12查询选修课程的学生人数:3.13查询选修了01号课程的学生的最高分: 3.14求出各个课程号及相应的选课人数: 3.15查询选修了4门课以上的学生学号多表查询3.16查询计算机科学系年龄在20岁以下的学生姓名 3.17查询学生20130103选修的总学分数 3.18查询选修了02号课程且成绩在90分以上的所有学生 3.19查询选修了01号课程且成绩在70分以上的所有学生:嵌套查询3.20查询与李立

33、在同一个系学习的学生3.21查询选修了课程名为“数据结构”的学生姓名和学号3.22找出每个学生超过他选修课程平均成绩的课程号3.23查询其他系中比信息系某一学生年龄小的学生姓名和年龄3.24查询所有选修了1号课程的学生姓名 视图3.25建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生并查询信息系学生的视图3.26建立一个由学生学号和他的平均成绩定义的视图并查询该视图3.27在信息系学生的视图中找出年龄小于20岁的学生3.28在S_G视图中查询平均成绩在75分以上的学生学号和平均成绩七、思考讨论题或体会或对改进实验的建议1.说明多表连接属于自然连接还是等值连接?属于

34、等值连接2.遇到的问题及解决的方法(1)在做查询所有姓李的学生的详细情况; select * from s where sname like'李%' 时,将like换成“=”,发现并没有出现正确的结果,最终发现在此处的like并不如书上所说可以与“=”互换,只能用like。(2)在创建视图时SQL语句后并不能加“;”。(3)在对视图进行插入操作时,如果视图定义时带有“WITH CHECK OPTION”语句,那么将不能进行插入操作。3.体会或建议 书上的SQL命令有的在实际的运行环境中操作时,会有些许的出入。这需要我们多上机实践,同时借助网络了解具体差异,掌握丰富的经验!八、参

35、考资料1数据库系统实验指导,单建魁等著,清华大学出版社 南昌大学实验报告 班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩:实验四一、实验项目名称:数据操纵 二、实验目的:1掌握查看、重命名及删除用户定义的数据类型的方法 2掌握向表中添加、删除和修改数据的方法 三、实验基本原理SQL中插入元组的INSERT语句格式为INSERT INTO <表名>(<属性列1>,<属性列2>.)VALUES(<常量1>,<常量2>);其功能是将新元组插入到指定表中,其中新元组的属性列1的值为常量1,属性列2的值为常量2.。INTO子句中没

36、有出现属性列,新元组将在这些列上取空值。如果INTO子句中没有指明任何属性列名,则新插入的元组必须在每个属性列上均有值。修改数据的一般格式为UPDATE <表名> SET <列名>=<表达式>,<列名>=<表达式> WHERE<条件>其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句给出<表达式>的值用于取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组。删除数据的格式一般为DELETE FROM <表名> WHERE<条件>DELETE语句的功能是从指

37、定表中删除满足条件的的所有元组,如果省略了WHERE 子句,表示要删除表中的所有元组,但表的定义仍在字典中。四、主要仪器设备及耗材相互连成LAN的计算机2台以上,安装有SQL Server 2000软件。五、实验步骤1使用insert向表中添加一行或多行数据 向s表中插入一行数据:insert into s (sno,sname,ssex,sage,sdept) values('20130116','王敏','女',20,'CS');新建一个表Dept,并向新表中插入每个系学生的平均年龄:create table Dept(Dep

38、t char(4),Avg_age int); insert into Dept select sdept,avg(sage) from s group by sdept;2使用update实现一行或成组数据的修改 将s表中学号为“20130104”的学生的年龄改为22岁:update s set sage=22 where sno='20130104' 将sc表中不及格的学生成绩改为60:update sc set grade=60 where grade<60;3使用delete删除表中的数据 将新插入的学号为“20130116”的学生记录删除:delete from

39、 s where sno=20130116;4. 创建、重命名和删除用户定义的数据类型 将datetime创建为新的数据类型time:exec sp_addtype time,datetime,null六、实验数据及处理结果本实验使用的库仍为之前建的abc,且表中的数据如实验二所示。在此不赘述。实验结果的截图依次为:4.1使用insert向表中添加一行或多行数据4.2新表Dept中插入数据后4.3修改前 修改后4.4成绩修改前成绩修改后4.5数据删除前数据删除后4.6创建新的数据型七、思考讨论题或体会或对改进实验的建议1.如何创建用户定义的数据类型?完成后该如何查看?使用“sp_addtype

40、”语句。八、参考资料1数据库系统实验指导,单建魁等著,清华大学出版社 南昌大学实验报告实验类型: 验证 综合 设计 创新 实验日期: 实验成绩:实验五一、实验项目名称:数据库的完整性、安全型研究二、实验目的:1理解完整性的概念,重点理解用户定义完整性的使用 2掌握SQL Server 2000中有关用户、角色及操作权限的管理方法3掌握数据库备份和还原的基本方法 三、实验基本原理SQL中用GRANT语句和REVORK语句向用户来授予权限和收回权限。GRANT语句的一般格式为:GRANT<权限>,<权限>.ON <对象类型><对象名>,<对象类

41、型><对象名>.TO <用户> ,<用户> WITH GRANT OPTION;其语义为:将对指定操作对象的指定操作权限授予指定的用户。发出该GRANT语句的可以是DBA,也可以是该数据库对象创建者(即属主Owner),也可以是已经拥有该权限的用户,接受该权限的用户可以是一个或多个具体用户,也可以是PUBLIC,即全体用户。如果指定了WITH GRANT OPTION字句,即获得某种权限的用户还可以把这种权限再授予其他的用户。但不允许循环授权,即被授权者不能把权限再授回给授权者或其祖先。授予的权限可以由DBA或其他授权者用REVORK语句收回,REVO

42、RK语句的一般格式为:REVORK<权限>,<权限>ON<对象类型><对象名>,<对象类型><对象名>FROM<用户>,<用户>CASCADE|RESTRICT;数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。在 SQL中首先用CREATE ROLE 语句来创建角色,然后用GRANT语句来给角色授权。创建角色的SQL语句格式是CREATE ROLE<>刚刚创建的角色是空的,没有任

43、何内容。可以用GRANT为角色授权。GRANT <权限>,<权限>ON<对象类型><对象名>TO<角色>,<角色>将一个角色授予其他的角色或用户GRANT <角色1>,<角色2>TO<角色3>,<用户1>.WITH ADMIN OPTION角色权限的收回REVORK <权限>,<权限>ON<对象类型><对象名>FROM <角色>,<角色>.四、主要仪器设备及耗材相互连成LAN的计算机2台以上,安装有SQL

44、 Server 2000软件。五、实验步骤1数据库的备份 方法一:在查询分析器中输入以下命令“backup database abc to disk='abc.bak'”备份数据库abc。如图1所示。 方法二:在企业管理器中找到要备份的数据库,右击“所有任务|备份数据库”,弹出备份数据库对话框,选择备份路径,单击确定,即可备份成功。如图2所示。2数据库的还原 方法一:在查询分析器中输入:“restore database abc from disk='abc.bak'”还原数据库abc,如图3所示。 方法二:在企业管理器中找到要还原的数据库,右击选择“所有命令|

45、还原数据库”,弹出还原数据库对话框,选择备份文件的路径,单击确定,即可还原成功,如图4所示。3SQL Server 2000的安全模式4. 管理数据库用户5管理数据库角色新建一个角色visitor,并将查询和更新权限授予它:grant select,delete,insert,update on s to visitor6权限管理(1)新建一个用户登录,采用sql身份验证的方式,用户名为me 。将查询权限授予用户me:grant select on s to me(2)收回授予用户me的查询权限:revoke select on s from me7对表的某个字段的约束 在定义表时定义属性上的

46、约束条件,如unique 、not null等六、实验数据及处理结果 本实验的数据库和实验数据,同实验二所示。 图 1使用查询分析器备份图2使用企业管理器备份 图3使用查询分析器还原图4使用企业管理器还原图5管理数据库角色图6使用权限图7收回权限七、思考讨论题或体会或对改进实验的建议1.如何避免用户数据的不一致?(1)提供定义完整性约束条件的机制(2)提供完整性检查的方法(3)违约处理,如拒绝执行该操作或级连执行其他操作。2.遇到的问题及解决的方法 (1)在给用户授权时,使用书上的语句“grant select on table s to me”总是报错。后将table去掉就可以授权了。 (2

47、)创建角色时使用书上的语句“create role manager”总是报错,似乎并不承认role。后使用企业管理器创建。3.体会或建议 通过几次的实验发现,所有可以在企业管理器中执行的操作,都可以在查询分析器中使用SQL代码来做。例如创建新的用户登录,就可以使用“sp_addlogin 'zhangsan','888888','abc' ”的sql语句,表示创建一个用户名为张三、登录密码为888888,默认数据库为abc的新登录用户。另外,创建一个新的角色,可以使用“sp_addrole 'manager' ”sql语句来创建,

48、表示创建了一个名为manager的角色。而删除新建的用户登录和角色则用“sp_droplogin'zhangsan'”和“sp_droprole'manager'”语句。在备份、还原数据库时加上绝对路径,不容易出错,若不加则易报错。八、参考资料1数据库系统实验指导,单建魁等著,清华大学出版社 南昌大学实验报告 学生姓名: 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩:实验六一、实验项目名称:简单系统的设计二、实验目的:1初步掌握数据库应用系统的分析设计的基本方法 2基本掌握使用VB访问数据库的方法3掌握使用JSP访问数据库数据的方法 三、实验基本原理

49、数据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(Java Database Connectivity)。JDBC是一种可用于执行SQL语句的Java API,它为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。Microsoft推出的ODBC技术为不同数据库的访问提供了统一的接口。ODBC在不同的数据库各自的驱动之上建立了一组对数据库访问的标准API,这些API利用SQL语句来完成其大部分任务。数据库的ODBC驱动程序负责所有的底层数据库访问操作,然后给上层的应用程序提供统一的编

50、程接口,上层的应用程序只需调用ODBC的统一编程接口就能与数据库打交道。因此,基于ODBC的应用程序对数据库的操作不依赖于具体的数据库,不论是Access,SQL Server、DB2还是Oracle数据库,均可以用ODBC API进行访问,程序代码都完全相同,也就是说,ODBC能以统一的方式处理所有的数据库。  JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Script

51、let)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。四、主要仪器设备及耗材相互连成LAN的计算机2台以上,其中至少一台安装有SQL Server 2000软件,另一台装有VB软件。五、实验步骤1数据库的设计过程 数据库的模式即之前提到的abc,其中有学生表s,课程表c和选课表sc。数据如实验二所示。2 使用ODBC访问数据库(1) 下载tomcat服务器。(2) 新建连接到数据库abc的数据源“zzz”。(3) 制作查询网页login.htmllogin.html<html> &l

52、t;head> <title> test HTML </title> </head> <body> <form action="login.jsp" method=post> 请输入学号:<hr> <input type="text" name="myname"> <br> 密码: <input type="password" name="pass"> <br> <

53、input type="submit" name="mysubmit"> <br> <input type="reset" value="重新来过"> <br><hr> </body></html>(4)编写数据源连接数据库代码并保存为文件login.jsp:<% page contentType="text/html;charset=gb2312"%> <% page import="ja

54、va.sql.*"%> <html> <body> <% String nn=request.getParameter("myname"); String vv=request.getParameter("pass");Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:zzz");Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from s where sno='"+nn+"'" ResultSet rs=stmt.executeQuery(sql); if (rs.next()=false) rs.previous(); %>没有要检索的数据! <br> <%rs.previous()

温馨提示

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

评论

0/150

提交评论