进销存系统分析与数据库设计
空/非空
非空 非空 非空
约束条件
PK(自增)
说明
用户编号 用户名字 用户密码
用户信息表
列名
userID userName password
数据类型(精度范围)
int varchar(10) varchar(20)
空/非空
非空 非空 非空
约束条件
PK(自增)
说明
用户编号 用户名字 用户密码
任务分析
(8)创建PPS进销存数据库,创建超市进销存系统的各 个表。 (9)为超市进销存系统的各个表添加约束。 (10)向表中添加数据。
总结
根据用户的需求进行数据库分析 画出系统的E-R图 分析出各个表结构 创建数据库、数据表,添加约束,最后向表中 插入数据
拓展训练
学生自己创建PPS数据库。 学生根据超市进销存系统中的各个表结构,创 建PPS数据库的其它4个表。 分别为 product 、 inProduct 、 outProduct 、 productStock表添加主键及外键约束。 分别在 product 、 inProduct 、 outProduct 、 productStock 表中添加数据,并要注意多表 间数据的主外键关系,保证数据能顺利填入。
inNote
varchar(255)
空
说明
任务分析
出货信息表
列名 outNo pid 数据类型(精度范围) varchar(255) varchar(50) 空/非空 非空 空 约束条件 PK FK 说明 出货单编号 商品编号
outCount
outPrice outTime
int
float varchar(50) varchar(50)
任务分析
根据客户需求,应该先分析出进销存系统所采用的数据 库及各个表,以及各表之间的关系,并在此基础上,创建 数据库及表,建立约束,最终写出符合规格的数据库说明 书。 (1)梳理超市进销存系统的业务流程,分析出各个表的结 构,画出E-R图。 (2)系统要保存商品的基本信息,即商品编号、条形码、 商品名称、商品单位、商品单价、类别、产地及说明等。
任务分析
(6)画出进销存系统数据逻辑模型图
任务分析统E-R图,分析出系统应该包含的表
表名 product inProduct 功能说明 保存超市商品的基本信息 存放商品的进货信息
outProduct
productStock
存放商品的出货信息
存放超市中商品的库存信息
任务实施-【具体实现】
创建product商品表
(1)使用SSMS工具创建product商品表 (2)使用SQL语句创建product商品表,参考代码如下: create table product ( pid varchar(50) primary key, pcode varchar(255) null, pname varchar(100) null, punit varchar(50) null, pprice float null, pfrom varchar(100) null, pcategory varchar(100) null, pnote varchar(255) null ) go
任务实施-【制定计划】
(1)学生研究进销存系统案例,了解业务流程,分析表结构。 (2)教师和学生一起分析超市进销存系统的业务流程,梳理业务 逻辑。 (3)分组讨论,以组为单位进一步分析系统的业务要求,抽取出 进销存系统的主要业务流程,明确要完成的任务,确定人员分工。 (4)制定具体的实施步骤: 理清超市进销存系统的业务需求。 根据业务需求,画出E-R图。 根据E-R图,确定各个表的具体结构。 抽取出各表的约束。 创建数据库、数据表、添加约束并插入测试数据。 (5)教师点评,学生互评。
空
空 空 空
出货数量
单价 出货时间 接收人
outReceivePeo ple outPeople
outNote
varchar(50)
varchar(50)
空
空
经手人
出货说明
任务分析
库存信息表
列名
userID userName password
数据类型(精度范围)
int varchar(10) varchar(20)
pName
pUnit pPrice pFrom pCategory
pNote
varchar(255)
空
说明
任务分析
进货信息表
列名 inNo pid inCount inPrice inTime inFrom inPeople 数据类型(精度范围) varchar(255) varchar(50) int float varchar(50) varchar(255) varchar(100) 是否为空 非空 空 空 空 空 空 空 约束条件 PK FK 描述 进货编号 商品编号 进货数量 进货单价 进货时间 供货单位 经手人
userInfo
存放用户信息
任务分析
商品信息表
列名 pid pCode 数据类型(精度范围) varchar(50) varchar(255) varchar(100) varchar(50) float varchar(100) varchar(100) 空/非空 非空 空 空 空 空 空 空 约束条件 PK 说明 商品编号 条形码 商品名称 商品单位 商品单价 产地 类别
任务实施-【具体实现】
创建PPS进销存数据库
(1)使用SQL语句创建数据库,参考代码如下: create database PPS go 注意:在创建数据库时,可以给出name、filename、size、 maxsize、filegrowth 5个参数。 (2)在SSMS中创建数据库: 启动SSMS,在确认已注册并连接到服务器上后,在“象资源 管理器”,右击“数据库”节点,选择“新建数据库”命令 在“新建数据库”对话框中输入数据库名称、数据库文件各 个参数。
任务实施-【具体实现】
录入商品信息
(1)使用insert语句向product表中录入商品信息,参 考代码如下: insert into product values('1001','201001251154', '汇源果汁','瓶',9.9,'石家庄','饮料','消费品') Go (2)使用SSMS向product表中添加数据
任务目标
会根据客户需求从中抽象出数据表结构 使用3NF对数据库表进行规范化 会画E-R图 会创建数据库、数据表及约束 会使用INSERT语句向表中添加数据
客户需求
小张是一名超市管理员,在超市管理工作中,经常要核对 具体的商品信息、进货信息、出库信息、库存信息等等,所以 他经常需要不同部门为他提供各种数据,但是在一个大规模的 超市里,经常出现各部门信息沟通不畅,导致各种信息不一致, 这让小张很是头疼,后来,有人告诉小张,可以开发一套超市 进销存管理系统,来保存商品基本信息、库存信息、进货信息 和出库信息等。小张听后眼前一亮,马上找到了相关部门,来 策划实施这件事。小张就他负责的超市管理部分,提出了以下 的需求: (1)能对进货信息进行查询和管理。 (2)能出货信息进行查询和管理。 (3)能对库存信息进行查询和管理。
任务实施-【检查与评估】
检查学生能否根据超市进销存业务需求分析 并设计出表结构。 检查学生能否正确创建PPS数据库、 product、inProduct、outProduct等数据 表。 检查学生能否正确按照超市进销存业务规则 添加约束。 检查学生能否正确添加商品、管理入库、出 库、库存等信息。
任务分析
(3)在处理超市商品的入库与出库操作时,需要如下进货 和出货信息。 进货信息:包含进货编号、商品编号、进货单价、进货数 量、进货时间、经手人、供货单位等信息。 出货信息:包含出货编号、商品编号、出货单价、出货数 量、出货时间、经手人、接收人及说明等信息。 (4)在处理超市的库存信息时,需要保留库存信息,即商 品编号、库存说明等。 (5)超市操作人员需要系统确认后才能登录本系统,因此 需要用户的基本信息,即用户编号、用户名、密码等。