数据库原理实验报告 下载本文

金陵科技学院实验报告

[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