数据库教材订购系统.docx
《数据库教材订购系统.docx》由会员分享,可在线阅读,更多相关《数据库教材订购系统.docx(24页珍藏版)》请在冰豆网上搜索。
数据库教材订购系统
《数据库原理》课程设计报告
题目:
姓名:
学号:
专业班级:
指导老师:
年月日
摘要
/*(300字左右,宋体,五号)课程设计内容摘要主要是对撰写过程中实践、实验、研究的内容、方法和得到的主要结果的完整概括。
关键词:
/*(3–5个,各个词之间用“;”分割,宋体,五号,黑色)*/
第1章引言
1.1项目背景
学校每年都会采购和发放各种教材,但目前这些工作基本都由人工操作完成。
但是为了配合老师上课的需要,教材发放的速度必须很快。
因此,在教材发放的过程中,极易造成教材的损失。
并且由于都是手工管理的方式,极易造成一些单据的损失。
所以为了提高管理效率以及人力、物力的节省,利用计算机及设计教材订购系统就不失为一种好方法。
1.2项目定义
主要是针对大学生教材订购。
完成学生对哪些教材需要数据的录入,以及对学生购书单数据和发货单数据的存储。
1.3开发环境
运行环境:
Mysql以及java程序
数据库:
MYSQL
第2章
需求分析
2.1需求分析的目标与任务
2.1.1信息需求
用户需要输入自己想要的书籍以及数量。
需要存储的是购书数量,购书者,采购者,采购数量。
以及发货者和发货数量。
2.1.2处理需求
用户需要完成什么处理功能,对处理的响应时间有什么要求。
给出功能模块图,画在需求分析阶段成果中。
2.1.3安全性和完整性要求
1)安全性要求
安全性可先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性。
2)完整性要求
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
2.2需求分析阶段成果
2.2.1XX系统的业务流程图
2.2.2XX系统的功能模块图:
2.2.3XX系统的数据字典
(a)数据项:
数据项是不可再分的数据单位,即数据的最小组成单位。
例:
表1.1数据项列表
数据项编号
数据项名
数据项含义
与其它数据项的关系
存储结构
DI-1
S_ID
学号
VARCHAR(10)
DI-2
S_NAME
学生姓名
VARCHAR(20)
DI-3
TELEPHONE
电话号码
VARCHAR
(2)
DI-4
TYPE
所在系
VARCHAR(20)
DI-5
T_ID
老师职工号
VARCHAR(10)
DI-6
T_NAME
老师姓名
VARCHAR(20)
DI-7
BOOK_ID
书籍编号
VARCHAR(10)
DI-8
BOOK_NAME
书籍名
VARCHAR(30)
DI-9
BOOK_PUBDATE
出版日期
DATETIME
DI-10
BOOK_WRITER
作者
VARCHAR(10)
DI-11
BOOK_PUB
出版社
VARCHAR(30)
DI-12
WORKER_ID
工作人员编号
VARCHAR(10)
DI-13
WORKER_NAME
工作人员姓名
VARCHAR(10)
DI-14
BUYBOOK_NUMBER
购书数量
INT
DI-15
BUYBOOKDATE
购书日期
DATETIME
DI-16
IACKBOOK_NUMBER
缺书数量
INT
DI-17
LAKEBOOK_DATE
提交缺书单日期
DATETIME
DI-18
INBOOK_DATE
进书日期
DATETIME
DI-19
INBOOK_NUMBER
进书数量
INT
DI-20
TAKEBOOK_NUBER
领书数量
INT
DI-21
TAKEBOOK_DATE
领书日期
DATETIME
DI-22
SENDBOOK_DATE
发货日期
DATETIME
DI-23
SENDBOOK_NUMBER
发货数量
INT
(b)数据结构:
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据项组成,也可以由若干个数据项和数据结构混合组成。
例:
表1.2数据结构列表
数据结
构编号
数据结构名
数据结构
含义
组成
DS-1
STUENTINFOR
学生信息
S_ID,S_NAME,TELEPHONE,TYPE
DS-2
BOOKINFOR
书籍信息
BOOK_ID,BOOK_NAME,BOOK_PUBDATE,BOOK_WRITER,BOOK_PUB
DS-3
BOOKBUYINFOR
购书单信息
BOOK_NAME,BUYBOOK_NUMBER,
BUYBOOKDATE
Ds-4
LACKBOOKIN
缺书单信息
BOOK_NAME,IACKBOOK_NUMBER,LAKEBOOK_DATE
Ds-5
PUBPEOINF
发行人员信息
WORKER_NAME,WORKER_ID,TELEPHONE
Ds-6
SENDINF
发货单信息
BOOK_NAME,SENDBOOK_DATE,T_NAME,SENDBOOK_NUMBER
Ds-7
BOOKWORKER
书库工作人员信息
WORKER_NAME,WORKER_ID,TELEPHONE
Ds-8
PURCHAR
采购人员信息
WORKER_NAME,WORKER_ID,TELEPHONE
Ds-9
TAKEBOOKINF
领书单信息
BOOK_NAME,TAKEBOOK_NUBER,TAKEBOOK_DATE
Ds-10
INBOOKINF
进书单信息
BOOK_NAME,INBOOK_NUMBER,INBOOK_DATE
DFD流程图
学校教材订购数据流程图
(c)数据流:
数据流是数据结构在系统内传输的路径。
数据流
编号
名称
简述
来源
去向
组成
A1
购书单
教师递交的购书单
教师
购书单审核模块
BOOK_NAME,IACKBOOK_NUMBER
A2
领书单
系统生成的领书单
生成领单和生成领书单数据处理模块
书库发货人员
BOOK_NAM,TAKEBOOK_NUBER,TAKEBOOK_DATE
A3
发货单
系统生成的发货单
生成发货单数据和发货单的处理模块
教材发行人员和教师
BOOK_NAME,SENDBOOK_DATE,T_NAME,SENDBOOK_NUMBER
A4
缺书单
系统生成的缺书单
生成缺书单数据和缺书单处理模块
采购人员
BOOK_NAME,IACKBOOK_NUMBER
A5
进货单
系统生成的进货单
生成进货单数据和进货单的处理模块
教材发行人员
WORKER_NAME,WORKER_ID,TELEPHONE
A5
书籍信息
教材发行人员管理
教材发行人员
修改库存和书籍信息处理模块
BOOK_ID,BOOK_NAME,BOOK_PUBDATE,BOOK_WRITER,BOOK_PUB
(d)数据存储:
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
它可以是手工文档或手工凭单,也可以是计算机文档。
数据存储
编号
名称
简述
组成
D1
购书表
存放购书数据的表格
BOOK_NAME,BUYBOOK_NUMBER,
BUYBOOKDATE
D2
领书表
存放所要领书数据的表格
BOOK_NAME,TAKEBOOK_NUBER,TAKEBOOK_DATE
D3
发货表
存放要发放书籍信息的表格
BOOK_NAME,SENDBOOK_DATE,T_NAME,SENDBOOK_NUMBER
D4
缺书表
存放缺的书籍信息的表格
BOOK_NAME,IACKBOOK_NUMBER
D5
进货表
存放要进书籍信息的表格
BOOK_NAME,INBOOK_NUMBER,INBOOK_DATE
(e)处理过程:
处理过程的具体处理逻辑一般用判定表或判定树来描述。
数据字典中只需要描述该处理过程的说明性信息。
处理逻辑
编号
名称
输入数据流
处理
输出数据流
B1
审核购书单
购书单
对购书单进行处理看看有没有缺书
审核后的购书单
B2
生成领书单数据和领书单
购书单数据
通过查看购书单数据,生成领书单和领书单数据
领书单和领书单数据
B3
生成发货单数据和发货单
领书单数据
通过领书单数据给仓库,从而产生发货单数据和发货单
发货单和发货单数据
B4
与库存进行比较,从而生成缺书单数据和缺书单
审核后的购书单
购书单与库存进行比较,缺少某些书,从而形成缺书吧单和缺书数据
缺书单和缺书单数据
B5
生成进货单数据和进货单
缺书单数据
通过缺书单数据可知缺少哪些书,从而产生要进哪些货
进书单和进书单数据
B6
修改库存和书籍信息
书籍信息
通过进书单、领书单和发货单,知道少了哪些书和进了哪些书,进行库存的修改
概念设计
2.3概念设计的目标与任务
(1)设计分E-R图…;
(2)生成初步E-R图…;
(3)生成基本E-R图…;
(4)生成全局E-R图…;
实体与属性间的两条准则:
作为“属性”,不能再具有需要描述的性质。
“属性”不能与其他实体具有联系。
抽象出实体与属性,画出各子系统的分E-R图。
然后采用逐步集成的方式将各分E-R图合并,消除不必要的冗余和冲突后就生成了基本E-R图3.5。
2.4阶段结果
2.4.1属性与实体
2.4.2各子系统与分E-R图
销售子系统
订购子系统
2.4.3合并各分E-R图,得到总E-R图
第3章逻辑设计
3.1逻辑设计的任务和目标
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
具体内容包括将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计。
3.2阶段结果
3.2.1将E-R图转换为关系模型
递交(学号,数量,职工号)
订购(职工号,订购量,书籍编号,订购日期)
采购(编号1,采购量,书籍编号,采购日期)
发售(编号2,发售量,书籍编号,发售日期)
发货(编号3,发货量,书籍编号,发货日期)
学生(学号,姓名,院系,手机号)
老师(职工号,姓名,院系,手机号)
书籍(书籍编号,书籍名,作家,出版日期,出版社)
采购员(编号1,姓名,手机号)
发货员(编号3,姓名,手机号)
教材发行人员(编号2,姓名,手机号)
3.2.2模型优化
递交(学号,数量,职工号)
订购(职工号,订购量,书籍编号,订购日期)
采购(编号1,采购量,书籍编号,采购日期)
发售(编号2,发售量,书籍编号,发售日期)
发货(编号3,发货量,书籍编号,发货日期)
学生(学号,姓名,院系,手机号)
老师(职工号,姓名,院系,手机号)
书籍(书籍编号,书籍名,作家,出版日期,出版社)
采购员(编号1,姓名,手机号)
发货员(编号3,姓名,手机号)
教材发行人员(编号2,姓名,手机号)
3.2.3数据库模式定义
递交信息表
列名
数据类型
可否为空
说明
S_ID
VARCHAR(10)
NOTNULL
学生学号
T_ID
VARCHAR(10)
NOTNULL
学生姓名
BOOK_NUMBER
INT
每一位学生订购某种书数量
订购信息表
列名
数据类型
可否为空
说明
T_ID
VARCHAR(10)
NOTNULL
教师编号
BUYBOOK_NUMBER
INT
订购数量
BOOK_ID
VARCHAR(10)
NOTNULL
书籍编号
BUYBOOKDATE
DATETIME
订购日期
采购信息表
列名
数据类型
可否为空
说明
WORKER_ID
VARCHAR(10)
NOTNULL
采购人员编号
INBOOK_NUMBER
INT
采购量
BOOK_ID
VARCHAR(10)
NOTNULL
书籍编号
INBOOK_DATE
DATETIME
采购日期
发售信息表
列名
数据类型
可否为空
说明
WORKER_ID
VARCHAR(10)
NOTNULL
发售人员编号
TAKEBOOK_NUBER
INT
发售日期
BOOK_ID
VARCHAR(10)
NOTNULL
书籍编号
TAKEBOOK_DATE
DATETIME
发售日期
发货信息表
列名
数据类型
可否为空
说明
WORKER_ID
VARCHAR(10)
NOTNULL
发货人员编号
SENDBOOK_NUMBER
INT
发货量
BOOK_ID
VARCHAR(10)
NOTNULL
书籍编号
SENDBOOK_DATE
DATETIME
发货日期
学生信息表
列名
数据类型
可否为空
说明
S_ID
VARCHAR(10)
NOTNULL
学生学号
S_NAME
VARCHAR(20)
NOTNULL
学生姓名
TYPE
VARCHAR(20)
学生所在系
TELEPHONE
VARCHAR
(2)
学生电话号码
教师信息表
列名
数据类型
可否为空
说明
T_ID
VARCHAR(10)
NOTNULL
教师职工编号
T_NAME
VARCHAR(20)
NOTNULL
教师姓名
TYPE
VARCHAR(20)
所在系
TELEPHONE
VARCHAR
(2)
手机号
书籍信息表
列名
数据类型
可否为空
说明
BOOK_ID
VARCHAR(10)
NOTNULL
书籍编号
BOOK_NAME
VARCHAR(30)
NOTNULL
书籍名称
BOOK_WRITER
VARCHAR(10)
NOTNULL
作者
BOOK_PUBDATE
DATETIME
出版日期
BOOK_PUB
VARCHAR(30)
出版社
采购员信息表
列名
数据类型
可否为空
说明
WORKER_ID
VARCHAR(10)
NOTNULL
工作人员编号
WORKER_NAME
VARCHAR(20)
NOTNULL
工作人员姓名
TELEPHONE
VARCHAR
(2)
电话号码
发货员信息表
列名
数据类型
可否为空
说明
WORKER_ID
VARCHAR(10)
NOTNULL
工作人员编号
WORKER_NAME
VARCHAR(20)
NOTNULL
工作人员姓名
TELEPHONE
VARCHAR
(2)
电话号码
教材发行人员信息表
列名
数据类型
可否为空
说明
WORKER_ID
VARCHAR(10)
NOTNULL
工作人员编号
WORKER_NAME
VARCHAR(20)
NOTNULL
工作人员姓名
TELEPHONE
VARCHAR
(2)
电话号码
3.2.4用户子模式定义
例:
表4.2用户子模式定义
编号
用户子模式(View)
作用(共性:
提供数据保密和安全保护机制)
V-1
采购信息
便于查询采购员采购了那些书
V-2
订购信息
便于借阅历史信息的查询
V-3
发售信息表
便于查询教材发行人员发了书籍信息给
书籍发货人员
V-4
发货信息表
便于书籍发放人员发了的书籍信息
第4章
物理设计((235~238)
4.1物理设计阶段的目标与任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
4.2阶段结果:
4.2.1存取方法设计
递交信息表:
S_ID,T_ID
订购信息表:
T_ID,BOOK_ID
采购信息表:
WORKER_ID,BOOK_ID
发售信息表:
WORKER_ID,BOOK_ID
发货信息表:
WORKER_ID,BOOK_ID
学生信息表:
S_ID
教师信息表:
T_ID
书籍信息表:
BOOK_ID
采购员信息表:
WORKER_ID
发货员信息表:
WORKER_ID
教材发行人员信息表:
WORKER_ID
4.2.2存储结构的设计
采用hash索引存储方法
4.2.3评价物理结构
因为是采用hash索引存储方法,所以在查找数据时,速度还是比较快的。
但是有时候更新表或者在现有表中插入某个属性之后,改动的范围就会牵涉到很大的范围,比较麻烦。
所以适用范围还是比较窄的,数据存储量还是比较少的。
采用聚簇存取方法,则能大大改善数据库系统。
第5章
数据库实施阶段
5.1建立数据库、数据表、视图、索引
5.1.1建立数据库
CREATEDATABASEbookdatabase
5.1.2建立数据表
CREATETABLE递交信息表
CREATETABLE订购信息表
CREATETABLE采购信息表
CREATETABLE发售信息表
CREATETABLE发货信息表
CREATETABLE学生信息表
CREATETABLE教师信息表
CREATETABLE书籍信息表
CREATETABLE采购员信息表
CREATETABLE发货员信息表
CREATETABLE教材发行人员信息表
5.1.3建立视图
CREATEVIEW订购信息AS
SELECTT_ID,BOOK_ID,BUYBOOK_NUMBER
FROM订购信息表;
CREATEVIEW发售信息AS
SELECTWORKER_ID,TAKEBOOK_NUMBER,BOOK_ID
FROM发售信息表;
CREATEVIEW发货信息AS
SELECTWORKER_ID,SENDBOOK_NUMBER,BOOK_ID
FROM发货信息表;
CREATEVIEW采购信息AS
SELECTWORKER_ID,INBOOK_NUMBER,BOOK_ID
FROM采购信息表;
5.1.4建立索引
ALTERTABLE递交信息表ADDCONSTRAINTDJ_PKPRIMARYKEY(S_ID,T_ID);
ALTERTABLE书籍信息表ADDCONSTRAINTSJ_PKPRIMARYKEY(BOOK_ID);
ALTERTABLE采购员信息表ADDCONSTRAINTCG_PKPRIMARYKEY(WORKER_ID);
ALTERTABLE发货员信息表ADDCONSTRAINTFH_PKPRIMARYKEY(WORKER_ID);
ALTERTABLE订购信息表ADDCONSTRAINTDG_PKPRIMARYKEY(T_ID,BOOK_ID);
ALTERTABLE采购信息表ADDCONSTRAINTCG1_PKPRIMARYKEY(WORKER_ID,BOOK_ID);
ALTERTABLE发售信息表ADDCONSTRAINTFS_PKPRIMARYKEY(WORKER_ID,BOOK_ID);
ALTERTABLE发货信息表ADDCONSTRAINTFH1_PKPRIMARYKEY(WORKER_ID,BOOK_ID);
ALTERTABLE学生信息表ADDCONSTRAINTXS_PKPRIMARYKEY(S_ID);
ALTERTABLE教师信息表ADDCONSTRAINTJS_PKPRIMARYKEY(T_ID);
ALTERTABLE教材发行人员信息表ADDCONSTRAINTJC_PKPRIMARYKEY(WORKER_ID);
ALTERTABLE递交信息表ADDCONSTRAINTFOREIGNKEY(S_ID)REFERENCES学生信息表(S_ID);
ALTERTABLE递交信息表ADDCONSTRAINTDJ_FK2FOREIGNKEY(T_ID)REFERENCES教师信息表(T_ID);
ALTERTABLE订购信息表ADDCONSTRAINTDG_FK1FOREIGNKEY(T_ID)REFERENCES教师信息表(T_ID);
ALTERTABLE订购信息表ADDCONSTRAINTDG_FK2FOREIGNKEY(BOOK_ID)REFERENCES书籍信息表(BOOK_ID);
ALTERTABLE采购信息表ADDCONSTRAINTCG1_FK1FOREIGNKEY(BOOK_ID)REFERENCES书籍信息表(BOOK_ID);
ALTERTABLE采购信息表ADDCONSTRAINTCG1_FK2FOREIGNKEY(WORKER_ID)REFERENCES采购员信息表(WORKER_ID);
ALTERTABLE发售信息表ADDCONSTRAINTFS_FK1FOREIGNKEY(BOOK_ID)REFERENCES书籍信息表(BOOK_ID);
ALTERTABLE发售信息表ADDCONSTRAINTFS_FK2FOREIGNKEY(WORKER_ID)REFERENCES教材发行人员信息表(WORKER_ID);
ALTERTABLE发货信息表ADDCONSTRAINTFH1_FK1FOREIGNKEY(BOOK_ID)REFERENCES书籍信息表(BOOK_ID);
ALTERTABLE发货信息表ADDCONSTRAINTFH1_FK2FOREIGNKEY(WORKER_ID)REFERENCES采购员信息表(WORKER_ID);
5.2数据入库
系统调试和测试
对XX系统进行测试,验证每个功能是否符合要求
第6章
设计心得