数据库实验报告 - 图文

更新时间:2023-11-25 04:45:01 阅读量: 教育文库 文档下载

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

数据库实验报告

姓名

学号:

专业

班级:

实验二 数据库的创建与管理

一.实验目的

要求学生熟练使用SQL Server Management Studio,T-SQL语句创建和管理数据库,并学会使用SQL Server 查询分析器接收T-SQL语句和进行结果分析。 二.实验内容

(1)创建数据库

(2)查看和修改数据库的属性 (3)修改数据库的名称 (4)删除数据库 三.实验步骤 1.创建数据库

实验2.1 利用SQL Server Management Studio 创建教学管理库,其数据库命名为JXGL

实验2.2 使用T-SQL语句创建学籍管理数据库,其数据库命名为“EDUC”

实验2.5 修改数据库的相关属性

1.在数据库JXGL中增加辅助数据文件xs_data,需要在数据库引擎查询文档输入下面语句 use JXGL go

alter database JXGL add file (

name=xs_data,

filename='D:\\JXGLSYS\\xs_data.ndf', size=3MB, maxsize=10MB ) go

2. 增加辅助日志文件 use JXGL go

alter database jxgl add log file (

name=xs_log,

filename='D:\\JXGLSYS\\xs_log.ldf', filegrowth=10% )

Go

3.修改数据库文件 use JXGL go

alter database jxgl modify file (

name=xs_log, size=3, maxsize=5 ) Go

4. 删除日志文件xs_log use JXGL go

alter database jxgl remove file xs_log go

create database educ on primary (

name=student_data, filename='C:\\Program Files\\Microsoft Server\\MSSQL.1\\MSSQL\\studen_data.mdf', size=10mb, maxsize=50mb, filegrowth=1mb )

log on (

name=student_log, filename='C:\\Program Files\\Microsoft Server\\MSSQL.1\\MSSQL\\studen_log.ldf', size=2mb, maxsize=5mb, filegrowth=1% )

实验三

SQL

SQL

数据表的创建与管理

?

?

实验目的

要求学生熟练掌握SQL server management studio的使用的利用T-SQL语句进行数据表的创建的删除,并对数据表的表中的数据进行有效的管理。 实验内容

?

分别使用SQL server management studio和T-SQL语句创建和删除数据表,修改表结构,以及输入、更新数据。 实验指导

use EDUC go /*

创建dept-info表 create table dept_info (

dno char(4)primary key, dname char(16)not null, d_chair char(8),

d_address varchar(50), tel char(12) ) Go */

/*创建class—info表 create table class_info (

classno char(4)primary key, classname char(16)not null, monitor char(8), instructor char(8), tel char(12), dno char(4),

foreign key (dno)references dept_info(dno) ) go

GO

CREATE TABLE S (

sno char(9) NOT NULL PRIMARY KEY,

sname char(8) NOT NULL CONSTRAINT S_sno UNIQUE, sex char(2),

age smallint CHECK (age>=15 and age<=30), sdept varchar(50) ) GO

定义外键约束:

实验五SELECT数据查询

一. 实验目的

要求学生熟练的使用T-SQL语句进行数据查询,掌握SELECT语句的基本结构和夺标连接查询,子查询,分组查询,查询结果的排序等操作。 二实验内容

(1) 利用SELECT查询语句进行单表,多表查询设计 (2) 利用SElECT语句进行子查询和外连接查询

(3) 设计ORDER BY 查询子句以及带GROUP BY 的查询子句 三实验步骤

1. SELECT 基本语句格式 2. 简单查询实验 3. 连接查询实验 4. 嵌套查询

5. 组合查询和统计查询

select sc_info.sno,sc_info.score*0.8 /* 查询同一课程编号成绩在~90之间的学号和成绩的.8*/

from course_info,tc_info,sc_info

where course_info.cno='01'and sc_info.score between 80 and 90 and course_info.cno=tc_info.cno and tc_info.tcid=sc_info.tcid

select sc_info.sno,sc_info.score /* 查询同一课程编号的学号和成绩的降序*/

from course_info,tc_info,sc_info

where course_info.cno='01'and course_info.cno=tc_info.cno and tc_info.tcid=sc_info.tcid order by sc_info.score desc

select student_info.*/*//查询计算机系姓张的同学的所有信息*/ from student_info where student_info.dno student_info.sname 张

in

('1201','1202')and like '

%'

select sc_info.sno,course_info.cno /*查询缺少了成绩的学生的学号与课程号*/

from tc_info,sc_info,course_info

where sc_info.score=null and tc_info.tcid=sc_info.tcid

select student_info.* ,course_info.cno

from student_info,course_info,sc_info,tc_info where student_info.sno=sc_info.sno and tc_info.tcid=sc_info.tcid and course_info.cno=tc_info.cno

----查询学生的学号,姓名以及他所选的课程和成绩

select

student_info.sno ,student_info.sname ,course_info.cno,sc_info.score

from student_info,course_info,sc_info,tc_info where student_info.sno=sc_info.sno and tc_info.tcid=sc_info.tcid and course_info.cno=tc_info.cno

----查询选修了计算机原理的成绩在以及以上的学号以及姓名

select student_info.sno ,student_info.sname ,sc_info.score from student_info,course_info,sc_info,tc_info where course_info.cname='计算机原理'

and sc_info.score>=90 and course_info.cno=tc_info.cno and tc_info.tcid=sc_info.tcid

and student_info.sno=sc_info.sno

---查询每一门课的间接先行课

select distinct C1.cname,C3.cname from C as C1,C C2,C C3

where C1.pcno=C2.cno and c2.pcno=C3.cno

---查询选修了计算机原理的学生学号以及姓名

select student_info.sno,student_info.sname from course_info,tc_info,sc_info,student_info where course_info.cname='计算机原理' and

course_info.cno=tc_info.cno and tc_info.tcid=sc_info.tcid and

sc_info.sno=student_info.sno

--查询课程号为“计算机原理”,成绩高于张三的学号和成绩

use EDUC go

select distinct sc_info.sno ,sc_info.score,student_info.* from course_info,tc_info,sc_info,student_info where course_info.cname='计算机原理'and course_info.cno=tc_info.cno and student_info.sno=sc_info.sno and tc_info.tcid=sc_info.tcid

and sc_info.score >(select sc_info.score from student_info,sc_info where student_info.sname='张三' and student_info.sno=sc_info.sno)

/*use EDUC go

alter table student_info add age char(4) go*/

use EDUC --从出生算出年龄

go

update student_info

set age=datediff(YEAR,birthday,getdate()) go

/*select student_info.sname,student_info.sno from dept_info,student_info

where dept_info.dno='1201'and student_info.dno=dept_info.dno//查询1201学生的学号和姓名

select student_info.sno

from course_info,tc_info,student_info

where course_info.cno='01'and course_info.cno =tc_info.cno and

tc_info.classno=Student_info.classno //查询相同课程的学生学号*/

use EDUC go

select x.sno,x.sname,x.dno,x.age from student_info x where age<(

select max(y.age) from Student_info y where dno='1201')

--查询其他系中比系‘1201’中学生年龄最大者小的学生

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

Top