1、1. 建立教学数据库teaching CREATE DATABASE teachingON PRIMARY(NAME=teaching_data,FILENAME=e:teaching_data.mdf,SIZE=50,MAXSIZE=90,FILEGROWTH=10%)LOG ON(NAME=teaching_log,FILENAME=teaching_log.ldfSIZE=10,MAXSIZE=30,FILEGROWTH=2)执行结果如下:2. 建立教学数据库的三个基本表:建立学生表CREATE TABLE S(S# CHAR(9) PRIMARY KEY, SNAME CHAR(30)
2、 UNIQUE, AGE SMALLINT, SEX CHAR(30),);建立选修表CREATE TABLE C(C# CHAR(9) PRIMARY KEY, CNAME CHAR(30) UNIQUE, TEACHER CHAR(8), );建立课程表 CREATE TABLE SC(S# CHAR(9), C# CHAR(9), GRADE CHAR(10), PRIMARY KEY(S#,C#), FOREIGN KEY(S#) REFERENCES S(S#), FOREIGN KEY(C#) REFERENCES C(C#),3. 输入数据 INSERT INTO S(S#,SN
3、AME,AGE,SEX)VALUES(S1,WANG20MS2LI19S3CHEN22S4WUS5LOU21FS8DONG18INSERT INTO C(C#,CNAME,TEACHER )VALUES(C2MATHSMAC4PHYSICSSHIC3CHEMISTRYZHOUC1DBC5OSWENINSERT INTO SC(S#,C#,GRADE )VALUES(80708590Null 957560654. 数据修改、删除 1)把C2课程的非空成绩提高10。UPDATE SCSET GRADE = GRADE *1.1WHERE SC.C#= ;2)在SC表中删除课程名为PHYSICS的成
4、绩的元组。DELETE FROM SCWHERE C# IN(SELECT C# FROM C WHERE CNAME = 3)在S和SC表中删除学号为S8的所有数据。WHERE SC.S#=;FROM SWHERE S.S#=5. 计算每个学生有成绩的课程门数、平均成绩。SELECT S.S# ,SNAME ,COUNT(C#) ,AVG(GRADE) FROM S,SCWHERE S.S# = SC.S#GROUP BY S.S#,SNAME6. 创建一个登录用户 操作结果如下:7. 创建新的数据库用户 8. 使用GRANT语句,把对基本表S、SC、C的使用权限授给用户u2。GRANT ALL PRIVILEGESON TABLE S,C,SCTO u2;并用REVOKE语句回收权限REVOKE ALL PRIVILEGESFROM u2;9. 实验结果分析 通过本次实验,加深了对数据安全性的理解,掌握SQL SERVER中有关用户、角色及操作权限的管理方法。 巩固了建立数据库,建立表以及插入数据的过程,了解了数据库安全性方面的知识,加深了对数据库的理解,掌握了所学的知识。