《数据库概论》课程设计报告.docx
《《数据库概论》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《数据库概论》课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
《数据库概论》课程设计报告
《数据库概论》课程
设计报告
班级:
jkjkjjk
姓名:
hjkjhjk
学号:
17878788
指导老师:
uiuuu老师
安徽工业大学工商学院2012年12月
目录
一.实验目的···················································2
二.实验环境···················································2
三.实验简述··················································2
四.系统设计与实现·············································2
1.数据库设计··························································2
1.1概念结构设计(E-R图)·········································2
1.2逻辑结构设计·················································5
2.系统设计···························································5
2.1.程序功能模块图··············································5
2.2.功能描述····················································6
3.系统实现····························································6
3.1.建立数据库的SQL命令········································6
3.2应用C/S开发工具编写应用程序·································7
五.实验总结···················································7
六.数据库表/视图一览表········································7
一.实验目的
《数据库概论》课程设计实验是一门独立开设的实验课程。
《数据库概论》课程设计实验对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
本课程设计实验主要围绕两方面内容:
数据库设计和基本C/S结构数据库编程实践。
通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。
1.掌握数据库设计的基本方法,熟悉数据库设计的步骤;
2.通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;
3.学习基本“C/S结构”数据库编程方法。
二.实验环境
Windowsxp,SQLServer2000;Access2003,JAVAEcilpseSDK
三.实验简述
设计要求说明
实现科研管理的日常业务的计算机化管理,能够较为准确全面地对每个科研项目的情况作出
描述。
科研管理要便于管理人员随时检索,以立即获得关于科研管理工作所需要的相关信息。
主要包括:
项目信息:
项目编号、项目名称、项目来源(国家立项、部立项、省立项、市立项、协作)、
经费、起讫时间、参加人员角色(负责主持、主要参加、一般参加);
人员信息:
编码、姓名、性别、出生年月日、民族、文化程度、所在部门、参加工作时间、
职称(教授、副教授、讲师、助教、其他)、基本工资、岗位工资、津贴工资;
部门信息:
部门编号、部门名称、负责人、地址、邮编、联系电话;
科研成果:
成果编号、项目名称、类别(自然科学奖、科技进步奖、发明奖)、级别(国家、部、省、市)、等级(1~4)、证书排名、批准时间。
科研管理主要语义说明
每个部门(DEPT)有若干个教师(TEACHER),每个教师只能属于一个部门;每个教师可参加多个科研项目(PROJ),一个科研项目可有若干教师参加;某一个教师管理一个科研项目,每个科研项目只有一个管理者;每个科研项目可能获一项成果;参与获奖项目的教师有一个证书排名。
教师职称的不同,其岗位工资与津贴工资也不同。
四.系统设计与实现
1.数据库设计
⑴.概念结构设计(E-R图);
部门信息
科研成果
科研项目
人员信息
全局E-R图
⑵.逻辑结构设计;(用“____”标注主键,用“”表示外键)
1).科研项目(项目编号,项目名称,项目来源,经费,项目开始时间,项目完成时间);
2).人员信息(人员编号,姓名,性别,出生年月,民族,文化程度,所在部门,参加工作时间,基本工资,职称,部门编号);
3).部门信息(部门编号,部门名称,负责人,地址,邮编,联系电话)
4).科研成果(成果编号,类别,级别,等级,项目名称);
5).项目参加信息(项目编号,人员编号,人员角色);
6).工资信息(职称,岗位工资,津贴);
7).获奖证书(人员编号,成果编号,证书排名)。
2.系统设计
⑴.程序功能模块图;
⑵.功能描述。
共建了五个java类用于实现科学管理的有关表的显示信息、插入信息、删除信息、修改信息
Mainwin.java
ShowRecord.java
InsertRecord.java
DeleteRecord.java
ModifyRecord.java
3.系统实现
⑴.建立数据库的SQL命令;
选择信息语句:
SELECT*FROM科研项目
修改信息语句:
UPDATEmessageSETname='"+a[0][0]+
"',grade='"+a[0][1]+
"'WHEREnumber='"+num+"'
插入信息语句:
INSERTINTOmessageVALUES('"+a[0][0]+"','"+a[0][1]+"','"+a[0][2]+"','"+a[0][3]+"','"+a[0][4]+"','"+a[0][5]+"')
删除信息语句:
DELETEFROMmessageWHEREnumber='"+num+"'
⑵.应用C/S开发工具编写应用程序。
用于连接数据库的语句:
(此处是Access建立数据源连接)
con=DriverManager.getConnection("jdbc:
odbc:
reseach","","");
sql=con.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("SELECT*FROM科研项目");
五.实验总结
E—R图的设计:
一开始就是不能准确设计好结构,花费了很长时间去思考这个问题,后来通过自己查资料,问同学,最终确定了自己的E-R图结构。
在数据库的设计时做的不参照完整性没有做好,比如删除时,要不要考虑级联,参照关系体现在函数的实现过程中,结构导致部分功能模块出现问题。
在做界面的时候也花费了不少时间,用哪些控件,怎么用都是问题。
后来跟其他的同学进行讨论,才确定下来怎么做。
具体实现:
数据库:
是一门高度非过程化的语言操作,这让用户用起来很方便。
数据库上手比较简单,但要真正做好一个项目还要做好多努力。
选择使用什么语言工具进行设计的时候犹豫了很久,由于java语言现在为软件开发的主流语言,为了锻炼自己的java编程能力,尽管java的编写、设计图形都比较复杂最后决定用java设计应用程序。
体会:
通过此次数据库课程设计,完成从用户需求分析、数据库设计到上机编程、调试和应用等全程,进一步理解和掌握了数据库的各方面知识,首先要分析阶段:
弄懂课题,分析需求,然后要画好E—R图,进行逻辑设计。
前台代码的实现:
由于用的是java语言写的,所以其中遇到了很多麻烦,java语言本身就是一门需要逻辑思维能强才能,需要全局的分析及设计。
总之,在这次实验中,学会了基本的软件开发的雏形,为以后的复杂的大程序软件开发做了一定的基础。
数据库的基本语句是必须掌握的,因为每一个软件都需要“后备仓库”,这使得SQL语言很重要。
整个实验做完,在整个过程的实现中学到了很多,提高了自己的实践能力。
六.数据库表/视图一览表
序号
基本表/视图ID
中文描述
记录长度
更新频率
保存期限
类型
备注
1
Table1
科研项目
6
2
Table2
人员信息
11
3
Table3
部门信息
6
4
Table4
科研成果
5
5
Table5
项目参加信息
3
6
Table6
工资信息
3
7
Table7
获奖证书
3
1.科研项目
数据库表/视图ID:
科研项目数据库表/视图名称:
记录长度:
序号
字段ID
字段名称
类型
长度
PK/FK
取值范围
说明
1
项目编号
项目编号
number
30
PK
2
项目名称
项目名称
varchar2(50)
50
3
项目来源
项目来源
varchar2(30)
30
4
经费
经费
number
50
5
项目开始时间
项目开始时间
date
6
项目完成时间
项目完成时间
date
2.人员信息
数据库表/视图ID:
人员信息数据库表/视图名称:
记录长度:
序号
字段ID
字段名称
类型
长度
PK/FK
取值范围
说明
1
人员编号
人员编号
number
30
PK
2
姓名
姓名
varchar2(50)
50
3
性别
性别
varchar2(30)
30
4
出生年月
出生年月
date
5
民族
民族
varchar2(20)
20
6
文化程度
文化程度
varchar2(20)
20
7
所在部门
所在部门
varchar2(20)
20
8
参加工作时间
参加工作时间
date
9
基本工资
基本工资
number
30
10
职称
职称
varchar2(20)
20
11
部门编号
部门编号
number
20
FK
3.部门信息
数据库表/视图ID:
部门信息数据库表/视图名称:
记录长度:
序号
字段ID
字段名称
类型
长度
PK/FK
取值范围
说明
1
部门编号
部门编号
number
30
PK
2
部门名称
部门名称
varchar2(50)
50
3
负责人
负责人
number
30
4
地址
地址
varchar2(50)
50
5
邮编
邮编
number
10
6
联系电话
联系电话
number
20
4.科研成果
数据库表/视图ID:
科研成果数据库表/视图名称:
记录长度:
序号
字段ID
字段名称
类型
长度
PK/FK
取值范围
说明
1
成果编号
成果编号
number
10
PK
2
成果类别
类别
varchar2(10)
10
3
成果级别
级别
varchar2(10)
10
4
成果等级
等级
number
10
5
项目名称
名称
varchar2(20)
20
5.项目参加信息
数据库表/视图ID:
项目参加信息数据库表/视图名称:
记录长度:
序号
字段ID
字段名称
类型
长度
PK/FK
取值范围
说明
1
项目编号
项目编号
number
10
PK
2
人员编号
人员编号
number
10
FK
3
人员角色
人员角色
varchar2(10)
10
6.工资信息
数据库表/视图ID:
工资信息数据库表/视图名称:
记录长度:
序号
字段ID
字段名称
类型
长度
PK/FK
取值范围
说明
1
职称
职称
varchar2(10)
10
PK
2
岗位工资
岗位工资
number
10
3
津贴
津贴
number
10
7.获奖证书
数据库表/视图ID:
获奖证书数据库表/视图名称:
记录长度:
序号
字段ID
字段名称
类型
长度
PK/FK
取值范围
说明
1
人员编号
人员编号
number
20
PK
2
成果编号
成果编号
number
20
PK
3
证书排名
证书排名
number
20