《数据库系统原理》实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库系统原理》实验

实验1 表和表数据的操作

一、实验目的

掌握在SQL Server 2000环境下,利用SQL语言创建和管理表的方法。

二、实验要求

1、学会利用SQL语句建立自定义数据类型;

2、掌握使用SQL语句建立数据表的方法;

3、掌握数据表的修改及删除方法(界面方式及语句方式);

4、掌握T-SQL中的INSERT、UPDATE及DELETE语句的使用方法;

三、实验内容

1、创建数据库

利用“查询分析器”创建“stuscore”数据库。

CREATE DATABASE stuscore

2、创建数据表

(1)用“查询分析器”建立stuscore数据库中的学生表(Student)、班级表(Class)、课程表(Course)及成绩表(Grade),结构如下:

create table student

(sno char(8) primary key,

sname varchar(10),

sex char(2),

clsno char(6),

stuaddr varchar(20),

birthday char(20),

height DEC(4,2),

foreign key(clsno) references class(clsno)

);

create table class

(clsno char(6) primary key, clsname varchar(16), dorector varchar(10), specialty varchar(30)

);

create table course

(cno char(4) primary key, cname varchar(16),

pcno char(4),

credit tinyint

);

create table grade

(sno char(8),

cno char(4),

scorce int,

primary key(sno,cno)

);

2)使用T-SQL语句修改表结构

可以使用Alter语句增加、删除或修改字段信息。

(1)将表Student增加一列Department(系别)Char(2),不能为空。

alter table student add department char(2);

(2)修改学生表中的学生姓名字段的长度为20:

alter table student alter column sname char(20);

3、表数据的操作

插入数据之后使用命令:Select * from Student; 检查插入数据的正确性

插入数据之后使用命令:Select * from Class; 检查插入数据的正确性

(4)向表(Grade )中插入数据

插入数据之后使用命令:Select * from Grade; 检查插入数据的正确性

实验3 关系、索引、视图和触发器

一、实验目的

1、掌握关系图的创建方法。

2、掌握创建索引、查看索引和删除索引的操作和方法。

3、掌握创建、查询、更新、修改和删除视图的操作和方法。

二、实验要求

1、掌握在SQL Server 2000环境下,利用查询分析器创建关系图,理解关系数据库中表间关系的参照引用完整性;

2、掌握在SQL Server 2000环境下,利用查询分析器创建、查看和管理视图;

3、掌握在SQL Server 2000环境下,利用查询分析器创建、查看和管理索引。

三、实验内容

索引、视图和触发器的创建、查询、修改和删除

(1)为学生情况(student)表创建一个视图V_xsqk,以显示学生的学号、姓名、性别和出生年月等基本信息。

Create view V_xsqk

As

Select sno,sname,sex,birthday

From student

(2)创建一个视图V_XSCJ,以显示“0001”号课程的学生成绩信息,如学号、姓名、课程名称、成绩和学分等。

create view V_XSCJ(sno,sname,CName,Scorce,Credit)

as

select grade.sno,sname,CName,Scorce,Credit

from student,Course,Grade

Where student.sno=grade.sno and o=o and O='0001';

(3)分别利用视图V_xsqk和V_XSCJ作查询和更新操作。

(4)创建触发器trigger_t3,实现当修改学生情况表(student)中的某个学生的学号时,对应学生成绩表(grade)中的学号也作修改。

Create trigger trigger_t3 on student for update

As

Update grade set grade.sno= inserted.sno from grade,deleted,inserted

where grade.sno=(select sno from deleted)

go

(5)在Class表ClsName列上建立一个非聚集索引

Create nonclustered index clsn on Class(ClsName)(6)在student表的SName列上建立一个唯一性索引Create unique index stuname on student (SName)

相关文档
最新文档