人人范文网 范文大全

中南民族大学 数据库实验报告

发布时间:2020-03-02 07:40:10 来源:范文大全 收藏本文 下载本文 手机版

实 验 二

数据完整性技术

一、实验目的和要求

1.熟悉SQL Server2005的开发环境;

2.熟悉 SQL Server Management Studio 的基本操作,进一步理解数据库、表、表间关系的概念。

3.掌握数据完整性的设置方法。

二、实验内容

1.利用SQL Server Management Studio 创建数据库,名称为【TMIS】;

2.在【TMIS】中建立数据表,表的定义可参考【实验指导书说明】中表的定义。要求定义每张表的主键,为属性选择合适的数据类型,决定是否允许为空,为【性别】属性定义默认值,并设置相关的约束条件。

3.定义表之间的关系。

4.分别为表录入几行数据记录,同时练习数据的修改和删除操作。

三、实验步骤

1、主键约束

1) 将Student表中的Sno定义为主键。 CREATE TABLE Student (Sno CHAR(10) PRIMARY KEY, Sname CHAR(8) NOT NULL, Ssex CHAR(2), Sbirth Smalldatetime, Dno CHAR(4) ); 2) 将Department表中的Dno定义为主键。

CREATE TABLE Department

( Dno char(4) PRIMARY KEY,

); 3) 将Course表中的Cno定义为主键。

CREATE TABLE Course

( Cno char(8) PRIMARY KEY,

Cname varchar(30) NOT NULL, Dname varchar(20) NOT NULL

Cpno char(8), Ccredit Tinyint

) 4) 将SC表中的Sno,Cno定义为主键。

CREATE TABLE Course SC

( Sno char(10) NOT NULL,

Con char(8) NOT NULL

Grade Decimal(5,2),

PRIMARY KEY (Sno,Cno)

) 5) 将Teacher表中的Tno定义为主键。

CREATE TABLE Teacher

( Tno char(7) PRIMARY KEY,

Tname varchar(8) NOT NULL,

Dno char(8) NOT NULL,

Tbirth Smalldatetime, Ttitle varchar(10)

)

6) 将SC表中的Sno,Cno 定义为主键。 CREATE TABLE Course SC

( Sno char(10) NOT NULL,

Con char(8) NOT NULL

Grade Decimal(5,2),

PRIMARY KEY (Sno,Cno)

)

2、非空约束

1)将Student表中的Sno,Sname定义为非空 Sno char(10) NOT NULL Sname VARCHAR(8) NOT NULL 2)将Department表中的Dno,Dname定义为非空 Dno char(4) NOT NULL Dname varchar(20) NOT NULL 3)将Course表中的Cno,Cname定义为非空 Cno char(8) NOT NULL Cname varchar(30) NOT NULL 4)将SC表中的Sno,Cno定义为非空 Sno char(10) NOT NULL Cno char(8) NOT NULL 5)将Teacher表中的Tno,Tname, Dno定义为非空 Tno char(7) Tname varchar(8) Dnochar(4) 6)将Teaching表中的Tno,Cno定义为非空 Tno char(7) Cno char(8)

3、外键约束

1) 定义表SC的外键:其中Sno是参照表Student的主键,Cno是参照表Course 的主键,并定义层叠删除关系。

2) 通过插入操作验证外键约束; 3) 层叠删除相关记录

CREATE TABLE SC ( Sno CHAR(10) NOT NULL, Cno CHAR(8) NOT NULL, Grade Decimal(5,2), PRIMARY KEY(Sno,Cno), --定义主码

FOREIGN KEY(Sno) REFERENCES Student(Sno), --Sno参照表Student的主码 FOREIGN KEY(Cno) REFERENCES Course(Cno) --Cno参照表Course的主码

); ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY( column [ ,„n] ) REFERENCES ref_table( ref_column[ ,„n] ) Drop schema SC cascade

4、唯一值约束

设置系表(Department)中的Dname取值唯一。 Dname VARCHAR(20) UNIQUE

5、CHECK约束

指定列值应该满足的条件:设置表Student的Ssex属性值只允许取“男”或“女”;设置表SC的Grade属性值定义在0-100 之间。

Ssex CHAR(2) CHECK (Ssex IN (\'男\',\'女\')) CHECK(Grade>=0 AND Grade

实 验 四

数据库多表连接查询

一、实验目的和要求

掌握使用SELECT语句进行单表查询的基本用法。

二、实验内容

1.创建查询窗口,设置查询环境。

2.练习使用SELECT语句进行单表查询的基本用法。

三、实验步骤

1.在【对象资源管理器】中选择【TMIS】数据库,右击并在快捷菜单中选择【新建查询】,或者选择系统菜单中的【文件】【新建】【使用当前连接查询】命令,或者单击标准工具栏中的【新建查询】按钮,即可新建一个查询窗口。如果查询数据库不是【TMIS】,则可在可用数据库下拉列表中进行选择,或用USE TMIS 语句调用。

2.在查询窗口中输入SELECT 查询语句,对【TMIS】 数据库进行查询操作。 1)查询全体学生的学号和姓名;

select sno,sname from student

2)查询学号为“0420701005”的选课情况,即学号、课程号、成绩;

select * from SC where sno=0420701005

3)显示所有选课学生的学号,并取掉重复行; SELECT DISTINCT Sno FROM SC 4)查询成绩大于80分的学生的学号、课程号、成绩; Select Sno,Cno,Grade from SC where Grade >80; 5)统计各系学生人数;

SELECT Dno COUNT(Dno) FROM STUDENT GROUP BY Dno 6)统计各门课程的选修人数; SELECT COUNT(SC Sno) AS from sc 7)查询选修了2门以上课程的学生学号;

SELECT Sno FROM SC WHERE Sdept=‘CS’GROUP BY Sno HAVING COUNT(*)>2; 8)查询在1987年至1990年出生的学生姓名;

select sname,sdept,sage from student where Sbirth between 1987 and 1990

(9)查询姓李的学生的学号、姓名;

select sname,sno from student where sname like‘李%’

(10)在课程表中查询课程先行课号为空的课程名。 Select Cpno =NULL from Course 11) 查询选修了2门以上课程的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。 Select Sno,count(Cno),avg from sc group by Sno having count(Cno)>2 order by avg desc 实 验 六

数据的更新

一、实验目的和要求

掌握使用SQL语句完成数据插入、修改和删除操作。

二、实验内容

1.使用INSERT 语句在数据库的表中插入几行记录; 2.使用UPDATA 语句修改某个数据; 3.使用DELETE 语句删除某行记录。

三、实验步骤

在【对象资源管理器】中选择【TMIS】数据库,右击并在快捷菜单中选择【新建查询】,在已建立的数据表的基础之上,完成以下数据更新操作。

1.向表student中插入一条记录;

INSERT INTO Student(Sno,Sname,Ssex,Sbirth,,Dno) VALUES(‘10064145’,’冉玘鑫’,’男’,’1991’,’08’); 2.向 SC 表中添加一个学生的选课记录;(注意体会数据完整性约束) INSERT INTO SC(Sno,Cno) VALUES(‘10064145’,’1’); 3.把Student 表中1985 年后(包含1985年)出生的学生的学号、姓名存储到一个新表StudentBAK中。

INSERT INTO StudentBAK(Sno,Sname) VALUES(Select Sno,Sname from Student where Sbirth>=1985;) 4.从表student中删除学号为“0420701007”的记录。 DELETE FROM Student WHERE Sno=’0420701007’

5.将“李宏”的学号改为“0420701025”

UPDARTE Student SET Sno=0420701025

where Sname=’李宏’

6.将选修了课程名为【数据库原理】的学生成绩加1分。 UPDATE SC SET GRADE=GRADE+1 WHERE Cname=’数据库原理’

7.删除计算机系选课成绩不及格的学生的选修记录。

DELETE FROM SC WHERE ‘CS’=(SELECT Sno from SC where SC.grade

数 据 库 系 统 概 论

专业:自动化学号:

实 验 报 告

10064145

中南民族大学

数据库实验报告

数据库实验报告

数据库实验报告

数据库实验报告

数据库实验报告

数据库实验报告

数据库实验报告

数据库实验报告

数据库实验报告

中南民族大学 数据库实验报告
《中南民族大学 数据库实验报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档