数据库系统实验报告广东工业大学.docx

上传人:b****6 文档编号:7786289 上传时间:2023-01-26 格式:DOCX 页数:46 大小:1.58MB
下载 相关 举报
数据库系统实验报告广东工业大学.docx_第1页
第1页 / 共46页
数据库系统实验报告广东工业大学.docx_第2页
第2页 / 共46页
数据库系统实验报告广东工业大学.docx_第3页
第3页 / 共46页
数据库系统实验报告广东工业大学.docx_第4页
第4页 / 共46页
数据库系统实验报告广东工业大学.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

数据库系统实验报告广东工业大学.docx

《数据库系统实验报告广东工业大学.docx》由会员分享,可在线阅读,更多相关《数据库系统实验报告广东工业大学.docx(46页珍藏版)》请在冰豆网上搜索。

数据库系统实验报告广东工业大学.docx

数据库系统实验报告广东工业大学

数据库系统实验报告

 

学院计算机学院

专业计算机科学与技术

班级级班

学号

姓名

指导教师

(2016年12月)

 

实验__一__题目数据库及基本表的建立

实验__二__题目查询数据库_

实验__三__题目创建和使用视图、索引、存储过程

实验__四_题目小型数据库规划设计

 

实验平台:

SQLSever2005

 

实验题目实验一数据库及基本表的建立

一、实验目的

1、掌握SQLSERVER的查询分析器和企业管理器的使用;

2、掌握创建数据库和表的操作;

二、实验容和要求

1、分别使用SQL语句、企业管理器(EnterpriseManager)创建数据库;

2、使用SQL语句、企业管理器(EnterpriseManager)创建数据库表;

三、实验主要仪器设备和材料

1.计算机及操作系统:

PC机,Windows2000/xp;

2.数据库管理系统:

SQLsever2000/2003/2005;

四、实验方法、步骤及结果测试

创建一个教学管理数据库SC,其描述的信息有:

学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。

创建:

student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student_course表(学生选课成绩表)、teacher_course表(教师上课课表)等。

1、创建数据库:

确定数据库名称;数据库用于学生管理,命名为SC

确定数据库的位置;要求:

数据文件和日志文件分别存储在E盘自己的目录下。

确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。

确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。

(1)、利用查询分析器(QueryAnalyzer),使用SQL语句指定参数创建数据库;

实现代码及截图:

SQL语句

CREATEDATABASESC_3114006159

ONPRIMARY

(NAME=SC_3114006159_DATA,

FILENAME='E:

\3114006159\SC_3114006159.mdf',

SIZE=30,

FILEGROWTH=20%)

LOGON

(NAME=SC_3114006159_LOG,

FILENAME='E:

\3114006159\SC_3114006159.ldf',

SIZE=3,

FILEGROWTH=1)

查询分析器执行情况:

SQL语句及执行结果截图显示

2、创建基本表

利用查询分析器,使用SQL语句方式创建方式将下面各表建立到教学管理数据库中。

(1)创建student表

字段名

代码

类型

约束

学号

s_no

char(8)

主键

sname

char(8)

非空

性别

sex

char

(2)

出生日期

sbirthday

Smalldatetime

学生所在院系编号

dno

char(6)

外键

专业代码

spno

char(8)

外键

班级编码

class_no

char(4)

(2)创建Course表

字段名

代码

类型

约束

课程编号

cno

char(10)

主键

课程名称

cname

char(20)

非空

专业代码

spno

char(8)

外键

课程类型编号

ctno

tinyint

理论学时

lecture

tinyint

实验学时

experiment

tinyint

开课学期

semester

tinyint

课程学分

credit

tinyint

(3)创建student_course表

字段名

代码

类型

约束

学号

s_no

char(8)

主键,与student表中s_no外键关联,级联删除

上课编号

tcid

smallint

主键

学生成绩

score

tinyint

(4)创建teacher表

字段名

代码

类型

约束

教师编号

t_no

char(8)

主键

教师

t_name

char(8)

非空

性别

t_sex

char

(2)

出生日期

t_birthday

smalldatetime

教师所在院系编号

dno

char(6)

外键

职称

tech_title

char(10)

(5)创建系部表(department)

字段名

代码

类型

约束

院系编号

dno

char(6)

主键

院系名称

dept_name

char(20)

非空

院系负责人

header

char(8)

(6)创建专业信息表(speciality)

字段名

代码

类型

约束

专业代码

spno

char(8)

主键

院系编号

dno

char(6)

外键,非空

专业名称

spname

char(20)

非空

(7)创建teacher_course表

字段名

代码

类型

约束

上课编号

tcid

smallint

主键

教师编号

t_no

char(8)

外键

专业代码

spno

char(8)

外键

班级编码

class_no

char(4)

课程编号

cno

char(10)

非空,外键

学期

semester

Char(6)

学年

schoolyear

Char(10)

 

(8)创建班级表(class)

字段名

代码

类型

约束

专业代码

spno

char(8)

主键,与speciality表中spno外键关联,

班级编码

class_no

char(4)

主键,

班负责人

header

char(8)

 

3、查看各数据表之间的关系,生成数据库关系图。

生成数据库关系图截图显示

 

4、创建各表的实现代码及截图:

SQL语句

USESC_3114006159

GO

CREATETABLEstudent_3114006159

(s_nochar(8)PRIMARYKEY,

snamechar(8)NOTNULL,

sexchar

(2),

sbirthdaysmalldatetime,

dnochar(6),

spnochar(8),

class_nochar(4)

);

CREATETABLEcourse_3114006159

(cnochar(10)PRIMARYKEY,

amechar(20)NOTNULL,

spnochar(8),

ctnotinyint,

lecturetinyint,

experimenttinyint,

semestertinyint,

credittinyint

);

CREATETABLEstudent_course_3114006159

(s_nochar(8),

tcidsmallint,

scoretinyint,

PRIMARYKEY(s_no,tcid)

);

CREATETABLEteacher_3114006159

(t_nochar(8)PRIMARYKEY,

t_namechar(8)NOTNULL,

t_sexchar

(2),

t_birthdaysmalldatetime,

dnochar(6),

tech_titlechar(10)

);

CREATETABLEdeparment_3114006159

(dnochar(6)PRIMARYKEY,

dept_namechar(20)NOTNULL,

headerchar(8)

);

CREATETABLEspeciality_3114006159

(spnochar(8)PRIMARYKEY,

dnochar(6)NOTNULL,

spnamechar(20)NOTNULL

);

CREATETABLEteacher_course_3114006159

(tcidsmallintPRIMARYKEY,

t_nochar(8),

spnochar(8),

class_nochar(4),

ochar(10)NOTNULL,

semesterchar(6),

schoolyearchar(10)

);

CREATETABLEclass_3114006159

(spnochar(8),

class_nochar(4),

headerchar(8),

PRIMARYKEY(spno,class_no)

);

ALTERTABLEstudent_3114006159

ADDFOREIGNKEY(dno)REFERENCESdeparment_3114006159(dno);

ALTERTABLEstudent_3114006159

ADDFOREIGNKEY(spno)REFERENCESspeciality_3114006159(spno);

ALTERTABLEcourse_3114006159

ADDFOREIGNKEY(spno)REFERENCESspeciality_3114006159(spno);

ALTERTABLEstudent_course_3114006159

ADDFOREIGNKEY(s_no)REFERENCESstudent_3114006159(s_no);

ALTERTABLEteacher_3114006159

ADDFOREIGNKEY(dno)REFERENCESdeparment_3114006159(dno);

ALTERTABLEspeciality_3114006159

ADDFOREIGNKEY(dno)REFERENCESdeparment_3114006159(dno);

ALTERTABLEteacher_course_3114006159

ADDFOREIGNKEY(t_no)REFERENCESteacher_3114006159(t_no);

ALTERTABLEteacher_course_3114006159

ADDFOREIGNKEY(spno)REFERENCESspeciality_3114006159(spno);

ALTERTABLEteacher_course_3114006159

ADDFOREIGNKEY(cno)REFERENCEScourse_3114006159(cno);

ALTERTABLEclass_3114006159

ADDFOREIGNKEY(spno)REFERENCESspeciality_3114006159(spno);

查询分析器执行情况:

SQL语句及执行结果截图显示

5、利用查询分析器修改上述各表。

(1)、用INSERT语句向各个表中插入数据录入5条记录。

录入时注意体会外键约束。

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

insertintodeparment_3114006159

values('659801','计算机','周杰伦');

insertintodeparment_3114006159

values('659802','机电','奕迅');

insertintodeparment_3114006159

values('659803','外国语','章子怡');

insertintodeparment_3114006159

values('659804','土木','梁朝伟');

insertintodeparment_3114006159

values('659805','环境','国荣');

 

insertintoteacher_3114006159

values('65980101','德华','男','1975-03-25','659801','高级');

insertintoteacher_3114006159

values('65980201','周润发','男','1964-09-24','659802','高级');

insertintoteacher_3114006159

values('65980301','学友','男','1956-06-15','659803','高级');

insertintoteacher_3114006159

values('65980401','曼玉','女','1965-04-21','659804','高级');

insertintoteacher_3114006159

values('65980501','坤','男','1988-03-02','659805','高级');

 

insertintospeciality_3114006159

values('65980110','659801','计算机科学与技术');

insertintospeciality_3114006159

values('65980210','659802','自动化');

insertintospeciality_3114006159

values('65980310','659803','商务英语');

insertintospeciality_3114006159

values('65980410','659804','土木工程');

insertintospeciality_3114006159

values('65980510','659805','环境工程');

 

insertintoclass_3114006159

values('65980110','1401','德华');

insertintoclass_3114006159

values('65980210','1402','周润发');

insertintoclass_3114006159

values('65980310','1403','学友');

insertintoclass_3114006159

values('65980410','1404','曼玉');

insertintoclass_3114006159

values('65980510','1405','坤');

 

insertintocourse_3114006159

values('6598011001','数据库','65980110',1,48,12,1,2);

insertintocourse_3114006159

values('6598021001','制图','65980210',2,56,6,2,2);

insertintocourse_3114006159

values('6598031001','口语','65980310',3,48,0,1,4);

insertintocourse_3114006159

values('6598041001','建筑学','65980410',4,48,12,1,2);

insertintocourse_3114006159

values('6598051001','基础化学','65980510',5,48,12,1,2);

 

insertintoteacher_course_3114006159

values(1,'65980101','65980110','1401','6598011001','一学期','第二学年');

insertintoteacher_course_3114006159

values(2,'65980201','65980210','1402','6598021001','一学期','第二学年');

insertintoteacher_course_3114006159

values(3,'65980301','65980310','1403','6598031001','一学期','第二学年');

insertintoteacher_course_3114006159

values(4,'65980401','65980410','1404','6598041001','一学期','第二学年');

insertintoteacher_course_3114006159

values(5,'65980501','65980510','1405','6598051001','一学期','第二学年');

 

insertintostudent_3114006159

values('31140001','王小波','男','1997-01-03','659801','65980110','1401');

insertintostudent_3114006159

values('31140002','寒','男','1992-03-23','659802','65980210','1402');

insertintostudent_3114006159

values('31140003','莫言','男','1997-06-15','659803','65980310','1403');

insertintostudent_3114006159

values('31140004','三毛','女','1994-05-30','659804','65980410','1404');

insertintostudent_3114006159

values('31140005','郭敬明','男','1995-12-03','659805','65980510','1405');

 

insertintostudent_course_3114006159

values('31140001',1,96);

insertintostudent_course_3114006159

values('31140002',3,67);

insertintostudent_course_3114006159

values('31140003',2,91);

insertintostudent_course_3114006159

values('31140004',4,89);

insertintostudent_course_3114006159

values('31140005',5,96);

实验结果截图显示(插入数据的表格)

 

共8组(共8个表)

(2)、用UPDATE语句更改student表中数据;

实现代码:

useSC_3114006159

updatestudent_3114006159

setsname='村上春树'

wheresname='莫言'

student表更改前的容截图显示查询分析

student表更改后的容截图显示

(3)、用DELETE语句删除student表中数据;

实现代码:

useSC_3114006159

delete

fromstudent_course_3114006159

wheres_noin

(selects_no

fromstudent_3114006159

wheresname='郭敬明');

delete

fromstudent_3114006159

wheresname='郭敬明'

student表更改前的容截图显示查询分析

student表更改后的容截图显示

五、实验中出现的问题及解决方案

在插入数据时没注意外键约束,结果导致插入失败,于是根据数据表关系图先插入没有外键约束的表,再根据外键约束关系按照一定顺序插入表。

在删除student的元组时,因为其主键被student_course表外键所参照,所以无法删除,于是先删除student_course表中的元组,再删除student中的元组。

六、思考题

1、说明数据库中的表和数据文件的关系。

答:

表存储于数据文件中,一个数据文件可以存储多个表。

2、数据库中的日志文件能否单独修改?

不能,SQLServer数据库都有log日志文件,log日志文件记录用户对数据库修改的操作,只有数据库发生更改时,日志文件才会发生更改,不能单独更改。

3、附加练习题.(代码以及运行结果采用截图显示)

(1)将计算机专业所有学生的数据库原理的成绩增加10分

代码以及运行结果:

(2)删除计算机专业所有学生的数据库原理的选修信息

代码以及运行结果:

(3)为speciality的spname添加唯一约束

代码以及运行结果:

(4)为student_course的score设置检查约束

代码以及运行结果:

 

实验题目实验二查询数据库

一、实验目的

熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询

1、掌握基本的SELECT查询及其相关子句的使用;

2、掌握复杂的SELECT查询,如多表查询、子查询、连接查询和嵌套查询。

二、实验容和要求

使用SQL查询分析器查询数据,练习查询语句的使用,掌握SELECT语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法,掌握存储查询结果的方法,体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为简单综合应用打下良好的基础。

三、实验主要仪器设备和材料

1.计算机及操作系统:

PC机,Windows2000/xp;

2.数据库管理系统:

SQLsever2000/2003/2005;

四、实验方法、步骤及结果测试

要求用SELECT完成以下查询,

1、对实验立的数据库表进行查询

简单查询:

(1)、查询全部学生的学号、、性别和日。

实现代码及查询结果截图:

格式如下

查询分析器执行情况:

SQL语句及执行结果显示

useSC_3114006159

selects_no,sname,sex,sbirthday

fromstudent_3114006159

查询结果截图显示

(2)、查询全体学

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1