实验报告的书写格式及实验内容

更新时间:2023-12-08 06:53:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验报告的书写格式及实验内容

书写格式:

一、实验目的

二、实验内容

三、实验步骤与结果(见后,先写题目再写代码及运行结果)

实验步骤与结果:

实验1数据库及基本表的建立

1.创建一个student数据库,该数据库存放在E:\\sql_data目录下(如果没有该文件夹,则事先在windows资源管理器中建立该文件夹)。

CREATE DATABASE stu --数据库名为student ON

(NAME=student_data, --数据库的逻辑名为student_data

FILENAME=?E:\\sql_data\\student_data.mdf ?, --数据库的物理名 SIZE=10MB, --数据库的初始大小为10MB MAXSIZE=50MB, --数据库的最大容量为50MB FILEGROWTH=10% --数据库容量自动按10 %的比例增长 ) LOG ON

(NAME=stu_log, --日志文件的逻辑名为stu_log FILENAME='E:\\sql_data\\student_log.ldf ', SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB )

2.分别创建教材P82页三张表的结构,执行结果如下图所示。 (1)学生表student

create table student (sno char(9) not null, sname char(8), ssex char(2), sage smallint, sdept char(2), primary key(sno),

check(ssex in ('男','女')), check(sage between 15 and 30)); (2)课程表course:

create table course (cno char(2) not null, cname char(12), cpno char(2), ccredit decimal(1), primary key(cno));

注:student和course表建完以后,最后建SC表。因为SC表的SNO和CNO是外码,必须先建立student和course表,才能建SC表,不能颠倒顺序。 (3)选课表SC create table SC (sno char(9) not null, cno char(2) not null, grade decimal(3), primary key(sno,cno),

foreign key(sno) references student(sno), foreign key(cno) references course(cno), check(grade between 0 and 100));

3、给以上三张表插入记录,将第82页各个表中的记录分别插入各个基本表。以下给出插入记录的命令,也可自行任意添加记录。

insert into student values('200215121','李勇','男',20,'CS');

insert into student values('200215122','刘晨','女',19,'IS'); insert into student values('200215123','王敏','女',18,'MA'); insert into student values('200215125','张立','男',19,'IS');

insert into course values('1','数据库','5',4); insert into course values('2','数学',null,2); insert into course values('3','信息系统','1',4); insert into course values('4','操作系统','6',3); insert into course values('5','数据结构','7',4); insert into course values('6','数据处理',null,2); insert into course values('7','PASCAL语言','6',4);

insert into SC values('200215121','1',92); insert into SC values('200215121','2',85); insert into SC values('200215121','3',88); insert into SC values('200215122','2',90); insert into SC values('200215122','3',80);

select * from student; select * from course; select * from sc;

实验2 数据操纵

在查询分析器中的设计Insert语句、Delete语句、Update语句完成记录的插入、删除、修改操作。

(1)、①在SC中插入记录(‘200115130’,‘1’)

②在Student表中插入记录(‘200115130’,‘陈冬’,‘男’,‘IS’,18),若先执行①,再执行②,结果会怎么样?为什么?

(2)、先创建一个基本表Student_AVG(包含学号、姓名和平均成绩),然后将各

个学生的学号、姓名和平均成绩插入; (3)、将所有学生的年龄都增加1岁; (4)、将计算机系的全体学生的成绩置零;

(5)、删除Student_AVG学号为200212122的学生记录; (6)、删除计算机系所有学生的选课记录; (7)、将SC表被删除的记录重新插入。

(8)、修改cno为‘1’的记录的课程名称为‘数据库技术’。 (9)、将pubs数据库中authors的前10条记录的state列更改为ZZ。

USE pubs GO

UPDATE authors SET State=‘ZZ’

FROM (SELECT TOP 10 * FROM authors order by au_lname) AS T1

WHERE authors.au_id = T1.au_id GO

(10)、从coure表中删除所有credit为4的记录。

实验3 索引及视图

一、利用查询分析器完成以下索引的建立。

(1)为Student表按学号升序建立唯一索引(取名为StuSno); (2)为Course表按课程名的降序建立聚簇索引(取名为CouCname); (3)为SC表按学号升序和课程号降序建立唯一索引(取名为SCSnoCno)。 (4)使用系统存储过程sp_helpindex查看student及course上的索引信息。

(5) 删除Student中的StuSno索引。

二、利用T-SQL语句创建视图,对视图进行修改和删除操作。

①建立计算机系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有计算机系的学生;

②建立计算机系选修了1号课程且成绩在90分以上的学生的视图,视图名为:S_C;

③建立一个学生出生年份的视图,视图名为:S_Year; ④将学生的学号及其平均成绩定义为一个视图(取名为S_G)。 ⑤建立一个视图,要求给出每一门课的间接先行课。

⑥建立一个男生所在系的视图,视图包括学号、姓名、性别、系别四列。 ⑦建立一个视图,给出每一门课的平均成绩。 ⑧删除第⑤题建立的视图。

⑨查询第③题建立的视图,只显示姓名及出生年份。 ⑩将第③题中的学生“张立”的名字改为“张力”。

⑾在第⑥题的视图中插入新的学生,学号:200215135,姓名:王小二,性别:男,系:计算机系。

⑿删除第⑥题视图中的‘李勇‘的记录。

⒀查询信息系选修了1号课程的学生学号和姓名(在视图中查询)。 ⒁在S_G视图中查询平均成绩在90分以上的学生的学号和平均成绩。

实验4 数据查询

一、利用查询分析器完成以下查询。

1.查询全体学生的姓名、学号、出生年份和所在系,并使用中文别名;

2.查询所有年龄在20岁以下的学生姓名、性别及其年龄;

3.查询信息系(IS)、数学系(MA)和计算机系(CS)学生的姓名和性别; 4.查询姓名中第2个字为“立“字的学生的姓名和学号;

5.查询以“PA“开头,且倒数第5个字符为C的课程的详细情况; 6.查询选修了3号课程的学生学号及其成绩,查询结果按分数的降序排列;

本文来源:https://www.bwwdw.com/article/7l3t.html

Top