课表查询系统数据库课程设计报告.docx
《课表查询系统数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《课表查询系统数据库课程设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
课表查询系统数据库课程设计报告
数据库课程设计报告
设计题目:
课表查询系统
院系:
长江学院信工系信息工程专业
姓名:
XXX
学号:
XXXXXXXX
指导老师:
XXX
完成日期:
2009年4月22日
目录
数据库设计……………………………..3~7
系统设计…………………………..……7~8
程序设计…………………………………8
运行图…………………………………..8~10
心得体会……..……..……..……..………10
源代码程序…………………………….10~15
一、数据库设计
1、需求分析
“课表查询系统”数据库需要体现课表的安排、查询问题,在经过详细调查、仔细分析后,得出以下信息:
学生表基本信息包括:
学号,姓名,所上的课程编号;
教师表基本信息包括:
教师编号,姓名,所教课程编号;
课程表基本信息包括:
课程编号,课程名;
时间安排表基本信息包括:
上课时间,上课地点,所进行的课程编号.
2、概要结构设计
采用自底向上法,即先定义各局部概念结构,再逐步整和画出E-R图.
根据需求分析的结果,设计出“课表查询系统”数据库的E-R图.该E-R图共有4个实体:
学生表,教师表,课程表,时间安排表.分别如下图所示.
图1学生表实体E-R图
图2教师表实体E-R图
图3课程表实体E-R图
图4时间安排表实体E-R图
根据全局设计概念模式,将局部E-R图根据它们之间的联系综合成一个完整的全局E-R图.学生表和课程表之间有联系,时间安排表与课程表之间有联系,教师表与课程表之间有联系.学生与课程之间是多对多的关系,时间安排表与课程之间是多对一的关系,教师与课程表之间是多对多的关系.
最后画出联系,将局部E-R图综合成如图5所示的图示.
图5全局E-R图
3、逻辑结构设计
根据概念结构设计的结果,设计出“课表查询系统”数据库的逻辑关系模型。
将图5的E-R图转换为关系模型:
学生(学号,姓名,课程号)
教师(教师编号,教师姓名,课程号)
课程(课程号,课程名)
时间安排(课程号,上课时间,上课地点)
4、物理结构设计
将逻辑结构设计的关系模型转换为物理数据库,即具体的RDBMS中支持的关系数据模型—表。
在SQLServer2005数据库管理系统中创建学生表、教师表、课程表、时间安排表。
表结构分别如表1~4所示。
表1学生表
列名
数据类型
是否允许为空
是否主键
姓名
Char(10)
不允许
学号
Char(10)
不允许
主键
课程号
Char(10)
不允许
表2教师表
列名
数据类型
是否允许为空
是否主键
教师姓名
Char(10)
不允许
教师编号
Char(10)
不允许
主键
课程号
Char(10)
不允许
表3课程表
列名
数据类型
是否允许空
是否主键
课程号
Char(10)
不允许
主键
课程名
Char(10)
不允许
表4时间安排表
列名
数据类型
是否允许为空
是否主键
上课时间
Char(10)
不允许
上课地点
Char(10)
不允许
课程号
Char(10)
不允许
主键
二、系统设计
系统开发的总体任务是实现课表查询的系统化、规范化和自动化管理。
本系统需要完成的功能主要有:
1)有关学生信息的输入。
2)有关学生信息的查找。
3)有关教师信息的输入。
4)有关教师信息的查询。
5)有关课程信息的输入。
6)有关课程查询的查询。
7)有关时间安排表信息的输入。
8)有关时间安排表信息的查询。
对于上述各项功能进行集中、分块、按照结构化程序设计的要求,得到下图所示的系统功能模块图。
图6系统功能模块图
三、程序设计
1、打开SQL软件,进入界面以后,新建一个新的数据库,命名为“课表查询系统”。
2、按照数据库设计的分析,逐步输入学生表、教师表、课程表、时间安排表;再逐步输入数据。
3、完成以后两步以后,建立新的数据库关系图。
4、打开SQL查询分析器,输入查询语句,进行查询。
无误,即设计完成。
四、运行图
1、新建的数据库关系图截图。
2、对“学号,课程名,上课时间,上课地点”信息进行查找。
SELECT学号,课程名,上课时间,上课地点
FROM学生表,课程表,时间安排表
WHERE学生表.姓名='汤玮'and学生表.课程号=课程表.课程号and课程表.课程号=时间安排表.课程号
3、对“姓名,课程名,教师姓名”信息进行查找。
SELECT姓名,课程名,教师姓名
FROM学生表,课程表,教师表
WHERE学生表.学号='07323218'and学生表.课程号=课程表.课程号and课程表.课程号=教师表.课程号
五、心得体会
通过这次实验,使我认识到做程序设计并不是只掌握思想和算法就可以了,一定要自己动手,这样才能充分认识到自己的不足,以提高自己全方面的能力。
所以,我将在今后的学习中一定要努力提高自己在程序设计方面的能力。
在整个设计过程中,遇到了很多意想不到的困难,其主要原因是对各个部分要实现的功能考虑不够周全,还好,有很多同学和老师的帮助,解决了一些我不懂的问题,通过本次课程设计一定程度上提高了软件开发能力,对编译原理这一门课程也有了比较深刻的了解。
最后,由于所学知识不够全面,课程设计在很多方面还有待完善,在以后的学习过程中,会掌握更多知识,力求做到更好。
六、源代码程序
USE[master]
GO
/******对象:
Database[设计课表查询系统]脚本日期:
04/22/200916:
11:
59******/
CREATEDATABASE[设计课表查询系统]ONPRIMARY
(NAME=N'设计课表查询系统',FILENAME=N'C:
\MSSQL.1\MSSQL\DATA\设计课表查询系统.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOGON
(NAME=N'设计课表查询系统_log',FILENAME=N'C:
\MSSQL.1\MSSQL\DATA\设计课表查询系统_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)
GO
EXECdbo.sp_dbcmptlevel@dbname=N'设计课表查询系统',@new_cmptlevel=90
GO
IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC[设计课表查询系统].[dbo].[sp_fulltext_database]@action='enable'
end
GO
ALTERDATABASE[设计课表查询系统]SETANSI_NULL_DEFAULTOFF
GO
ALTERDATABASE[设计课表查询系统]SETANSI_NULLSOFF
GO
ALTERDATABASE[设计课表查询系统]SETANSI_PADDINGOFF
GO
ALTERDATABASE[设计课表查询系统]SETANSI_WARNINGSOFF
GO
ALTERDATABASE[设计课表查询系统]SETARITHABORTOFF
GO
ALTERDATABASE[设计课表查询系统]SETAUTO_CLOSEOFF
GO
ALTERDATABASE[设计课表查询系统]SETAUTO_CREATE_STATISTICSON
GO
ALTERDATABASE[设计课表查询系统]SETAUTO_SHRINKOFF
GO
ALTERDATABASE[设计课表查询系统]SETAUTO_UPDATE_STATISTICSON
GO
ALTERDATABASE[设计课表查询系统]SETCURSOR_CLOSE_ON_COMMITOFF
GO
ALTERDATABASE[设计课表查询系统]SETCURSOR_DEFAULTGLOBAL
GO
ALTERDATABASE[设计课表查询系统]SETCONCAT_NULL_YIELDS_NULLOFF
GO
ALTERDATABASE[设计课表查询系统]SETNUMERIC_ROUNDABORTOFF
GO
ALTERDATABASE[设计课表查询系统]SETQUOTED_IDENTIFIEROFF
GO
ALTERDATABASE[设计课表查询系统]SETRECURSIVE_TRIGGERSOFF
GO
ALTERDATABASE[设计课表查询系统]SETENABLE_BROKER
GO
ALTERDATABASE[设计课表查询系统]SETAUTO_UPDATE_STATISTICS_ASYNCOFF
GO
ALTERDATABASE[设计课表查询系统]SETDATE_CORRELATION_OPTIMIZATIONOFF
GO
ALTERDATABASE[设计课表查询系统]SETTRUSTWORTHYOFF
GO
ALTERDATABASE[设计课表查询系统]SETALLOW_SNAPSHOT_ISOLATIONOFF
GO
ALTERDATABASE[设计课表查询系统]SETPARAMETERIZATIONSIMPLE
GO
ALTERDATABASE[设计课表查询系统]SETREAD_WRITE
GO
ALTERDATABASE[设计课表查询系统]SETRECOVERYSIMPLE
GO
ALTERDATABASE[设计课表查询系统]SETMULTI_USER
GO
ALTERDATABASE[设计课表查询系统]SETPAGE_VERIFYCHECKSUM
GO
ALTERDATABASE[设计课表查询系统]SETDB_CHAININGOFF
附:
信息内容数据
1、学生表
姓名
学号
课程号
陈丽
07323201
01
陈丽丹
07323202
01
陈晓男
07323203
01
邓聪
07323204
01
杜欢欢
07323205
01
冯珑
07323206
02
符婵菊
07323207
02
郭友军
07323208
02
何文磊
07323209
02
洪洁
07323210
02
黄军华
07323211
03
姜巨峰
07323212
03
刘龙
07323213
03
卢远明
07323214
03
饶明轩
07323215
03
宋伟
07323216
04
孙安修
07323217
04
汤玮
07323218
04
汪韵
07323219
04
王浩楷
07323220
04
2、教师表
教师姓名
教师编号
课程号
刘自强
01
01
叶志翔
02
02
谌洪茂
03
03
黄笑娟
04
04
3、课程表
课程名
课程号
数据结构
01
数据库原理
02
汇编语言
03
C语言
04
4、时间安排表
上课时间
上课地点
课程号
星期一
101
01
星期二
102
02
星期三
103
03
星期四
104
04
东华理工大学长江学院
课程设计评分表
学生姓名:
XX班级:
XXXXXX学号:
XXXXXXXX
课程设计题目:
项目内容
满分
实评
选
题
能结合所学课程知识、有一定的能力训练。
符合选题要求
(5人一题)
10
工作量适中,难易度合理
10
能
力
水
平
能熟练应用所学知识,有一定查阅文献及运用文献资料能力
10
理论依据充分,数据准确,公式推导正确
10
能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等
10
能体现创造性思维,或有独特见解
10
成
果
质
量
总体设计正确、合理,各项技术指标符合要求。
10
说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰
10
设计说明书栏目齐全、合理,符号统一、编号齐全。
格式、绘图、表格、插图等规范准确,符合国家标准
10
有一定篇幅,字符数不少于5000
10
总分
100
指导教师评语:
指导教师签名:
年月日