东北大学数据库实验报告2016.doc
《东北大学数据库实验报告2016.doc》由会员分享,可在线阅读,更多相关《东北大学数据库实验报告2016.doc(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。实验内容:具体包括如下三部分。一、 熟悉上机环境。客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。具体包括:1. 了解SQL Server 环境。鼠标点击开始,进入“Microsoft SQL Server企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的
2、圆形标志变为绿色,说明客户端程序已与服务器连接成功。点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。2. 鼠标点击开始,进入“Microsoft SQL Server查询分析器”,输入用户名和口令,进入SQL查询分析器。如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具
3、有在数据库user27上创建表等一切权力。3. 在SQL查询分析器环境下,你就可进行SQL命令语句操作了。二、 在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。1. 描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式学生课程选修学号姓名年龄所在系成绩课号课程名学时学分先行课号2. 在数据库中定义这些关系模式,并向基本表中插入如下数据:CREATE table Students(Sno char(10) primary key,Sname char(20),Sage int,sdept char(20)create table Courses
4、(Cno char(4),Cname char(40),Ccredit int,Ctime int,Cpno char(4),primary key (cno),Foreign key (Cpno) references Courses(Cno)create table SC(Sno char(10),Cno char(4),Grade int,primary key(Sno,Cno),foreign key(Sno) references Students(Sno),foreign key(Cno) references Courses(Cno)insert into Students va
5、lues (20133901,陈一,21,计算机)insert into Students values (20133902,陈二,22,电子)insert into Students values (20133903,陈三,23,通信)insert into Students values (20133904,陈四,20,自动化)insert into Students values (20133905,陈五,21,软件)insert into Students values (20133906,陈六,22,数学)insert into Students values (20133907,陈
6、七,23,物联网)insert into Students values (20133908,陈八,20,生物)insert into Students values (20133909,陈九,21,计算机)insert into Students values (20133910,陈十,22,机械)insert into Courses values (0001,C语言,4,60,null)insert into Courses values (0002,C+语言,4,60,null)insert into Courses values (0003,JAVA,4,60,null)insert
7、 into Courses values (0004,数据结构,4,60,null)insert into Courses values (0005,高数,4,60,null)insert into Courses values (0006,离散数学,4,60,null)insert into Courses values (0007,计算原理,4,60,0005)insert into Courses values (0008,算法设计,4,60,null)insert into Courses values (0009,文本,4,60,null)insert into Courses va
8、lues (0010,信息安全,4,60,0009)insert into SC values (20133901,0001,2)insert into SC values (20133902,0001,3)insert into SC values (20133903,0001,4)insert into SC values (20133904,0003,3)insert into SC values (20133905,0001,2)insert into SC values (20133906,0001,1)insert into SC values (20133907,0001,2)i
9、nsert into SC values (20133908,0001,3)insert into SC values (20133909,0001,4)insert into SC values (20133910,0002,3)3. 插入相应的数据,试着插入重复的元组,结果如何?插入相同数据insert into Students values (20133901,陈一,21,计算机)insert into Students values (20133901,陈一,21,计算机)insert into Students values (20133901,陈一,21,计算机)insert i
10、nto Students values (20133901,陈一,21,计算机)insert into Students values (20133901,陈一,21,计算机)insert into Students values (20133901,陈一,21,计算机)不能插入重复数据4. 在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。alter table Students add check(Sage=14 and Sage=18 and Sage8011. 求计
11、算机系每个学生的姓名,选修的课程名和成绩。select Students.Sname,Courses.Cname,SC.Grade from Students,SC,Courses where Students.Sdept=计算机 and Students.Sno=SC.Sno and SC.Cno=Courses.Cno12. 求每个学生的学号及平均成绩。select Sno,AVG(Grade) AvgGrade from SC group by Sno13. 求男学生每一年龄组中超过1人的年龄组及人数。select Sage,Count(Sno) countSno from Studen
12、ts group by Sage having Count(Sno)114. 求每一门课程的间接先行课号。select C1.Cno,C2.Cpno from Courses C1,Courses C2 where C1.Cpno=C2.Cno15. 求选修了全部课程的学生的学号。 select Sno from Students where not exists (select * from Courses where not exists(select * from SC where Sno=Students.Sno and Cno=Courses.Cno);实验(三):数据库的安全性和完
13、整性实验目的:了解和使用安全子系统;进行完整性定义和检查。实验内容:具体包括如下三部分。一 熟练掌握SQL(续)1. 修改表Students,在其中加入一个字段性别sex char(1) alter table Students add sex char(1); 2. 创建索引:在Students表的Sno上创建唯一聚簇索引, 在SC表的(Sno, Cno)上创建唯一索引. 查询Students表的内容, 记录的顺序有变化吗? 查询SC表的内容, 记录的顺序有变化吗? Create unique clustered index Student_sno on Students(Sno);Crea
14、te unique index Sno_cno on SC(Sno,Cno);Students表的内容, 记录的顺序有变化SC表的内容, 记录的顺序没有变化3. 创建视图 创建计算机系学生视图CS_Students,其中包括学号、年龄和性别。带with check opition子句不带with check opition子句时各插入一计算机系学生记录, 通过视图查询插入的记录,结果如何?通过表Students查询插入的记录,查看所在系字段上的值?create view CS_students1 as select Sno,Sage,sex from Students where Sdept=
15、CS with check optionINSERT INTO CS_students1VALUES(20133333,19,m);create view CS_students2 as select Sno,Sage,sex from Students where Sdept=CSINSERT INTO CS_students2VALUES(20138888,18,m); 创建一视图,表示学生的平均成绩,其中包括Sno,avgGrade。通过该视图插入一学生姓名和平均成绩,结果如何?通过该视图查找平均成绩在90分以上的学生的学号和平均成绩,结果又如何? create view Stuavgg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 数据库 实验 报告 2016
限制150内