实例3:高校学生会管理系统数据库设计-1-1数据库设计1.1系统需求分析阶段需求分析简单的说就是分析用户的要求。需求分析是涉及数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计的结果是否合理和实用。1.1.1需求分析阶段的目标1.了解高校学生会管理的基本内容;2.综合的理解主管学生会老师和学生会干部的不同需求;3.了解学生会管理的基本业务流程;4.了解学生会人工管理模式与信息系统的工作概况,以及它们之间的区别与联系;5.通过自身的体验和与主管学生会的老师及其他学生会干部的交流,了解用户对高校学生会管理系统的业务要求,完整性和安全性要求。1.1.2需求分析阶段的任务1.处理对象:系统处理对象是学生会的干部信息管理、财务管理、日常事务管理和文件信息管理四个方面。在学生会的干部信息处理中主要涉及几下几个方面的信息:(1)学生会干部基本信息(Student):包括编号、姓名、性别、职务、专业、年级、加入学生会日期、参加过的活动项目等信息。(2)部门基本信息(Dpartment):部门编号、部门名称、部长姓名、副部长人数、部委人数、部长电话等信息。在财务信息处理中主要涉及几下几个方面的信息:(1)物品基本信息(Goods):包括物品编号、物品名称、购买时间、单价、借出时间,借物人姓名、归还时间、归还人姓名等信息。(2)财务基本信息(Financialaffairs):包括财务申请编号、资金用途、申请金额、申请人、申请部门、申请时间、余额等信息。在日常事务信息处理中主要涉及几下几个方面的信息:(1)事务活动基本信息(Affairs):包括事务活动编号、事务活动名称、职能范围、承办部门、以往解决方案、是否特色活动等信息。(2)工作计划基本信息(Workingplan):包括工作计划编号、工作计划名称、提交部门、提交人、提交时间、是否紧急活动等信息。在文件信息处理中主要涉文件的基本信息(File):包括文件编号、文件名称、文件类-2-型、所属部门、负责人、收发对象、存档日期、备注等信息。2.处理功能要求高校学生会管理系统主要实现对学生会的科学化、条理化、信息化、高效化管理。其中包括学生会干部信息、财产物品的使用以及登记,日常事务管理和文件信息管理等四大功能。具体功能描述如下:(1)学生会干部信息管理主要完成干部信息的查询与更新,从而实现对学生会干部信息的科学化管理。(2)财务的管理包括财产和物品的管理,完成对财产物品信息的查询与更新,如举办活动所需的资金申请、物品使用的登记、物品借还的登记等,从而实现学生会财务的信息化管理。(3)日常事务管理实现对学生会日常开展工作的管理,完成日常事务的查询与更新,从而更好地实现以下职能:包括各部门提交的工作计划、活动计划的审核与安排、活动的筹划、各项活动的人员合理的调度与安排,确保各项活动成功地举办,更有利于学生会各项日常工作的顺利开展。(4)文件管理完成对学生会所有存档文件的查询与更新,实现对学生会日常的工作文件的科学化管理,从而确保各项工作的开展有章可寻,使学生会的工作更富有条理化,避免一些重复文件的制定,造成资源的浪费。3.安全性和完整性要求安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过用户授权机制,通过用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。近而可以满足用户的基本数据安全性要求。完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以不取值。根据实际需要,采取一定的手段来满足用户的完整性需求。详细完整性要求见于系统的逻辑设计阶段。-3-4.业务流程图学生会干部信息管理业务流程图:财务管理业务流程图:-4-日常事务管理业务流程图:-5-文件管理业务流程图:5.数据流程图-6-顶层数据流程图:第2层数据流程图:第3层数据流程图:从学生干部信息管理角度出发-7-第3层数据流程图:从财务管理角度出发第3层数据流程图:从日常事务管理角度出发-8-第3层数据流程图:从文件管理角度出发7.数据字典(1)数据项:系统涉及的数据项有51项表1.1(高校学生会管理系统)数据项列表(汇总统计)数据项编号数据项名数据项含义与其它数据项的关系存储结构别名DI-1StuNo学生干部编号char(8)编号DI-2StuName学生干部姓名char(10)姓名DI-3StuSex学生干部性别char(2)性别DI-4StuPosition学生干部职务char(6)职务DI-5StuDepartName学生干部所属部门等于DepNochar(6)部门-9-数据项编号数据项名数据项含义与其它数据项的关系存储结构别名DI-6StuMajor学生干部所属专业char(20)专业DI-7StuGrade学生干部所在年级char(8)年级DI-8StuPhoneNo学生干部电话char(12)电话DI-9StuStaTime加入学生会时间datetime时间DI-10StuCase参加过的活动项目varchar(50)项目DI-11GoodsNo物品编号char(8)编号DI-12GoodsName物品名称char(16)名称DI-13GoodsBuyTime购买时间datetime时间DI-14GoodsPrice单价char(6)单价DI-15GoodsLendTime借出时间datetime时间DI-16GoodsLender借物人姓名char(10)姓名DI-17GoodsReturner归还人姓名char(10)姓名DI-18GoodsRetTime归还时间datetime时间DI-19FinNo财务申请编号char(6)编号DI-20FinPurpose用途char(30)用途DI-21FinMoney申请金额char(6)金额DI-22FinPerson申请人姓名char(10)姓名DI-23FinDepartment申请部门char(14)部门DI-24FinTime申请时间datetime时间DI-25FinRemain余额char(6)余额DI-26PlaNo工作计划编号等于FileNochar(6)编号DI-27PlaName工作计划名称char(30)名称DI-28PlaDepartment计划提交部门等于DepNochar(6)部门DI-29PlaPerson计划提交人char(10)姓名DI-30PlaTime计划提交时间datetime时间DI-31PlaQuality是否紧急活动char(4)是否DI-32AffNo事务活动编号char(6)编号DI-33AffName事务活动名称char(20)名称DI-34AffScope事务活动职能范围char(8)职能范围DI-35AffDepartment主要承办部门等于DepNochar(6)部门DI-36AffScheme以往解决方案char(50)方案DI-37AffQuality是否特色活动char(4)活动DI-38DepNo部门编号char(6)编号DI-39DepName部门名称char(14)名称DI-40DepMinName部长姓名等于StuNamechar(8)姓名DI-41DepSminSum副部长人数int人数DI-42DepMemSum部委人数int人数DI-43MinPhoNo部长电话char(12)电话-10-数据项编号数据项名数据项含义与其它数据项的关系存储结构别名DI-44FilesNo文件编号char(6)编号DI-45FilesName文件名称char(20)名称DI-46FilesType文件类型char(14)类型DI-47FilesBelDep所属部门char(6)部门DI-48FilesPerson负责人char(8)姓名DI-49RecDisPartner收发对象char(14)对象DI-50ArcDate存档日期datetime日期DI-51Remarks备注char(30)备注(2)数据结构:表1-2(高校学生会管理系统)数据结构(汇总统计)数据结构编号数据结构名数据结构含义组成DS-1Student学生干部信息StuNo,StuName,StuSex,StuPosition,StuMajor,StuDepartName,StuGrade,StuPhoneNo,StuCase,StuStaTime,DS-2Goods物品信息GoodsNo,GoodsName,GoodsBuyTime,GoodsPric,GoodsLender,GoodsLendTime,GoodsReturner,GoodsRetTimeDS-3FinancialAffairs财务信息FinNo,FinPurpose,FinMoney,FinPerson,FinTime,FinDepartment,FinRemainDS-4WorkingPlan工作计划信息PlaNo,PlaName,PlaDepartment,PlaPersonPlaTime,PlaQualityDS-5Affairs事务活动信息AffNo,AffName,AffScope,AffDepartmentAffScheme,AffQualityDS-6Department部门信息DepNo,DepName,DepMinName,DepSminSumDepMemSum,MinPhoNoDS-7Files文件信息FilesNo,FilesName,FileTyp,FilesBelDep,FilesPerson,RecDisPartner,ArcDate,Remarks-11-8.处理逻辑描述(判定表或判定树)表1-3(高校学生会管理系统)处理逻辑描述处理编号处理功能处理过程PR-1判断用户查询涉及的功能模块学生会干部信息管理模块、财务管理模块、学生会日常事务管理模块、文件信息管理模块:先确定查询所涉及的功能模块;然后,确定要查询的内容,确定查询数据流向;最后显示查询结果。PR-2判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中学生会干部信息管理模块、财务管理模块、学生会日常事务管理模块、文件信息管理模块:先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。1.2概念设计阶段1.2.1目标将需求分析得到用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段。在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。1.2.2具体任务1.选择中层数据流为切入点,通常选择实际系统中的子系统;2.设计分E-R图,即各子模块的E-R图;3.生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;4.生成全局E-R图,消除冲突。1.2.3结果1.各实体及其属性-12--13-2.生成分E-R图如下所示:-14-3.合并各分E-R图,消除各类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图。具体实现如下:a.消除冲突合并分E-R图时并不能简单地将各个分E-R图画到一起,而是必须着力消除各个分E-R图中的不一致,以形成一个能为全系统中所有的用户共同理解和接受的统一的概念模型。合并分E-R图的主要工作与关键是合理消除各分E-R图的冲突,冲突主要有三类:属性冲突、命名冲突和结构冲突。b.消除冗余-15-在E-R图中,可能存在一些冗余的数据和实体间的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库的维护增加困难,应予以消除。但并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。消除冗余主要采用分析法和规范化理论。经过以上分析,将所有的分E-R图综合成一个系统的总E-R图:解释如下:一个部门可