已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统课程设计 货存控制系统组 长: 杜 康 40809010113数 据 库分析员: 郭仙草 40809010130用户界面设计员: 王 彤 40809010132程 序 员: 包曙光 40809010118 胡 萍 40809010133测 试 员: 李元芳 40809010131一、 课程设计题目:货存管理系统 一个公司希望为控制它的货存建立一个数据库,货存中的产品被分为几类,如服装、食品和文具。当产品需要从供应商那里重新订购时,工作人员需要提出一个购买订单。跟踪记录要提供买进、卖出的货物以及其他的费用。实验课程任务与要求目的与任务:1.掌握数据库设计和实现的基本过程2.掌握数据库模式设计、分析和实现的方法3.了解数据库应用系统软件开发的一般过程。实验基本要求: (1) 学习相关的预备知识(2) 按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行(3) 写出课程设计报告开发环境说明:处理器:Intel Pentium 4 3.06以上内存:256M以上硬盘空间:40G以上操作系统:windows 2000 /XP/win7开发软件:C+Builder 6.0数据库:Microsoft SQL Service 2000二、功能需求分析:根据系统要求分析,本系统功能如下:用户管理:添加用户,修改用户密码。客户管理:添加客户,查询客户信息。供应商管理:添加供应商,查询供应商信息。仓库管理:添加仓库,查询仓库信息。货物管理:添加物品信息,物品类型信息。入库管理:货物的入库信息的添加和修改。出库管理:货物的出库信息的添加和修改。库存信息:对货物的现有信息存量查询。三、数据库概念设计:本实例根据根据上面的设计规划出的实体有仓库实体、客户实体、供应商实体、管理员实体、货物实体、货物类型实体、入库实体、出库实体、库存实体。各个实体的E-R图描述如下:仓 库仓库编号仓库名称仓库地址管理员编号仓库面积 仓库实体E-R图供 应 商供应商名称供应商编号供应商地址联系方式邮编 供应商实体E-R图客 户客户名称地址客户编号联系方式 客户实体E-R图管理员管理员编号管理员姓名密码管理员实体E-R图货 物物品名称类型编号物品编号 货物实体E-R图货物类型类型名称类型描述类型编号 货物类型实体E-R图入 库供应商编号物品名称类型名称物品编号入库数量购入单价采购金额入库日期 入库实体E-R图出 库客户编号物品名称类型名称物品编号出库数量出售单价出库金额出库日期 出库实体E-R图 库 存仓库编号物品名称类型名称物品编号物品数量 库存实体E-R图整体E-R图如下所示:四、数据库逻辑设计:关系数据库的数据模型(即关系模型)由一组关系模式组成,因而ER图向关系模型的转换实际上就是将实体(包括实体的属性)和联系转换为关系模式,一般遵循以下基本原则: 1.一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 2.一个1:X(X为1或n)联系通常与某一端的关系模式合并,其中1:n的联系需要与n端对应的关系模式合并。需要在合并的关系模式的属性中加入另一个关系模式的码和联系本身的属性。 3.一个m:n联系转换为一个关系模式。与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 4.三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体的码的组合。 5.具有相同码的关系模式可合并。使用SQL server 2000企业管理器建立数据库和表(也可使用SQL语句建立数据库)。数据库包括:1.仓库的数据项描述: Storage数据项名对应英文名数据项含义类型长度说明仓库编号Sno仓库的编号char5主键仓库名称Sname仓库的名称char20仓库地址Saddr仓库的地址char40管理员编号Mno管理员的编号char5外键仓库面积Ssize仓库的大小int2.供应商的数据项描述:Provider数据项名对应英文名数据项含义类型长度说明供应商编号 Pno供应商的识别号码char5主键供应商名称 Pname供应商公司的名称char20供应商地址 Paddr供应商公司的地址char40邮编Postcode公司的邮编char6 电话Ptel公司的电话char113.客户的数据项描述:Client数据项名对应英文名数据项含义类型长度说明客户编号Cno客户的编号char5主键客户名称Cname客户公司的名称char20地址Caddr客户公司的地址char40联系电话Ctel客户联系电话char114货物的数据项描述:Goods数据项名对应英文名数据项含义类型长度说明物品编号Gno物品的编号char5主键物品名称 Gname物品的名称char20类型编号 Tno物品的类型char5外键5.货物类型的数据项描述:Type数据项名对应英文名数据项含义类型长度说明类型编号Tno物品的类型的编号char5主键类型名称 Tname物品的类型的名称char20类型描述 Tdescription物品的类型的描述char506.管理员的数据项描述:Manager数据项名对应英文名数据项含义类型长度说明管理员编号Mno管理员的编号char5主键管理员姓名Mname管理员的姓名char20密码PW该管理员的密码Char67.库存的数据项描述: Stock数据项名对应英文名数据项含义类型长度说明物品编号Gno货物表中物品编号Char5外键、主键仓库编号Sno仓库的编号Char5外键物品名称Gname货物的名称Char10类型名称Tname货物的分类Char20物品数量Gnum货物的存储量Int入库(合计)-出库(合计)8.入库的数据项描述:Stock_In数据项名对应英文名数据项含义类型长度说明物品编号Gno货物表中物品编号Char5外键、主键供应商编号Pno供应商的编号Char5外键、主键物品名称Gname货物的名称Char10类型名称Tname货物的分类Char20购入单价Ginprice货物购入的价格Real入库数量Innum入库的数量Int采购金额Inprice本次采购的金额Real购入单价*入库数量入库日期Indate入库的时间Char209.出库的数据项描述:Stock_Out数据项名对应英文名数据项含义类型长度说明物品编号Gno货物表中物品编号Char5外键、主键客户编号Cno客户的编号Char5外键、主键物品名称Gname货物的名称Char10类型名称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 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);管理员 Managercreate 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),Gnum 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(Gno),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、界面设计Form1/-#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 ); 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#include 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:TForm2(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(TObject *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(TObject *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:N15Click(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)/-void _fastcall TForm3:Button1Click(TObject *Sender)Form3-ADOTable1-Active=true; Form3-ADOTable1-Append(); Form3-ADOTable1-FieldByName(Cno)-AsString=Edit1-Text; Form3-ADOTable1-FieldByName(Cname)-AsString=Edit2-Text; Form3-ADOTable1-FieldByName(Caddr)-AsString=Edit3-Text; Form3-ADOTable1-FieldByName(Ctel)-AsString=Edit4-Text; Form3-ADOTable1-Post(); ShowMessage(录入成功!);/-void _fastcall TForm3:Button2Click(TObject *Sender)Edit1-Text= ;Edit2-Text= ;Edit3-Text= ;Edit4-Text= ;/-void _fastcall TForm3:Button3Click(TObject *Sender) Form2-Show(); Form3-Close();/-Form4/-#include #pragma hdrstop#include Unit4.h#include Unit2.h/-#pragma package(smart_init)#pragma resource *.dfmTForm4 *Form4;/-_fastcall TForm4:TForm4(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm4:Button1Click(TObject *Sender)ADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(Select * From Client);ADOQuery1-SQL-Add(Where Cno like +Edit1-Text+%);ADOQuery1-Active=true;/-void _fastcall TForm4:Button2Click(TObject *Sender)ADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(Select * From Client);ADOQuery1-SQL-Add(Where Cname like +Edit2-Text+%);ADOQuery1-Active=true;/-void _fastcall TForm4:Button3Click(TObject *Sender) Form2-Show(); Form4-Close();/-From5/-#include #pragma hdrstop#include Unit5.h#include Unit2.h/-#pragma package(smart_init)#pragma resource *.dfmTForm5 *Form5;/-_fastcall TForm5:TForm5(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm5:Button1Click(TObject *Sender) Form5-ADOTable1-Active=true; Form5-ADOTable1-Append(); Form5-ADOTable1-FieldByName(Pno)-AsString=Edit1-Text; Form5-ADOTable1-FieldByName(Pname)-AsString=Edit2-Text; Form5-ADOTable1-FieldByName(Paddr)-AsString=Edit3-Text; Form5-ADOTable1-FieldByName(Postcode)-AsString=Edit3-Text; Form5-ADOTable1-FieldByName(Ptel)-AsString=Edit5-Text; Form5-ADOTable1-FieldByName(Prep)-AsString=Edit6-Text; Form5-ADOTable1-Post(); ShowMessage(录入成功!);/-void _fastcall TForm5:Button2Click(TObject *Sender) Edit1-Text= ; Edit2-Text= ; Edit3-Text= ; Edit4-Text= ; Edit5-Text= ; Edit6-Text= ;/-void _fastcall TForm5:Button3Click(TObject *Sender) Form2-Show(); Form5-Close();/-Form6/-#include #pragma hdrstop#include Unit6.h#include Unit2.h/-#pragma package(smart_init)#pragma resource *.dfmTForm6 *Form6;/-_fastcall TForm6:TForm6(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm6:Button1Click(TObject *Sender)ADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(Select * From Provider);ADOQuery1-SQL-Add(Where Pno like +Edit1-Text+%);ADOQuery1-Active=true;/-void _fastcall TForm6:Button2Click(TObject *Sender) ADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(Select * From Provider);ADOQuery1-SQL-Add(Where Pname like +Edit2-Text+%);ADOQuery1-Active=true;/-void _fastcall TForm6:Button3Click(TObject *Sender)Form2-Show();Form6-Close();/-Form7/-#include #pragma hdrstop#include Unit7.h#include Unit2.h/-#pragma package(smart_init)#pragma resource *.dfmTForm7 *Form7;/-_fastcall TForm7:TForm7(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm7:Button2Click(TObject *Sender) Edit1-Text= ; Edit2-Text= ; Edit3-Text= ; Edit5-Text= ;/-void _fastcall TForm7:Button3Click(TObject *Sender)Form2-Show();Form7-Close();/-void _fastcall TForm7:Button1Click(TObject *Sender) Form7-ADOTable1-Active=true; Form7-ADOTable1-Append(); Form7-ADOTable1-FieldByName(Sno)-AsString=Edit1-Text; Form7-ADOTable1-FieldByName(Sname)-AsString=Edit2-Text; Form7-ADOTable1-FieldByName(Saddr)-AsString=Edit3-Text; Form7-ADOTable1-FieldByName(Mno)-AsString=DBComboBox1-Text; Form7-ADOTable1-FieldByName(Ssize)-AsString=Edit5-Text; Form7-ADOTable1-Post(); ShowMessage(录入成功!);/-Form8/-#include #pragma hdrstop#include Unit8.h#include Unit2.h/-#pragma package(smart_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 0813022057 施磊磊 计082班 计算机网络课程设计报告
- 2026届忻州一中高二物理第一学期期末检测模拟试题含解析
- 2025年青海省西宁市示范名校化学高一第一学期期中质量检测模拟试题含解析
- 2025-2026学年云南省昆明市官渡一中高一化学第一学期期中达标检测模拟试题含解析
- 2026届江西省上饶市广丰区高一数学第一学期期末达标检测试题含解析
- 2026届吉林省长春市九台区四中生物高二第一学期期末复习检测试题含解析
- 安徽省合肥市巢湖市2025-2026学年高一化学第一学期期中学业质量监测试题含解析
- 北京海淀2026届高一数学第一学期期末联考试题含解析
- 2025贷款合同样式范例
- 2025依据样品合同争议
- 美业服务社群运营策略与方案
- 2025年宁夏交建投校园招聘和社会招聘230人考试笔试备考题库及答案解析
- 2025年下半年小学教师资格证笔试综合素质真题(含答案解析)
- 进口食品行业知识培训课件
- 中国塑料成型模具项目投资计划书
- GB/T 9869.3-2025橡胶用硫化仪测定硫化特性第3部分:无转子硫化仪
- 电池PACK生产工艺流程
- 食品安全风险隐患内部报告奖励制度(供参考)
- 旋转电磁铁课件
- (正式版)DB65∕T 4353-2021 《风力发电机组塔筒倾斜度测量方法》
- (正式版)DB65∕T 3952-2016 《反恐怖防范设置规范 学校》
评论
0/150
提交评论