数据库原理与程序设计(数据库程序设计实验报告)
今天自考学长给大家收集整理了数据库原理与程序设计(数据库程序设计实验报告)的相关问题解答,还有免费的自考历年真题及自考复习重点资料下载哦,以下是全国自考教材网为自考生们整理的一些回答,希望对你考试有帮助!
数据库课程设计实例
数据库课程设计
题目:小型超市管理系统
1、项目计划
1.1系统开发目的
大大提高超市的运作效率;
通过全面的信息采集和处理,辅助提高超市的决策水平;
使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。
1.2背景说明
21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
1.3项目确立
针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。
1.4应用范围
本系统适应于各种小型的超市。
1.5定义
商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。
交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。
商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。
促销:在一定时期内,某些商品会按低于原价的促销价格销售。
库存告警提示:当商品的库存数量低于库存报警数量时发出提示。
盘点:计算出库存、销售额、盈利等经营指标。
1.6参考资料
《数据库原理及设计》陶宏才编清华大学出版社
《SQLServer2000实用教程》范立南编清华大学出版社
《SQLServer2000编程员指南》李香敏编北京希望电子出版社
《轻松搞定SQLServer2000程序设计》RebeccaM.Riordan编
《软件工程规范》WattsS.Humphrey编清华大学出版社
《软件工程理论与实践》ShariLawrencePfleeger编清华大学出版社
《软件需求分析》SwapnaKishore编机械工业出版社
《软件工程思想》林锐编
2、逻辑分析与详细分析
2.1系统功能
、零售前台管理系统,本系统必须具有以下功能:
商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:通过扫描条形码或者直接输入商品名称自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。
独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业
(2)、后台管理系统,本系统必须具备以下功能
进货管理:根据销售情况及库存情况,自动制定进货计划,可以避免盲目进货造成商品积压。按计划单有选择性地进行自动入库登记。综合查询打印计划进货与入库记录及金额。
销售管理:商品正常销售、促销与限量、限期及禁止销售控制。综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
库存管理:综合查询库存明细记录。库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。库存自动盘点计算。
人员管理:员工、会员、供货商、厂商等基本信息登记管理。员工操作权限管理。客户销售权限管理。
系统结构
系统总体结构
模块子系统结构
功能描述:商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。
功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。
功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。
功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。
功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。
功能描述:人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。
2.2、流程图
前台管理系统
顶层DFD图
第0层DFD图
第1层DFD图
2.3、户类型与职能
、员工:
通过商品条形码扫描输入商品到购买清单
操作软件计算交易总金额
操作软件输出交易清单
对会员进行会员卡扫描以便打折
、:超市经理
操作软件录入商品,供货商,厂商
操作软件制定进货计划
查询打印计划进货与入库记录
操作软件控制商品销售与否
查询打印销售情况
操作软件生成销售排行榜
查询库存明细记录
根据软件发出的库存告警进行入货
操作软件进行盘点计算
、总经理:
基本信息登记管理
员工操作权限管理
客户销售权限管理
2.4、统开发步骤
确定参与者和相关的用况
为每个用况设计过程
建立顺序图,确定每个脚本中对象的协作
创建类,确定脚本中的对象
设计,编码,测试,集成类
为过程编写系统测试案例
运行测试案例,检验系统
2.5、系统环境需求
系统模式
本系统采用C/S模式作为开发模式
硬件环境
服务器端:
高性能的计算机一台,
普通的双绞线作为连接。
客户端:普通的计算机或者工作站,
普通的双绞线作为连接。
软件环境
服务器端:安装SQLServer2000的服务器版本,
安装windows2000服务器版本,
配置了诺顿等必须的防毒软件。
客户端:安装SQLServer2000的服务器版本,
安装了VB等可视化开发工具软件,
安装windows2000服务器版本。
2.6、系统安全问题
信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。
系统要能重建
系统应该是可审查的
系统应能进行有效控制,抗干扰能力强
系统使用者的使用权限是可识别的
3、基于UML的建模
3.1语义规则
用例模型的基本组成部件是用例、角色(actor)和系统(system)。用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能。角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。系统的边界线以内的区域则抽象表示系统能够实现的所有基本功能。在一个基本功能已经实现的系统中,系统运转的大致过程是:外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。
UML:是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。
用例:
参与者:
3.2、UML模型
3.21、系统UML模型
3.22、子系统UML模型
零售前台管理系统用例视图
后台管理系统用例视图
3.3、系统实现图
4、超市销售系统概念设计文档
、系统ER图
、系统ER图说明
1)商店中的所有用户可以销售多种商品,每种商品可由不同用户销售;
2)每个顾客可以购买多种商品,不同商品可由不同顾客购买;
3)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。
、视图设计
1)交易视图(v_Dealing)——用于查询交易情况的视图;
2)计划进货视图(v_PlanStock)——用于查询进货计划的视图;
3)销售视图(v_Sale)——用于查询销售明细记录的视图;
4)入库视图(v_Stock)——用于查询入库情况的视图。
5、逻辑设计文档
、系统关系模型
a)商品信息表
b)用户表
c)会员表
d)销售表
e)交易表
f)进货入库表
g)供货商表
h)厂商表
、系统数据库表结构
数据库表索引
表名中文名
MerchInfo商品信息表
User用户表
Menber会员表
Sale销售表
Dealing交易表
Stock进货入库表
Provide供货商表
Factory厂商表
商品信息表(MerchInfo)
字段名字段类型长度主/外键字段值约束对应中文名
MerchIDint4PNotnull商品编号
MerchNameVarchar50Notnull商品名称
MerchPriceMoney4Notnull价格
MerchNumInt4Notnull库存数量
CautionNumInt4Notnull库存报警数量
PlanNumInt4null计划进货数
BarCodeVarchar50Notnull条形码
SalesProPriceMoney4促销价格
SalesProDateSDatetime8促销起日期
SalesProDateEDatetime8促销止日期
AllowAbateInt4Notnull允许打折
AllowSaleInt4Notnull允许销售
FactoryIDVarchar10FNotnull厂商编号
ProvideIDVarchar10FNotnull供货商编号
用户表(User)
字段名字段类型长度主/外键字段值约束对应中文名
UserIDvarchar10PNotnull用户编号
UserNameVarchar25Notnull用户名称
UserPWVarchar50Notnull用户密码
UserStyleInt4Notnull用户类型
会员表(Menber)
字段名字段类型长度主/外键字段值约束对应中文名
MemberIDVarchar10PNotnull会员编号
MemberCardVarchar20Notnull会员卡号
TotalCostMoney4Notnull累积消费金额
RegDateDatetime8Notnull注册日期
销售表(Sale)
字段名字段类型长度主/外键字段值约束对应中文名
SaleIDVarchar10PNotnull销售编号
MerChIDVarchar10FNotnull商品编号
SaleDateDatetime8Notnull销售日期
SaleNumInt4Notnull销售数量
SalePriceMoney4Notnull销售单额
交易表(Dealing)
字段名字段类型长度主/外键字段值约束对应中文名
DealingIDVarchar10PNotnull交易编号
DealingPriceMoney4Notnull交易金额
DealingDateMoney4Notnull交易日期
MemberIDVarchar10会员卡号
UserNameVarchar10FNotnull用户名称
入库纪录表(Stock)
字段名字段类型长度主/外键字段值约束对应中文名
StockIDVarchar10PNotnull入库编号
MerchIDVarchar10FNotnull入库商品编号
MerchNumInt4Notnull入库数量
MerchPriceMoney4Notnull单额
TotalPriceMoney4Notnull总额
StockDateDatetime8Datetime入库日期
PlanDateDatetime8Datetime计划进货日期
StockStateInt4Notnull入库状态
供货商表(Provide)
字段名字段类型长度主/外键字段值约束对应中文名
ProvideIDvarchar10PNotnull供货商编号
ProvideNameVarchar50Notnull供货商名称
ProvideAddressVarchar250供货商地址
ProvidePhoneVarchar25供货商电话
厂商表(Provide)
字段名字段类型长度主/外键字段值约束对应中文名
FactoryIDvarchar10PNotnull厂商编号
FactoryNameVarchar50Notnull厂商名称
FactoryAddressVarchar250厂商地址
FactoryPhoneVarchar25厂商电话
6、物理设计文档
/*———-创建数据库———-*/
createdatabaseSuperMarketdb
onprimary
name=SuperMarketdb,
filename=’C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\SuperMarketdb.mdf’,
size=100MB,
maxsize=200MB,
filegrowth=20MB
logon
name=SuperMarketlog,
filename=’C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\SuperMarketdb.ldf’,
size=60MB,
maxsize=200MB,
filegrowth=20MB
/*———-创建基本表———-*/
use[SuperMarketdb]
/*创建交易表*/
CREATETABLEDealing(
DealingIDintidentity(1,1)Primarykey,
DealingDatedatetimeNOTNULL,
DealingPricemoneyNOTNULL,
UserNamevarchar(25)NULL,
MemberCardvarchar(20)NULL
/*创建厂商表*/
CREATETABLEFactory(
FactoryIDvarchar(10)Primarykey,
FactoryNamevarchar(50)NOTNULL,
FactoryAddressvarchar(250)NULL,
FactoryPhonevarchar(50)NULL
/*创建会员表*/
CREATETABLEMember(
MemberIDvarchar(10)Primarykey,
MemberCardvarchar(20)NOTNULL,
TotalCostmoneyNOTNULL,
RegDatedatetimeNOTNULL
/*创建商品信息表*/
CREATETABLEMerchInfo(
MerchIDintidentity(1,1)Primarykey,
MerchNamevarchar(50)UniqueNOTNULL,
MerchPricemoneyNOTNULL,
MerchNumintNOTNULL,
CautionNumintNOTNULL,
PlanNumintNOTNULL,
BarCodevarchar(20)UniqueNOTNULL,
SalesProPricemoneyNULL,
SalesProDateSdatetimeNULL,
SalesProDateEdatetimeNULL,
AllowAbateintNOTNULL,
AllowSaleintNOTNULL,
FactoryIDintNOTNULL,
ProvideIDintNOTNULL
/*创建供应商表*/
CREATETABLEProvide(
ProvideIDvarchar(10)Primarykey,
ProvideNamevarchar(50)NOTNULL,
ProvideAddressvarchar(250)NULL,
ProvidePhonevarchar(25)NULL
/*创建销售表*/
CREATETABLESale(
SaleIDintidentity(1,1)Primarykey,
MerChIDintNOTNULL,
SaleDatedatetimeNOTNULL,
SaleNumintNOTNULL,
SalePricemoneyNOTNULL
/*创建入库表*/
CREATETABLEStock(
StockIDintidentity(1,1)Primarykey,
MerchIDintNOTNULL,
MerchNumintNOTNULL,
MerchPricemoneyNULL,
TotalPricemoneyNULL,
PlanDatedatetimeNULL,
StockDatedatetimeNULL,
StockStateintNOTNULL
/*创建用户表*/
CREATETABLEUser(
UserIDvarchar(10)Primarykey,
UserNamevarchar(25)NOTNULL,
UserPWvarchar(50)NOTNULL,
UserStyleintNOTNULL,
/*———-创建表间约束———-*/
/*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/
ALTERTABLEMerchInfoADD
CONSTRAINT[FK_MerchInfo_Factory]FOREIGNKEY
[FactoryID]
)REFERENCESFactory(
[FactoryID]
CONSTRAINT[FK_MerchInfo_Provide]FOREIGNKEY
[ProvideID]
)REFERENCESProvide(
[ProvideID]
/*销售表中商品编号与商品信息表之间的外键约束*/
ALTERTABLESaleADD
CONSTRAINT[FK_Sale_MerchInfo]FOREIGNKEY
[MerChID]
)REFERENCESMerchInfo(
[MerchID]
)ONDELETECASCADE
/*入库表中商品编号与商品信息表之间的外键约束*/
ALTERTABLEStockADD
CONSTRAINT[FK_Stock_MerchInfo]FOREIGNKEY
[MerchID]
)REFERENCESMerchInfo(
[MerchID]
)ONDELETECASCADE
/*———-创建索引———-*/
/*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/
CREATEnonclusteredINDEXIX_DealingONDealing(DealingID,DealingDate)
/*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/
CREATEnonclusteredINDEXIX_MerchInfoONMerchInfo(MerchID)
/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/
CREATEnonclusteredINDEXIX_SaleONSale(SaleID,SaleDate)
/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/
CREATEnonclusteredINDEXIX_StockONStock(StockID,StockDate,MerchID)
/*———-创建视图———-*/
/*创建用于查询交易情况的视图*/
CREATEVIEWv_Dealing
SELECTDealingDateas交易日期,
UserNameas员工名称,
MemberCardas会员卡号,
DealingPriceas交易金额
FROMDealing
/*创建用于查询进货计划的视图*/
CREATEVIEWv_PlanStock
SELECTStock.StockIDasSID,
MerchInfo.MerchNameas商品名称,
MerchInfo.BarCodeas条形码,
Factory.FactoryNameas厂商,
Provide.ProvideNameas供货商,
Stock.MerchNumas计划进货数量,
Stock.PlanDateas计划进货日期
FROMStock,MerchInfo,Provide,Factory
WhereStock.MerchID=MerchInfo.MerchID
andProvide.ProvideID=MerchInfo.ProvideID
andFactory.FactoryID=MerchInfo.FactoryID
andStock.StockState=0
/*创建用于查询销售明细记录的视图*/
CREATEVIEWv_Sale
SELECTMerchInfo.MerchNameas商品名称,
MerchInfo.BarCodeas条形码,
MerchInfo.MerchPriceas商品价格,
Sale.SalePriceas销售价格,
Sale.SaleNumas销售数量,
Sale.SaleDateas销售日期
FROMSaleINNERJOIN
MerchInfoONSale.MerChID=MerchInfo.MerchID
/*创建用于查询入库情况的视图*/
CREATEVIEWv_Stock
SELECTMerchInfo.MerchNameas商品名称,
MerchInfo.BarCodeas条形码,
Factory.FactoryNameas厂商,
Provide.ProvideNameas供货商,
Stock.MerchPriceas入库价格,
Stock.MerchNumas入库数量,
Stock.TotalPriceas入库总额,
Stock.StockDateas入库日期
FROMStock,MerchInfo,Provide,Factory
WhereStock.MerchID=MerchInfo.MerchID
andProvide.ProvideID=MerchInfo.ProvideID
andFactory.FactoryID=MerchInfo.FactoryID
andStock.StockState=1
和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力,提供有效的技术保障。
由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:
本系统只适合小型超市使用,不能适合中大型超市使用;
超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;
对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。
图什么的都没有吗?
数据库原理与应用的课程设计
这个问题你在百度是找不到答案的。数据库的课程设计,要编写程序,至少要好几天才能完成。还是自己动手吧。这上面的答案都是吃不准的你有急的时间还不如自己去查阅书籍等详细资料自己的问题自己解决呢
以上就是今天分享关于数据库原理与程序设计(数据库程序设计实验报告)的全部内容,更多自考历年真题及答案,自考视频网课,自考重点复习资料,可以咨询在线客服或者点这里{自考资料网}!
有需要自考PDF电子版教材的,可以点我查看{自考电子版教材目录}