大型数据库课程设计

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

华东交大理工学院
课程设计报告书
所属课程名称数据库系统原理课程设计题目超市管理系统数据库设计
与实现
院(系)电信分院
班级09本科电子商务(2)班学号
学生姓名
指导教师
辅导教师
2012年1月2日
华东交大理工学院
课程设计安排计划
班级:课程:
通过课程设计,要求掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具、数据库管理系统软件及应用开发工具,规范、科学的完成一个小型数据库的设计并进行数据库应用系统的开发。

具体内容与要求如下:
1.根据所选课题,设计并构建一个数据库(用MS SQL SERVER 2005实现);基于上述数据库设计实现一个数据库应用系统(系统开发工具不限)
2.数据库的设计与构建方面(课程设计重点)
(1)数据库来源于对现实世界的抽象和概括,要求设计科学、规范、合理符合实际情况与需求购
(2)数据表的设计要求:每个关系至少要满足3NF,既要有较低的冗余度,又具有较高的访问效率,每个系统最少应有5个以上的表,并根据实现需要定义索引。

(3)数据库设计的安全性要求:配置MS SQL Server2005,根据实际需要定义合理的用户权限及用户视图。

(4)数据库设计的完整性要求:根据实际需要定义合理的完整性约束(实体完整性、参照完整性以及用户自定义完整性等)(5)根据实际情况定义合理的存储过程和触发器;
3、应用系统的设计与实现面
(1)要求实现所选课题的基本功能,界面美观、大方、实用。

(2)课题基本功能应符合实际系统的需求,一定要先做需求分析,再编写代码。

(3)应用系统开发工具不限,可以根据自己的实际情况选择一种。

4、课程设计报告方面
(1)课设报告杜绝抄袭和下载。

(2)课程设计报告内容包括:
a.前言:主要对自己的课程设计进行简要介绍说明,在对所选题目进行调研的基础上,明确该选题要做什么。

b.需求分析:采用自顶向下的方法,对数据库及应用系统进行分析,列出系统功能模块,并画出系统的功能模块图,写出数据字典,并画出数据流图。

c.概要设计:根据需求分析画出E-R图(E-R图必需规范合理)
d.逻辑设计:把E-R图转换成关系模式,并进行规范化,最
终得到SQL Server所支持的数据表,然后合理定义用户视图和相关存储过程。

e.详细设计与实现:要求分模块列出各模块的设计思路并用开发工具编写代码实现上述功能。

f.总结:对设计结果进行合理性、规范程度和系统实际运行的结果进行评价和总结。

按照关系数据库设计原理和方法进行数据库设计,按照结构化程序设计方法或面向对象的程序设计方法进行数据库应用程序设计。

具体应包括:需求分析,概念设计,详细设计,编码与实现,运行维护等步骤,最后写出完整并合理的课程设计报告。

学生签名:
2012年1月2日
课程设计(论文)评阅意见
序号项目
等级
优秀良好中等及格不及格
1课程设计态度评价
2出勤情况评价
3任务难度评价
4工作量饱满评价
5设计中创新性评价
6论文书写规范化评价
综合评定等级
评阅人
2012年月日
目录
第1章前言 (7)
第2章需求分析 (8)
第3章概要设计 (12)
第4章逻辑设计 (15)
第5章详细设计与实现 (17)
第6章数据库测试 (21)
第7章总结 (28)
第8章参考文献 (29)
第一章前言
目前,无论是超市还是公司企业对于货物都实行了信息化管理,以提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的错误。

于是,进销存储管理信息系统便应运而生。

在公司、工厂里,产品的进销存储涉及产品原料的采购、库存、投入生产、报损,甚至有时涉及到销售,同时,对于产品也有相应的生产、库存、销售和报损等环节。

在其他非生产性单位,如超市、商店等则主要事迹到进货、库存、销售和报损四个方面。

超市进销存储管理的对象是很多的,广而言之,它可以包括:商业、企业超市的商品,图书馆超市的图书,博物馆超市的展品等等。

在这里本文仅涉及工业企业的产品超市。

超市进销存储管理系统按分类、分级的模式对仓库进行全面的管理和监控,缩短了超市信息流转时间,使企业的物资管理层次分明、井然有序,为采购、销售提供依据:智能化的预警功能可自动提示存货的短缺、超储等异常状况;系统还可进行材料超市ABC分类汇总,减少资金积压。

完善的超市管理功能,可对企业的存货进行全面的控制和管理,降低超市成本,增强企业的市场竞争力。

本次实习的题目是超市进销存储管理系统,主要的目的是在超市进销存储模板的基础上对超市的经营、管理进行研究和探讨。

根据系统所需功能,决定以windows XP 为开发平台,采用选择功能强大的Microsoft SQL Server为开发工具,利用软件工程思想和方法,开发该系统的所需要的功能。

本系统由商品信息管理模块,员工信息管理模板,供应商信息管理模板等的组成,对超市中的各种信息进行分类管理,统筹规划。

功能较为全面。

关键字:超市、进销存储管理、数据库、Microsoft SQL Server
第二章需求分析
2.1需求分析
2.1.1处理对象及组织
商品:商品编号、商品名称、商品单价、生产日期、保质期、商品重量、商品规格
供应商:供应商名称、供应商地址、供应商账号、供应商传真、供应商电话、交货日期、订单号
进销存储:库存号、现有库存、最高库存、最低库存、盈亏数量、联系人
随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。

(1)针对超市进销存储管理系统,分别对采购部门、销售部门和库存保管部门进行详细的调研和分析,总结出一下的需求信息:商品按类管理,则需要一商品类型信息。

如果一个商品类型存在商品,或存在下级商品类型,则该类型不可删除。

需要记录供应商品信息。

在涉及商品数量的地方,需要知道商品的库存地方。

商品销售信息单中要包含登记商品销售数量、单价等信息。

在进货信息中要包含商品供应商等信息。

商品报损要有报损原因。

进货、销售、报损操作要有相应信息管理员。

只有管理员登录之后才可以使用系统。

默认的管理员不可以删除。

进货、销售、库存、报损信息都要可以添加、修改、删除、分类查找。

当进行进货、销售和报损操作后,能相应更新库存。

(2)经上述系统功能分析和需求总结,考虑到将来功能的发展,设计如下的数据项和数据结构:商品类型信息,包括数据项有:商品信息,包括的数据项有:商品编号、商品名称、商品的生产日期、库存量等。

商供应商信息,包括供应商号、供应商名称、联系电话等。

进货信息,包括进货商品号、数量、规格、单价等。

销售信息,包括销售商品、数量、单价等。

报损信息,包括报损商品、数量、原因、登记时间等。

员工信息,包括员工号、姓名、职称等。

2.1.2信息处理及系统功能
该系统由商品信息管理模板,员工信息管理模板,供应商信息管理模板,仓库信息管理模板等可以完成商品的进销存储和查询、更改等的基本操作。

并根据客户的要求完善系统的跟你需求。

系统功能有:(1)商品信息的管理包括商品基本信息的新建、修改和删除,商品的编号、商品名称、商品规格等。

(2)供应商信息管理:包括供货商信息的新建、修改和删除和供应商的名称、供应商代号、供应商地址等。

(3)员工信息管理:系统管理员的添加、删除和修改密码和员工姓名、性别、职称、工号等。

(4)仓库信息管理:仓库号、库存商品号、商品数量等。

2.1.3数据库系统开发环境
数据库系统开发环境需求决定以windows XP为开发平台,采用选择功能强大的Microsoft SQL Server为开发工具。

2.1.4数据字典
数据项如表一
数据项编号数据项名称别名类型及宽度I1TID商品的代号char(8)
I2Tname商品的名称char(14)
I3Tprice商品的价值Int
I4Tproducedate商品生产的时间Char(6)
I5Tkeepdate商品的保存时间Char(2)
I6Tweight商品的重量Char(8)
I7Tproducename商品的生产公司Char(14)
I8Tnorms商品长宽Char(6)
I9Sname商品的公司名称Char(12)
I10Saddress商品生产的地方Char(16)
I11Scodename供应商的产品代号Char(8)
I12Sfax与供应商的传真联系方式Char(11)
I13Stele联系供应商的电话方式Char(11)
I14Sdate定货单位要求的供货日期Char(12)
I15Sorder发出订单的单据号Char(8)
I16YID标识公司员工的代码Char(6)
I17Yname公司员工的姓名Char(6)
I18Ysex公司员工的性别Char(1)
I19Yage公司员工的年龄Char(2)
I20Yzhichen公司员工的职位名称Char(6)
I21KNO存储商品的库存号Char(2)
外部实体编码如表二
外部实体编号外部实
体名称简述外部实体组成输入的
数据流
输出的数据流
E1供应商提供商
品的直
接厂家供应商编码+单
位全称+简称+
地址+联系人+
电话+账号
订货单发货单
E2顾客购买商
品的顾
客编码+姓名+地
址+电话+邮编
销售单顾客订单
E3仓库存放仓
库的地
方单位全陈+地址
+电话
实物清

报损单
数据存取如表三
数据存取编号数据存
储名称简述数据存储组成相关联
的处理
S1库存台
账商品入库、出库
及退货后修改
当前库存量
商品编码+商品名称+单
位+当前库存+商品下限
+商品上限
P1.2、
P1.3
S2流水账入库、出库及退
货的流水账记

类型+开单日期+单号+
商品编号+商品名称+单
位+数量+单价
P1.2
I22Knum商品当前的库存量Char(4)
I23Khnum商品的库存上限char I24Kdnum商品的库存下限char I25Kpnum盘赢盘亏数量Int
I26Kperson与定货发生联系的供应商负责人Char(8)
华东交通大学理工学院课程设计报告
供应商商品员工仓库表SCodename某供应商的产品代号Char(8)YID标识公司员工的代码Char(6)KNO存储商品的库存号Char(2)TID标识商品的代号Char(8)WQTY实际的商品数量int
第三章概要设计
概念设计的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。

概念设计的任务和方法是能用E-R 图表示出整个系统的实体,实体的属性及实体间的联系。

概念结构设计通常采用的策略是自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构。

3.1通过对超市管理系统分析,得出系统的E-R 图
3-1全局/整体E-R 图
供应商
销售员
商品
仓库
顾客
供应
销售
存储购买
3-2超市进货E-R 图
3-3超市销售E-R 图
采购员
采购
商品
顾客
购买商品
职称
员工号姓名
商品名称规格
重量
保质期生产日期
单价
商品编号
年龄
性别
订单号
商品名称
规格
重量
保质期
生产日期
单价
商品编号
交货日期
3-4超市存储E-R 图
3.2
数据流程图
仓库存储
商品
生产日期
单价
商品编号
保质期
重量
规格
商品名称
亏损数量
最低库存
最高库存
现有库存
仓库号
第四章逻辑设计
4.1系统功能模块图
4.2关系模型表
商品关系模式表
数据项名称简述类型与宽度取值范围TID标识商品的代码Char(8)
Tname某商品的名称Char(14)
TPrice某商品的价值Int
TProducedate某商品生产的时间Char(6)
TKeepdate某商品的保存时间Char(2)
TWeight某商品的重量Char(8)
TNorms某商品的长宽Char(12)
TProducename某商品的生产公司Char(14)
供应商关系模式表
SCodename某供应商的产品代号Char(8)
Sname某商品的公司名称Char(12)
SAddress某商品生产的地方Char(16)
SFax与供应商的传真联系方式Char(16)
STele联系供应商的电话方式Char(11)
SDate订货单位要求的供货日期Char(12)SOrder发出订单的单据号Char(8)
员工关系模式表
YID标识公司员工的代码Char(6)Yname公司员工的姓名Char(6)
YSex公司员工的性别Char(1)
YAge公司员工的年龄Char(2)Yzhicheng公司的员工的职称名称Char(6)
仓库关系模式表
KNO存储商品的库存号Char(2)KNum某种商品当前的库存量Char(4)KHnum商品的库存上限Char KDnum商品的库存下限Char KPnum盘赢盘亏数量Int KPerson与定货反生联系的供应商负债人Char(8)
仓库商品关系模式表
KNO存储商品的库存号Char(2)TID标识商品的代号Char(8)QTY某商品的数量Int
员工商品表
YID标识公司员工的代码Char(2)TID标识商品的代号Char(8)QTY销售的商品数量Int
供应商商品关系模式
SCodename某供应商的产品代号Char(8)TID标识商品的代号Char(8)GQTY供应商品数量Char(6)
第五章详细设计与实现5.1根据分析创建以下表
创建数据库
Create database超市管理系统数据库
创建基本表
create table T(
TID Char(8)primary key,
Tproducename Char(14)NOT NULL,
Tname Char(14)NOT NULL,
Tprice Int NOT NULL,
Tproducedate Char(6)NOT NULL,
Tkeepdate Char(2)NOT NULL,
Tweight Char(8)NOT NULL,
Tnorms Char(12)NOT NULL,
)
create table S(
Scodename Char(8)primary key,
Sname Char(12)NOT NULL,
Saddress char(16)NOT NULL,
Sfax char(11)NOT NULL,
Stele char(11)NOT NULL,
Sdate char(12)NOT NULL,
)
Create table Y(
YID char(6)primary key,
Yname char(6)NOT NULL,
Ysex char(1)NOT NULL,
Yage char(2)NOT NULL,
Yzhichen Char(6)NOT NULL,
)
Create table K(
KNO char(2)primary key,
Knum char(4)NOT NULL,
Khnum char(12)NOT NULL,
Kdnum char(12)NOT NULL,
Kpnum int NOT NULL,
Kperson char(8)NOT NULL,
)
Create table TY(
KNO char(8)NOT NULL,
TID char(8)NOT NULL,
QTY char(6)NOT NULL,
)
Create table ST(
Scodename Char(8)NOT NULL,
TID char(8)NOT NULL,
GQTY char(6)NOT NULL,
)
Create table KT(
KNO char(2)NOT NULL,
TID char(8)NOT NULL,
QTY int NOT NULL,
)
Create table TSYK(
Scodename char(8)NOT NULL,
YID char(6)NOT NULL,
KNO char(2)NOT NULL,
TID char(8)NOT NULL,
WQTY int NOT NULL,
)
5.2创建视图
购买商品信息视图
CREATE VIEW VIEW_VT
AS
SELECT TID,Tname,Tprice,
FROM T
供应商信息视图
CREATE VIEW VIEW_VS
AS
SELECT Sname,Saddress,Scodename,Stele,Sdate FROM S
仓库信息视图
CREATE VIEW VIEW_VC
AS
SELECT KNO,KNum,KHnum,KDnum
FROM K
员工信息视图
CREATE VIEW VIEW_DH
AS
SELECT Yname,Yage,Yzhichen
FROM Y
WHERE YID='P006'
5.3创建触发器
在商品信息表上创建触发器提醒信息管理员相应的操作Create trigger tri_delete_tele
on T
for delete
as
print'请在仓库中删除此商品'
在仓库信息表上建立触发器
Create trigger tri_S_update
on K
for update
as
if(select Tname
from T
Where TID='F650')=0
Print'此商品存放仓库已满'
在供应商信息表上建立触发器
Create trigger tri_update_Stele
On S
For update
As
If(select TID
From T
Where TID='I112')<100
Print'存货不足,请及时进货'
5.4建立储存过程
商品信息查询的存储过程:
Create procedure T_T
@T_ID char(15),
@T_name char(30),
@T_Pro char(18),
As
Select*
From T
where TID=@T_ID
员工信息查询的存储过程:
Create procedure Y_Y
@Y_ID char(16),
@Y_name char(16),
@Y_sex char(1),
@Y_age char(12),
@Y_zhichen char(6),
As
Select*
From Y
Where YID=@Y_ID
供应商信息查询存储过程:
Create procedure S_S
@S_codename char(8),
@S_name char(12),
@S_address char(16),
@S_fax char(11),
@S_tele char(11),
As
Select*
From S
Where Scodename=@S_codename
库存信息查询的存储过程:
Create procedure K_K
@K_NO chat(2),
@K_Num char(4),
@K_Pnum Int,
@K_Person char(8)
As
Select*
From K
Where KNO=@K_NO
员工信息插入:
Insert into(YID,Yname,Ysex,Yage,Yzhichen) Values('P0018','蒂娜','女','20','营业员')
第六章数据库测试与实现
6.1用户登录界面
用户登录模块在本系统的首页。

用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。

界面如图6-1所示。

图6-1用户登录界面
主要实现代码如下:
public bool Veri(string tb_table,string Id,string Pwd);
{
DataClass.MyMeans MyClass=new SMMS.DataClass.MyMeans();
bool jud=false;
if(Id!=""&&Pwd!=""){
SqlDataReader temDR=MyClass.getcom("select*from"+tb_table+" where UserName='"+Id.Trim()+"'and Pass='"+Pwd.Trim()+"'");
jud=temDR.Read();
if(jud){
DataClass.MyMeans.Login_Name=Id.Trim();
DataClass.MyMeans.Login_ID=temDR.GetString(0);
DataClass.MyMeans.My_con.Close();
DataClass.MyMeans.My_con.Dispose();
}
else{
MessageBox.Show("用户名或密码错误!","提示", MessageBoxButtons.OK,rmation);
}
MyClass.con_close();
}
else{
MessageBox.Show("请将登录信息添写完整");
return jud;
}
}
6.2商品信息管理模块
此模块进行对商品信息的录入,能够对商品进行合理的管理,界面如图6-2所示。

图6-2商品信息管理界面
主要实现代码如下:
private void btnAdd_Click(object sender,EventArgs e);
{
bool t=false;
string txt;
string RecID;
string TypeID;
if(txtName.Text==""){
MessageBox.Show("请输入商品名称!");
txtName.Focus();
}
else if(txtPrice.Text==""){
MessageBox.Show("请输入商品单价!");
txtPrice.Focus();
}
else if(comboxType.Text==""){
MessageBox.Show("请选择商品类型!");
comboxType.Focus();
}
else if(txtKeep.Text==""){
MessageBox.Show("请输入保质期");
txtKeep.Focus();
}
else{
txt=txtName.Text.Trim();
SqlDataReader temDR=MyDataClass.getcom("select*from tb_Goods where GoodsName='"+txt+"'");
t=temDR.Read();
if(t){
MessageBox.Show("此商品名称已存在!");
txtName.Text="";
txtName.Focus();
}
else{
string Find_SQL2;
string RecID2;
try{
TypeID= My_Set.Tables[0].Rows[comboxType.SelectedIndex][0].ToString();
RecID=MyMC.GetAutocoding("tb_Goods","GoodsID");//获取编号
RecID2=MyMC.GetAutocoding("tb_Stock","StockID");//获取编号
Find_SQL="insert into tb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep)values('"+RecID+"','" +txtName.Text+"','"+TypeID+"','"+txtRemark.Text+"',"+txtPrice.Text +","+txtKeep.Text+")";
Find_SQL2="insert into tb_Stock(StockId,GoodsID,Amount)
values('"+RecID2+"','"+RecID+"',0)";
MyDataClass.getsqlcom(Find_SQL);
MyDataClass.getsqlcom(Find_SQL2);//向库存添加信息
MessageBox.Show("添加成功!");
ListViewItem l=new ListViewItem();
l.Text=txtName.Text;
l.SubItems.Add(comboxType.Text);
l.SubItems.Add(txtPrice.Text);
l.SubItems.Add(txtKeep.Text);
l.SubItems.Add(txtRemark.Text);
listView1.Items.Add(l);
btnCancle_Click(sender,e);
}
catch(Exception ec){
MessageBox.Show(ec.Message);
MessageBox.Show("添加失败");
}}}}
6.3职工信息管理模块
此模块有对职工的添加,修改,删除等功能,能够对用户进行合理的管理,界面如图6-3所示。

图6-3职工信息管理界面
6.4供货商信息管理模块
此模块有对供货商的添加,修改,删除等功能,能够对供货商进行合理的管理。

界面如图6-3所示。

图6-4供货商管理界面
6.5添加销售信息模块
销售员将销售信息录入方便了销售工作,提高了工作效率。

界面如图6-4所示。

图6-5添加销售信息界面
6.6添加进货信息模块
录入进货信息加强对商品的管理,使商品信息更为详细,方便了对商品的管理。

界面如图6-5所示。

图6-6用添加进货信息界面
6.7库存信息管理模块
库存信息管理能够使用户更为了解商品的库存情况,从而有利于商品的进货和销
售的管理。

界面如图6-6所示。

图6-7库存信息管理界面
6.8权限设置管理模块
对不同的用户分不同的权限,有利于系统的管理,只有超级管理员才具有分配权
限的功能。

界面如图6-7所示。

图6-8权限设置界面
主要实现代码如下:
private void btnSave_Click(object sender,EventArgs e);{ MyDataClass.getsqlcom("Delete tb_UserPerm where UserID='"+ ModuleClass.MyModule.ManaId.Trim()+"'");
foreach(Control c in groupBox2.Controls){
if(c is CheckBox)//只遍历CheckBox控{
if(((CheckBox)c).Checked==true){
RecID=MyMC.GetAutocoding("tb_UserPerm","ID");
MyDataClass.getsqlcom("insert into tb_UserPerm (ID,UserID,PermName)values('"+RecID+"','"+
ModuleClass.MyModule.ManaId.Trim()+"','"++"')");
//MessageBox.Show("jinjian");}
//MessageBox.Show();
}
}
MessageBox.Show("设置成功");
}
第七章总结
在对超市管理信息系统的开发过程有了基本了解后,我们使用 开发了这个“超市管理系统”。

系统基本实现了内部物品买卖管理的系统化、规范化和自动化。

可以按商品名称或者商品编号等信息对商品进行查询,并能反映出商品的销售情况。

实现了简单的统计分析功能,可以展示出库存商品与售出商品的比例、馆藏商品种类的情况。

并能对出售规则进行设置。

通过对该系统的设计、开发和调试,一方面让我了解了超市管理系统的开发过程与方法,另一方面,让我初步掌握了开发工具的使用方法,熟悉了窗口、菜单以及一些可视化控件的使用方法。

同时,在制作过程中遇到了不少问题和困难,通过查阅书籍及互连网得到了不小的帮助。

因为条件的限制,该管理系统还存在不少的缺点和漏洞,可是我们尽了自己最大的努力。

在这次课程设计中,我们学到了很多,也相互帮助,一起一起去解决问题。

最后,我们会不断学习的,因为只有不断学习才能不断进步。

人员分配
组员学号班级工作
组长


华东交通大学理工学院课程设计报告
第八章参考文献
[1]刘振岩.基于.NET的Web程序设计[M].电子工业出版社.2006
[2]孟宪虎,马雪英,邓绪斌大型数据库管理系统技术、应用与实例分析——SQL Server2005(第二版)电子工业出版社2011年5月
[3]童爱红.Visual C#.NET应用教程[M].清华大学出版社.北京交通大学出版社.
[4]朱如龙.SQL Server数据库应用系统开发技术[M].机械工业出版社.2004
[5]郝刚.《2.0开发指南》[M].人民邮电出版社.2002
[6](美)内格尔等编著,李敏波翻译.《C#高级编程》[M].清华大学出版社.2002
[7]尚俊杰.程序设计[M].北京:清华大学出版社,北京交通大学出版社.2004
[8]郑阿奇SQL Server实训清华大学出版社2005年8月
[9]周建国.Photoshop CS图像处理基础教程[M].人民邮电出版社.2007。

相关文档
最新文档