《数据库课程设计(自己做的)(共22页).doc》由会员分享,可在线阅读,更多相关《数据库课程设计(自己做的)(共22页).doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上专心-专注-专业 货存控制系统货存控制系统6.1 数据库设计概述数据库设计的概念: 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。 在数据库领域内, 常常把使用数据库的各类系统统称为数据库应用系统。数据库设计的特点1、数据库建设是硬件、软件和干件的结合:三分技术、七分管理、十二分基础数据,技术与管理的界面称之为干件。2、数据库设计过程是结构设计和行为设计的密切结合:结构设计是设计数据库结构,行为设计是设计应用程序、事务处理等。数据库设计的方法1、手工试凑法:设计
2、质量与设计人员的经验和水平有直接关系,缺乏科学理论和工程方法的支持,工程质量难保证。2、规范设计法:基本思想是过程迭代和逐步求精。数据库设计的基本步骤准备工作:选定参加设计的人员。分析员:数据库设计的核心人员,自始至终参与数据库设计,其水平决定了数据库系统的质量。用户:主要参加需求分析和数据库的运行维护,用户的积极参与将加速数据库设计,提高数据库设计的质量。精选优质文档-倾情为你奉上专心-专注-专业程序员:在系统实施阶段参与进来,负责编制程序。操作员:在系统实施阶段参与进来,准备软硬件环境。数据库设计的过程(六个阶段)1、需求分析阶段:准确了解与分析用户需求(包括数据与处理),是整个设计过程的
3、基础,是最困难、最耗费时间的一步。2、概念结构设计阶段:整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型3、逻辑结构设计阶段:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。4、数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。5、数据库实施阶段:运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行试运行。6、数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行, 在运行过程中不断对其进行评价、调整与
4、修改。设计一个数据库应用系统往往是上述六个阶段的不断反复。数据库设计各阶段的模式形成:1、需求分析阶段:综合各个用户的应用需求。2、概念设计阶段:形成独立于机器特点,独立于各个 DBMS 产品的概念模式(E-R 图)。3、逻辑设计阶段:首先将 E-R 图转换成具体 DBMS 支持的数据模型,如关系模型,形成数据库逻辑模式;然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式。4、物理设计阶段:根据 DBMS 特点和处理需要,进行物理存储安排,建立索引,形成数据库内模式。精选优质文档-倾情为你奉上专心-专注-专业一、一、课程设计题目:课程设计题目:
5、货存管理系统一个公司希望为控制它的货存建立一个数据库,货存中的产品被分为几类,如服装、食品和文具。当产品需要从供应商那里重新订购时,工作人员需要提出一个购买订单。跟踪记录要提供买进、卖出的货物以及其他的费用。实验课程任务与要求实验课程任务与要求目的与任务目的与任务:1.掌握数据库设计和实现的基本过程2.掌握数据库模式设计、分析和实现的方法3.了解数据库应用系统软件开发的一般过程。实验基本要求实验基本要求:(1)学习相关的预备知识(2)按照数据库设计与实现过程完成数据库的设计, 应用程序的开发, 上机调试、运行(3)写出课程设计报告二、功能需求分析:二、功能需求分析:根据系统要求分析,本系统功能
6、如下:用户管理:添加用户,修改用户密码。客户管理:添加客户,查询客户信息。供应商管理:添加供应商,查询供应商信息。仓库管理:添加仓库,查询仓库信息。货物管理:添加物品信息,物品类型信息。入库管理:货物的入库信息的添加和修改。出库管理:货物的出库信息的添加和修改。1、CREATE TRIGGER Tr_入库表 ON 入库表精选优质文档-倾情为你奉上专心-专注-专业after insert,update,deleteASbeginupdate a set a.库存数量=a.库存数量 +b.入库数量from零件信息表 a,(select 零件号,sum(入库数量) 入库数量 from inserte
7、d groupby 零件号 ) b-如果每次插入时零件号不重复,则不必聚合where a.零件号 =b.零件号;goupdate a set a.库存数量=a.库存数量 -b.入库数量from零件信息表 a,(select 零件号,sum(入库数量) 入库数量 from deleted group by零件号 ) b-如果每次插入时零件号不重复,则不必聚合where a.零件号 =b.零件号;goend2、CREATE TRIGGER Tr_出库表 ON 出库表after insert,update,deleteASbeginupdate a set a.库存数量=a.库存数量 -b.出库数量
8、from零件信息表 a,(select 零件号,sum(出库数量) 出库数量 from inserted groupby 零件号 ) b-如果每次插入时零件号不重复,则不必聚合where a.零件号 =b.零件号;goupdate a set a.库存数量=a.库存数量 +b.出库数量from零件信息表 a,(select 零件号,sum(出库数量) 出库数量 from deleted group by零件号 ) b-如果每次插入时零件号不重复,则不必聚合where a.零件号 =b.零件号;goend精选优质文档-倾情为你奉上专心-专注-专业库存信息:对货物的现有信息存量查询。三、数据库概念
9、设计:三、数据库概念设计:本实例根据根据上面的设计规划出的实体有仓库实体、 客户实体、 供应商实体、 管理员实体、货物实体、货物类型实体、入库实体、出库实体、库存实体。各个实体的 E-R 图描述如下:仓库实体 E-R 图供应商实体 E-R 图客户实体 E-R 图仓 库仓库编号仓库名称仓库地址管理员编号仓库面积供 应 商供应商名称供应商编号供应商地址联系方式邮编客户客户名称地址客户编号联系方式精选优质文档-倾情为你奉上专心-专注-专业管理员实体 E-R 图货物实体 E-R 图货物类型实体 E-R 图货物类型类型名称类型描述类型编号货物物品名称类型编号物品编号管理员管理员编号管理员姓名密码精选优质
10、文档-倾情为你奉上专心-专注-专业入库实体 E-R 图出库实体 E-R 图库存实体 E-R 图整体 E-R 图如下所示:库 存仓库编号物品名称类型名称物品编号物品数量出库客户编号物品名称类型名称物品编号出库数量出售单价出库金额出库日期入库供应商编号物品名称类型名称物品编号入库数量购入单价采购金额入库日期精选优质文档-倾情为你奉上专心-专注-专业四、数据库逻辑设计:四、数据库逻辑设计:关系数据库的数据模型(即关系模型)由一组关系模式组成,因而 ER 图向关系模型的转换实际上就是将实体 (包括实体的属性) 和联系转换为关系模式, 一般遵循以下基本原则:1.一个实体型转换为一个关系模式。 实体的属性
11、就是关系的属性, 实体的码就是关系的码。2.一个 1:X(X 为 1 或 n)联系通常与某一端的关系模式合并,其中 1:n 的联系需要与 n 端对应的关系模式合并。 需要在合并的关系模式的属性中加入另一个关系模式的码和联系本身的属性。3.一个 m:n 联系转换为一个关系模式。与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。4.三个或三个以上实体间的一个多元联系可以转换为一个关系模式。 与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性, 而关系的码为各实体的码的组合。5.具有相同码的关系模式可合并。使用 SQL server 2000 企
12、业管理器建立数据库和表(也可使用 SQL 语句建立数据库) 。数据库包括:1.仓库的数据项描述:Storage数据项名对应英文名数据项含义类型长度说明仓库编号Sno仓库的编号char5主键精选优质文档-倾情为你奉上专心-专注-专业仓库名称Sname仓库的名称char20仓库地址Saddr仓库的地址char40管理员编号Mno管理员的编号char5外键仓库面积Ssize仓库的大小int2.供应商的数据项描述:Provider3.客户的数据项描述:Client数据项名对应英文名数据项含义类型长度说明客户编号Cno客户的编号char5主键客户名称Cname客户公司的名称char20地址Caddr客户
13、公司的地址char40联系电话Ctel客户联系电话char114货物的数据项描述:Goods数据项名对应英文名数据项含义类型长度说明物品编号Gno物品的编号char5主键物品名称Gname物品的名称char20类型编号Tno物品的类型char5外键5.货物类型的数据项描述:Type数据项名对应英文名数据项含义类型长度说明数据项名对应英文名数据项含义类型长度说明供应商编号Pno供应商的识别号码char5主键供应商名称Pname供应商公司的名称char20供应商地址Paddr供应商公司的地址char40邮编Postcode公司的邮编char6电话Ptel公司的电话char11精选优质文档-倾情为你
14、奉上专心-专注-专业类型编号Tno物品的类型的编号char5主键类型名称Tname物品的类型的名称char20类型描述Tdescription 物品的类型的描述char506.管理员的数据项描述:Manager数据项名对应英文名数据项含义类型长度说明管理员编号Mno管理员的编号char5主键管理员姓名Mname管理员的姓名char20密码PW该管理员的密码Char67.库存的数据项描述: Stock数据项名对应英文名数据项含义类型长度说明物品编号Gno货物表中物品编号Char5外键、主键仓库编号Sno仓库的编号Char5外键物品名称Gname货物的名称Char10类型名称Tname货物的分类C
15、har20物品数量Gnum货物的存储量Int入库 (合计) -出库(合计)8.入库的数据项描述:Stock_In数据项名对应英文名数据项含义类型长度说明物品编号Gno货物表中物品编号Char5外键、主键供应商编号Pno供应商的编号Char5外键、主键物品名称Gname货物的名称Char10精选优质文档-倾情为你奉上专心-专注-专业类型名称Tname货物的分类Char20购入单价Ginprice货物购入的价格Real入库数量Innum入库的数量Int采购金额Inprice本次采购的金额Real购入单价*入库数量入库日期Indate入库的时间Char209.出库的数据项描述:Stock_Out数据
16、项名对应英文名数据项含义类型长度说明物品编号Gno货物表中物品编号Char5外键、主键客户编号Cno客户的编号Char5外键、主键物品名称Gname货物的名称Char10类型名称Tname货物的分类Char4出售单价Goutprice货物出售的价格Real出库数量Outnum出库的数量Int出库金额Outprice本次出库的金额Real出库数量*出售单价出库日期Outdate出库的时间Char20五、系统开发五、系统开发1.1. 数据库建立数据库建立Create database storage_manage;精选优质文档-倾情为你奉上专心-专注-专业供应商 Providercreate ta
17、ble 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(2
18、0),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
19、 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) ref
20、erences 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) ref
21、erences 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);六、总结:六、总结:本次
22、课程设计虽然经历了许多困难,但是也学到了很多东西,觉得还是很精选优质文档-倾情为你奉上专心-专注-专业有收获。这次的课程设计根据老师给出的时间安排,我们花了一天时间上网找资料,和去图书馆借相关的书籍,然后按照慢慢的做完这次的设计。虽然自己认为自己的设计的比较合理,但是在用编程工具实施的时候,就发现自己考虑问题的时候还是有很多欠缺和不足的地方。经过这一周的课程设计,我更加认识到自己的不足之处,对问题的分析是还不够全面,对事物看不还不很透彻。所以导致在设计的时候,就出现这样那样的漏洞和不足。在现在的软件开发,我想不会存在自己一个人去开发一个软件,应该是一个团队来完成。我觉得我们应该早些培养这方面的意识。在以后的工作中才更有利。经过此次课程设计使我们更加了解数据库的应用和对数据库的备份与恢复、 性能分析与改进等等,也使我们更加意识到不懂的问题就要问,最好问团队成员和同学,不然就上网搜,可别一个人在那瞎想,这是一个团队的事情,只有团队合作好了,项目才能有质量、有效率的完成。欢迎您的光临,Word 文档下载后可修改编辑.双击可删除页眉页脚.谢谢!你的意见是我进步的动力,希望您提出您宝贵的意见!让我们共同学习共同进步!学无止境.更上一层楼。