1、课程设计(论文)课程名称: 数据库系统分析与设计 题 目:教材管理信息系统数据库设计与实现 院 (系): 管理学院 专业班级: 信管1201 姓 名: 陈丹 学 号: 120440123 指导教师: 张新生 骆正山 2014年 1 月 9 日西安建筑科技大学课程设计(论文)任务书专业班级: 信管1201 学生姓名: 陈丹 指导教师(签名): 一、课程设计(论文)题目教材管理信息系统数据库设计与实现二、本次课程设计(论文)应达到的目的 数据库系统分析与设计课程设计是信息管理与信息系统专业集中实践性环节之一,是学习完数据库数据库系统原理及技术及数据库系统分析与设计课程后进行的一次全面的综合练习。其
2、目的在与加深对数据库基础理论和基本知识的理解,掌握借助PowerDesigner开发和设计一个小型数据库系统时设计数据库系统模型的基本方法,提高运用数据库解决实际问题的能力。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 要求学生能独立完成一个数据库模型的设计与实现,包括:1) 数据库系统需求分析;2) 数据库概念模型设计;3) 数据库逻辑模型设计;4) 数据库物理模型的实现;5) 完成不少于6000字的课程设计报告撰写。四、应收集的资料及主要参考文献: 1 王珊, 萨师煊. 数据库系统概论(第4版). 北京:高教出版社,2006年5月.2 赵韶平等.Po
3、werDesigner系统分析与建模(第2版). 北京:清华大学出版社,2010.3 Data Modeling and Relational Database Design. Oracle Inc. 2001.4 慕静等.管理信息系统.北京:清华大学出版社,2010.5 五、审核批准意见教研室主任(签字) 设计总说明对教材管理业务流程进行调查,得之每个班级需要订购的教材费用交由财务科科,财务科再通知教材科,根据上报的教材数量找到书商订购教材,并详细记录教材信息。 每个班级按照缴费情况,到教材科领书,并记录领取信息。并且教材科根据教库存信息决定是否订购书。 校方高层管理人员可在学校教材发放完毕
4、后根据财务科所提供的费用报表总结出本校的教材管理缺陷,从而完善本校教材管理制度。当系统出现异常、人为故障时,或者在使用过程中出现了大量的冗余、错误数据时,可通过系统初始化设置使系统恢复初始状态。根据分析得到相应的数据流程图,以数据流程图为依据,使用PowerDesigner软件设计管理信息系统进行需求分析和设计,并创建概念数据模型(CDM),生成CDM模型文档,然后由CDM生成相关的逻辑数据模型(LDM)和物理数据模型(PDM)。最后由PDM生成数据库。关键字:PowerDesigner,管理信息系统,概念数据模型,逻辑数据模型,物理数据模型目 录1 绪论11.1系统简介11.2设计目的11.
5、3设计内容22 需求分析32.1 .需求分析的任务32.2 系统数据流程分析32.3 数据字典43 概念模型设计73.1 概念模型设计的方法和步骤73.2 系统概念模型124 逻辑模型设计144.1 逻辑模型设计的方法144.2 逻辑模型实现174.3 数据完整性约束定义175 物理数据库模型设计与实现195.1 物理数据库模型的图示195.2 物理数据库模型的详细表示225.3 物理数据库模型的实现24总结28参考文献291 绪论1.1系统简介整个教材管理系统包括实体有学生,书商,学校,教材,教材库存,教材科,校长,班级,财务科,老师。教材管理系统通过PowerDesigner开发,提供了一
6、个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的实现。PowerDesigner产生的模型和应用可以不断增长,适应并随着组织的变化而变化。PowerDesigner不仅加速了开发的过程,也向最终用户提供管理和访问项目信息的一个有效结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期时提供更多的控制和更高的生产率。本系统对于教材管理提供了更加快捷的管理方式。
7、1.2设计目的教材管理系统通过PowerDesigner开发,是一个便于学生和学校对教材管理的复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的实现。PowerDesigner产生的模型和应用可以不断增长,适应并随着组织的变化而变化。是学习完数据库数据库系统原理及技术及数据库系统分析与设计课程后进行的一次全面的综合练习。加深对数据库基础理论和基本知识的理解,掌握借助PowerDesigner开发和设计一个小型数据库系统时设计数据库系统模型的基本方法,提高运用数据库解决实际问题的能力。1.3设计内容对教材管理业务流程进行调查,得之每个班级需要订购的教材费用交由财务科科,财务
8、科再通知教材科,根据上报的教材数量找到书商订购教材,并详细记录教材信息。 每个班级按照缴费情况,到教材科领书,并记录领取信息。并且教材科根据教库存信息决定是否订购书。 校方高层管理人员可在学校教材发放完毕后根据财务科所提供的费用报表总结出本校的教材管理缺陷,从而完善本校教材管理制度。当系统出现异常、人为故障时,或者在使用过程中出现了大量的冗余、错误数据时,可通过系统初始化设置使系统恢复初始状态。了解到教材的管理程序后,得到数据流程图,以数据流程图为依据,使用PowerDesigner软件设计管理信息系统进行需求分析和设计,并创建概念数据模型(CDM),生成CDM模型文档,然后由CDM生成相关的
9、逻辑数据模型(LDM)和物理数据模型(PDM)。最后由PDM生成数据库。2 需求分析2.1 .需求分析的任务1、管理员可以对用户进行管理,如添加用户,分配用户的角色,如学生、老师、教材科 ;删除用户信息;修改用户信息。 2、每个班级将需要订购的教材费用交由财务科科,财务科再通知教材科,根据上报的教材数量找到书商订购教材,并详细记录教材信息。 3、每个班级按照缴费情况,到教材科领书,并记录领取信息。并且教材科根据教库存信息决定是否订购书。 4、校方高层管理人员可在学校教材发放完毕后根据教材科和财务科所提供的学生够数人数比例和学生不愿意购书原因分析等总结出本校的教材管理缺陷,从而完善本校教材管理制
10、度。 5、当系统出现异常、人为故障时,或者在使用过程中出现了大量的冗余、错误数据时,可通过系统初始化设置使系统恢复初始状态。2.2 系统数据流程分析1)基本业务调查对教材管理业务流程进行调查,了解到教材的管理应用中,一般的流程有以下几个: 1、教材科通过提供的学生购书信息对教材库存进行分析,计算出是否需要订购教材;2、教材库存根据教材科提供的出入库报表计算出入库数目提供教材;3、学校根据书商信息选择书商;4、书商根据教材科提供的订购报表提供教材;5、学生填写个人信息上报班级,班级进行信息汇总出班级购书报表;6、老师和学生根据个人需求领取教材;7、书商根据订购报表上报费用;8、财务科根据上报费用
11、提供费用报表并上缴给校长 2)数据流程图21数据流程图212.3 数据字典在数据流程图中,数据信息和处理过程需要通过数据字典才能描述清楚,因此在数据字典中主要对数据流程图中的数据流、数据存储和处理过程给出更详细、更准确的说明。1)数据流定义可以通过表格的形式给出数据流程图的主要数据流,如表2.1所示。表2.1 教材主要数据流定义序号名称位置结构定义最大数据流量1学生信息F1编号+姓名+年级1000次/天2教材信息F2类别+出版社+作者+书名+定价1000次/天3缴费信息F3班级+人数+金额1000次/天4库存信息F4入库数+教材名+出库数1000次/天2)数据存储定义可以采用如下表格的形式给出
12、系统的主要数据定义,如表2.2所示。表2.2 教材系统主要数据存储定义编号名称输入输出数据量存取频度存取方式说明D1出入库报表订购信息缴费信息,教材信息25000条1000次/天联机处理;检索和更新;随即检索已缴费且教材库存非空D2班级购书报表学生信息缴费信息,教材信息25000条1000次/天联机处理;检索和更新;随即检索教材信息为真D3费用报表书商信息订购信息,教材信息25000条1000次/天联机处理;检索和更新;随即检索采购信息非空3)处理过程可以采用如下表格的形式给出系统的主要处理过程定义,如表2.3所示。表2.3 教材系统主要处理过程定义序号处理过程名称输入输出处理说明P1.1缴费
13、学生信息,缴费情况缴费信息,教材信息对缴费统一编码,将缴费信息数据化,存储缴费记录表中P1.2订购教材信息采购信息对订购统一编码,将采购信息数据化,存储教材采购记录表中P1.3教材发放学生信息教材信息,缴费信息对教材统一编码,将教材信息数据化,根据学生缴费情况发放教材3 概念模型设计3.1 概念模型设计的方法和步骤 1)打开PowerDesigner开发环境,选择FileNew项,在打开窗口中选择Conceptual Data Model项,如图3-1所示。图312) 在Palette工具栏中,选择Entity实体图标,在屏幕任意位置单击左键,则一个实体放置在模型窗口上。然后在窗口空白处单击右
14、键,鼠标恢复箭头形状。 3) 双击实体图形符号打开实体属性定义窗口,如图3-2。图324) 在Attributes页中输入各个属性,如图3-3。图335) 定义完毕后,单击“确定”返回CDM主窗口。实体的图形符号如图3-4。 图346) 重复(2)至(5)创建其他实体及其属性。 7) 在Palette工具栏中选择Relationship图标,在有联系的两个实体中的一个实体图形符号上单击左键,拖动鼠标至另外一个实体,释放鼠标,就可在两个实体之间建立联系。 8) 选中联系的图形符号,双击打开联系属性定义窗口,其中General页的内容如图3-5所示。图359) 在Cardinalities页中填写
15、联系的细节信息 10) 定义完毕后,单击“确定”返回CDM主窗口。 11) 按照方法创建其他实体之间的联系,生成CDM模型如图3-6所示。图3612) 择ModelDomains菜单项,打开域列表窗口,在其中新增一个域。定义完毕后,单击“OK”按钮,返回CDM模型窗口。双击要引用的域的实体图形符号,打开实体定义窗口,选择Attributes页,增加一个属性,但不要定义数据类型,只需在Domain栏中单击,则显示所有预先定义好的域名,选择合适的域,然后单击“Apply”按钮,就可以看到属性的数据类型变为域的数据类型。 13) 查CDM的正确性。选ToolsCheck Model,打开检查选项设置
16、窗口,如图3-7。设置检查选项后,单击“确定”按钮,开始执行检查。查看结果并根据提示进行修改,知道没有错误和警告为止。 图3714) 生成CDM模型文档。选择FileNew菜单项,在打开的窗口选择Multi-Model Report选项,单击“OK”按钮,打开生成模型文档设置窗口。单击“确定”按钮,进入模型文档设计窗口。在模型设计窗口可以修改报告的内容,以满足实际要求。修改完毕后,单击“OK”按钮返回到模型文档设计窗口,选择窗口中的RTF图标,在弹出窗口中输入模型文档的文件名,单击“OK”按钮开始生成文档。然后可以利用Word打开文档。图3-8为部分内容。 图383.2 系统概念模型根据系统的
17、需求分析,得出系统数据库的概念模型,如下面ER图39所示。教材入库领书订书报表学生老师书商教材科缴费财务科报表付款教材库存班级信息选择 学校上报校长图394 逻辑模型设计4.1 逻辑模型设计的方法1)选择ToolGenerate Logical Date Model命令,打开LDM Generation Options窗口,如图41。图412)选择Detail选项卡,进行物理数据模型的细节属性设置如图42。图423)选择Select选项卡,选择概念数据模型中已定义的实体,如图43。图434)选择完毕后单击“确定”按钮,开始生成物理数据模型。4.2 逻辑模型实现图444.3 数据完整性约束定义根
18、据上面的关系模式,数据库的完整性约束如下所示:1)实体完整性约束教材科(教材主任编号,教材主任姓名,性别)教材库存(书名,经办人,入库日期,本次数量,上次数量)教材(条形码,教材编号,作者,书名,出版社,库存数,价格,入库日期)老师(老师编号,老师姓名,性别)班级(班号,班长,买书人数,年级班级序号,班级总人数)学生(学号,学生姓名,班级,专业,性别)校长(校长名,性别,出生日期,任期年数)学校(学校编号,学校名)书商(书商编号,单位名称,地址,书费,联系电话,负责人)财务科(财务科长编号,科长姓名,性别)2)参照完整性约束教材库存实体中条形码为外键,连接教材库存与教材两个实体;教材实体中教材
19、主任编号,老师编号为外键连接教材,教材科,老师三个实体;班级实体中学号为外键连接班级跟学生两个实体;学生实体中财务科长编号为外键连接学生与财务科两个实体;书商实体中条形码,财务科长编号为外键连接教材,书商,财务科三个实体;财务科中校长名为外键,在校长实体中财务科长编号为外键,连接财务科跟校长两个实体。3)用户自定义完整性约束本系统无用户自定义。5 物理数据库模型设计与实现5.1 物理数据库模型的图示1)选择ToolGenerate Physical Date Model命令,打开PDM Generation Options窗口,如图51所示。图512)选择Detail选项卡,进行物理数据模型的
20、细节属性设置,如图52。图523)选择Select选项卡,选择概念数据模型中已定义的实体,如图53。图534)选择完毕后单击“确定”按钮,开始生成物理数据模型,如图54。图545.2 物理数据库模型的详细表示1)表的清单表5.1表的清单名称代码Relationship_9Relationship_9书商Shushang学校Shcool学生Student教材Jiaocai教材库存KUCUN教材科jiaocaike校长xiaozhang班级banji老师Teacher财务科caiwu2)引用的清单表5.2表的清单名称代码父表格子表格外键列父角色子角色Relationship_1Relationsh
21、ip_1教材科教材教材主任编号Relationship_2Relationship_2教材教材库存条形码Relationship_3Relationship_3教材书商条形码Relationship_4Relationship_4老师教材老师编号Relationship_5Relationship_5教材学生条形码Relationship_6Relationship_6学生班级学号Relationship_7Relationship_7财务科学生财务科长编号Relationship_8Relationship_8财务科书商财务科长编号Relationship_9Relationship_10书
22、商Relationship_9书商编号Relationship_9Relationship_9学校Relationship_9学校编号Relationship_10Relationship_12财务科校长财务科长编号Relationship_10Relationship_11校长财务科校长名5.3 物理数据库模型的实现1)测试成功的数据库中班级表。表5.3班级表2)相关定义的SQL语句。insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (RI6XAOH1AY, K7HP9JYU5M, CP3U1QPLVU
23、2 NLV8JGFQ, 2, 2MCX9KCKTW, 14);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values ( EBCV01EKD, 07OX0S2EH , HOK048B C5 TKWXY4UNB, 10, EC06XBA4FN, 16);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (CUXP3JITM8, 07OX0S2EH , GQ1OFRNXA19E8QOW52RE, 6, SX2OUR4DFY,
24、7);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (NBBOU6K1 S, T957IUCW50, Q8NJ2PNK8CWL1K2FBOXJ, 19, I19EU ACI, 6);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (E1S 1LE8PF, KRNCP12IT8, P5T5VQ4EJWOML3J9PSAR, 0, EVF69H50MC, 13);insert into banji (Banno,
25、Stuno, Banzhang, number, id, allnum) values (0XQQ ESVPX, 07OX0S2EH , 9TX5OMNYH2V19QDH4STY, 7, P0TD4UMNUF, 9);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (RJ9CCE0B17, M5HT7UUSE1, DSC9GFP1HGBHRW70HMQQ, 4, PT8YXM1UXM, 4);insert into banji (Banno, Stuno, Banzhang, number, id, a
26、llnum) values (N71 I8EYF4, FTJYSY6JC8, QPFNHDJPC0N6X7ENF 39, 11, NQ2L PATDM, 19);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (ONT 48E78H, M5HT7UUSE1, JILEX8YJTXN LCKU43EV, 14, H4 C1ML3QQ, 2);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (7N8X8NF5LW,
27、5IHJY QNPI, LKC2K9TYELLK69D MIHA, 12, YDEW7VFQFE, 1);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (BOA5V5EO5G, C FKV CD9F, 3C5Q7T1F2IGVJNNUUK33, 17, J865KQG2 P, 0);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (95VHT7O48D, 3MJKNO SB4, S2YVVKBHCEV5Y9CU
28、DXNG, 15, 8T92XX HA0, 3);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (Y7P5W4ILTE, C FKV CD9F, CRIAIH20G81RR9VF8TIW, 9, 9MQ3 KOE6K, 12);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (DQ5G296VN1, K7HP9JYU5M, 9O498JTWJL B6GWLJC3C, 5, WPHTKGUQIK, 15);ins
29、ert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (6MJHVFRMPN, C FKV CD9F, 9YYG31XO1 F18382SNI9, 1, 6Q6DK93Q5K, 11);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (T 0YUVRFIA, D18KGNYC3R, UOKMVU9X9G6 BVGG8CMF, 16, JHX4MB9NTD, 17);insert into banji (Banno, Stun
30、o, Banzhang, number, id, allnum) values (FN2YF4N WJ, D18KGNYC3R, 7GYJPG1ASJS305W9 LPB, 18, 5VEIJIAP7O, 8);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values (9GKHD5X2AF, V2HLFUBUGI, OL87JN8YXW17AE2I24 , 3, 4HYK4HD91P, 18);insert into banji (Banno, Stuno, Banzhang, number, id, alln
31、um) values (PM1T9M4HXO, 1L IGD TDS, P8579ELEQUJWQIGYG71G, 13, VKF4KYE579, 5);insert into banji (Banno, Stuno, Banzhang, number, id, allnum) values ( LUGBY8P J, 69Q51PRAGY, FJFS9WIFKHPNLXLLL2DA, 8, BX96NQ3F9J, 10);总结经过这一星期课程设计,我不仅更进一步掌握数据库这门课的知识和提高设计能力,而且还学会不耻下问。把书中的理论知识和实践相结合,才能使我们所学的知识融会贯通。虽然是个人作业,
32、但大家并没有只顾自己,每当遇到棘手的问题,同学都会给出好的建议,在学习中每个人学习知识的侧重点不尽相同,每人解决问题的思路也不一样,这给了我很大的感悟与帮助。制定这个题目是因为这么多年购买教材的经验,希望能从生活中学习,最终将学习应用到生活中。之后我就开始收集资料,在网上下载,到图书馆检索众多资料,通过学习的理论知识和广泛地资料分析制定了需求分析。建立数据流程图,从E-R图到CDM再到PDM连接,真正地将各个学科联系应用到一起,是实践能力超强的锻炼。也充分体会到从事系统开发工作需要特别严谨认真的态度和作风,一点都马虎不得。每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的
33、错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。再拿起书本查阅资料耐心,细心,安心的做就会一点点理出头绪。这次课程设计给了我们一个很好的实践机会,通过实践加深对理论的认识,积累经验,为以后数据库的学习深造打下坚实的基础。参考文献1 王珊, 萨师煊. 数据库系统概论(第4版). 北京:高教出版社,2006年5月.2 赵韶平等.PowerDesigner系统分析与建模(第2版). 北京:清华大学出版社,2010.3 Data Modeling and Relational Database Design. Oracle Inc. 2001.4 慕静等.管理信息系统.北京:清华大学出版社,2010.5 数据库系统分析与设计课程设计成绩评定 资料收集整理(10)设计工作量(10)需求分析(10)概念设计(10)逻辑设计(10)物理设计(10)数据库实现(10)编程(10)方案制订(10)设计说明书(10)总分(满分100分)指导教师(签名): 年 月 日