数据库教材订购系统.docx

上传人:b****9 文档编号:25305919 上传时间:2023-06-07 格式:DOCX 页数:24 大小:80.66KB
下载 相关 举报
数据库教材订购系统.docx_第1页
第1页 / 共24页
数据库教材订购系统.docx_第2页
第2页 / 共24页
数据库教材订购系统.docx_第3页
第3页 / 共24页
数据库教材订购系统.docx_第4页
第4页 / 共24页
数据库教材订购系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

数据库教材订购系统.docx

《数据库教材订购系统.docx》由会员分享,可在线阅读,更多相关《数据库教材订购系统.docx(24页珍藏版)》请在冰豆网上搜索。

数据库教材订购系统.docx

数据库教材订购系统

 

《数据库原理》课程设计报告

 

题目:

姓名:

学号:

专业班级:

指导老师:

年月日

 

摘要

/*(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章

设计心得

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1