理工大学数据库实验报告



《理工大学数据库实验报告》由会员分享,可在线阅读,更多相关《理工大学数据库实验报告(17页珍藏版)》请在文档大全上搜索。
1、理工大学学生实验报告学院名称专业班级课程名称学号学生姓名实验日期实验成绩实验题目交互式SQL实验一 认识DBMS一、实验目的1通过对某个商用数据库管理系统的安装使用,初步了解DBMS 的工作环境和系统构架。在此推荐SQL SERVER2005。2熟悉DBMS 的安装、配置及使用。3搭建今后实验的平台。二、实验平台操作系统:Windows XP。数据库管理系统:SQL SERVER2005。选择安装各个数据库管理系统之前,请仔细看清硬件的配置要求。三、实验内容和要求1根据安装文件的说明安装数据库管理系统。在安装过程中记录安装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库
2、管理系统会有什么影响。2学会启动和停止数据库服务。在正确安装SQL SERVER2005 后,SQL SERVER 数据库引擎服务会在系统启动时自动启动。如果要手动地启动和停止数据库引擎服务,可以通过SQL SERVER 配置管理器(SQLSERVER CONFIGURATION MANAGER)来进行管理。SQL SERVER 配置管理器综合了SQLSERVER 2000 中的服务管理器、服务器网络适用工具和客户端网络实用工具的功能。打开 SQL SERVER 配置管理器工具,单击“SQL SERVER2005 服务”节点,其中的“SQL SERVER”服务就是我们所说的数据库引擎。与SQL
3、SERVER 2000 一样,可以通过这个配置管理器来启动、停止所安装的服务,如“SQLSERVER(MSSQLSERVER)”。3了解RDBMS 系统的体系结构。实验二 交互式SQL一 数据定义(一) 基本表的操作1. 建立基本表例如,建立一个学生表:create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20) 建立一个课程表:create table Course(Cno char(4) primary key,Cname char(4
4、0),Cpno char(4),Ccredit smallint,foreign key (Cpno) references Course(Cno)create table sc(Sno char(9),Cno char(4),Grade smallint,primary key(Sno,Cno),foreign key (Sno) references student(Sno),foreign key (Cno) references course(Cno);2. 修改基本表例如,像student表加一个入学时间列:alter table Student add S_entrance dat
5、etimealter table Student alter column Sage intalter table Course add unique(Cname)3. 删除基本表例如,删除已经建立的学生表:drop table Studentdrop table Course(二) 索引操作1. 建立索引例如,为学生课程数据库中的student, course, sc 三个表建立索引。其中student表按学号升序建唯一索引,course表按课程号升序建唯一索引,sc表按学生升序和课程号升序建唯一索引:create unique index Stusno on Student(Sno);cr
6、eate unique index Coucno on Course(Cno);create unique index SCno on SC(Sno ASC,Cno DESC)2. 删除索引 例如,删除student表的Stusno索引:drop index Stusname(三) 数据操作一 更新操作1. 插入数据 例如,在student表中插入下列数据:200215125,张立,男,19,IS代码如下insert into student(Sno,Sname,Ssex,Sage,Sdept)values('200215125','张立','男'
7、;,19,'IS')插入后,结果如下:在Course表中插入以下数据:1,数据库,5,42,数学,null,26,数据处理,null,24,操作系统,6,37,PASCAL语言,6,45,数据结构,7,41,数据库,5,43,信息系统,1,4insert into course(Cno,Cname,Cpno,Ccredit)values('1','数据库','5',4);insert into course(Cno,Cname,Ccredit)values('2','数学',2);insert in
8、to course(Cno,Cname,Ccredit)values('6','数据处理',2);insert into course(Cno,Cname,Cpno,Ccredit)values('4','操作系统','6',3);insert into course(Cno,Cname,Cpno,Ccredit)values('7','PASCAL语言','6',4);insert into course(Cno,Cname,Cpno,Ccredit)values(
9、'5','数据结构','7',4);insert into course(Cno,Cname,Cpno,Ccredit)values('1','数据库','5',4);insert into course(Cno,Cname,Cpno,Ccredit)values('3','信息系统','1',4);2.修改数据例如,将学生200215121的年龄改为22岁:update student set Sage=22 where Sno='20021
10、5121'修改前:修改后:3.删除数据例如,删除学号为200215128的学生记录:delete from student where Sno='200215128'删除所有学生的选课记录:delete from sc删除计算机科学系所有学生的选课记录:delete from sc where 'CS'=(select Sdept from student where student.Sno=SC.Sno )二查询操作1.单表查询例如,查询全体学生的学号与姓名:select Sno,Sname from student再例如,查询全体学生的详细记录 se
11、lect * from student;查询所有年龄在20岁以下的学生姓名及其年龄。 select Sname,Sage from student where Sage<20;查询所有姓刘的学生的姓名、学号和性别。 select Sname,Sno,Ssex from student where Sname like '刘%'2.连接查询例如,查询每个学生及其选修课程的情况:select student.*,sc.* from student,sc where student.Sno=sc.Sno查询每一门课的间接先修课:select first.Cno,second.C