数据库实验报告.docx
《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(23页珍藏版)》请在冰点文库上搜索。
![数据库实验报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/9/90e3aab2-8395-439a-bac5-851101295a08/90e3aab2-8395-439a-bac5-851101295a081.gif)
数据库实验报告
数据库实验报告
实验内容:
实验一启动SQLServer2000和企业管理器
实验二SQLServer2000查询分析器
实验三SQL语言
实验四er图
姓名:
杨明明
专业班级:
信管13k2
学号:
131********3
完成日期:
2014.12.7
实验一:
启动SQLServer2000和企业管理器
1.用数据库SQLServer2000的服务管理器启动数据库服务;
2.用数据库SQLServer2000的企业管理器建立一个数据文件名为scmanage_data、大小50M,日志文件名为scmanage_log、大小25M的新数据库,该数据库名为scmanage。
实验结果如下:
3.利用企业管理器在数据库scmanage上,建立如下所示的表student利用企业管理器向student中添加记录:
student
字段名
类型
长度
含义
sno
char
5
学生编号
sname
char
8
姓名
ssex
char
2
性别
sage
int
年龄
sdept
char
20
系别
实验结果如下:
4.建表course,表结构如下图所示,利用企业管理器向表中添加记录:
Course
字段名
类型
长度
含义
cno
char
5
课程编号
cname
char
20
课程名
cpno
char
5
先行课
Ccredit
int
学分
实验结果如下:
5.建表SC。
表结构如下所示,利用企业管理器向表中添加记录:
SC
字段名
类型
长度
含义
sno
Char
5
学生编号
cno
Char
5
课程编号
grade
Int
成绩
实验结果如下:
实验二SQLServer2000查询分析器
1.打开数据库SQLServer2000的查询分析器,用SQL语言建表course,表结构如下图所示:
student
字段名
类型
长度
含义
sno
char
5
学生编号
sname
char
8
姓名
ssex
char
2
性别
sage
integer
年龄
sdept
varchar
20
系别
用SQL语言建表course,表结构如下图所示:
Course
字段名
类型
长度
含义
cno
char
5
课程编号
cname
varchar
20
课程名
cpno
char
5
先行课
Ccredit
int
学分
用CreateTable建表SC。
表结构如下所示:
SC
字段名
类型
长度
含义
sno
Char
5
学生编号
cno
Char
5
课程编号
grade
Int
成绩
实验结果见实验一。
2.
练习查询语句,查找年龄大于等于20岁,计算机系的学生记录。
实验三SQL语言
(一)SQL语言的DDL
1.打开数据库SQLServer2000的查询分析器,用CreateTable建表SC。
表结构如下所示:
SC
字段名
类型
长度
含义
sno
Char
5
学生编号
cno
Char
5
课程编号
grade
Int
成绩
2.向表中填入数据
3.向Student表增加“入学时间”列(列名为Scome,日期型)
4.将年龄的数据类型改为半字长整数。
5.用CreateIndex对表student的sname字段建立一个升序索引,索引名Indexs。
6.用DropIndex删除索引Indexs。
(二)DML的数据查询
1.打开数据库SQLServer2000的查询分析器,
2、用INSERT语句向表SC中插入记录,记录见P59
利用以前建立的Student,Course,SC进行查询。
3.简单查询
1)查询全体学生的详细记录;
2)查询所有选修过课的学生的学号;
3)查询考试成绩不及格的学生的学号;
4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;
5)查所有姓刘的学生的姓名、学号和性别;
6)查DB_Design课程的课程号和学分;
7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列;
9)查询学习1号课程的学生最高分数;
4.在查询分析器窗口下用SELECT语句完成连接(嵌套)查询:
1)查询各个课程号与相应的选课人数;
2)查询每个学生及其选修课程的情况;
3)查询选修2号课程且成绩在90分以上的所有学生;
4)查询每个学生及其选修的课程名其及成绩;
5)查询每一门课的间接先行课(即先行课的先行课)。
5.在查询分析器窗口下用SELECT语句完成嵌套查询:
(1)求选修了高等数学的学生学号和姓名。
(2)求2课程的成绩高于李勇的学生学号和成绩。
(3)求其他系中年龄小于计算机系年龄最大者的学生。
(4)求其他系中比计算机系学生年龄都小的学生。
(5)求选修了2号课程的学生姓名。
(6)求没有选修2课程的学生姓名。
(7)查询选修了全部课程的学生的姓名。
(8)求选修了学号为“95002”的学生所选修的全部课程的学生学号和姓名。
6、在查询分析器在窗口下用SELECT语句完成集合查询:
(1)查询计算机科学系的学生及年龄不大于19岁的学生
(2)查询选修了课程1或者选修了课程2的学生。
(3)查询计算机科学系的学生与年龄不大于19岁的学生的交集。
(4)查询选修了课程1的学生的集合与选修了课程2的学生的集合。
(三)SQL语言的DML初步
1.打开数据库SQLServer2000的查询分析器,用INSERT语句对表插入记录
查询分析器窗体下完成以下题目,分别运行,观察结果
(1)将一个新学生记录(学号:
95020;姓名:
陈冬;性别:
男;所在系:
IS;年龄:
18)插入到Student表中。
(2)插入一条选课记录(‘95020’,‘1’)
(3)对每个系求学生的平均年龄,并把结果存入表Deptage
2、利用查询分析器用UPDATE语句更改表中数据。
完成以下题目,分别运行,观察结果。
(1)将学生95001的年龄改为22岁。
(2)将所有学生的年龄增加1岁
(3)将计算机科学系全体学生的成绩置零。
3、利用查询分析器用DELETE语句删除表中数据。
完成以下题目,分别运行,观察结果。
(1)删除学号为95019的学生记录。
(2)删除计算机科学系所有学生的选课记录
(3)删除所有的学生选课记录
实验四:
er图