金陵科技学院实验报告
[SNO] [char](8) COLLATE Chinese_PRC_CI_AS NOT NULL,
[SName] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Sex] [char](2) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT
[DF_student_Sex] DEFAULT ('男''or''女'),
[ClsNO] [char](6) COLLATE Chinese_PRC_CI_AS NOT NULL,
[StuAddr] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL, [Birthday] [smalldatetime] NOT NULL, [Height] [numeric](4, 2) NOT NULL, [TotalCredit] [tinyint] NOT NULL,
CONSTRAINT [PK__student__07020F21] PRIMARY KEY CLUSTERED
CREATE TABLE [dbo].[Grade](
[SNO] [char](8) COLLATE Chinese_PRC_CI_AS NOT NULL, [CNO] [char](4) COLLATE Chinese_PRC_CI_AS NOT NULL, [Scorce] [numeric](4, 1) NOT NULL, [Credit] [tinyint] NOT NULL,
CONSTRAINT [PK_Grade] PRIMARY KEY CLUSTERED
CREATE TABLE [dbo].[Course](
[CNO] [char](4) COLLATE Chinese_PRC_CI_AS NOT NULL,
[CName] [varchar](16) COLLATE Chinese_PRC_CI_AS NOT NULL, [PCNO] [char](4) COLLATE Chinese_PRC_CI_AS NOT NULL, [Credit] [tinyint] NOT NULL,
CONSTRAINT [PK_Course] PRIMARY KEY CLUSTERED
2.插入数据
insert into Class values('CS01','计算机一班','王宁','计算机应用') insert into Class values('MT04','数学四班','陈晨','数学') insert into Class values('PH08','物理八班','葛格','物理')
insert into Student values('19920101','王军','男','CS01','下关#','1976.12.21',1.76,10)
insert into Student values('19920102','李杰','男','CS01','江边路#','1974.5.24',1.72,9)
insert into Student values('19920306','王彤','女','MT04','中央路#','1977.3.18',1.65,9)
insert into Student values('19940106','吴杪','女','PH08','莲化小区#','1979.4.8',1.60,4)
insert into Course values('0001','数学','',6)
insert into Course values('0003','计算机基础','',3) insert into Course values('0007','物理','',4)
insert into Grade values('19920101','0001',90,6) insert into Grade values('19920101','0007',86,4) insert into Grade values('19920102','0001',87,6)
4
金陵科技学院实验报告
insert into Grade values('19920102','0003',76,3) insert into Grade values('19920306','0001',87,6) insert into Grade values('19920306','0003',93,3) insert into Grade values('19940106','0007',85,4)
3.查询表
Select * from Student; Select * from Class; select * from Course; select * from Grade;
4.自定义数据类型
sp_addtype courseNo,'char(4)','NOT NULL';
5.修改表结构
alter table Student add Department Char(12);
6.删除表中数据
delete from Grade where SNO='19920101';
7.删除表格
drop table Grade;
六、实验体会和收获
通过这次实验,我学习到了Sql Server数据库的基本操作,学会了使用SQL命令添加数据内容,自定义数据结构,修改和删除表格等。在新建查询的过程中要注意先选择对应数据库,才能将数据添加到对应的表格里。
5
实验项目名称: 关系、索引和视图 实验学时: 2 同组学生姓名: 实验地点: 1316 实验日期: 2016.04.07 实验成绩: 批改教师: 王预 批改时间: 2016.04.10
一、实验目的和要求
1、理解关系图的含义及用途,掌握关系图的创建方法;
2、理解视图的基本概念、种类及利用视图修改数据时的限制,掌握视图的创建方法; 3、理解索引的基本概念及其优缺点,掌握创建索引的方法。
二、实验设备、环境
设备:奔腾Ⅳ或奔腾Ⅳ以上计算机;
环境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server 2005中文版。
三、实验步骤
1、根据题目要求熟悉SQL Server2005的各种管理工具; 2、分析题意,重点分析题目要求并给出解决方法;
3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中; 4、提交完成的实验结果。
四、实验内容
1、创建关系图
根据实际情况,为MyDB数据库创建关系图。其中包括:Student、Course、Grade、Class四张表格,选择表中相应的属性建立表间的关联。 2、视图的创建、查询、修改和删除。
(1)创建一个名为V_Student的视图,以显示学生的学号、姓名、性别和出生年月等基本信息。 (2)创建一个名为V_grade的视图,以显示选修“0001”号课程的学生成绩信息,如学号、姓名、课程名称、成绩和学分等。
(3)分别利用视图V_Student和V_grade作查询和更新操作。
(4)修改V_Student视图的定义,为其增加一个条件,使得该视图只显示“CS01”班学生的基本信息。 (5)删除名为V_Student的视图。 3、索引的创建、查看和删除。
(1)为Student表创建一个基于总学分和学号的索引idex_total_xh,其中总学分按降序排列,当总学分相同时,按学号升序排列,填充因子为80%。
(2)学生表创建一个基于班级和姓名的索引idex_clas_name,其中按班号按升序、学生姓名按降序排列,填充因子为70%。
(3)利用索引管理器查看索引。
(4)删除索引idex_total_xh。再利用索引管理器查看索引。
金陵科技学院实验报告
注:以上3题除了第一题,其余各题均需要使用工具和SQL语言两种方法来完成。并将SQL语句按题号保存在自己的文件夹下的实验四目录中。
五、问题解答及实验结果
1. 创建关系图
2. 视图的创建
(1)create view V_Student as
select SNO as '学号',SName as '姓名',Sex as '性别',Birthday as '出生年月' from Student;
(2)create view V_Grade as select Grade.SNO as '学号',SName as '姓名',CName as '课程名称',Scorce as '成绩',Grade.Credit as '学分' from Student,Course,Grade where Grade.CNO='0001' and Grade.SNO=Student.SNO and Grade.CNO=Course.CNO;
1