超市收银系统实习报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业实习报告

1、课程设计目的:

●熟悉大型数据库管理系统的结构与组成;

●熟悉数据库应用系统的设计方法和开发过程;

●掌握一种大型数据库管理系统(DM5、ORACLE或SQL SERVER)的应用技术和开发工具

的使用;

●熟悉数据库设计工具的使用;

●熟悉数据库安全的相关知识和技术;

●熟悉数据库系统的管理和维护。

2、毕业实习设计要求:

●在课程设计指导老师的指导下,选定一个数据库应用系统的题目,完成数据库的设计和

应用系统设计,并提交相应文档。

●数据库管理系统仅限DM5、Oracle以及MS SQL Server;

●开发工具限PowerBuilder、Delphi、C++、JAVA、.NET平台或其它动态网页开发工具;

●系统采用客户/服务器(C/S)结构或浏览器/服务器(B/S)结构实现。

●系统应严格遵照题目要求进行设计,可在其基础上进一步细化完善,但不得违背,原则

上不额外增加与要求无关的功能。

●系统中应适当体现下列技术的应用:存储过程,触发器,索引。

●提交系统的源码及文档。

一、设计的应用背景

本系统是一个超市收银系统。顾名思义,本系统用来管理和更新超市日常交易数据,如收银员的管理,收银员的工作记录,日常交易记录,顾客信息管理,商品信息管理,等等,所有的数据存储在达梦数据库的system库中。

本系统实现的主要功能为:

1、收银:收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等信息,系统根据这些信息获取相应的价格信息并计算应收取的总金额。完成收银后,记录交易信息,修改有关种类商品的剩余量以及该持卡顾客的消费情况。

2、发卡:顾客可交纳一定的费用(如50元)办理一张会员卡,以后在该商场购物可凭卡享受9折优惠。如果一个未持卡顾客一次购物满1000元,可为其免费发放一张会员卡,每张卡的优惠期为一年,一年内消费达到一定金额的可继续享受下一年的优惠。

3、款项盘存:收银员下班或交接班前对本收银台中本班次收取的款额进行盘存,明确责任。

4、商品信息的录入、修改、删除和查询等。

5、收银员身份及口令管理。

二、数据库设计过程

1、需求分析

(1)、信息要求

●顾客信息:顾客编号(会员卡号)、顾客姓名、顾客性别、注册时间、是否到期、消费

金额。

●收银员信息:收银员编号、收银员姓名、收银员性别、登录名,密码。

●商品信息:商品编号、商品名称、单价、现有库存。

●收银信息:收银员编号、收银金额、登录时间,注销时间。

●交易信息:顾客编号,商品编号,交易时间,交易数量。

(2)、处理要求

A、处理方式:联机处理。

B、处理时间要求:< 2S。

C、处理功能:

(I)、添加新信息,修改现存信息,删除无用信息,查询信息。

(II)、计算一次交易的金额,如果是会员,就可以享受9折优惠,如果非会员消费金额超过1000元,免费为其发放一张为期一年的会员卡。

(III)、只有收银员以正确的用户名和密码才能登录本系统。

(3)、安全性和完整性要求

A、安全性要求:只有收银员以正确的用户名和密码才能登录本系统,进行相应操作。后台服务

器(达梦数据库)会生成相应的日志文件。

B、完整性要求:

(I)实体完整性:如上信息要求一栏所示,黄色背景的为primary key。

(II)参照完整性:收银信息和交易信息中的收银员编号,顾客编号和商品编号均为前面的参照。(III)用户定义完整性:如性别只能为‘男’或‘女’,姓名不能为空,登录名必须唯一,密码必须六位以上,等等。

2、概念设计

根据需求分析得到的信息抽象为E-R模型如下:

3、逻辑设计

根据以上分析,得到本系统的基本关系模式为:

●顾客(顾客编号、顾客姓名、顾客性别、注册时间、是否到期、消费金额)。

create table Customer

(Cno char(9) primary key,

Cname char(20),

Csex char(2) check(Csex in('男','女')),

Creg date,

Cactive char(2) check(Cactive in('是','否')),

Cconsumption decimal(8,2)

);

●收银员(收银员编号、收银员姓名、收银员性别、登录名,密码)。

create table Cashier

(Cno char(9) primary key,

Cname char(20) not null,

Csex char(2) check(Csex in('男','女')),

Clogname char(20) unique,

Clogpass char(20)check(Clogpass like '______%')

);

●商品(商品编号、商品名称、单价、现有库存)。

create table Goods

(Gno char(9) primary key,

Gname char(20) not null,

Gprice decimal(5,2),

Gstorage smallint

);

●收银(收银员编号、收银金额、登录时间,注销时间)。

create table Cashinfo

(Cno char(9) not null,

Crecv decimal(7,2),

CtimeOn timestamp(0),

CtimeOff timestamp(0),

foreign key(Cno) references Cashier(Cno)

);

●交易(顾客编号,商品编号,交易时间,交易数量)。

create table Tradeinfo

(Cno char(9),

Gno char(9),

Tquantity smallint,

Ttime timestamp(0),

-- primary key( Cno, Gno),

foreign key(Cno) references Customer(Cno),

foreign key(Gno) references Goods(Gno)

);

为了编程的方便,另外建立了几个视图如下:

●查询收银信息(收银员编号、收银员姓名、收银金额、登录时间,注销时间)

●查询交易信息(顾客编号,顾客姓名,商品编号,商品名称,交易时间,交易数量)

相关文档
最新文档