试析管理系统学生管理系统中数据库设计

更新时间:2024-02-25 点赞:6116 浏览:19393 作者:用户投稿原创标记本站原创

摘要:在任何学生管理信息系统中,数据库的地位是绝对不容忽视的。笔者在广泛征求意见和了解各部门工作流程的前提下,设计了系统的数据结构。本文重点对系统的数据库概念模型、逻辑模型和数据库物理结构进行了详细地设计。
关键词:数据库设计;概念模型;逻辑模型;物理结构
1674-9324(2012)12-0244-02
数据库结构的设计,重则会决定软件系统的成败,轻则也会直接影响系统运行速度及系统的使用率。在设计数据库时,不但要考虑存取速度,还要考虑数据的冗余和一致性等问题。可以肯定的说:数据库设计的好坏,对将来程序的设计和系统的最终功能实现都起着非常重要的作用。数据库设计的第一步就是需求分析,即确定存储哪些数据,建立哪些应用,常用的操作及对象有哪些。根据对系统的初步需求分析与调研,对学生管理系统的总体功能进行如下设计:信息管理模块、考勤管理模块、宿舍管理模块、岗前实习管理模块、有处分学生学习班管理模块和系统管理模块。

一、数据库概念模型设计

根据前面对系统功能的细化分析,设计系统的数据流图,最后得到系统全局实体—关系模型。全局实体—关系模型必须满足所有的系统需要,还要恰当地展示一个一致的数据库模型。

二、数据库逻辑结构设计

实体—关系模型是对用户需求的一种抽象的表达形式,它不能为任何一个具体的数据库管理系统所支持,它是独立于任何一种具体的数据模型的。为了能够建立起最终的物理系统,接下来的任务是:将概念结构通过转化规则转化为本系统设计的数据结构,然后根据数据库管理系统的特点,选定的数据库管理系统支持下的数据模型,最后通过优化算法得到优化的数据模型。这些模式在功能性、完整性和一致性约束及数据库的可扩充性等方面应满足用户的各种要求。设计数据库逻辑结构有下面三个步骤:首先,将通过概念设计所得的实体—关系图转换为关系模型;就需要将实体、属性和联系转换为相应的关系模型;其次,将转换来的关系模型向特定DBMS支持下的数据模型转换;最后,优化处理得到的关系模型。

(一)实体模型转换为关系模型

鉴别数据库中的数据元素、关系,以及定义所需的数据库表和各个数据库表中的项目这些初始工作之后,所做的细化的过程就是范化。任何数据库的设计都需要满足特殊的约定,这会使数据库既简洁又结构明晰,反之数据库结果会非常混乱,所造成的直接后果是给数据的更新带来麻烦,给数据库带来大量冗余信息,给编程人员带来不便并造成不可避免的错误。

(二)实体—关系图模式向关系模式的转换

数据库表中的每一个属性都是不可以再分解的,这些属性(字段)由基本类型构成,包括数字类型、日期时间类型和字符串类型。数据库表部分设计如下:
①学生信息(学生编号,,曾用名,籍贯,户籍性质,照片,家庭住址,邮政编码,家庭座机,学生手机,父亲姓名,父亲手机,母亲姓名,母亲手机)
②专业信息(班级名称,校区,二级学院,所属系,专业,入学日期,学制)
③班级信息(班级名称,学生编号,班主任,学生姓名,性别,民族,号,出生日期,政治面貌,类别,入学分数,是否住宿,辅导员,实习单位,处分标志,在校情况)源于:论文www.618jyw.com
④考勤处分极限(处分名称,处分级别,违纪数量)
⑤考勤信息(教师编号,学生编号,学年,学期,日期,节次,违纪内容,违纪数量)
……
另外还有课程管理库表、教职工登录库表、岗前实习处分信息库表、岗前实习处分极限库表、岗前实习小结信息库表、宿舍处分极限库表、宿舍管理分配库表、学生住宿分配库表、宿舍违纪分值库表、宿舍处分信息库表、学生处分信息库表、有处分学生学习班信息库表,这里不再一一列举。

(三)对关系模型进行优化处理

在以上的设计中,由于学生信息实体的信息量较大,而实际系统运行时,不是所有信息都需要,如果都调入内存会占用系统资源,而且安全性也会遭到威胁。通过以上分析,特把“学生信息”数据库表分为两个数据库表,即“学生登录”数据库表和“学生信息”数据库表,“学生登录”数据库表具体设计如下:
学生登录(学生编号,)
原“学生信息”表对应减少项,避免发生数据冗余和数据的不一致性。

三、数据库物理结构设计

由于数据库的物理结构是与开发环境和选定的数据库管理系统软件产品有关的,因此数据库的物理设计依赖具体的数据库管理系统产品。数据库物理设计步骤如下图,后面会给出详细的解释。不论是对数据库的物理结构的确定,还是对物理结构进行评价,必须满足原始设计要求(需求分析),如果不满足就需要退回重新设计或修改,直到设计出符合要求的具体数据库。

(一)数据库的物理结构设计

1.确定数据的存储结构。在物理结构中,存储记录是数据的基本存取单位,存储记录结构包括记录的组成、数据项的类型和长度以及逻辑记录到存储记录的映射。下面举两个例子来简要说明存取时间、空间和维护代价是决定存储结构的主要因素:(1)假设现在需要查询计算机技术系的所有学生名单,如果将同一个系的学生集中存放,则会显著地减少访问磁盘的次数。聚簇后不必重复存储的聚簇码值,可以减少部分存储空间。(2)任课教师要按课程更新学生上课考勤信息,操作涉及学生和教师关系的连接操作,为提高效率,可把具有教师关系和学生关系在物理上聚簇在一起。根据以上设计思想,做如下部分设计:(1)学生基本信息、考勤处分极限、宿舍处分极限、岗前实习处分极限、教职工登录、班级、课程管理、宿舍清单、宿舍的分配:在一定时间内变动不大,更新速度相对较慢,考虑到查找的方便性,进行聚簇存储。(2)考勤信息、宿舍处分信息、岗前实习处分信息、学生处分信息:最经常的操作是查找、插入、删除,为提高效率,考虑建立“B+树”索引,则平均查找次数为“B+树”的层数,故对数据库设计到有索引的物理存储。
2.存取路径的设计。为了提高系统的性能,根据应用情况,如数据的异变部分和稳定部分、存取效率较高和较低等进行划分,可以进行如下设计:(1)各种文件的存放位置设计;(2)为保证读写速度,考虑表和索引的存放;(3)设计大表存放形式,用以加快存取速度;(4)将不同学院的学生放在不同磁盘上,如果教师集中录入考勤时,速度不会影响太大。
3.数据存放位置的设计。通过数据存放位置的规划来提高系统的性能,为保证读写速度考虑表和索引的存放。如考勤信息、宿舍处分信息、学生处分信息表的索引。
4.系统配置的设计。数据库管理系统的每个参数都有默认值,我们一般很少对默认初始值进行设置。但是根据不同系统的特点,这些默认参考值不一定都很恰当,需要我们根据最初的需求分析和实际的数据库表设计,适当调整参数的初始值,让我们设计的系统占用空间最小,系统运行速度最快。通常情况下,这些配置变量包括:同时打开的数据库对象数量,使用的缓冲区长度、个数、时间片大小、数据库的大小、装填因子、锁的数目,等等。
我们对这些参数值重新设置后,就能最大限度的保证系统运行效率。经过初步设计后,在系统真正投入运行或运行一段时间后,根据系统实际运行情况再做出调整,通过这种不断地调整,使学生管理软件系统的性能达到最优状态。(1)登录系统的极限数值设计。新生入学时,要求他们输入自己的,设计要求最多可以有120人同时打开学生基本信息库进行操作(通常打开3个机房共学生使用);平时同时使用的数据库还有考勤库、处分库等,考虑到老师们中午或下午课程结束后,可能会统一进行考勤录入,估算最多有200人同时打开学生考勤库进行操作;有50人同时打开学生处分库进行操作;对于其他数据库,由于同时操作的可能性不会太大,设计成最多可以有100人同时打开相应数据库进行操作;参考学院教职工和学生数。综上所述,设置max_connecionts为300。(2)同时打开数据库表个数的最初参数非常重要,如锁的数目等。本文设计的学生管理系统目前共涉及数据库表的个数为17,设计初期可以使用系统默认的数值。

(二)评价数据库的物理结构

系统运行的效率、占用的空间、维护系统所花费的代价,都是我们在设计系统的初期需要考虑的事情。
四、结束语
一个数据库应用系统的设计需要反复几次,才能达到比较理想的状态,这个反复的时间可能比最初设计系统的时间还要长,花费还要多,这也正是软件系统设计的规律。所以,在最初的调研阶段,要真正做好需求分析,不同阶段做好不同的文档设计,最后才可能得到性能高的数据库。
参考文献:
伯乐.数据库系统教程[M].北京:高等教育出版社,2003.
罗宇.操作系统[M].北京:机械工业出版社,2005:319-352.
[3]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2009.
[4]刘爱喜.基摘自:学术论文网www.618jyw.com
于领域知识的数据库模式匹配技术研究[M].哈尔滨:哈尔滨工程大学,2009.
基金项目:YYK2011002
相关文章
推荐阅读

 发表评论

共有3000条评论 快来参与吧~