华科数据库实验报告(2)

2019-03-09 15:49

3.DML使用方法

SQL的DML包括插入(INSERT)、删除(DELETE)、修改(UPDATE)等命令。DML命令的执行是可能造成数据库不一致的根源。因此,每一条语句在执行前,SQL-Server都要验证语句是否符合完整性要求,包括实体完整性、参照完整性、用户定义完整性。

1)INSERT命令 SQL语言的插入命令:

INSERT INTO table-name (column-list) VALUES(values-list),可以完成数据输入功能。

2) DELETE命令 SQL的删除命令:

DELETE FROM table-name [WHERE condition-expression];

执行DELETE命令后,系统会删除满足命令中条件表达式的所有元组。这种删除只是逻辑的。因此,当再次插入一个与被删除的元组具有相同关键字的元组时,被认为违反了实体完整性。

3) UPDATE命令 SQL的修改命令为: UPDATE table-name

SET column-name = expression [WHERE condition-expression];

执行UPDATE命令后,系统会按照SET子句修改满足命令中条件表达式的所有元组。如果使用修改命令更新关键字的值,而该关键字在其他表中作为外码存在时,操作可能违反参照完整性。系统将拒绝执行。

4) SELECT命令

SELECT 命令是SQL语言中使用最频繁的命令,其变化形式繁多,灵活运用SELECT 命令可以完成任意复杂的查询要求。SELECT 命令的基本语法为:

SELECT query_expression|column-list|* FROM table_name_list|view_name_list [WHERE condition-expression]

[GROUP BY [HAVING condition-expression]]

6

[ORDER BY order_expression| column [ASC|DESC]][,?n];

4.DCL 的使用方法

1)SQL Server 登录认证 ? 新登录的创建

新的登录者可以是WINDOWS的用户或用户组,也可以是使用SQL Server认证模式的登录帐号。

设定WINDOWS的用户为SQL Server登录者时使用sp_grantlogin。创建新的使用SQL Server认证模式的登录帐号时使用sp_addlogins。

? 登录的删除

删除基于使用SQL Server认证模式的SQL Server的登录可以使用sp_droplogin。但是,如果与该登录匹配的数据库用户仍存在sysuser表中,则不能删除该登录账号。删除WINDOWS的用户或用户组时,使用sp_revokelogin,拒绝WINDOWS的用户或用户组连接到SQL Server时,使用sp_decnylogin。

? 登陆的查看

sp_helplogins可以用来显示SQL Server的所有登录者的信息。如图29是显示数据库ems 的所有登录者信息的代码。

2) 用户管理

SQL Server利用下列系统过程管理数据库用户:

sp_adduser sp_grangdbaccess sp_dropuser Sp_dropuser

sp_revokedbaccess sp_helpuser 。其中sp_adduser Sp_dropuser 是为了保持与以前版本相兼容,因此不主张使用,在SQL Server 2000中,建议使用sp_grangdbaccess sp_revokedbaccess 。

? 创建新数据库用户

所有的数据库用户(除了guest)均必须与某一登录账号相匹配,因此在使用系统过程创建新数据库用户时,不但要指出新数据库用户的名称,还必须指出一个已经存在的登录账号。系统过程sp_grantdbaccess用于为SQL Server 登录用户或NT用户或用户组建立相匹配的数据库用户帐号。

? 删除数据库用户

系统过程sp_revokedbaccess用于将数据库用户从当前数据库中删除,删除后与其匹配的登录即无法再访问该数据库了。

? 查看数据库用户信息

7

sp_helpuser可用来显示当前数据库的指定用户信息。

3) 用户授权管理

对于登录到SQL Server的合法数据库用户,必须获得对数据库操作的授权。在SQL Server中包括两种类型的权限,即对象权限和语句权限。对象权限总是针对表、视图、存储过程而言,它决定了能对这些对象执行哪些操作(如UPDATE DELETE INSERT SELECT EXECUTE)。不同类型的对象支持不同类型的操作。

语句权限指数据库用户执行某种语句的操作权,如创建数据库、表、存储过程等。这些语句虽然(如CREATE 命令)包含有操作对象,但这些对象在操作前并不存在于数据库中。

5.数据库的备份和恢复

备份是指对SQL Server 数据库或事务日志进行拷贝,如果数据库因意外而损坏,备份文件可以用来恢复数据库。SQL Server 2000 中有四种备份类型,分别是:数据库备份、事务日志备份、差异备份、文件和文件组备份。在使用是可以根据实际情况选择一种或几种的混合应用。

1)备份设备

在进行备份以前必须创建备份设备。备份设备是用来存储数据库、事务日志、文件和文件组备份的存储介质。可以是磁盘、磁带或管道。

SQL Server 2000 提供了两种创建备份的途径,即可视化方式和命令方式。 用命令备份数据库

使用BACKUP 命令进行备份操作。 备份完整数据库

/* EXEC sp_addumpdevice 'DISK','backupdevice_name', 'd:\\backupdev\\ems.bak'目标路径*/

BACKUP DATABASE database TO backupdevice_name

2)恢复数据库

8

使用命令恢复数据库

数据库恢复命令为:RESTORE DATABASE/LOG。

三、实验内容

实验1: 基本表的创建、数据插入

(1)建立教学管理中的三个基本表:

Students(S#,SNAME,AGE,SEX) 学生(学号,姓名,年龄,性别) Courses(C#,CNAME,SCORE,PC#)课程(课程号,课程名,学分,先行课号)

SC(S#,C#,GRADE) 选修(学号,课程号,成绩) (2)用INSERT 命令输入数据。

表 1基本表Students的数据

S1 S2 S3 S4 S6 S8 LU YIN XU QU PAN DONG 20 19 18 18 14 24 M M F F M M 表 2基本表Courses的数据

C1 C2 C3 C4 C5 数学 英语 数据结构 数据库 网络 4 8 4 3.5 4 M M F F M 表 3基本表SC的数据

C1 S1 85 S2 90 S3 89 S4 84 S6 88 S8 87 9

C2 C3 C4 C5 73 88 89 73 NULL 80 85 NULL 86 82 NULL 75 90 92 85 NULL 88 87 实验2:数据查询

(1)列出选修课程号为C2的学生学号与姓名。 (2)检索选修课程名为“数学”的学生学号与姓名。 (3)检索没有选修C2课程的学生姓名与年龄。 (4)检索选修全部课程的学生姓名。

实验3:数据修改、删除

(1) 把C2课程的非空成绩提高10%。

(2) 在SC表中删除课程名为“物理”的成绩所对应的元组。 (3) 在S和SC表中删除学号为S8的所有数据。

实验4:视图的操作

(1) 建立男生学生的视图,属性包括学号,姓名,选修课程名和成绩。 (2) 在男生视图中查询平均成绩大于80分的学生学号和姓名.

实验5:库函数,授权控制

(1) 计算每个学生选修课程的门数、平均成绩。

(2) 建立一个合法的用户,将SC表的查询权限授予该用户。

(3) 使用GRANT语句,把对基本表students、Courses、SC的使用权限授予其

10


华科数据库实验报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2011版小学数学新课程标准

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: