您好,欢迎来到帮我找美食网。
搜索
您的当前位置:首页数据库系统概论

数据库系统概论

来源:帮我找美食网


数据库系统概论 实验指导书

二零零五年九月

1

实验要求

1. 实验前做好一切准备工作; 2. 严格遵守实验室的规章制度

3. 语言文明,听从实验室老师的指导和安排

4. 学生要做到独立上机操作,独立编写程序并进行开发与设计。 5. 按时完成实验

实验报告要求

1)学生所在机器号 2)实验步骤 3)实验结果

4)实验中所出现问题的分析 2

实验目录

预备知识 SQL SERVER 2000 基础 .................................................... 4 实验一 启动SQL SERVER2000和企业管理器 ............................... 11 实验二 SQL SERVER2000查询分析器 ............................................ 20 实验三 SQL语言的DDL ................................................................... 28 实验四 DML的数据查询.................................................................... 30 实验五 SQL语言的DML初步 ......................................................... 32 实验六 视图的定义及使用实验 ........................................................ 33 实验七 SQL语言的DCL ................................................................... 34 实验八 数据库应用系统设计 ............................................................ 36

3

预备知识

SQL Server 2000 基础

一、实验目的

SQL Server 2000是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。

1)本次实验了解SQL Server 2000的安装过程,熟悉SQL Server 2000软件环境。学会安装SQL Server 2000的安装。 本实验需1学时 二、实验内容

1.安装Microsoft的数据库服务软件SQL Server 2000:

运行服务器目录SQL2000下的可执行文件autorun.exe,进行SQL Server 2000的安装。安装主界面如图1-1所示。

图1-1

选择安装SQL Server 2000组件,出现组件安装界面,如图1-2所示。

4

图1-2

选择安装数据库服务器,进入SQL Server 2000的安装向导,如图1-3所示。

图1-3

点击“下一步”,到计算机名称对话框,如图1-4所示。

5

图1-4

“本地计算机”是默认选项,本地计算机的名称就显示在上面,点击“下一步”,出现安装选择对话框,如图1-5所示。

图1-5

选择“创建新的SQL Server实例,或安装客户端工具”,点击“下一步”,出现用户信息对话框,如图1-6所示。

6

图1-6

输入姓名和公司名称后,点击“下一步”,出现软件许可协议,如图1-7所示。

图1-7

点“是”按钮,出现安装定义对话框,如图1-8所示。

图1-8

选择“服务器和客户端工具”,点击下一步,出现实例名对话框,如图1-9所示。

7

图1-9

系统提供了“默认”复选框,点击下一步,出现安装类型选择框,如图1-10所示。

图1-10

选择典型,点击“下一步”,出现服务帐户对话框,如图1-11所示。

图1-11

接受系统的缺省值,点击“下一步”,出现身份验证模式窗口,如图1-12所示。

8

图1-12

接受系统的缺省值,点击“下一步”,出现开始拷贝文件窗口,如图1-13所示。

图1-13

点击“下一步”,开始将文件拷贝到选择的目录中,如图1-14所示。

图1-14

文件拷贝完成后,出现安装结束界面,如图1-15所示。

9

图1-15

点击“完成”按钮,完成SQL Server 2000的安装。 三、实验任务

1.在计算机上安装数据库软件SQL Server 2000;

2.熟悉软件的使用,SQL Server 2000主菜单如图1-16所示:

图1-16

3.查看系统数据库及示例数据库的情况

10

实验一 启动SQL Server2000和企业管理器

一、实验目的

SQL Server 2000的启动和管理工作由服务管理器和企业管理器来实现。

本次实验了解SQL Server 2000的启动,熟悉如何在SQL Server 2000图形环境下建立数据库和表。学会安装SQL Server 2000的启动和建库、表的操作。

本实验需1学时。 二、实验内容

1.启动数据库服务软件SQL Server 2000:

在程序菜单中选择Microsoft SQL Server,如图2-1所示:

图2-1

再选中服务管理器,如图2-2所示:

图2-2

点击服务管理器后,出现SQL Server服务管理器,如图2-3所示:

11

图2-3

点击“开始/继续”按钮,启动SQL Server 2000数据库服务。

启动成功后,在时钟旁边出现一个符号,如图2-4所示。

图2-4

2.在SQL Server 2000中建立数据库:

在程序菜单中选择Microsoft SQL Server,如图2-5所示:

12

图2-5

再选中企业管理器,如图2-6所示:

图2-6

点击企业管理器后,出现企业管理器的主界面,如图2-7所示:

13

图2-7

点击左边树状控制栏的+/-号可以打开和关闭SQL Server组中的本地服务项目,在选中数据库服务项目后,单击鼠标右键,出现数据库的菜单,如图2-8所示:

图2-8

点击新建数据库,出现新建数据库窗口,如图2-9所示:

14

图2-9

输入数据库名称:Test,点击数据文件选项卡,如图2-10所示:

图2-10

在数据文件中,你可以设定数据文件的名称,所在目录以及文件的大小等信息。 完成后点击事务日志选项卡,如图2-11所示:

15

图2-11

事务日志中,你可以设定日志文件的名称,所在目录以及文件的大小等信息。 接受系统的缺省值,点击确定按钮,完成数据库的新建,如图2-12所示。

图2-12

3.在Test数据库上建立表:

点击数据库Test前面的+号,打开数据库的各种属性,如图2-13所示:

16

图2-13

选中表的属性,单击鼠标右键,出现表的菜单,如图2-14所示:

图2-14

点击新建表按钮,出现新建表窗口,如图2-15所示:

17

图2-15

输入列名,数据类型,长度等信息,点击

图标,出现选择表名窗口,如图2-16所示:

图2-16

输入表名,点击确定按钮,将新建的表存盘。 向该表中添入数据。

方法:进入企业管理器、分别点击“数据库”、、“表”,右击要添加数据的表,在系统弹出的快捷菜单上,分别点击“打开表”、返回“所有行”,系统将弹出如图2-17的窗口。

图2-17

可以把鼠标定位在窗口任一行的任一列上,对此单元格的数据进行修改,也可以右击单元

18

格,在系统弹出的快捷菜单上选择“删除”将某条记录删除掉。如果把光标定位在一个新的空行上,就可以添加新的数据了。但要注意,表中的列经常是带有约束的,比如数据类型,无论修改数据,还是插入新数据,都必须遵循约束的限制,否则,修改或插入数据就可能不成功。

三、实验任务

1.用数据库SQL Server 2000的服务管理器启动数据库服务;

2.用数据库SQL Server 2000的企业管理器建立一个数据文件名为scmanage_data、大小50M,日志文件名为scmanage_log、大小25M的新数据库,该数据库名为scmanage。 3.利用企业管理器在数据库scmanage上,建立如下所示的表student:

student 字段名 sno sname ssex sage sdept 类型 char char char integer varchar 长度 5 8 2 20 含义 学生编号 姓名 性别 年龄 系别 4. 利用企业管理器向student中添加记录,记录见教材P59 5.查看Pub库的结构,写出Pub库的数据库模式。

19

实验二 SQL Server2000查询分析器

一、实验目的

SQL Server 2000的查询分析器是一种特别用于交互式执行SQL语句和脚本的极好的工具。

本次实验了解SQL Server 2000查询分析器的启动,熟悉如何在SQL Server 2000查询分析器中建表、插入记录、查询记录。学会SQL Server 2000的查询分析器中建表、插入记录、查询记录。

本实验需1学时。 二、实验内容

1.启动数据库服务软件SQL Server 2000的查询分析器: 在程序菜单中选择Microsoft SQL Server,如图3-1所示:

图3-1

再选中查询分析器,如图3-2所示:

图3-2

20

点击查询分析器后,出现连接到SQL Server窗口,如图3-3所示:

图3-3

点击按钮,出现选择服务器窗口,如图3-4所示。

图3-4

选择本地服务(Local),点击确定按钮。

再点击连接到SQL Server窗口的确定按钮。出现SQL查询分析器主界面,如图3-5所示。

21

图3-5

选择查询菜单,点击更改数据库,如图3-6所示。

图3-6

出现选择数据库窗口,如图3-7所示。

22

图3-7

选择在上次实验中建立的数据库Test,点确定按钮。 2.在查询分析器中建立表:

在查询分析器的查询窗口中输入SQL语句,如图3-8所示。

图3-8

点击

按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-9所示。

图3-9

提示命令成功完成,或者报告出错信息。

23

3.查询分析器中向表添加数据:

在查询分析器的查询窗口中输入SQL语句,如图3-10所示。

图3-10

点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-11所示。

图3-11

1. 从表中查询数据:

在查询分析器的查询窗口中输入SQL语句,如图3-12所示。

图3-12

点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-13所示。

24

图3-13

4练习T-SQL中的函数 如求200的平方根 select sqrt(200) go

结果如下: 14.14214

常用函数如下表所示

表3-1数学函数 函数类型 三角函数 语法形式 SIN(Nexpression) COS(Nexpression) TAN(Nexpression) COT(Nexpression) 反三角函数 ASIN(Nexpression) ACOS(Nexpression) ATAN(Nexpression) ATAN2(Nexpression) 幂函数 EXP(Nexpression) Power(Nexpression,Iexp) LOG(Nexpression) 功能 求表达式的正弦值 求表达式的余弦值 求表达式的正切值 求表达式的余切值 求表达式的反正弦值 求表达式的反余弦值 求表达式的反正切弦值 求表达式的反余切值 求表达式的自然指数值 求表达式的自然指数值 求表达式的I次方 25

LOG10(Nexpression) SQRT(Nexpression) 取整 CEILING(Nexpression) FLOOR(Nexpression) 求表达式的以10为底的对数值 求表达式的平方根 返回大于或等于表达式的最小整数 返回小于或等于表达式的最大整数 ROUND(Nexp,length[,function]) 返回表达式的四舍五入值或截断值 符号函数 ABS(Nexpression) SIGN(Nexpression) 其他函数 PI() RAND(Iexpression) 求表达式的绝对值 测试表达式的符号,正返回1,负返回-1,0返回返回π0 值。 用任选的表达式做种子得出0和1之间的随机数 表3-2字符串函数

功能 求表达式最左端字符的ASCII代码值 返回以表达式为ASCII码的字符串 将字符串全部转换为小写 将字符串全部转换为大写 函数类型 字符转换函数 语法形式 ASCII(Cexpression) CHAR(Iexpression) LOWER(Cexpression) UPPER(Cexpression) STR(Nexpression,[length[,decimal]]) 把数值型数据转换为字符型数据 去空格函数 LTRIM(Cexpression) RTRIM(Cexpression) 截取子串函数 LEFT(Cexpression,Iexpression) 删除字符串的前导空格。 删除字符串的尾部空格 字符操作函数 返回字符串从左边开始指定个数的字符 RIGHT(Cexpression,Iexpression) 返回字符串从右边开始指定个数 SUBSTRING(expression,start,length)返回字符串从的字符start开始,length宽(Cexpression,start,length) 度的字符 REPLICATE(Cexpression,Iexpression ) 重复一个字符表达式若干次。 REVERSE(Cexpression) Space(Iexpression) REPLACE( C1,C2,C3) 取字符串的逆序。 产生指定宽度的空白字符串 用第三个字符串替换第一个字符串中出现的所有第二个给定的字返回一个C1在C2中出现的起始位置。I表示搜索起始点,若省略,求指定字符串的宽度 其他 CHARINDEX( C1,C2[,Iexpression]) LEN(Cexpression) 表3-3日期时间函数

26

函数类型 当前日期时间 语法形式 GETDATE( ): GETUTCDATE( ) 截取日期的一部分 YEAR(Dexpression ) MONTH(Dexpression) DAY(Dexpression) 其他 功能 返回系统的日期和时间。 返回表示当前系统的datetime值 返回指定日期的年份的整数。 返回指定日期的月份的整数。 返回指定日期天的整数。 DATEDIFF(daypart,startdate,enddate ) 计算两个日期值之间的间隔,返回一个整数。

三、实验任务

1. 打开数据库SQL Server 2000的查询分析器,用SQL语言建表course,表结构如下图

所示:

Course 字段名 cno cname cpno Ccredit 类型 char varchar char int 长度 5 20 5 含义 课程编号 课程名 先行课 学分 2.用SQL语言向各表中插入记录,记录见教材P59

3. 练习查询语句,查找年龄大于等于20岁,计算机系的学生记录。 4. 练习T-SQL中的函数 计算以下表达式的值

1) ceiling(-567.75), floor(-567.75),round(-567.75,5) 2) exp(2), power(2.5,3)

3) left(‘河北科技大学’,2),right(‘河北科技大学’,2) 4) 求系统日期和时间 5) 求建国到现在的天数

5. 将以上的SQL语言存盘,以备老师检查。

27

实验三 SQL语言的DDL

一、实验目的

SQL(Structured Query Language)语言是关系数据库的标准语言。是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。

从本次实验开始,我们将详细的学习SQL的DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)。

本次实验了解DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,学会SQL Server 2000的查询分析器中用DDL语言进行对表、索引、视图的增加、删除和改动。

本实验需2学时。 二、实验内容

1. 启动数据库服务软件SQL Server 2000的查询分析器,用如下语句对表进行操作,详

细的语法格式参看课本相应章节: Create Table 建表 Drop Table 删除表 Alter Table 更改表

2. 如下语句对索引进行操作,详细的语法格式参看课本相应章节:

Create Index 建立索引 Drop Index 删除索引

三、实验任务

1. 打开数据库SQL Server 2000的查询分析器,用Create Table建表SC。表结构如下

所示:

SC 字段名 sno cno grade 类型 Char Char Int 长度 5 5 含义 学生编号 课程编号 成绩 2.向表中填入教材P59数据 3.向Student 表增加“入学时间”列(列名为Scome,日期型) 4.将年龄的数据类型改为半字长整数。

5. 为Student中sname添加列级完整性约束,不能为空。为Student中sno添加列级完整性约束,取值唯一,不能为空。

6. 删除Student中sname列级完整性约束

7.为SC建立按学号升序和课程号降序建立唯一索引。 8. 建立Student、Course及SC的主码约束

9.建立 Student与SC、Course与SC之间的外码约束

28

10.实现学生性别只能是“男”或“女”的Check(检查)约束。 11.实现学生年龄只能小于等于30大于17的语义约束

12. 用Create Index对表student的sname字段建立一个升序索引,索引名Indexs。 13.用Drop Index删除索引Indexs。 运行以上语句,并观察结果.

14.将以上的SQL语言存盘,以备老师检查。

29

实验四 DML的数据查询

一、 实验目的

DML的数据查询指对数据库中的数据查询、统计、分组、排序等操作。查询语句可以分为简单查询、连接查询、嵌套查询和组合查询。

本次实验了解DML语言的SELECT语句对数据的查询,学会SQL Server 2000的查询分析器中用DML语言对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。

本实验需4学时。 二、实验内容

1.启动数据库服务软件SQL Server 2000的查询分析器,用SELECT语句对表进行简单查询操作,整个查询过程只涉及到一个表,是最基本的查询语句。 语法格式如下:

Select <目标列组> From <数据源> [Where <元组选择条件>] [Group by <分组列> [Having <组选择条件>]] [Order by <排序列1> <排序要求> [, …n]]

2.用SELECT语句对表进行连接查询操作,连接查询涉及被连接和连接两个表,所以数据源一般为多个表。用来连接两个表的条件称为连接条件,一般格式为: [<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2> 其中比较运算符主要有:=、>、<、>=、<=、!=。

3.用SELECT语句对表进行嵌套查询操作,一个Select…From…Where语句称为一个查询块,将一个查询块嵌套在另一个查询块的Where子句或Having短语的条件中的查询,就是嵌套查询。主要有使用In操作符、使用比较运算符的嵌套查询方式。

4.用SELECT语句对表进行组合查询操作,将SELECT语句的查询结果集再进行集合运算就构成了SQL的组合查询。组合查询操作符有Union(并操作)、Intersect(交操作)和Minus(差操作)。

三、实验任务

1.打开数据库SQL Server 2000的查询分析器, 2、用INSERT语句向表SC中插入记录,记录见P59 利用以前建立的Student,Course,SC进行查询。 3.简单查询

1)查询全体学生的详细记录;

2)查询所有选修过课的学生的学号; 3)查询考试成绩不及格的学生的学号; 4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别; 5)查所有姓刘的学生的姓名、学号和性别; 6)查 DB_Design 课程的课程号和学分;

30

7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列; 9)查询学习1号课程的学生最高分数;

4.在查询分析器窗口下用SELECT语句完成连接(嵌套)查询:

1)查询各个课程号与相应的选课人数; 2)查询每个学生及其选修课程的情况;

3)4)查询每个学生及其选修的课程名其及成绩; 5)查询每一门课的间接先行课(即先行课的先行课)。

5. 在查询分析器窗口下用SELECT语句完成嵌套查询:

(1)求选修了高等数学的学生学号和姓名。

(2)求2课程的成绩高于张三的学生学号和成绩。 (3)求其他系中年龄小于计算机系年龄最大者的学生。 (4)求其他系中比计算机系学生年龄都小的学生。 (5)求选修了2号课程的学生姓名。 (6)求没有选修2课程的学生姓名。 (7)查询选修了全部课程的学生的姓名。

(8)求选修了学号为“95002”的学生所选修的全部课程的学生学号和姓名。

6、在查询分析器在窗口下用SELECT语句完成集合查询:

(1) 查询计算机科学系的学生及年龄不大于19岁的 学生 (2) 查询选修了课程1或者选修了课程2的学生。

(3) 查询计算机科学系的 学生与年龄不大于19岁的学生的交集。 (4) 查询选修了课程1的学生的集合与选修了课程2的学生的集合。 (5)查询计算机科学系的 学生与年龄大于19 的学生的差集。

7.将以上的SQL语言存盘,以备老师检查。

31

实验五 SQL语言的DML初步

一、实验目的

SQL的数据操纵功能通过DML(数据库操作语言)实现。DML包括数据查询和数据更新两种数据操作语句。其中,数据查询指对数据库中的数据查询、统计、分组、排序等操作;数据更新指数据的插入、删除和修改等数据维护操作。

本次实验了解DML语言的INSERT、UPDATE、DELETE对数据的操作,学会SQL Server 2000的查询分析器中用DML语言对表中的数据进行插入、删除和修改。

本实验需2学时 二、实验内容

1. 启动数据库服务软件SQL Server 2000的查询分析器,用INSERT语句对表进行插入操

作,语法格式如下:

Insert Into <表名> [(<属性列1>[,<属性列2>]…)] Values (<常量1>[,<常量2>]…);

2. 用UPDATE语句对表中已有的记录进行修改,语法格式如下:

Update <表名> Set <列名>=<表达式>[,<列名>= <表达式>][,…n] [Where <条件>];

3. 用DELETE语句对表中已有的记录进行删除,语法格式如下:

Delete From <表名> [Where <条件>];

三、实验任务

1. 打开数据库SQL Server 2000的查询分析器,用INSERT语句对表插入记录 查询分析器窗体下完成以下题目,分别运行,观察结果

(1) 将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年

龄:18)插入到Student表中。

(2) 插入一条选课记录(‘95020’,‘1’)

(3) 对每个系求学生的平均年龄,并把结果存入表Deptage

2、利用查询分析器用UPDATE语句更改表中数据。完成以下题目,分别运行,观察结果。

(1) 将学生95001的年龄改为22岁。 (2) 将所有学生的年龄增加1岁

(3) 将计算机科学系全体学生的成绩置零。

3、利用查询分析器用DELETE语句删除表中数据。完成以下题目,分别运行,观察结果。

(1) 删除学号为95019的学生记录。

(2) 删除计算机科学系所有学生的选课记录 (3) 删除所有的学生选课记录

4.将以上的SQL语言存盘,以备老师检查。

32

实验六 视图的定义及使用实验

一、实验目的

使学生掌握 SQL Server中的视图创建及删除的方法,加深对视图和SQL Server图表作用的理解。

本实验需要2学时。 二、实验内容

1. 启动数据库服务软件SQL Server 2000的查询分析器,用CREATE VIEW语句建立视图,语法格式如下:

CREATE VIEW <视图名> [(<属性列1>[,<属性列2>]…)] AS <子查询> [WITH CHECK OPTION]; 2.用DROP VIEW语句删除,语法格式如下:

DROP VIEW <视图名>

3.用SELECT 命令对视图建立查询. 语法格式同基本表的查询.

4.利用UPDATE INSERT DELETE 等命令更新视图数据. 语法格式同基本表的数据更新. 三、实验任务

(一)建立视图(运行并观察结果)

1 建立信息系学生的视图IS_student

2 建立信息系选修了1号课程的学生的视图IS_S1

3 建立信息系选修了1号课程且成绩在90分以上的学生的视图IS_S2 4.建立一个反映学生出生年份的视图BT_S

5.将学生的学号及他的平均成绩定义为一个视图S_G. 6.将课程的课号及选修人数定义为一个视图C_XIU. (二)查询视图(运行并观察结果)

1. 在信息系学生的视图中找出年龄小于20岁的学生 2. 查询信息系选修了1号课程的学生

3. 在S_G中查询平均成绩在90分以上的学生的学号和平均成绩 4. 在C_XIU中查询选修人数在2人以上的课程号 (三)更新视图(运行并观察结果)

1. 将信息系学生视图IS_Student中学号为95002的学生姓名改为’刘辰’

2. 向信息系学生视图IS_S中插入一个新的学生记录,其中学号为95029,姓名为赵新,

年龄为20

3. 删除信息系学生视图IS_S中学号为95029的记录. (四)删除视图(运行并观察结果) 1. 删除IS_S1视图 2. 删除BT_S视图

将以上SQL语句存盘备查.

33

实验七 SQL语言的DCL

一、实验目的

SQL的数据控制通过DCL(数据控制语言) 实现。DCL通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。

本次实验了解DCL语言的GRANT和REVOKE语句对数据库存取权限的控制,学会SQL Server 2000的查询分析器中用DCL语言对数据库存取权限进行设定。

本实验需要2学时。 二、实验内容

1. 启动数据库服务软件SQL Server 2000的查询分析器,用GRANT语句对数据库存取权

限进行授权操作,语法格式如下:

GRANT <系统特权组> To <用户组>|PUBLIC PUBLIC指数据库的所有用户。

2. 用REVOKE语句将DBA(数据库管理员)、DBO(建库用户)授与其它用户对数据库的操

作权收回,语法格式如下:

REVOKE <权限组>|ALL PRIVILEGES [ON <对象名>] FROM <用户组名>|PUBLIC

ON用于被回收特权的对象,ALL PRIVILEGES指回收所有特权,PUBLIC指数据库的所有用户。

3. 创建新的数据库用户

要在Scmanage数据库中创建一个“User1”数据库用户,可以按下面的步骤创建新数据库用户。

1) 1) 在企业管理其中扩展SQL服务器及数据库文件夹。用鼠标右键单击用户 文件夹,弹出一个快捷菜单,如图8-1所示,在弹出的菜单中选择“新建数据库用户”项,会出现如图8-2所示的对话框。

2) 在对话框的登录名栏中选择一个SQL服务器登陆用户名,本例为“login1”,并

在他下面的用户名栏中输入数据库用户参加的角色。 3) 单击“确定”按钮。 三、实验任务

1. 用Windows2000的Administrator(系统管理员)用户登录系统,建立一个新用户DCL,

用户名和口令都相同。

2. 打开数据库SQL Server 2000的查询分析器,用GRANT语句将ALL PRIVILEGES的系

统特权授给用户DCL。

注销用户Administrator,用DCL登录系统,打开数据库SQL Server 2000的查询分析器。

34

图8-1 数据库用户的弹出菜单 图8-2新建数据库用户属性对话框

3. 利用企业管理器建立U1,U2,U3,U4,U5,U6,U7,U8用户,利用查询分析器对这些用

户进行授权。并加以验证.

1) 把查询Student表的权限授给用户U1.

2) 把对Student表和Course表的全部操作权限授予用户U2和U3 3) 把对表Sc的查询权限授予所有用户.

4) 把查询Student表和修改学生学号的权限授给用户U4

5) 把对表SC的INSERT权限授予U5用户,并允许将此权限再授予其他用户 6) DBA把在Scmanage中建立表的权限授予用户U8 4. 利用查询分析器对这些用户进行收权.并加以验证.

1) 把用户U4修改学生学号的权限收回 2) 收回所有用户对表的查询权限

3) 把拥护U5对SC表的INSERT 权限收回

5.注销用户DCL,用Administrator登录系统,用REVOKE语句将用户DCL在表Abc中修改A1的权利收回。6.将SQL语句存盘备查

35

实验八 数据库应用系统设计

一、实验目的

1.掌握嵌入式SQL语句的使用.

2.掌握使用ODBC或ADO等技术连接到SQL Server的方法。 本实验需2学时。 二、实验内容

1.创建ODBC数据源或直接使用ADO连接到SQL Server的技术。

2.在高级语言(VB、Delphi、PB、VC、VF等)中编程对SQL Server中的数据进行访问、操作。

三、建议步骤:

1建立工程项目;

2、界面窗口设计;添加数据库相关的典型控件。 3、添加数据库控件。

4、修改控件属性,把控件和数据库绑定。 5、利用控件直接操作数据库。

6、退出宿主语言后,在DBMS环境下观察数据库的变化。

7、在操纵语言编程环境下为事件增加程序代码,实现对数据库的操纵;

8、保存设计的可执行代码和相应的数据库,供指导教师检查,作为实验成绩的依据。

下面以Delphi调用SQLSERVER数据库为例,说明数据库应用的详细过程. 1、配置ODBC

我的电脑→控制面板→管理工具→ODBC→用户DSN标签→ 添加→sql server→ 完成

数据源名:tsk →选择数据库→选择保存Scmanage的路径 :点击scmanage→确定→确定 确定。

2、创建Delphi 程序静态查询

(1)开始菜单→程序→Borland Delphi→Delphi 6

(2)从BDE标签双击Query,生成Query1,其DatabaseName属性点击下拉框选择tsk; (3)从DataAccess标签双击Datasource,生成Datasource1其属性Dataset设为Query1; (4)从Datacontrols书签双击Dbgrid,生成Dbgrid1控件,其Datasource属性设为Datasource1; (5)在Form1的onActivate事件中加入如下代码:

query1.close;

query1.SQL.Add(‘select * from student ’); query1.prepare;

36

query1.open;

(6)运行即可看到结果;试验SQL语句: 3、动态查询

(1)在form1窗体上添加控件

standard 标签上的edit 控件,其Caption 属性设为空。Name为edit1

standard 标签上的button控件,其Caption 属性设为“确定”,name为button1. (2)在button1的onclick 事件中加入代码如下:

var sqlstr:string; begin

sqlstr:= 'select * from student where sdept='+''''+edit1.text+''''; query1.close;

query1.sql.add(sqlstr); query1.prepare; query1.open; end;

即可实现字符类型的查询; 另:查找性别:

sqlstr:= 'select * from students where sex='+''''+edit1.text+''''; (3)数值型 改变sqlstr

strsql:= 'select * from student where sage='+edit1.text;

或strsql:= 'select * from books where sage='+edit1.text;

四、实验任务:

1、根据学生自身情况,选择一种常用高级语言作为数据库系统的宿主语言(建议VB,VC或DELPHI);

2、利用操纵语言的控件对数据库操作。

3、利用操纵语言(可使用嵌入式)完成数据库的查询、追加、删除操作 要求:至少完成以下两个界面

37

38

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务