数据库教材管理报告Word下载.docx
《数据库教材管理报告Word下载.docx》由会员分享,可在线阅读,更多相关《数据库教材管理报告Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
需要经常查找的资料包括毕设的教材信息、采购情况等。
需要在Oracle10g或Oracle11g环境下实现数据库的物理设计。
规划pfile文件、数据库的表空间、日志文件、段等。
根据假设的需求分析设计表、索引、锁(考虑性能)。
在Oracle数据库中实现业务逻辑的实现(存储过程、函数以及触发器的设计)。
规划、设计事务等。
2.3系统需求分析
2.3.1总体需求简单介绍
需求分析阶段是数据库应用系统开发的最重要阶段。
需求分析要求应用系统的开发人员按照系统的思想,根据收集的资料,对系统目标进行分析,对业务的信息需求、功能需求以及管理中存在的问题等进行分析,抽取本质的、整体的需求,为设计一个结构良好的数据库应用系统的逻辑模型奠定坚实的基础。
2.3.2用户总体业务构造
学校教务科每学期都要购买大量的教材,以应教学学习之需。
需要对教材的出入库信息、教材订购信息进行管理,并能够对教材的在库、出库、教材的历史信息、教材订单等信息进行查询。
请设计合理的数据库表结构并实现该系统,用以管理教材信息。
2.3.3其它要求
如安全性,系统环境要求(根据现有的设备情况进行系统运行)等,这些不是本次实验的核心内容,所以在这次实验中没有太多体现。
2.3.4系统功能设想
这里的功能划分,是根据第一阶段需求调查基础上进行的初步划分。
随着需求调查的深入,功能模块随着对需求了解的明确得到调整。
教务管理业务的4个主要部分,可以将系统应用程序划分为对应得4个子模块:
包括教材出入库管理、教材查询、教材订购、教材订单查询。
根据各业务子系统所包括业务内容,还可以将各个子系统继续细化划分为更小的功能模块。
划分的准则主要遵循模块的内聚性要求和模块间的低聚合性。
如图所示表示一个教务管理系统功能模块结构图。
教务管理系统功能模块结构图
第3章需求描述
3.1方法概述
主要包括数据流图(DataFlowDiagram)和数据字典(DataDictionary)。
数据流图和数据字典是描述用户需求的重要工具以及阶段成果表达形式。
它是需求分析的成果和用户交流的主要手段和依据,是后续数据库设计的前提。
从数据流图中可以比较充分地了解软件的结构,所以也是软件设计的重要依据。
调查了解用户的需求后,需要进一步表达用户的需求,分析和表达用户需求的方法很多,目前最常用的还是结构化分析法。
该方法是基于数据流的需求分析方法,它利用了图形的方式进行表达,容易学习和运用。
结构化分析法采用的是自顶向下、逐层分解的方式分析系统,即将系统的功能从宏观层面逐渐细化,达到最终的结构化分析方法主要使用以下几个工具:
数据流图(DataFlowDiagram简称DFD)、数据字典(DataDictionary简称DD)、判定表和判定树等。
不同的应用环境,对数据描述的细化程度会有所不同,常常应实际情况而定。
下面就使用数据流图及数据字典这两种工具来描述本例的用户需求,体现他们在实际中的应用方法。
3.2数据流图设计
数据流图中使用的符号在各种书籍和资料上表达不尽相同,目前许多常用的一些流行的数据库辅助设计工具如MicrosoftVisio、SybasePowerDesigner、OracleDesigner、RationalRose、Erwin等符号都不统一,我们这里以比较容易上手的Visio工具为例
数据流图主要符号的意义:
注意:
数据流图命名规则之一:
数据流图的中加工、处理过程一般采用动词及其短语;
数据源点或终点、数据存储(数据文件或表单形式)、数据流(一项或多项数据)等一般为名词或名词短语。
数据流图命名规则之二:
流图中的命令所使用的语言要基本上反映实际的情况,在整个DFD中必须要唯一,尽量避免含有像加工、处理、存储这样的元名称。
3.2.1系统的全局数据流图
系统的全局数据流图,在具体的设计工具中往往也称为第0层或顶层数据流图,主要是从整体上描述系统的数据流,反映系统中数据的整体流向,是设计者针对用户和开发者表达出来的一个总体描述。
顶层数据流图(教材管理系统的整体分析及功能分析、数据流向)
第一层数据流图
3.2.2系统局部数据流图
全局数据流图,从整体上描述了数据流向和加工处理过程。
但是一个较为复杂的系统来讲,要清楚地描述系统数据的流向和加工处理的每一个细节,仅用全局数据流图难以完成。
因此需要在全局数据流图的基础上,对全局数据流图的某些局部单独放大,进一步细化,细化可以采用多级方式进行,就是分级数据流图来描述。
第二层数据流图
教材查询部分(教材查询功能的实现及数据流向)
教材订购部分(教材订购功能的实现及数据流向)
订单查询部分(订单查询功能的实现及数据流向)
第三层数据流图
查询管理的在库查询部分的细化
查询管理的出库查询部分的细化
查询管理的历史查询部分的细化
教材订购管理的生成订单部分的细化
教材订购管理的订单状态部分的细化
3.3数据字典部分
数据流图表达了数据与处理的关系,数据流图作为直观的了解系统运行机理的手段,并没有具体描述各类数据的细节,只有通过数据字典进一步细化才能对系统的需求得到具体而确切的了解。
数据字典用来说明数据流图中出现的所有元素的详细的定义和描述,包括数据流、加工处理、数据存储、数据的起点和终点或外部实体等。
数据字典包括的项目有:
数据项、数据结构、数据流、数据存储、加工逻辑和外部实体。
可使用一些符号来表示数据结构、数据流和数据存储的组成。
3.3.1数据流
表中数据流的描述
序号
数据流名
来源
组成
1
教材入库请求
数据
管理员
教材内部识别号、入库时间、入库数量、适用对象
2
教材出库请求
教材内部编号、教材代号、出库时间、出库数量、使用单位、用途、经办人
3
教材信息录入
请求数据
教材内部识别号、代号、书名、编著者、出版社、版次、定价、入库时间、入库数、适用对象
4
教材订购信息
录入请求数据
班级课程教材选用信息、教材出版社信息
5
在库教材信息
查询
管理员、老师、
学生、班级
在库信息、书名、代号、教材总数、种类总数、价值总额
6
出库教材信息
出库信息、教材代号、使用对象
7
历史教材信息
出入库的历史信息
8
订单信息查询
管理员
教材订单的到货、缺货情况
3.3.2数据存储
表中数据存储的描述
数据文件
文件组成
关键标识
组织
1
教材信息
教材内部识别号、代号、书名、编著者、出版社、版次、定价
全部
按代号、书名排序
2
教材入库信息
教材内部识别号、入库时间、入库数、适用对象
按教材内部识别号排序
3
教材出库信息
课教材内部编号、教材代号排序
4
教材在库信息
教材总数、种类总数、价值总额
统计教材在库的信息:
在库教材总数、种类总数、价值总额;
5
教材订购清单
按订单编号排序
3.3.3数据项
数据项的说明
数据项
数据对象说明
1
管理员姓名
1{字符}10
2
管理员编号
5{数字}5
3
班级名
4
班级编号
5
教师姓名
6
教师编号
7
学生姓名
8
学生编号
9
订单编号
10
入库表编号
11
入库时间
6{数字}6
12
入库数量
1{数字}5
13
适用对象
14
出库表编号
15
出库时间
16
出库数量
17
使用单位
18
经办人
19
用途
库房
库存数量
20
库存种类总数
21
库存金额总数
1{数字}10
22
教材内部编号
23
教材代号
24
教材名称
25
著作者
26
出版社
27
版次
28
价格
29
教材使用班级
30
教材使用课程
31
学期
英文=[‘a’…’z’|’A’…’Z’]
数字=[‘0’…’9’]
第4章概念设计
上述的数据流图和数据字典共同构成了对用户需求的表达,它们是系统分析员(数据库管理员)在需求调查过程中和用户反复交互得到的。
建设系统实际要处理的数据基本上已经在数据流图中得到体现,整个设计过程的后续步骤提供基础和依据。
概念设计就是通过对需求分析阶段所得到的信息需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型,主要的手段为ER图。
在概念设计阶段,主要采用的设计手段目前还是实体联系模型(E-RModel)。
绘制E-R图的关键是确定E-R图的各种结构,包括实体、属性和联系。
大部分的流行建模工具(PowerDesigner、OracleDesigner、ERwin等)也都包含了对E-R设计手段的支持。
4.1实体
要建立系统的E-R模型的描述,需进一步从数据流图和数据字典中提取系统所有的实体及其属性。
这种提出实体的指导原则如下:
1属性必须是不可分的数据项,即属性中不能包含其它的属性或实体
2E-R图中的关联必须是实体之间的关联,属性不能和其它实体之间有关联
由前面分析得到的数据流图和数据字典,可以抽象得到实体主要有9个:
学生、教师、班级、管理员、订单、教材、入库表、出库表、库存。
(1)学生实体属性有:
学生姓名、学生编号。
(2)教师实体属性有:
教师姓名、教师编号。
(3)班级实体属性有:
班级名、班级编号。
(4)管理员实体属性有:
管理员姓名、管理员编号。
(5)入库表实体属性有:
入库表编号、入库时间、入库数量、使用者。
(6)出库表实体属性有:
出库表编号、出库时间、出库数量、使用者、用途、经办人。
(7)订单实体属性有:
订单编号、数量、学期、标记。
(8)库存实体属性有:
库存编号、数量。
(9)教材实体属性有:
教材内部编号、教材代号、教材名称、著作者、出版社、版次、价格、教材使用班级、教材使用课程。
4.2系统局部E-R图
在需求分析阶段我们采用的是自上而下的分析方法,那么要在其基础上进一步作概念设计我们面临的是细化的分析数据流图以及数据字典,分析得到实体及其属性后,进一步可分析各实体之间的联系。
管理员实体与其他实体存在管理关系一个管理员可以管理多个订单、库存等为1对多关系。
班级实体与教材实体存在领取关系一个班级可以领取多种教材,一种教材可以被多个班级领取所以是多对多关系。
学生实体与教材实体存在领取关系一个学生可以领取多种教材,一种教材可以被多个学生领取所以是多对多关系。
教师实体与教材实体存在领取关系一个教师可以领取多种教材,一种教材可以被多个教师领取所以是多对多关系。
订单实体与教材实体存在包含关系一个订单可以包含多种教材,一种教材可以被多个订单包含所以是多对多关系。
入库表实体与教材实体存在包含关系一个入库表可以包含多种教材,一种教材可以被多个入库表包含所以是多对多关系。
出库表实体与教材实体存在包含关系一个出库表可以包含多种教材,一种教材可以被多个出库表包含所以是多对多关系。
库存实体与教材实体存在包含关系一个库存可以包含多种教材,一种教材可以被多个库存包含所以是多对多关系。
4.3系统全局E-R图
系统的局部E-R图,仅反映系统局部实体之间的联系,但无法反映系统在整体上实体间的相互联系。
而对于一个比较复杂的应用系统来说,这些局部的E-R图往往有多人各自分析完成的,只反映局部的独立应用的状况,在系统整体的运作需要时,他们之间有可能存在重复的部分或冲突的情况,如实体的划分、实体或属性的命名不一致等,属性的具体含义(包括数据类型以及取值范围等不一致)问题,都可能造成上述提到的现象。
为解决这些问题,必须理清系统在应用环境中的具体语义,进行综合统一,通过调整消除那些问题,得到系统的全局E-R图。
从实际的情况以及上述的局部E-R图我们可以得知,学生实际修学某门课时必须只能对应一位老师的该门课。
因此,可以使用一个聚集来表达学生参加实际授课课程的学习关系,会更加切合实际。
各局部E-R存在不少的重复的实体,经过上述聚集分析和合并得到系统全局的E-R图如图8-13所示。
该全局E-R图基本上不存在关系的冗余状况,因此它已经是一个优化的。
选课管理系统的全局ER图
第5章逻辑设计
逻辑设计就是把E-R图转换成关系模式,并对其进行优化。
5.1E-R图到关系模式的转换
在概念设计阶段得到的数据模型,是独立于具体DBMS产品的信息模型。
在逻辑设计阶段就是将这种模型进一步转化为某一种(某些类)DBMS产品支持的数据模型。
目前大部分的流行的数据库管理系统(SQLServer、Sybase、Oracle、DB2等)基本上都是基于关系的数据模型,包括该系统将采用的SQLServer2000数据库系统,因此,应将概念设计阶段的E-R图模型转化为关系数据模型。
如下:
管理员(管理员姓名、管理员编号)
订单(订单编号、数量、学期、标记)
入库表(入库表编号、入库时间、入库数量、使用者)
出库表(出库表编号、出库时间、出库数量、使用者、用途、经办人)
库存(库房、库存数量)
班级(班级名、班级编号)
教材(教材内部编号、教材代号、教材名称、著作者、出版社、版次、价格、教材使用班级、教材使用课程)
领取1(班级编号、教材代号)
学生(学生姓名、学生编号)
领取2(学生编号、教材代号)
教师(教师姓名、教师编号)
领取3(教师编号、教材代号)
包含1(订单编号、教材代号、出版社)
包含2(入库表编号、教材代号)
包含3(出库表编号、教材代号)
包含4(库房、教材代号)
5.2各个数据表的表结构设计
由E-R模型得到关系模式并且得到适当的调整后,我们可以结合在需求表述中数据字典包含的数据项信息,得到数据库的表结构。
表中各列的字段名、数据类型、数据长度和表的主键和外键;
表名和字段名的命名应该由表名的英文含义的词语为主或以其缩写字母构成;
同时为各个表名和字段名作出完整的中文文档说明。
表结构设计如下:
管理员字段信息列表
字段名称
含义属性
类型
长度
备注
m_name
Variablecharacters
m_no
Integer
主键
班级字段信息列表
c_name
c_no
学生字段信息列表
s_name
s_no
教师字段信息列表
t_name
t_no
订单字段信息列表
l_no
l_count
数量
l_time
l_sign
标记是否到货
Variablecharacters
用y表示到货
教材字段信息列表
te_inno
te_no
te_name
te_author
te_pub
外键
te_pno
te_price
Integer
te_class
te_lesson
入库表字段信息列表
i_no
i_time
自动获取系统时间
i_count
i_use
使用者
教师等实体的编号
出库表字段信息列表
o_no
o_time
自动获得系统时间
o_count
o_use
o_worker
o_way
库存字段信息列表
st_name
st_count
第6章物理设计
6.1各个数据表的建立(以下只给出了教材及订单表的建立)
6.1.1教材表的建立
createtable教材(
te_innoINTEGERnotnull,
te_noINTEGERnotnull,
te_nameVARCHAR2(10),
te_authorVARCHAR2(10),
te_pubVARCHAR2(10),
te_pnoINTEGER,
te_priceFLOAT,
c_noINTEGER,
te_lessonVARCHAR2(10),
constraintPK_教材primarykey(te_inno,te_no),
Foreignkey(c_no)References班级(c_no));
6.1.2订单表的建立
createtable订单(
l_noINTEGERnotnull,