1、数据库课程设计货存控制系统数据库课程设计 货存控制系统一、 课程设计题目:货存管理系统 一个公司希望为控制它的货存建立一个数据库,货存中的产品被分为几类,如服装、食品和文具。当产品需要从供应商那里重新订购时,工作人员需要提出一个购买订单。跟踪记录要提供买进、卖出的货物以及其他的费用。实验课程任务与要求目的与任务:1. 掌握数据库设计和实现的基本过程2. 掌握数据库模式设计、分析和实现的方法3. 了解数据库应用系统软件开发的一般过程。实验基本要求: (1) 学习相关的预备知识(2) 按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行(3) 写出课程设计报告开发环境说明:处理
2、器:Intel Pentium 4 3.06以上内存:256M以上硬盘空间:40G以上操作系统:windows 2000 /XP/win7开发软件:C+Builder 6.0数据库:Microsoft SQL Service 2000二、功能需求分析:根据系统要求分析,本系统功能如下:用户管理:添加用户,修改用户密码。客户管理:添加客户,查询客户信息。供应商管理:添加供应商,查询供应商信息。仓库管理:添加仓库,查询仓库信息。货物管理:添加物品信息,物品类型信息。入库管理:货物的入库信息的添加和修改。出库管理:货物的出库信息的添加和修改。库存信息:对货物的现有信息存量查询。三、数据库概念设计:本
3、实例根据根据上面的设计规划出的实体有仓库实体、客户实体、供应商实体、管理员实体、货物实体、货物类型实体、入库实体、出库实体、库存实体。各个实体的E-R图描述如下: 仓库实体E-R图 供应商实体E-R图 客户实体E-R图管理员实体E-R图 货物实体E-R图 货物类型实体E-R图 入库实体E-R图 出库实体E-R图 库存实体E-R图整体E-R图如下所示:四、数据库逻辑设计:关系数据库的数据模型(即关系模型)由一组关系模式组成,因而ER图向关系模型的转换实际上就是将实体(包括实体的属性)和联系转换为关系模式,一般遵循以下基本原则: 1. 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的
4、码就是关系的码。 2. 一个1:X(X为1或n)联系通常与某一端的关系模式合并,其中1:n的联系需要与n端对应的关系模式合并。需要在合并的关系模式的属性中加入另一个关系模式的码和联系本身的属性。 3. 一个m:n联系转换为一个关系模式。与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 4. 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体的码的组合。 5. 具有相同码的关系模式可合并。使用SQL server 2000企业管理器建立数据库和表(也可使用SQL语
5、句建立数据库)。数据库包括:1.仓库的数据项描述: Storage数据项名对应英文名数据项含义类型长度说明仓库编号Sno仓库的编号char5主键仓库名称Sname仓库的名称char20仓库地址Saddr仓库的地址char40管理员编号Mno管理员的编号char5外键仓库面积Ssize仓库的大小int2.供应商的数据项描述:Provider数据项名对应英文名数据项含义类型长度说明供应商编号 Pno供应商的识别号码char5主键供应商名称 Pname供应商公司的名称char20供应商地址 Paddr供应商公司的地址char40邮编Postcode公司的邮编char6 电话Ptel公司的电话char
6、113.客户的数据项描述:Client数据项名对应英文名数据项含义类型长度说明客户编号Cno客户的编号char5主键客户名称Cname客户公司的名称char20地址Caddr客户公司的地址char40联系电话Ctel客户联系电话char114货物的数据项描述:Goods数据项名对应英文名数据项含义类型长度说明物品编号Gno物品的编号char5主键物品名称 Gname物品的名称char20类型编号 Tno物品的类型char5外键5.货物类型的数据项描述:Type数据项名对应英文名数据项含义类型长度说明类型编号Tno物品的类型的编号char5主键类型名称 Tname物品的类型的名称char20类型
7、描述 Tdescription物品的类型的描述char506.管理员的数据项描述:Manager数据项名对应英文名数据项含义类型长度说明管理员编号Mno管理员的编号char5主键管理员姓名Mname管理员的姓名char20密码PW该管理员的密码Char67.库存的数据项描述: Stock数据项名对应英文名数据项含义类型长度说明物品编号Gno货物表中物品编号Char5外键、主键仓库编号Sno仓库的编号Char5外键物品名称Gname货物的名称Char10类型名称Tname货物的分类Char20物品数量Gnum货物的存储量Int入库(合计)-出库(合计)8.入库的数据项描述:Stock_In数据项
8、名对应英文名数据项含义类型长度说明物品编号Gno货物表中物品编号Char5外键、主键供应商编号Pno供应商的编号Char5外键、主键物品名称Gname货物的名称Char10类型名称Tname货物的分类Char20购入单价Ginprice货物购入的价格Real入库数量Innum入库的数量Int采购金额Inprice本次采购的金额Real购入单价*入库数量入库日期Indate入库的时间Char209.出库的数据项描述:Stock_Out数据项名对应英文名数据项含义类型长度说明物品编号Gno货物表中物品编号Char5外键、主键客户编号Cno客户的编号Char5外键、主键物品名称Gname货物的名称C
9、har10类型名称Tname货物的分类Char4出售单价Goutprice货物出售的价格Real出库数量Outnum出库的数量Int出库金额Outprice本次出库的金额Real出库数量*出售单价出库日期Outdate出库的时间Char20五、系统开发1. 数据库建立Create database storage_manage;供应商 Providercreate table Provider(Pno char(5) primary key,Pname char(20),Padddr char(40),Postcode char(6),Ptel char(11);客户 Clientcreate
10、 table Client(Cno char(5) primary key,Cname char(20),Caddr char(40),Ctel char(11);货物类型 Typecreate table Type(Tno char(5) primary key,Tname char(20),Tdescription char(50);货物 Goodscreate table Goods(Gno char(5) primary key,Gname char(20),Tno char(5),foreign key(Tno) references Type(Tno);管理员 Managercre
11、ate table Manager(Mno char(5) primary key,Mname char(20),PW char(6);仓库 Storagecreate table Storage(Sno char(5) primary key,Sname char(20),Saddr char(40),Mno char(5),Ssize int,foreign key(Mno) references Manager(Mno);库存 Stockcreate table Stock(Gno char(5),Sno char(5),Gname char(10),Tname char(20),Gnu
12、m int,primary key(Gno),foreign key(Gno) references Goods(Gno),foreign key(Sno) references Storage(Sno);入库 Stock_Increate table Stock_In(Gno char(5),Pno char(5),Gname char(10),Tname char(20),Ginprice real,Innum int,Inprice real,Indata char(20),primary key(Gno,Pno),foreign key(Gno) references Goods(Gn
13、o),foreign key(Pno) references Provider(Pno);出库 Stock_Outcreate table Stock_Out(Gno char(5),Cno char(5),Gname char(10),Tname char(20),Goutprice real,Outnum int,Outprice real,Outdata char(20),primary key(Gno,Cno),foreign key(Gno) references Goods(Gno),foreign key(Cno) references Client(Cno);2、界面设计For
14、m1/-#include #pragma hdrstop#include Unit1.h#include Unit2.h/-#pragma package(smart_init)#pragma resource *.dfmTForm1 *Form1;/-_fastcall TForm1:TForm1(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm1:Button1Click(TObject *Sender) ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(select * from Manager
15、 ); ADOQuery1-SQL-Add(where Mname=+Edit1-Text+ and PW=+Edit2-Text+); if(ADOQuery1-ExecSQL() ShowMessage(登陆成功); Form2-Show(); else ShowMessage(用户名或密码错误!); /-void _fastcall TForm1:Button2Click(TObject *Sender)Close(); /-Form2/-#include #pragma hdrstop#include Unit2.h#include Unit1.h#include unit3.h#in
16、clude unit4.h#include Unit5.h#include Unit6.h#include Unit7.h#include Unit8.h#include Unit9.h#include Unit10.h#include Unit11.h#include Unit12.h#include Unit13.h#include Unit14.h#include Unit15.h#include Unit16.h/-#pragma package(smart_init)#pragma resource *.dfmTForm2 *Form2;/-_fastcall TForm2:TFor
17、m2(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm2:N5Click(TObject *Sender)Form3-Show();Form2-Close();/-void _fastcall TForm2:N6Click(TObject *Sender)Form4-Show();Form2-Close();/-void _fastcall TForm2:N18Click(TObject *Sender)Form1-Show();Form2-Close();/-void _fastcall TForm2:N8Click(TObjec
18、t *Sender)Form6-Show();Form2-Close();/-void _fastcall TForm2:N7Click(TObject *Sender)Form5-Show();Form2-Close();/-void _fastcall TForm2:N12Click(TObject *Sender)Form10-Show();Form2-Close();/-void _fastcall TForm2:N9Click(TObject *Sender)Form7-Show();Form2-Close();/-void _fastcall TForm2:N10Click(TOb
19、ject *Sender)Form8-Show();Form2-Close();/-void _fastcall TForm2:N16Click(TObject *Sender)Form9-Show();Form2-Close();/-void _fastcall TForm2:N13Click(TObject *Sender)Form12-Show();Form2-Close();/-void _fastcall TForm2:N14Click(TObject *Sender)Form11-Show();Form2-Close();/-void _fastcall TForm2:N15Cli
20、ck(TObject *Sender)Form14-Show();Form2-Close();/-void _fastcall TForm2:N11Click(TObject *Sender)Form9-Show();Form2-Close();/-void _fastcall TForm2:N17Click(TObject *Sender)Form15-Show();Form2-Close();/-void _fastcall TForm2:N19Click(TObject *Sender) Form16-Show(); Form2-Close();/-Form3/-#include #pragma hdrstop#include Unit3.h#include Unit2.h/-#pragma package(smart_init)#pragma resource *.dfmTForm3 *Form3;/-_fastcall TForm3:TForm3(TComponent* Owner) : TForm(Owner)/-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1