河南工业职业技术学院
2)录入系统模块 该模块实现数据的录入、修改、删除功能。该模块由公交站点管理与公交线路管理两部分组成.详细设计视图如图3-2录入系统模块所示:
图3-2 录入系统模块
2)信息输入输出模块如图3-3所示:
图3-3 信息输入输出模块
3.3 系统数据库设计
3.3.1概念设计
概念设计的目标是产生反映城市公交查询系统需求的数据库概念结构,即
概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的。
1)ER模型
ER模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。使 2) ER模型的操作
用这三种成分,我们可以建立许多应用环境的ER模型。
在利用ER模型进行数据库概念设计的过程中,常常需要对ER图进行种种
变换。这些变换又称为ER模型的操作,包括实体类型、联系类型和属性的分裂、合并和增删等等。
3)利用ER方法的数据库概念设计
利用ER方法进行数据库的概念设计,可以分成三步进行:首先设计局部
ER模式,然后把各局部ER模式综合成一个全局ER模式,最后对全局ER模式进行优化,得到最终的ER模式,即概念模式。 设计局部的ER模式
通常,一个数据库系统都是为多个不同用户服务的。各个用户对数据的观
点可能不一样,信息处理需求也可能不同。在设计数据库概念结构时,为了更好地模拟现实世界,一个有效的策略是“分而治之”,即先分别考虑各个用户的信息需求,形成局部概念结构,然后再综合成全局结构。在ER方法中,局部概念结构又称为局部ER模式,其图形表示称为ER图(如图4-5)。
实体和属性的定义如下:
站点(站点编号,站点名称,站点类别)
- -
河南工业职业技术学院
线路(线路编号,始发时间,终发时间,备注) 线路站点对应(线路编号,站点名称)
图3-4实体和属性用例
4)联系定义
ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。
图3-5 E/R图的表示
5)设计全局ER模式
所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。
(1)确定公共实体类型
为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部
结构中的公共实体类型。在这一步中我们仅根据实体类型名和键枕认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。
(2)局部ER模式的合并
合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局 (3)消除冲突
部结构;合并从公共实体类型开始,最后再加入独立的局部结构。
冲突分为三类:属性冲突、结构冲突、命名冲突。
设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER
- -
模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。
(4)全局ER模式的优化
河南工业职业技术学院
在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。 3.3.2 逻辑设计
本系统初步定义了4个视图,具体视图设计及实例如下: 1)公交车信息的视图设计(如图4-6): 用途:输入公交车号 输出对应公交车所有信息
图3-6 公交车信息的视图设计
2)公交车信息实例(如图4-7):
图3-7 公交车信息实例
车站信息视图设计(如图4-8): 输入: 车站号
输出: 对应车站所有信息
图3-8车站信息视图设计
车站信息实例(如图3-9)
图3-9 车站信息实例
3)公交车――站点查询视图(如图3-10): 输入:公交车号
输出:公交车经过的所有站点
图3-10 公交车――站点查询视图
- -
河南工业职业技术学院
4)站点――公交车查询视图(如图4-11): 输入: 经过站点 输出: 对应公交车号
图3-11 站点――公交车查询视图
第四章 公交查询系统设计分析
4.1 查询模块的功能实现
公交查询模块是用户与系统进行交互的直接媒介。除了要完成用户的请求外,更需要从用户的角度出发,以人为本。设计出人性化的交互页面。 查询模块主要有文本框和提交按钮组合而成。从实际出发对于公交查询系统而言,用户输入始发站,终点站后提交请求,后台数据库查询系统为系统列出符合条件的公交班次。当用户发现填写有误时,点击重填按钮,文本框自动清空。当然,用户还可以选择第二种查询方式:选择要查询的线路,提交后用户自动列出该路公交车所路经的站点。 公交查询系统运行界面如图4-1所示:
图4-1 公交查询系统运行界面
关键代码如下:
connection = DataConnectionManager.getInstance().getConnection(); try { }