书店管理系统 2.docx
- 文档编号:27039555
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:34
- 大小:260.69KB
书店管理系统 2.docx
《书店管理系统 2.docx》由会员分享,可在线阅读,更多相关《书店管理系统 2.docx(34页珍藏版)》请在冰豆网上搜索。
书店管理系统2
河南城建学院
《数据库原理及应用》课程设计报告
课程名称:
《数据库原理及应用》
设计题目:
书店管理系统
指导教师:
薛冰
班级:
0814131
学号:
081413113
学生姓名:
陈斌
成绩:
评语:
计算机科学与工程学院
2015年12月
一、概述
1.1选题的背景与意义
随着计算机技术的发展,人们的日常生活已经离不开计算机。
未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、电子化、虚拟化。
软件系统也随着计算的发展日益和人们的生活贴近。
生活中各种各样的管理系统,操作简单、方便快捷成为商人的一大助手,而书店管理是最普遍,它使每一位顾客不用亲自动手去寻找书籍,而是通过书店内提供的智能查询平台,就能购买到的自己想要的书籍。
为此本人选择《书店管理系统的设计与实现》此题目。
1.2主要功能模块
对书店管理系统的分析,因为图书数量、规模大,管理信息量大,建立书店管理系统是为了解决人工动手管理图书信息在实践的问题。
这里把系统层次划分为六个部分:
会员制管理、供应商管理、进书管理、图书管理、售书退换书管理、会员管理。
书店管理系统能够实现以下功能:
进行新书入库、现有图书信息修改及删除;
实现对、会员及会员制基本信息的查询和编辑管理;
对销售图书信息进行查询及库存的查询;
对供应商基本信息的查询和编辑。
二、系统功能设计
2.1系统总体结构设计图
2.2系统功能模块
2.2.1会员制管理
能够管理会员制的基本信息,为不同的会员分配不同的优惠政策。
2.2.2供应商管理
能够管理书店的供应商的基本信息,可以进行供应商管信息的增加、删除、修改和查询操作。
2.2.3进书管理
能够记录每次进书的数量,若进到新书,则可以先添加书籍信息后进行进书操作。
2.2.4图书管理
能够记录书店全部书籍的基本信息,可以对图书信息进行查询、增加、删除以及修改操作。
2.2.5售书退换管理
能够保存每次售书的记录,可以按照会员售书、促销活动售书和非会员售书对售书记录进行分类保存,可以删除售书记录。
2.2.6会员管理
可以对会员信息进行增加、删除、修改信息以及分配会员等级操作作。
三、数据库的设计过程
数据库的设计是一个设计数据库管理系统的核心技术,因此,在设计一个系统之前设计好数据库。
目前数据库设计分为六个阶段,如图1所示。
需求分析阶段:
主要任务是通过充分调查现实世界要处理的对象,详细了解计算机系统的工作情况,明确用户的各种需求,然后确定系统的各项功能。
数据库系统不仅按照当前的应用要求来设计,而且必须可以充分考虑今后的可能的扩充和改变。
图1
概念结构设计阶段:
主要任务是将需求分析阶段得到的用户需求抽象为概念模型,而描述概念模型的具体工具主要是E-R模型。
逻辑结构设计阶段:
主要任务是把概念结构模型设计阶段的基本E-R模型转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
具体来说,就是首先将概念结构转换为一般的关系、网状、层次模型,然后将转换来的模型向特定DBMS支持下的数据模型转换,最后对数据模型进行优化。
物理结构设计阶段:
主要任务是为一个指定的逻辑数据模型选取一个符合应用要求的物理结构。
具体来说,就是首先确定数据库的物理结构,即数据库的存取方法和存储结构;然后对数据库的物理结构进行评估,评估的重点是存取时间的长短和存储空间的大小。
实施阶段:
主要任务是用RDBMS提供的数据定义语言和其他实用程序讲逻辑结构设计和物理结构设计的结果详细描述出来,成为DBMS可以接受的源代码;在经过系统调试产生目标模式,最后完成数据的载入工作。
运行与维护阶段:
主要任务包括数据库的转储和恢复,数据库完整性和安全性控制,数据库性能改造、分析、和监督,数据库的重构造和重组织。
3.1需求分析阶段
3.1.1需求阶段的目标及任务
需求分析的目标及任务就是为了提取有效的信息,概念模型抽象化,转化为计算机系统能够识别的信息。
通过分析所得的信息如下:
处理对象
管理员信息:
管理员编号,姓名,性别,权限,登录口令,住址,电话;
图书信息:
图书编号,图书名称,作者,出版社,单价,出版日期,副本数,分类,备注;
会员信息:
会员编号,姓名,性别,分类,出生日期,电话,家庭地址,入会日期;
供应商信息:
供应商编号,名称,电话,负责人,地址,备注;
会员制信息:
会员制编号,会员制名称,优惠率,备注;
售书信息:
图书编号,会员编号,定价,出售日期,出售数量,备注。
退书信息:
会员编号,图书编号,退书数量,原因,退换日期。
处理功能及要求
用户对书店管理系统的功能及要求如下:
能够存储一定数量的图书信息,并方便有效地进行相应的书籍数据操作和管理,这主要包括:
图书信息的录入、删除及修改;
图书信息的多关键字检索查询;
图书退换信息的统计及查询。
能够对一定数量的会员、管理员进行相应的信息存储与管理,这包括:
a员工信息的登记、删除及修改;
b管理员信息的登记、删除及修改;
c会员、管理员等信息的统计及查询。
能够对供应商、会员制等进行相应的信息存储与管理,这包括:
供应商、会员制等信息的录入、删除及修改;
b供应商、会员制等信息的统计及查询。
能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
对查询、统计的结果能够列表显示。
3.1.2安全性和完整性要求
安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区分对待不同的操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
完整性要求
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
3.1.3建立数据业务流程及数据字典
系统需求分析主要是通过对市区书店管理员的咨询、请教,了解书店管理规则和运行机制,并通过上网搜索有关书店管理系统的知识,了解书店管理的现状以及在管理中的一些问题,然后通过所了解的文字信息,理解数据业务流程及数据字典,为后期数据库的设计提供概念基础。
书店管理系统业务流程图
书店管理系统数据流程图
数据字典
数据项:
系统涉及的数据项有55项,如下表所示。
数据项编号
数据项名
数据项含义
存储结构
别号
DI-1
AdminID
管理员编号
varchar(9)
账号
DI-2
AdminName
管理员姓名
varchar(30)
姓名
DI-3
AdminSex
管理员性别
varchar(30)
性别
DI-4
AdminBirthday
管理员生日
datetime
出生日期
DI-5
AdminPwd
管理员口令
varchar(6)
密码
DI-6
AdminAdress
管理员住址
varchar(200)
住址
DI-7
AdminPhone
管理员电话
varhcar(11)
电话
DI-8
BookID
图书ID
varchar(4)
条码号
DI-9
BookType
图书类别
varchar(20)
类别
DI-10
BookName
图书名称
varchar(30)
书名
DI-11
BookAuthor
图书作者
varchar(30)
作者
DI-12
BookPress
图书出版社
varchar(30)
出版社
DI-13
BookPrice
图书单价
float
单价
DI-14
BookPublishDate
图书出版日期
datetime
出版日期
DI-15
BookNum
图书副本数
int
副本数
DI-16
BookRemark
图书摘要
varchar(200)
摘要
DI-17
MemberID
会员ID
int
会员编号
DI-18
MembeID
会员制ID
int
会员制编号
DI-19
MemberName
会员名称
varchar(20)
姓名
DI-20
MemberSex
会员性别
char
(2)
性别
DI-21
MemberBirthday
会员出生日期
datetime
生日
DI-22
MemberPhone
会员电话
varchar(11)
电话
DI-23
MemberAddress
会员住址
varchar(200)
住址
DI-24
MemberDate
入会日期
datetime
入会时间
DI-25
SupplyerID
供应商ID
varchar(8)
供应商编号
DI-26
SupplyerName
供应商名称
varchar(16)
名称
DI-27
SupplyerPhone
供应商电话
varchar(11)
电话
DI-28
SupplyerManager
供应商负责人
varchar(16)
负责人
DI-29
SupplyerAddress
供应商地址
varchar(200)
地址
DI-30
SupplyerRemark
简介
varchar(300)
备注
DI-31
BackID
退书ID
int
退书ID
DI-32
BookID
图书ID
varchar(4)
图书条码号
DI-33
BackNum
退书数量
int
数量
DI-34
Chagre
费用
float
损失费用
DI-35
BackReason
退书原因
varchar(300)
原因
DI-36
BookID
图书ID
varchar(4)
图书条码号
DI-37
MemberID
会员ID
Int
会员编号
DI-38
PreferPrice
优惠后价格
Float
优惠价
DI-39
SaleData
出售日期
datetime
出售时间
DI-40
SaleNum
出售数量
Int
数量
DI-41
MemberTypeID
会员制ID
Int
会员制编号
DI-42
MemberTypeName
会员制名称
varchar(20)
等级名称
DI-43
MemberTypePrefer
优惠率
Float
优惠率
DI-44
amount
数量
int
进货数量
DI-45
Price
价格
float
批发价
数据结构,如下表所示。
数据结构编号
数据结构名
数据结构含义
组成
DS-1
Book
图书信息
BookID,TypeName,BookName,BookAuthor,BookPress,BookPrice,BookPublishDate,BookNum,BookRemark
DS-2
Admin
管理员信息
AdminID,AdminName,AdminSex,AdminAuth,AdminPwd,AdminAdress,AdminPhone
DS-3
Member
会员信息
MemberID,MemberName,MemberSex,MemberBirthday,MemberPhone,MemberAddress,MemberDate,MemberTypeID
DS-4
BackBook
退书信息
BackID,BookID,BackNum,BackReason
DS-5
MemberType
会员制度信息
MemberTypeID,MemberTypeName,MemberTypePrefer
DS-6
Buy
购书信息
BookID,MemberID,PreferPrice,BuyData,BuyNum
DS-7
Supplyer
供应商信息
SupplyerID,SupplyerName,SupplyerPhone,SupplyerManager,SupplyerAddress,SupplyerRemark
DS-8
Offer
进货信息
SupplyerID,BookID,amount,price
3.2概念分析阶段
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。
本书店管理系统的主要任务及目标如下:
选择中层数据流为切入点,通常选择实际系统中的子系统;
设计分E-R图,即各子模块的E-R图;
生成初步E-R图,通过合并方法,做到各个系统实体、属性、联系统一;
生成全局E-R图,消除冲突等方面。
上述各E-R图各实体的属性如下所示:
图书:
Book(BookID,TypeName,BookName,BookAuthor,BookPress,BookPrice,BookPublishDate,BookNum,BookRemark)
管理员:
Admin(AdminID,AdminName,AdminSex,AdminAuth,AdminPwd,AdminAdress,AdminPhone)
会员:
Member(MemberID,MemberName,MemberSex,MemberBirthday,MemberPhone,MemberAddress,MemberDate)
供应商:
Supplyer(SupplyerID,SupplyerName,SupplyerPhone,SupplyerManager,SupplyerAddress,SupplyerRemark)
会员类别:
MemberType(MemberTypeID,MemberTypeName,MemberTypePrefer)
各E-R图中联系的属性如下所示:
购买信息:
Buy(MemberID,BookID,PreferPrice,BuyNum,BuyDate)
退换信息:
BackBook(MemberID,BookID,BackNum,BackReason,Chagre)
提供信息:
Offer(SupplyID,BookID,amount,Price)
3.3逻辑结设计阶段
数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
数据库设计的关键问题是如何建立一个数据模型,使其能够正确地反映用户的现实环境,包括向用户及时、准确、全面地提供所需要的信息和支持用户对所有需要处理的数据进行处理,并且还要使其具有易于维护、易于理解和较高的运行效率。
通过对数据库的分析,在数据库设计时应遵循以下原则[5]:
①数据完整性。
既要最大限度地避免数据冗余,又要保证数据完整性,建立数据之间的关联,提高使用时的灵活性。
②数据一致性。
根据系统模块间的关系,在系统中提供数据的添加、删除、更新、使用时,保证系统中数据的一致性。
③灵活性。
数据库设计满足灵活性的要求,创建数据表既立足于当前需求,又力图满足可能的变化需求。
④标准的命名规范。
数据库表表设计采用统一的数据库对象的命名规范,数据表名将采用实体名称方式命名。
⑤满足用户需求为前提。
通过分析系统潜在的用户,将系统的需求细化,设计数据库时充分考虑不同用户的需求和功能需求。
3.3.1数据组织
将E-R图转换为关系模型
实体型转换为关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
一个m:
n联系转换为一个关系模式。
与该联系相连的歌实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的歌各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
具有相同码的关系模式可合并。
具体的基本E-R图向关系模型的转化如下:
会员:
Member(MemberID,MemberName,MemberSex,MemberBirthday,MemberPhone,MemberAddress,MemberDate,MemberTypeID)
图书:
Book(BookID,TypeName,BookName,BookAuthor,BookPress,BookPrice,BookPublishDate,BookNum,BookRemark)
管理员:
Admin(AdminID,AdminName,AdminSex,AdminAuth,AdminPwd,AdminAdress,AdminPhone)
供应商:
Supplyer(SupplyerID,SupplyerName,SupplyerPhone,SupplyerManager,SupplyerAddress,SupplyerRemark)
会员类别:
MemberType(MemberTypeID,MemberTypeName,MemberTypePrefer)
购买信息:
Buy(MemberID,BookID,PreferPrice,BuyNum,BuyDate)
退换信息:
BackBook(MemberID,BookID,BackNum,BackReason,Chagre,BackDate)
提供信息:
Offer(SupplyID,BookID,amount,Price,OfferDate)
(注:
标有直线下划线的为主属性,标有下划线的是外键属性,主键与外键属性一起构成主码)
模型优化
关系模式Book、Member、Admin、Supplyer、MemberType不存在非主属性对主属性的部分依赖,也不存在传递依赖,已经到达了3NF;但购买关系模式和退换关系模式(Buy、BackBook)中存在着一些数据冗余,现将两个模型进行合并,消除冗余,优化为:
表:
BuyBackBook(MemberID,BookID,Num,Dates,,Remark,Chagre,isdeal)
数据库模式定义
根据分析,本数据库共创建7个表,如表1-8所示。
表1店内图书信息表
列名
数据类型
可否为空
说明
BookID
varchar(4)
notnull
条码号
BookType
varchar(20)
类别
BookName
varchar(30)
notnull
书名
BookAuthor
varchar(30)
notnull
作者
BookPress
varchar(30)
notnull
出版社
BookPrice
float
notnull
单价
BookPublishDate
datetime
出版日期
BookNum
int
notnull
副本数
BookRemark
varchar(200)
摘要
表2管理员信息表
列名
数据类型
可否为空
说明
AdminID
varchar(9)
notnull
账号
AdminName
varchar(30)
notnull
姓名
AdminSex
varchar(30)
性别
AdminBirthday
datetime
出生日期
AdminPwd
varchar(6)
notnull
密码
AdminAdress
varchar(200)
住址
AdminPhone
varhcar(11)
电话
表3会员信息表
列名
数据类型
可否为空
说明
MemberID
int
notnull
会员ID
MembeID
int
notnull
会员制ID
MemberName
varchar(20)
notnull
会员名称
MemberSex
char
(2)
会员性别
MemberBirthday
datetime
出生日期
MemberPhone
varchar(11)
会员电话
MemberAddress
varchar(200)
会员住址
MemberDate
datetime
notnull
入会日期
表4供应商信息表
列名
数据类型
可否为空
说明
SupplyerID
varchar(8)
notnull
供应商ID
SupplyerName
varchar(16)
notnull
供应商名称
SupplyerPhone
varchar(11)
notnull
电话
SupplyerManager
varchar(16)
notnull
负责人
SupplyerAddress
varchar(200)
notnull
地址
SupplyerRemark
varchar(300)
简介
表5会员制度表
列名
数据类型
可否为空
说明
MemberTypeID
Int
notnull
会员制ID
MemberTypeName
varchar(20)
notnull
会员制名称
MemberTypePrefer
Float
notnull
优惠率
表6购买退还图书信息表
列名
数据类型
可否为空
说明
MemberID
int
notnull
会员ID
BookID
varchar(4)
notnull
图书ID
Num
int
购书或退书数量
Remark
varchar(300)
退书原因
Chagre
float
费用
Datas
datetime
notnull
日期
isdeal
Char
(1)
notnull
1购书或0退书
表7进货信息表
列名
数据类型
可否为空
说明
SupplyerID
varchar(8)
notnull
供应商ID
BookID
varchar(4)
notnull
图书ID
amount
int
notnull
进货数量
OfferDate
datetime
Notnull
进货日期
Price
float
notnull
批发价
3.3.2数据处理
结合系统的需要,本系统的基本系统功能模块如图所示
3.4物理结构设计
数据库的物理设计就是为了逻辑数据选取一个适
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 书店管理系统 书店 管理 系统