课程设计说明书
数据库技术及实训
题目: 数据库系统概论 院 系: 计算机科学与工程学院 专业班级: 计算机科学与技术专业 学 号: xxxxxxxxxx 学生姓名: X X 指导教师: x x x
2010 年 11 月 22 日
()
安徽理工大学课程设计(论文)任务书
计算机科学与工程 院系 网络 教研室 学 号 xxxxxxxxxx 学生姓名 xx 专业(班级) 计算机科学与技术xx级x班 设计题目 连锁超市管理系统 设 计 技 术 参 数 以windows7旗舰版 为开发平台 开发语言选择VB等 后台数据库:SQL server 2008 应用程序与数据库的连接方式可以采用ODBC、ADO等。 设 计 要 求 (1)每个连锁店有一名经理、多名员工。 (2)商品有不同的分类,例如食品、家庭日用品等。 (3)每个供应商可以供应多种商品,每种商品可以由不同的供应商供应。采购员向不同的供应商采购同一种商品,可能会得到不同的商品单价。在采购订单上希望能够看到采购总金额,以及采购详单。 (4)系统记录顾客购买信息,即商品销售信息。如果顾客出示会员卡,可以根据会员级别打折。 工 作 量 完成的图纸数量大约在20页以上。 工 作 计 划 三周内完成上述设计要求,提交课程设计说明书 《数据库系统概论》教材 《Visual Basic程序设计》 《Visual Basic编程基础与应用》 参 考 资 料 指导教师签字 教研室主任签字 年 月 日
I
安徽理工大学课程设计(论文)成绩评定表
指导教师评语: 成绩: 指导教师: 年 月 日 II
摘要
本次课程设计为“连锁超市管理系统”,其中有以下要求: (1)每个连锁店有一名经理、多名员工。
(2)商品有不同的分类,例如食品、家庭日用品等。
(3)每个供应商可以供应多种商品,每种商品可以由不同的供应商供应。采购员向不同的供应商采购同一种商品,可能会得到不同的商品单价。在采购订单上希望能够看到采购总金额,以及采购详单。
(4)系统记录顾客购买信息,即商品销售信息。如果顾客出示会员卡,可以根据会员级别打折。 分析:
本次实习的题目是连锁超市管理系统,主要的目的是如何处理超市中采购销售行为。根据系统所需功能,决定以windows7为开发平台,采用选择功能强大的Microsoft SQL Server2008为开发工具,利用软件工程思想和方法,开发该系统的所需要的功能。本系统由商品信息管理模块,员工信息管理模块,供应商信息管理模块等的组成,对超市中的各种信息进行分类管理,统筹规划。功能较为全面。 关键字:
超市、采购销售管理、数据库、Microsoft SQL Server 2008
III
目录
1系统分析 ............................................................................................................ 1
1.1 总体关系 .......................................................................................................................................... 1
2系统设计 ............................................................................................................ 2
2.1功能模块 ........................................................................................................................................... 2 2.2概念设计 ........................................................................................................................................... 2 2.3数据字典 ........................................................................................................................................... 4
3系统实现 ............................................................................................................ 8
3.1 数据库代码 ...................................................................................................................................... 8 3.2 索引、触发器及存储过程 ............................................................................................................ 11
4总结 .................................................................................................................. 13
4.1 设计体会 ........................................................................................................................................ 13 4.2 系统改进 ........................................................................................................................................ 13
参考文献 ............................................................................................................. 14
IV
安徽理工大学课程设计(论文)
1系统分析
1.1 总体关系
根据该连锁超市的具体情况,调查管理业务流程是顺着系统信息流动的过程逐步地进行,内容包括各环节的业务处理、信息来源、处理方法、计算方法、信息流经去向、信息提供的时间和形态(报告、单据等)。本系统的最大特色,数据挖掘在销售流程中清晰可见。我们可以通过对数据库中用户购买信息的关联分析。进行数据挖掘。这是数据挖掘技术在连锁超市最有价值的体现之一。
1.2系统需要的数据及关系;
系统主要分为:连锁店信息、员工信息、顾客信息、商品信息、销售信息、供应商信息。
(1)每个连锁店有一名经理、多名员工。员工与经理是一对多的关系,经理可以看到员工的信息,而员工只能看到自己的。
(2)商品有不同的分类,例如食品、家庭日用品等是有一对多的关系,联系是包含。
(3)每个供应商可以供应多种商品,每种商品可以由不同的供应商供应。采购员向不同的供应商采购同一种商品,可能会得到不同的商品单价。在采购订单上希望能够看到采购总金额,以及采购详单。
(4)系统记录顾客购买信息,即商品销售信息。如果顾客出示会员卡,可以根据会员级别打折。 1.3系统分为三个模块:
(1) 收银员管理系统:主要负责超市收银员的管理,使得通过收银员管理系统可以找到经理信息,超市信息,小票信息。 (2) 商品管理系统:主要负责商品的管理,如:商品编号,进货商号,类别,商品名
称,单价,库存量等的管理,通过商品管理系统可以找到商品的具体信息。进行管理销售管理系统:主要负责对商品的销售进行管理,包括库存量,会员管理,小票管理,使收银员管理系统和商品管理系统联系在一起。形成一体。
-1-
安徽理工大学课程设计(论文)
2系统设计
2.1功能模块
连锁超市系统
收银员管理系统商品管理系统销售管理系统 2.2概念设计
(1)超市E-R图:
经理名 超市编号 (2)收银员E-R图: 收银员编号 地址 超市 姓名 性别 超市编号 收银员 -2-
安徽理工大学课程设计(论文)
(3)商品E-R图:
商品编号 类别 进货商号 商品 商品名称 商品单价 库存量 单价 (4)销售E-R图:
商品名称 小票编号 销售 会员号 收银员号 总价 (5)综合E-R图
超市 雇佣 收银员 m 1 销售 服务 n n客户 购买 m n 商品
图2-1 超市管理ER图
-3-
安徽理工大学课程设计(论文)
2.3数据字典
数据字典的作为分析阶段的工具,能够在软件分析和设计的过程中给人提供关于数据的描述信息。在数据流图上描述了系统由哪几部分组成,各部分之间的联系等。在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信,因此将消除许多可能的误解。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典的数据流图就不严格,没有数据流图数据字典也难以发挥作用。两者一起构成了系统的规格说明。数据字典中包含的每个数据元素的控制信息都是很有价值的,数据字典是开发数据库的第一步,也是很有价值的一步。 数据字典包括:数据项、数据结构、数据流、数据存储、处理逻辑。
超市表(超市编号,经理名,地址,电话),主键为超市编号,符合三范式。
收银员表(员工编号,姓名,职务,,薪水,超市编号,员工电话,员工地址),主键为员工编号,符合三范式。
供应商表(供应商编号,供应商姓名,供应商电话,物品名称,单价),主键是供应商编号,符合三范式 。
总量表(货品编号,管理员编号,货物总量),符合三范式 。 货品表(货品编号,货品名称,货品单价),符合三范式
采购表(账单编号,订货日期,员工编号,供应商编号,货品编号,采购数量,总价格,主键是账单编号,符合三范式
顾客表(顾客编号,顾客姓名,顾客电话,折价),主键是顾客编号),符合三范式 销售表(小票编号,商品名称,总价,会员号,收银员号)主键为小票编号号,符 合三范式。
表(编号,会员编号,货品编号,数量,时间,总量),符合三范式 表3-1 超市表SHOP
列名 lnum ltele 含义 超市编号 电话 长度 10 20 类型 Char() Char() NULL No No DEFAULT No No -4-
安徽理工大学课程设计(论文)
Adress Lname 地址 超市名称 20 10 Char() Char() No No No No 表3-2 收银员表employee
列名 enum Ename Esalay Lnum Etele Eadress 含义 员工编号 姓名 薪水 超市编号 员工电话 员工地址 长度 10 6 4 10 20 20 类型 Char() Char() Int INT Char() Char() NULL no no no no No no DEFAULT no no no no no no 表3-3供应商表suppler
列名 snum sname stele gnum sprice 含义 供应商编号 供应商姓名 供应商电话 物品名称 单价 长度 10 10 20 10 8 类型 Char() Char() Char() Char() Float() NULL no no no no no DEFAULT no no no no no 表3-4总量表Amount
列名 gnum Mount 含义 商品编号 货物总量 长度 20 4 类型 Char() int NULL no No DEFAULT no no -5-
安徽理工大学课程设计(论文)
Lnum 表3-5货品表 goods
列名 gnum Gname Gprice 含义 商品编号 商品名称 单价 长度 10 10 8 类型 Char() Char() Float NULL no no no DEFAULT no no no 商品名称 8 Char() no no 表3-6采购表purchase
列名 pnum date enum Snum Gnum Pamount Summ 表3-7顾客表custome
列名 Cnum Cname Ctele Bargin 含义 顾客编号 顾客姓名 顾客电话 折价 长度 10 10 20 8 类型 Char() Char() Char() float NULL no no no no DEFAULT no no no no 含义 账单编号 订货日期 员工编号 供应商编号 货品编号 采购数量 总价格 长度 10 10 10 10 4 4 类型 Char() datetime char() Char() Char() int float NULL no no no no no no no DEFAULT no no no no no no no -6-
安徽理工大学课程设计(论文)
表3-8表message
列名 mnum Cnum gnum Mamount Mtime Msumm 含义 编号 会员编号 货品编号 数量 时间 总量 长度 10 10 10 4 8 类型 Char() Char() Float int datetime float NULL no no no no no no DEFAULT no no no no no no
-7-
安徽理工大学课程设计(论文)
3系统实现
3.1 数据库代码
Create database market;/*建立market数据库*/
/*建立supermarket超市表(超市编号,经理名,地址,电话),主键为超市编号,*/ Create table supermarket ( lnum char(10) primary key, Adress char(20), Ltele char(20), Lname char(10) )
/*建立employee员工表(员工编号,姓名,职务,薪水,超市编号,y员工电话,员工地址),主键为收银员编号号*/ Create table employer (enum char(10) primary key, Ename char(10),
Profession char(10) check(profession in('采购员','收银员','管理员','保安','经理')), Esalay int , Lnum char(10), Etele char(20), Eadress char(20),
Foreign key(lnum) references supermarket(lnum) )
/*建立suppler供应商表(供应商编号,供应商姓名,供应商电话,物品名称,单价),主键是供应商编号*/
-8-
安徽理工大学课程设计(论文)
Create table suppler (snum char(10), sname char(10), stele char(20), gnum char(10), sprice float, Primary key(snum) )
/*建立Amount总量表(货品编号,管理员编号,货物总量)*/ Create table Amount (gnum char(10), Lnum char(10), Mount int ,
Foreign key(gnum) references goods(gnum), Foreign key(lnum) references supermarket(lnum) )
/*建立goods货品表(货品编号,货品名称,货品单价)*/ Create table goods
(gnum char(10) Primary key, Gname char (10), Gprice float ,
Type char(10) check(type in('家用品','食品')), )
/*建立purchase采购表(账单编号,订货日期,员工编号,供应商编号,货品编号,采购数量,总价格)主键是账单编号*/
-9-
安徽理工大学课程设计(论文)
Create table purchase (pnum char(10) primary key, date datetime, enum char(10), Snum char(10), Gnum char(10), Pamount int, Summ float,
Foreign key(enum) references employer(enum), Foreign key(gnum) references goods(gnum), Foreign key(snum) references suppler(snum) )
/*建立customer顾客表(顾客编号,顾客姓名,顾客电话,折价),主键是顾客编号*/ Create table customer
(Type int check(type in(0,1)), Cnum char(10) primary key , Cname char(10), Ctele char(20), Bargin float )
/*建立message表(编号,会员编号,货品编号,数量,时间,总量)*/ Create table message (mnum char(10), Cnum char(10), gnum char(10),
-10-
安徽理工大学课程设计(论文)
Mamount int , Mtime datetime, Msumm float,
Foreign key(gnum) references goods(gnum), Foreign key(Cnum) references customer(Cnum) )
3.2 索引、触发器及存储过程
1、索引
(1)商品货品表货品编号索引
Create unique index ggoods on goods(gnum ); (2)表编号索引
Create unique index mmessage on message(mnum); (3) 员工表中员工编号索引
Create unique index eemployer on employer(enum); 2、触发器
定义一个触发器,当商品库存表中,供货商为空时,自动改为“本店制作”。 CREATE TRIGGER UDLIST
BEFORE UPDATE OR TNSERT ON RESERVR FOR EACH ROW AS BEGIN
IF PROFESSINAL IS NULL THEN PROFESSINAL:=’本店制作’; END IF; END;
-11-
安徽理工大学课程设计(论文)
3、存储过程
利用存储过程来实现,当某商品卖出时,它的商品库存量相应的减少. CREATE PROCEDURE SELL ( BCNO CHAR, QLIST INT) AS DECLARE BEGIN
SELECT TIST FROM RESERVE
WHERE BCNO =RESERVE.CNO; IF LIST IS NULL THEN ROLLBACK; RETURN; END IF;
IF LIST -12- 安徽理工大学课程设计(论文) 4总结 4.1 设计体会 凡事均是由平常所做而积累而来的,本次课程设计,让我深刻体会到平常知识的重要性,在可曾设计过程中,经常会遇到一些貌似知道的内容,多次面对SQL系统返回的错误提示后,翻开书本才知道,仅仅是一个括号或者一个逗号的问题…… 从总体上来说,本次课程设计是建立在实地考察,理论分析,同学讨论,资料搜集等等过程的基础上得来的,虽作品成果不是完全由本人完成,但大部分内容均是自己综合改进得来的,具有比原创者更合理的运行方式,这是我自豪的地方。 4.2 系统改进 本处写正文(小四号字,宋体)本系统由SQL server2008编写的数据源,使用VB来处理访问界面的,界面简单,数据运行流畅。虽然如此,本系统依然存在不少问题。比如实际商店中,退货、大批量购买时折价、过季物品减价销售等等实际问题的处理机制均未包含,是需要改进的地方;另外,错误处理机制等等也未纳入其中…… -13-
因篇幅问题不能全部显示,请点此查看更多更全内容