《数据库超市商品库存管理系统课程设计报告(共19页).doc》由会员分享,可在线阅读,更多相关《数据库超市商品库存管理系统课程设计报告(共19页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 课程设计报告课程设计题目:超市商品库存管理系统学 号: 姓 名: 专 业: 软件工程班 级: 指导教师: 2012年 12 月 12日课程设计分工1) 根据题目写出需求分析(功能描述)2) 画出全局E-R图3) 将E-R图转换为关系模式4) 在SQL Server中创建数据库及数据表,至少4个数据表,定义约束5)输入数据,至少创建2个视图,数据涉及多个表6)至少创建3个存储过程,实现3种表的数据操作,如查询、添加、删除或更新7) 创建2个登录、数据库用户,并分配不同的权限8)为数据库做完全备份9)要为修改或删除创建一个触发器每人独立完成一个题目,不能雷同成果: 报告
2、,程序,数据库文件,备份文件报告中要有详细的需求分析,课程设计任务、内容,实现代码,结论,心得。1 课程设计的目的和意义数据库原理及应用课程设计是实践性教学环节之一,是数据库原理及应用课程的辅助教学课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。2. 设计要求:通过设计一完整的数据库,使学生掌握数据库设计各阶段
3、的输入、输出、设计环境、目标和方法。熟练掌握两个主要环节概念结构设计与逻辑结构设计;熟练的使用SQL语言实现数据库的建立、应用和维护。集中安排1周进行课程设计,以小组为单位,一般45人为一组。教师讲解数据库的设计方法以及布置题目,要求学生根据题目的需求描述,进行实际调研,提出完整的需求分析报告,建议用PowerDesigner建立概念模型、物理模型,在物理模型中根据需要添加必要的约束、视图、触发器和存储过程等数据库对象,最后生成创建数据库的脚本,提出物理设计的文档。要求如下:1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。2、既要虚心接受老师的指导,又要充分发挥主观能动
4、性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。3课程设计选题的原则课程设计题目以选用学生相对比较熟悉的业务模型为宜,要求通过本实践性教学环节,能较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等主要相关知识点,针对
5、实际问题设计概念模型,并应用现有的工具完成小型数据库的设计与实现。具体选题见附录。4. 课程设计的一般步骤课程设计大体分五个阶段:1、选题与搜集资料:根据分组,选择课题,在小组内进行分工,进行系统调查,搜集资料。2、分析与设计:根据搜集的资料,进行功能与数据分析,并进行数据库、系统功能等设计。3、程序设计:运用掌握的语言,编写程序,实现所设计的模块功能。4、调试与测试:自行调试程序,成员交叉测试程序,并记录测试情况。5、验收与评分:指导教师对每个小组的开发的系统,及每个成员开发的模块进行综合验收,结合设计报告,根据课程设计成绩的评定方法,评出成绩。5数据库需求分析5.1 数据流程图 厂家 基本
6、信息 仓库 商 品5.2数据字典、 数据项 数据项数据项含义 数据结构 Pno 供应商编号 唯一标识供应商 Char(8) Pname 名称供应商的名称 Char(30) Phone 电话供应商的电话 Char(12) Addr 地址供应商所在地 Char(30) Gno 商品编号唯一标识商品 Char(8) Gname 商品名称商品的名称 Char(50) Gpice 规格商品的属性 Char(20) QTY 数量供应商提供商品的数量 Int Sname 仓库名称唯一标识仓库 Char(20) Spac 仓库地址 仓库所在的地点 Char(20) AD 账号管理仓库员的账号 Char(10)
7、 Numder 存储货物数量商品存储的数量 int6 概念设计6.1 E-R图设计 供应商 商品供应 进仓 仓库供应商编号供应商地址供应商名称供应商电话商品编号数量供应商编号商品编号商品名称规格默认价格数量商品编号仓库地址供应商编号 仓库名管理员地址6.2 E-R图向关系模型转换供应商(供应商号,电话,地址,供应商品,)供应关系(商品名,供应商名,供应数量)商品(商品号,商品名,商品规格,默认价格)储存关系(商品号,商品名,供应商号,数量)仓库(仓库名,仓库地点,管理员)6.3 基本信息表 1 供应商基本信息表 列名 数据类型 是否为空 说明 Pno Char(8) 不允许 供应商编号 Pna
8、me Char(30) 允许 供应商名称 Phone Char(12) 允许 供应商电话 Addr Char(30) 允许 供应商地址 2 商品基本信息表 列名 数据类型 是否为空 说明 Gno Char(8) 不允许 商品编号 Gname Char(50) 允许 商品名称 Defau Char(20) 允许 商品规格 Gpice int 允许 默认价格 3 仓库基本信息表 列名 数据类型 是否为空 说明 Sname Char(20) 不允许 仓库名称 Space Char(20) 允许 仓库地址 AD Char(10) 允许 仓库管理员 4 供应关系基本信息表 列名 数据类型 是否为空 说明
9、 Pno Char(8) 不允许 供应商编号 Gno Char(8) 不允许 商品编号 QTY Int 允许 供应数量 5 存储关系基本信息表 列名 数据类型 是否为空 说明Pno Char(8) 不允许 供应商编号 Gno Char(20) 不允许 商品编号 Sname Char(80 不允许 仓库名称 Numbers Int 允许 存储数量7 功能描述1, 记录入库商品的名称厂家等信息。2, 查询商品的种类,名称等信息3, 记录商品的储存地点以及库存储存的商品4, 查询商品的库存地址厂家等信息5, 查询商品信息。6, 查询供应商信息。7, 添加新商品8, 添加新供应商。9, 添加新库存地址
10、10,删除商品同时删除它的厂家及库存地址等,。11,删除供应商同时删除它提供的商品及相关信息。12,建立账号和访问权限。8 模式定义语句-创建和插入表-create table Provider ( Pnochar(8) primary key , Pnamechar(30), Phonechar(12), Addrchar(30), )insert into Provider(Pno,Pname,Phone,Addr)values(A1,中华开心食品集团,南昌)insert into Provider(Pno,Pname,Phone,Addr)values(A2,盼盼食品有限公司,福建)in
11、sert into Provider(Pno,Pname,Phone,Addr)values(A3,恒德利服装有限公司,3,深圳)insert into Provider(Pno,Pname,Phone,Addr)values(A4,天津喜临门家具公司,天津)select * from Providercreate table Goods (Gno char(8) primary key, Gnamechar(50), Defau char(20), Gpice int, )insert into Goods(Gno,Gname,Defau,Gpice)values(101,爽一爽冰红茶,瓶,
12、5)insert into Goods(Gno,Gname,Defau,Gpice)values(102,双贝壳面包,袋,10)insert into Goods(Gno,Gname,Defau,Gpice)values(103,雅莱姿正装,套,300)insert into Goods(Gno,Gname,Defau,Gpice)values(104,好梦来丝被,箱,100) insert into Goods(Gno,Gname,Defau,Gpice)values (105,三鲜拉面,袋,2)insert into Goods(Gno,Gname,Defau,Gpice)values(1
13、06,正德皮靴,双,300)insert into Goods(Gno,Gname,Defau,Gpice)values(107,红门床柜,个,400)select * from Goodscreate table Supply( Pno char(8), Gno char(8), QTY int primary key(Pno,Gno), foreign key (Gno) references Goods(Gno), foreign key (Pno) references Provider(Pno)insert into Supply(Pno,Gno,QTY)values(A1,101,
14、370)insert into Supply(Pno,Gno,QTY)values(A2,102,150)insert into Supply(Pno,Gno,QTY)values(A3,103,40)insert into Supply(Pno,Gno,QTY)values(A1,105,120)insert into Supply(Pno,Gno,QTY)values(A3,106,20)insert into Supply(Pno,Gno,QTY)values(A4,107,10)insert into Supply(Pno,Gno,QTY)values(A4,104,10)select
15、 * from Supplycreate table Storage( Sname char(20) primary key, Spac char(20) , AD char(10), )insert into Storage(Sname,Spac,AD)values(东仓库,东郊巷22号,aa)insert into Storage(Sname,Spac,AD)values(西仓库,市民路,bb)select * from Storagecreate table Inventory( Gno char(8), Sname char(20), Pno char(8), Numbers int,
16、 primary key(Gno,Sname,Pno), foreign key (Gno) references Goods(Gno), foreign key (Sname) references Storage(Sname), foreign key (Pno) references Provider(Pno)insert into Inventory(Gno,Pno,Sname,Numbers)values(101,A1,东仓库,110)insert into Inventory(Gno,Pno,Sname,Numbers)values(102,A2,东仓库,120)insert in
17、to Inventory(Gno,Pno,Sname,Numbers)values(103,A3,西仓库,130)insert into Inventory(Gno,Pno,Sname,Numbers)values(104,A4,西仓库,140)insert into Inventory(Gno,Pno,Sname,Numbers)values(105,A1,西仓库,50)insert into Inventory(Gno,Pno,Sname,Numbers)values(106,A3,西仓库,150)insert into Inventory(Gno,Pno,Sname,Numbers)va
18、lues(107,A4,西仓库,50)select * from Inventory-创建视图-create view A_infoasselect Goods.Gno,Goods.Gname,Provider.Pname,Defau,Gpice,Supply.QTYfrom Provider,Goods,Supplywhere Supply.Pno=Provider.Pno and Supply.Gno=Goods.Gnoselect * from A_infocreate view B_infoasselect Goods.Gname,Inventory.Numbers,Supply.QT
19、Y,Storage.Snamefrom Goods,Supply,Inventory,Storagewhere Goods.Gno=Supply.Gno and Supply.Gno=Inventory.Gno and Storage.Sname=Inventory.Snameselect * from B_info-存储过程-create procedure Gc -查询Gno char(8)asselect *from Goodswhere Gno=Gnocreate procedure PcPno char(8)asselect *from Providerwhere Pno=Pnocr
20、eate procedure SecAD char(10)asselect *from Storagewhere AD=ADexec Gc Gno=104exec Pc Pno=A2exec Sec AD=aacreate procedure Pin -添加数据(Pno char(8),Pname char(30),Phone char(12),Addr char(30)asinsert into Provider values(Pno,Pname,Phone,Addr)create procedure Gin( Gno char(8),Gname char(50),Defau char(20
21、),Gpice int)asinsert into Goods values(Gno,Gname,Defau,Gpice)create procedure Si(Sname char(20),Spec char(20),AD char(10)asinsert into Storage values (Sname,Spec,AD)exec pin Pno=A5,Pname=东方红烟业,Phone=,Addr=广东exec Si Sname=南仓库,Spec=福明路,AD=ccexec Gin Gno=108,Gname=阿斯玛,defau=包,Gpice=10select * from Prov
22、iderselect * from Goodsselect * from Storage create procedure Pd -删除Pno char(8)asdeletefrom Providerwhere Pno=Pno alter procedure GdGno char(8)asdeletefrom Goodswhere Gno=Gnocreate procedure SdSname char(20)asdeletefrom Storagewhere Sname=Snameexec Pd Pno=A5exec Gd Gno=105exec Sd Sname=南仓库 select *
23、from Providerselect * from supplyselect * from Storage-触发器create trigger P_delete-删除供应商同时删除它提供的商品及相关信息。on Providerfor deleteasdeletefrom Supplywhere Pno=(select Pno from deleted) deletefrom Inventorywhere Pno=(select Pno from deleted)exec sp_depends p_delete create trigger G_delete-删除商品同时删除它的厂家及库存地址
24、等,。on Goodsfor deleteasdeletefrom supplywhere Gno=(select Gno from deleted) deletefrom Inventorywhere Gno=(select Gno from deleted)exec sp_depends G_deletedrop trigger S_deleteselect * from Providerselect * from Goodsselect * from Supplyselect * from Inventoryexec Pd Pno=A2exec Gd Gno=101-登陆账号exec s
25、p_addlogin aa,111,发帖人体,NULLexec sp_adduser aa,a1grant select, update,insert on Provider to a1 grant select, update,insert on Goods to a1 exec sp_addlogin bb,222,发帖人体,NULLexec sp_adduser bb,b1grant select, update,insert,delete on Provider to b1 grant select, update,insert,delete on Goods to b1 -9.数据操
26、作验证9.1 基本信息表查询9.11 供应商表基本信息查询 9.12 商品表基本信息查询9.13仓库表基本信息查询9.14 供应关系表基本信息查询9.15 存储关系表基本信息表查询9.2视图 9.21 视图A_info9.22视图B_info9.3存储过程9.31 查询9.32 添加9.33 删除 9.4触发器10 . 收获与体会在进行课程设计的一周里。我从做课程设计的过程中感触颇多。在这过程中使我对超市商品库存管理系统有了深入的了解。在做课程设计的时候不断学习数据库,通过实践使我巩固了在这之前所学到理论知识。也为我以后步入工作的岗位做了很好的铺垫。本次课程设计是我们自己出题,充分锻炼了我们发
27、现问题、分析问题、解决问题的能力。其间老师还给我们补充了一些Word的排版知识,尽管开学的时候我们进行过这方面的培训,但是我们对这方面的知识还是太匮乏了。我以后会抽出课余时间多加强这方面的训练。以前只是记书本上关于数据库系统的相关功能,以及不同数据库系统功能之间的的对比,但这些大部分只是处在死记的基础上,没有切身实地的感触,这次实习有让我再次对SQL SERVER 2000相关功能有了更深一层的理解,比如:触发器和存储过程。 通过本次实习,我觉得最重要的是要和老师、同学之间多交流,这样会使自己的数据库系统更加的完善。最后,要特别感谢这次实习的辅导老师,他们总是耐心的为同学们答疑解惑。专心-专注-专业