数据库系统及应用实验报告.docx

上传人:b****6 文档编号:7991237 上传时间:2023-01-27 格式:DOCX 页数:16 大小:614.61KB
下载 相关 举报
数据库系统及应用实验报告.docx_第1页
第1页 / 共16页
数据库系统及应用实验报告.docx_第2页
第2页 / 共16页
数据库系统及应用实验报告.docx_第3页
第3页 / 共16页
数据库系统及应用实验报告.docx_第4页
第4页 / 共16页
数据库系统及应用实验报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数据库系统及应用实验报告.docx

《数据库系统及应用实验报告.docx》由会员分享,可在线阅读,更多相关《数据库系统及应用实验报告.docx(16页珍藏版)》请在冰豆网上搜索。

数据库系统及应用实验报告.docx

数据库系统及应用实验报告

计算机专业类课程

实验报告

课程名称:

数据库系统及应用

学  院:

计算机科学与工程

专  业:

计算机工程

学生姓名:

学  号:

指导教师:

郑莉华

日  期:

  2014年 4月 22日

电子科技大学

实验报告

实验一

1、实验名称:

创建数据库

2、实验学时:

4

三、实验内容和目的:

创建数据库:

manage

该数据库包括四个表:

建议:

在定义表中字段时,尽量使用意义的英文单词。

“系别代码表“表名:

dep

“教师表”表名:

teacher

“学生表”表名:

student

“课程表”表名:

course

“选课表”表名:

sc

为每个表准备大约10记录,使用Insert语句将这些数据插入到相应表中

数据录入完成后,将数据库备份到磁盘上,在以后的的试验中备用。

四、实验原理:

使用数据库管理系统DB、DDL创建数据库及数据库对象。

五、实验器材(设备、元器件)

戴尔Inspiron灵越15RTurbo(Ins15TD-2628)

CPU型号:

Intel酷睿i53210M

CPU主频:

2.5GHz

内存容量:

6GBDDR31600MHz

硬盘容量:

750GB5400转

显卡芯片:

AMDRadeonHD7730M+IntelGMA

六、实验步骤:

1.创建数据库

2.创建表

3.备份数据库

4.恢复数据库

七、实验数据及结果分析:

CREATEDATABASESTUD;

createtableDep

(depidCHAR(8)notnull,

depnameCHAR(20)notnull,

primarykey(depid));

createtableTeacher

(Tidvarchar(8)notnull,

Tnamevarchar(8)notnull,

TitleVARCHAR(8)notnull,

DepidVARCHAR(8),

primarykey(Tid));

createtableStud

(SidVARCHAR(11)notnull,

DepidCHAR(8)notnull,

SnameVARCHAR(8)notnull,

Sexchar

(2)notnull,

BirthDDATEnotnull,

EmailVARCHAR(40),

HomeAddrVARCHAR(40),

primarykey(Sid));

createtableCourse

(CidVARCHAR(8)notnull,

CnameVARCHAR(20)notnull,

CreditsNUMERIC(3,1)notnull,

primarykey(Cid));

createtableSc

(SidVARCHAR(11)notnull,

CidVARCHAR(8)notnull,

Tidvarchar(8)notnull,

ScoreINTEGER,

primarykey(sid,cid,tid));

BACKUPDATABASESTUDTODISK='F:

\DBMS\BAK\STUD.bak'WITHINIT;

USEMASTER;

RESTOREDATABASESTUDFROMDISK='F:

\DBMS\BAK\STUD.bak'WITHREPLACE;

USESTUD;

8、实验结论、心得体会和改进建议:

成功的搭建了数据库,建立了表格,增强了相关语言的熟练度,体会是应该先建立概念模型,建议是以后可以使用右键单击菜单的方式建立会更方便吧....

电子科技大学

实验报告

实验二

1、实验名称:

数据库的完整性

二、实验学时:

4

三、实验内容和目的:

目的:

通过设置表的检查约束、外键约束体会数据库完整性的含义,约束条件下数据修改操作的限

制,以及实现修改操作的技巧。

内容:

设置约束条件

●设置教师表,学生表中的院系字段(depid)的外键约束

●设置选课表的三个外键约束(学号,课程号,教师号)

●设置选课表中成绩字段的取值范围是0到100

●设置学生表中性别字段的取值为 “男”或“女”

●设置学生表电子邮件字段的取值必须包含@符号

4、实验原理:

数据库库的完整性、约束条件、结构化查询语言。

5、实验器材(设备、元器件)

戴尔Inspiron灵越15RTurbo(Ins15TD-2628)

CPU型号:

Intel酷睿i53210M

CPU主频:

2.5GHz

内存容量:

6GBDDR31600MHz

硬盘容量:

750GB5400转

显卡芯片:

AMDRadeonHD7730M+IntelGMA

6、实验步骤:

1.恢复数据库,将数据库备份stud恢复到DB2中

2.执行SQL命令完成实验内容

3.备份数据库

七、实验数据及结果分析:

ALTERTABLETEACHER

ALTERCOLUMNDEPIDCHAR(8)

ALTERTABLESTUD

ALTERCOLUMNDEPIDCHAR(8)

ALTERTABLETeacher

ADDCONSTRAINTTeacher_DepFOREIGNKEY(Depid)REFERENCESDep(Depid)

ALTERTABLESTUD

ADDCONSTRAINTSTUD_DepFOREIGNKEY(Depid)REFERENCESDep(Depid)

ALTERTABLEsc

ADDCONSTRAINTsc_studFOREIGNKEY(sid)REFERENCESstud(sid)

ALTERTABLEsc

ADDCONSTRAINTsc_teacherFOREIGNKEY(tid)REFERENCESteacher(tid)

ALTERTABLEsc

ADDCONSTRAINTsc_courseFOREIGNKEY(cid)REFERENCEScourse(cid)

ALTERTABLEsc

ADDCONSTRAINTsc_scoreCHECK(score>='0'ANDscore<='100')

ALTERTABLESTUD

ADDCONSTRAINTstud_sexCHECK(sexIN('男','女'))

altertablestud

addconstraintchk_stud_1check(emaillike'_%@_%')

8、实验结论、心得体会和改进建议:

结论是成功实现了数据库完整性的完善,体会是用表级约束语句建立约束更方便,notnull约束不知道能不能使用表级约束新建,改进建议无。

 

电子科技大学

实验报告

实验三

1、实验名称:

数据查询

二、实验学时:

4

三、实验内容和目的:

目的:

练习用SELECT查询语句,设置查询条件,实现单表查询。

练习使用SELECT语句从多个表中查询数据,表的内连接、左外连接、右外连接的使用以及设置连接条件,理解连接条件和查询条件的在目的和功能上的区别。

内容:

(1)查询年龄在20—22之间的学生姓名(通过出生日期和当前日期计算年龄)year(getdate())-year(birthd)

(2)查询所有副教授的信息

(3)查询姓“张”的学生的学号、姓名、邮件地址

(4)求每门课程的选课人数、最高分、最低分、平均分,要求在查询结果中显示课程号和课程名;

(5)查询既选修了1号课程,又选修了2号课程的学生学号

(6)查询既选修了1号课程,又选修了2号课程的学生姓名

(7)查询选修了全部课程的学生姓名

4、实验原理:

结构化查询语言、表的连接、关系运算、分组查询

5、实验器材(设备、元器件)

戴尔Inspiron灵越15RTurbo(Ins15TD-2628)

CPU型号:

Intel酷睿i53210M

CPU主频:

2.5GHz

内存容量:

6GBDDR31600MHz

硬盘容量:

750GB5400转

显卡芯片:

AMDRadeonHD7730M+IntelGMA

六、实验步骤:

1.恢复数据库,将数据库备份stud恢复到DB2中

2.执行SQL命令完成实验内容

7、实验数据及结果分析:

1.查询年龄在20—22之间的学生姓名(通过出生日期和当前日期计算年龄)

selectSname

FROMStud

WHEREyear(getdate())-year(birthd)between20and22

2.查询所有副教授的信息

SELECT*

FROMTEACHER

WHERETITLE='副教授'

3.查询姓“张”的学生的学号、姓名、邮件地址

selectsid,sname,email

fromstud

wheresnamelike'张%'

4.求每门课程的选课人数、最高分、最低分、平均分,要求在查询结果中显示课程号和课程名

selectcount(sid)as人数,max(score)as最高分,min(score)as最低分,avg(score)as平均分,min(cname)

fromscleftouterjoincourse

onsc.Cid=Course.Cid

groupbysc.cid

6.查询既选修了1号课程,又选修了2号课程的学生姓名

selectsname

fromscfirst,scsecond,stud

wherefirst.cid='1'andsecond.cid='2'andfirst.sid=second.sidandfirst.sid=stud.sid

7.查询选修了全部课程的学生姓名

selectsname

fromscfirst,scsecond,stud

wherefirst.cid='1'andsecond.cid='2'andfirst.sid=second.sid

andsecond.sidin(selectsidfromscwherecid='3')andfirst.sid=stud.sid

8、实验结论、心得体会和改进建议:

成功使用结构化查询语言完成了数据查询,并且熟悉了外连接的使用,改进建议是输入数据使用sqlserver的右键菜单编辑表格会更加方便!

,改进建议无。

 

电子科技大学

实验报告

实验四

一、实验名称:

数据库建模

二、实验学时:

4

三、实验内容和目的:

目的:

本实验要求学生学习数据库建模工具PowerDesigner的使用方法,掌握最基本的使用方法。

本实验将重点练习:

内容:

使用PDM,以图形化界面方式创建表及确定各表之间的关系,在实验报告中给出模型图;

通过“生成数据库”功能生成创建数据库的脚本,在实验报告中给出脚本内容;

4、实验原理:

这是powerdesigner的功能

5、实验器材(设备、元器件)

戴尔Inspiron灵越15RTurbo(Ins15TD-2628)

CPU型号:

Intel酷睿i53210M

CPU主频:

2.5GHz

内存容量:

6GBDDR31600MHz

硬盘容量:

750GB5400转

显卡芯片:

AMDRadeonHD7730M+IntelGMA

六、实验步骤:

1.通过生成PhysicalDataModel(PDM)以图形化界面创建表及确定各表之间的关系。

2.根据第一步生成的表导出数据库的脚本

3.利用PD的逆向工程生成PDM并进行修改

7、实验数据及结果分析:

脚本内容:

/*==============================================================*/

/*DBMSname:

MicrosoftSQLServer2008*/

/*Createdon:

2014-04-2217:

26:

45*/

/*==============================================================*/

 

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('Sc')ando.name='FK_SC_REFERENCE_TEACHER')

altertableSc

dropconstraintFK_SC_REFERENCE_TEACHER

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('Sc')ando.name='FK_SC_REFERENCE_STUDENT')

altertableSc

dropconstraintFK_SC_REFERENCE_STUDENT

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('Sc')ando.name='FK_SC_REFERENCE_COURSE')

altertableSc

dropconstraintFK_SC_REFERENCE_COURSE

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('Student')ando.name='FK_STUDENT_REFERENCE_DEP')

altertableStudent

dropconstraintFK_STUDENT_REFERENCE_DEP

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('Teacher')ando.name='FK_TEACHER_REFERENCE_DEP')

altertableTeacher

dropconstraintFK_TEACHER_REFERENCE_DEP

go

ifexists(select1

fromsysobjects

whereid=object_id('Course')

andtype='U')

droptableCourse

go

ifexists(select1

fromsysobjects

whereid=object_id('Dep')

andtype='U')

droptableDep

go

ifexists(select1

fromsysobjects

whereid=object_id('Sc')

andtype='U')

droptableSc

go

ifexists(select1

fromsysobjects

whereid=object_id('Student')

andtype='U')

droptableStudent

go

ifexists(select1

fromsysobjects

whereid=object_id('Teacher')

andtype='U')

droptableTeacher

go

/*==============================================================*/

/*Table:

Course*/

/*==============================================================*/

createtableCourse(

cidvarchar(8)notnull,

cnamevarchar(30)null,

creditsdecimal(3,0)null,

constraintPK_COURSEprimarykey(cid)

go

/*==============================================================*/

/*Table:

Dep*/

/*==============================================================*/

createtableDep(

depidvarchar(8)notnull,

depnamevarchar(20)null,

constraintPK_DEPprimarykey(depid)

go

/*==============================================================*/

/*Table:

Sc*/

/*==============================================================*/

createtableSc(

tidvarchar(8)null,

sidvarchar(11)null,

cidvarchar(8)null,

scoredecimal(3,0)null

go

/*==============================================================*/

/*Table:

Student*/

/*==============================================================*/

createtableStudent(

sidvarchar(11)notnull,

depidvarchar(8)null,

snamevarchar(8)null,

sexvarchar

(2)null,

birthddatetimenull,

emailvarchar(20)null,

homeaddrvarchar(40)null,

constraintPK_STUDENTprimarykey(sid)

go

/*==============================================================*/

/*Table:

Teacher*/

/*==============================================================*/

createtableTeacher(

tidvarchar(8)notnull,

depidvarchar(8)null,

tnamevarchar(8)null,

titlevarchar(8)null,

constraintPK_TEACHERprimarykey(tid)

go

altertableSc

addconstraintFK_SC_REFERENCE_TEACHERforeignkey(tid)

referencesTeacher(tid)

go

altertableSc

addconstraintFK_SC_REFERENCE_STUDENTforeignkey(sid)

referencesStudent(sid)

go

altertableSc

addconstraintFK_SC_REFERENCE_COURSEforeignkey(cid)

referencesCourse(cid)

go

altertableStudent

addconstraintFK_STUDENT_REFERENCE_DEPforeignkey(depid)

referencesDep(depid)

go

altertableTeacher

addconstraintFK_TEACHER_REFERENCE_DEPforeignkey(depid)

referencesDep(depid)

go

 

8、实验结论、心得体会和改进建议:

结论是用powerdesigner建立数据模型十分方便,而且它与数据库文件的转换也十分方便,以后一定要多多使用,以后学习ER图时还要频繁使用它,体会是不知道列的notnull属性该如何添加,改进建议无...

 

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

当前位置:首页 > 高中教育 > 英语

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

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