数据库课程设计家电进销存管理系统数据库的设计与实现

上传人:仙*** 文档编号:33923274 上传时间:2021-10-19 格式:DOC 页数:28 大小:634KB
收藏 版权申诉 举报 下载
数据库课程设计家电进销存管理系统数据库的设计与实现_第1页
第1页 / 共28页
数据库课程设计家电进销存管理系统数据库的设计与实现_第2页
第2页 / 共28页
数据库课程设计家电进销存管理系统数据库的设计与实现_第3页
第3页 / 共28页
资源描述:

《数据库课程设计家电进销存管理系统数据库的设计与实现》由会员分享,可在线阅读,更多相关《数据库课程设计家电进销存管理系统数据库的设计与实现(28页珍藏版)》请在装配图网上搜索。

1、武汉理工大学华夏学院课程设计报告书课程名称:数据库系统原理课程设计 题 目:家电进销存管理系统数据库的设计与实现 系 名: 信息工程系 专业班级: 软件工程1121 姓 名: 学 号: 指导教师: 2015年 1 月 9日武汉理工大学华夏学院信息工程系课 程 设 计 任 务 书课程名称: 数据库课程设计 指导教师: 张玉蓉,许亮 班级名称: 软件1121 开课系、教研室: 软件与信息安全 一、课程设计目的与任务数据库课程设计是数据库原理与应用课程的后续实践课程,旨在通过一周的实践训练,加深学生对理论课程中数据库的基础知识,原理和使用方法的理解,加强学生综合运用sql语言以及数据库设计进行实际应

2、用,包括数据库设计,数据库实现,sql语言查询和sql server数据库应用及管理的能力,进一步提高学生进行数据库设计,分析问题和解决问题的能力。学生将在指导老师的指导下,完成从需求分析,总体设计,实现到测试的全过程。二、课程设计的内容与基本要求本课程设计将设计和开发一个小型的数据库实用系统。要求数据功能模块划分合理,数据库表设计合理,查询语句优化,数据处理正确。根据所学的数据库原理与程序设计的知识,能够针对一个家电进销存管理系统数据库的设计与实现进行数据库系统的需求分析,概念结构设计、逻辑结构设计、物理结构设计,数据录入及查询测试,并按照系统需求设计相关的存储过程和触发器,完成题目要求的功

3、能。主要任务:用户有以下需求客户资料表含义说明:记录客户购买信息和具体的联系方式组成:客户ID信息,姓名,年龄,电话号码 库存含义说明:记录库存商品的信息组成:商品编号、商品名称、商品出货时间,商品信息含义说明:记录商品的信息组成:商品编号、商品名称、产地、价格销售信息含义说明:记录商品交易的信息组成:商品编号,购买人ID,购买时间三、课程设计步骤及时间进度和场地安排本课程设计将安排在第18周, 教育技术中心231。具体安排如下:第一天 下发任务书,学生查阅资料第二天 系统设计和原型开发第三,四天 系统功能实现第五天 系统调试 测试 打包和验收四、课程设计考核及评分标准课程设计考核将综合考虑学

4、生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。具体评分标准如下:设置六个评分点(1)设计方案正确,具有可行性、创新性; 25分(2)系统开发效果较好; 25分(3)态度认真、刻苦钻研、遵守纪律; 10分(4)设计报告规范、课程设计报告质量高、参考文献充分 20分(5)课程设计答辩概念清晰,内容正确 10分(6)课程设计期间的课堂考勤、答疑与统筹考虑。 10分 按上述六项分别记分后求和,总分按五级记分法记载最后成绩。优秀(10090分),良好(8089分),中等(7079分),及格(6069分),不及格(059分)目录目录41引言52. 需求分析阶段52.1 引

5、言数据库的设计52.2 需求分析阶段的目标与任务62.3 需求分析阶段成果63 概念设计阶段93.1系统的E-R图94逻辑设计阶段124.1逻辑设计的任务和目标124.2关系表125数据库实施阶段135.1建立数据库、数据表、视图、索引135.2数据入库176系统调试和测试187实习心得221引言当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息处理系统的环境。计算机最大的好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的

6、开发密切相关,系统的开发是系统管理的前提。管理信息系统以计算机信息处理方式对商场内的所有资源进行统一规划和管理在商场中实施管理信息系统必将极大地改善商场的管理,从而降低成本,并且能准确快速地进行决策控制,提高商场的市场竞争力,加快商场的市场反应能力,并为商场以后进行规模扩大做好准备。商场进销存管理系统中的进货、销售、库存管理系统可以对商场的销、存进行有效的管理和监控,系统模块之间有着错综复杂的联系,进行着信息与数据的交换,支持商场领导决策,是家用电器商场进销存管理系统的重要组成部分。我国的商场之间同样存在着激烈的竞争,要想在竞争中得以生存,并能脱颖而出,就要求商场管理者能在日趋激烈的市场竞争中

7、及时、准确、全面地了解市场信息并根据商场的具体实际,迅速做出响应,例如根据库存情况及时调整供应、进货,将销售信息进行汇总等。 而进销存管理系统应该能够为用户提供充足的信息和快捷的查询手段,作为计算机应用的一部分,使用计算机对产品库存信息、进货信息、销售信息进行管理,具有着人工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高商场的管理效率,也是商场管理科学化、正规化,与世界接轨的重要条件。因此,开发一个进销存管理系统是很有必要的,具有其特有的技术意义和管理意义。2. 需求分析阶段2.1 引言数据库的设计进销存管理

8、系统中的进货、销售、库存管理系统可以对商场的销、存进行有效的管理和监控,系统模块之间有着错综复杂的联系,进行着信息与数据的交换,支持商场领导决策,是家用电器商场进销存管理系统的重要组成部分。我国的商场之间同样存在着激烈的竞争,要想在竞争中得以生存,并能脱颖而出,就要求商场管理者能在日趋激烈的市场竞争中及时、准确、全面地了解市场信息并根据商场的具体实际,迅速做出响应,例如根据库存情况及时调整供应、进货,将销售信息进行汇总等。而进销存管理系统应该能够为用户提供充足的信息和快捷的查询手段,作为计算机应用的一部分,使用计算机对产品库存信息、进货信息、销售信息进行管理,具有着人工管理无法比拟的优点,它检

9、索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高商场的管理效率,也是商场管理科学化、正规化,与世界接轨的重要条件。因此,开发一个进销存管理系统是很有必要的,具有其特有的技术意义和管理意义。2.2 需求分析阶段的目标与任务2.2.1客户资料表含义说明:记录客户购买信息和具体的联系方式组成:客户ID信息,姓名,年龄,电话号码 2.2.2库存含义说明:记录库存商品的信息组成:商品编号、商品名称、商品出货时间,2.2.3商品信息含义说明:记录商品的信息组成:商品编号、商品名称、产地、价格2.2.4销售信息含义说明:记录商品交易的信息组成:商品

10、编号,购买人ID,购买时间2.3 需求分析阶段成果家电商场进销存管理系统需求主要来自商场内的进、销、存各项管理,因此商场进销存管理系统必须提供商品信息、供货商信息和客户信息的基本设置;提供强大的搜索功能和商品的进货、销售和库存管理功能;可以分不同权限、不同用户对系统操作。另外还必须保证数据的安全性、完整性和准确性。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。只要安装了后台数据库就可运行,无须太多花费。根据上面的要求技术上不存在问题,开发时间上也可以,因此该项目可以开发。2.3.1 电商信息管理系统功能图电商信息管理系统功能图如图1 图1电商信息管理系统

11、功能图2.3.2 电商信息管理系统数据字典2.3.2.1 StoreInfo(库存信息表)库存信息表用来保存库存信息。表StoreInfo的结构如表所示。 字段名数据类型长度是否主键描述SNint是商品编号GoodsNumint物品数量GoodsIDintnot null物品号EditDatevarchar 100修改日期2.3.2.2 GoodsInfo(商品信息表)商品信息表主要用来登记销售信息。表GoodsInfo的结构如表所示: 字段名数据类型长度是否主键描述GoodsIDint是物品编号GoodsNamevarchar20商品名称priceintnot null单价cdvarchar

12、10产地2.3.2.3 UserInfo(用户信息表)用户信息表用来保存系统用户和密码信息。表UserInfo的结构如表所示。字段名数据类型长度是否主键描述UserIDint4是用户编号UserNamevarchar20用户名Useragevarchar8买家年龄Userphonevarchar20电话2.3.2.4 (销售信息表)销售信息表主要用来保存商品销售信息。表SellInfo的结构如表所示。 表tb_brand的结构字段名数据类型长度是否主键描述sellIDint50销售单IDsellNamevarchar50销售商品名称sellbuyvarchar50购买人信息selltimeva

13、rchar100销售时间3 概念设计阶段 3.1系统的E-R图家电商场进销存管理系统主要实现从进货、库存到销售的一体化信息管理,涉及商品的供货商、购买商品的顾客等多个实体。下面简单介绍几个关键的实体。3.1.1.客户实体E-R图系统中记录客户所有的信息,在使用时将直接引用该客户的实体属性。如图2所示:全称简称客户地址电话E_mail开户行传真联系人邮政编码账号 图2 客户实体E-R图3.1.2.商品实体E-R图商品信息是进销存系统中的基本信息,系统将维护商品的进货、退货、销售等操作。如图3所示: 商品商品名备注批准文号包装批号简称供货商计量单位规格产地 图3 商品实体E-R图3.1.3.销售单

14、实体E-R图销售是商场最终得目的,销售单是以后查账的依据。如图4所示:销售单客户名 单价销售时间名库存数量名金额名应收未收名经手人名结算方式名操作员名实收名数量名图4 销售单实体E-R图3.1.4.库存实体结构E-R图主要是对商场的库存商品进行登记用于以后的查询所需。如图5所示:库存商品编号商品名称库存数量单位单价包装库存金额简称产地规格 图5 库存实体E-R图3.1.5 系统总E-R图主要是对商场各部分的联系关系进行说明,如图6所示: 图6 系统总E-R图4逻辑设计阶段4.1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系

15、统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。将E-R图转换为关系模型客户资料表组成:客户ID信息,姓名,年龄,电话号码 库存组成:商品编号、商品名称、商品出货时间,商品信息组成:商品编号、商品名称、产地、价格销售信息组成:销售商品编号,购买人ID,购买时间4.2关系表各表之间的关系如图7所示:图7 各表之间的关系图5数据库实施阶段5.1建立数据库、数据表、视图、索引5.1.1 建立数据库USE ma

16、sterdrop database dsxs;create database dsxs;gouse dsxsgo5.1.2 建立数据表1商品信息的建立if exists (select * from dbo.sysobjects where id = object_id(Ndbo.GoodsInfo) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table GoodsInfoGOCREATE TABLE GoodsInfo(GoodsIDint identity(1,1) primary key,-物品号编号主GoodsNamevarchar(2

17、0) not null,-物品名priceint not null,-单价产地varchar(10)-可空)2客户信息的建立if exists (select * from dbo.sysobjects where id = object_id(Ndbo.UserInfo) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table UserInfoGOCREATE TABLE UserInfo(UserIDint identity(1,1) primary key,-用户ID主UserNamevarchar(20),-用户名Useragevarch

18、ar(8),-买家年龄Userphonevarchar(20),-电话)GO3销售信息的建立if exists (select * from dbo.sysobjects where id = object_id(Ndbo.SellInfo) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table sellInfoGOCREATE TABLE SellInfo(sellID int identity(1,1) primary key,-销售单ID主sellName varchar(10) not null,-销售名称sellbuy int not

19、 null , -购买人信息selltimevarchar(30) not null,-销售时间)4库存信息的建立if exists (select * from dbo.sysobjects where id = object_id(Ndbo.StoreInfo) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table StoreInfoGOCREATE TABLE StoreInfo(SNint identity(1,1) primary key,-库存自动编号主GoodsNumint not null,-物品数量GoodsIDint not

20、 null,-物品号外EditDatevarchar(100)-修改日期可空)5.1.3 建立视图(1)用于查询物品信息的视图定义如下: create view GoodsInfoview (物品编号, 物品名, 单价, 产地)asselect GoodsID,GoodsName,price,产地from GoodsInfogo(2)用于查询销售单的视图定义如下:create view sellInfoview (销售单ID,销售名称,购买人信息,销售时间)asselect sellID,sellName,sellbuy,selltimefrom sellInfogo(3)用于查询物品库存信息

21、的视图定义如下: create view StoreInfoview (库存自动编号,物品数量,物品号,修改日期)asselect SN,GoodsNum,GoodsID,EditDatefrom StoreInfogo(4)用于查询用户信息的视图定义如下:create view UserInfoview (用户ID主,用户名,用户年龄,电话)asselect UserID,UserName,Userage,Userphonefrom UserInfogo(5.1.4 建立索引建立物品和用户的姓名索引方便查询create index GoodsName on GoodsInfo(GoodsNa

22、me);create index UserName on UserInfo(UserName);GO5.1.5 建立触发器,存储过程建立删除功能的触发器create trigger UserInfo _deleteon UserInfofor deleteas delete SellInfofrom deletedwhere sellbuy = UserIDgo建立物品货物的存储过程createPROCEDUREGoodsInfo_InsertGoodsNamevarchar(20),price int,产地 varchar(10)as insertintoGoodsInfovalues(Go

23、odsName,price,产地);go5.1.6 建立约束,绑定约束建立主键约束ALTER TABLE UserInfo ADD CONSTRAINT PK_ UserID PRIMARY KEY (UserID)建立一个唯一约束,将货物ID设置为唯一ALTER TABLE GoodsInfo ADD CONSTRAINT UQ_GoodsName UNIQUE(GoodsName)建立一个检查约束,检查用户年龄在18到60之间ALTER TABLE UserInfo ADD CONSTRAINT CK_Userage CHECK(UserageBETWEEN 18 AND 60 )建立一个

24、默认约束,将物品数量默认为2000ALTER TABLE StoreInfo ADD CONSTRAINT DF_GoodsNum DEFAULT (2000) FOR GoodsNum建立一个外键约束ALTER TABLE SellInfo ADD CONSTRAINT FK_ selltime FOREIGN KEY(selltime) REFERENCES StoreInfo (EditDate)GO5.2数据入库insert into GoodsInfo values(长虹电视,4000,四川);insert into GoodsInfo values(索尼电视,3000,海南);in

25、sert into GoodsInfo values(吹风机,250,湖北);insert into GoodsInfo values(电动剃须刀,100,江苏);insert into GoodsInfo values(苹果笔记本电脑,6004,南京);insert into GoodsInfo values(迷你MP3,105,河南);insert into GoodsInfo values(MP4,236,河北);insert into GoodsInfo values(音响,107,福建);insert into GoodsInfo values(平板电脑,2008,江苏);inser

26、t into GoodsInfo values(电话,409,湖北);insert into UserInfo values(张三,23,13297900001);insert into UserInfo values(李四,31,13297900002);insert into UserInfo values(王五,42,13297900003);insert into UserInfo values(小明,33,13297900004);insert into UserInfo values(小张,19,13297900005);insert into UserInfo values(小飞

27、,21,13297900006);insert into UserInfo values(小红,25,13297900007);insert into UserInfo values(小力,23,13297900008);insert into UserInfo values(小雪,31,13297900009);insert into UserInfo values(黄盖,40,13297900010);insert into StoreInfo values(1000,1,2015-1-1);insert into StoreInfo values(1001,2,2015-1-2);ins

28、ert into StoreInfo values(1002,3,2015-1-3);insert into StoreInfo values(1003,4,2015-1-4);insert into StoreInfo values(1004,5,2015-1-5);insert into StoreInfo values(1005,6,2015-1-6);insert into StoreInfo values(1006,7,2015-1-7);insert into StoreInfo values(1007,8,2015-1-8);insert into StoreInfo value

29、s(1008,9,2015-1-9);insert into StoreInfo values(1009,10,2015-1-10);6系统调试和测试对该电商信息管理系统进行测试,验证每个功能是否符合要求,具体的测试如下:1.GoodsInfo(货物信息表)表中的数据如图8所示:图8 GoodsInfo(货物信息表)表中的数据2.UserInfo表中的数据如图9所示:图9 UserInfo表中的数据3.SellInfo表中的数据如图10所示:图10 SellInfo表中的数据4.StoreInfo表中的数据如图10所示:图11 StoreInfo表中的数据5.删除表中数据如图12所示:删除表中

30、序号为1号的数据图12删除表中序号为1号的数据6.修改表中数据如图13所示:将表中第三项价格3000改为2000图13 修改表中数据7.触发器的验证删除客户1号的信息,销售表中同时删除1号如图14所示:图14验证删除客户1号的信息,销售表中同时删除1号8. 存储过程的验证select * from GoodsInfo goexec GoodsInfo_Insert 洛基亚手机 ,2000,湖北go如图15所示:图15存储过程的验证7实习心得一周的课程设计结束了,在数据库专业课的学习中,我们接触了高移植性的SQL Server语言,在这个星期里,我们专业的学生在老师的带领下进行了数据库课程设计实

31、践学习。在这之前,我们已经对数据库基础这门课程也学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。通过此次课程设计,对于数据库的设计方法我有了基本的了解,在编写程序的过程中,我也发现了自己的很多不足,比如平日程序编写量少,使得漏洞百出,错误很多。在以后的学习过程中要注意这些问题,多向他人学习,取长补短。对于学习SQL Server数据库从网络上找资料我认为是比较好的,现在的网络又这么的发达应该去充分利用。这里

32、有SQL Server的各种版本的数据库、应用工具和权威的官方文档。当老师在最后说这个课程结束了,回顾一下以前老师给我们讲过的东西,真的有很多是我们应该去注意的。学习完SQL Sever数据库后感觉可分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的有点类似于程序员。开发还需要有较强的逻辑思维和创造能力,自己没有真正做过,但感觉应该会比较辛苦,是青春饭;管理则需要对SQL Sever数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会弄掉整个数据库,相对前者来说,后者更看重经验。这些东西都是从老师哪里和朋友的讨论中得到的心得,也希望其他朋友

33、能多多向老师和朋友请教,如果是个人单独靠自己来完成一个完美的数据库我觉得比较困难,现在基本上都是团队类型的,而且他们的效率高开发的周期也快。由于数据库管理的责任重大,很少公司愿意请一个刚刚接触SQL Sever的人去管理数据库。对于我们这些初出茅庐的新手而且电子商务的专业,个人认为可以先选择做管理,有一定经验后转型,去做数据库的开发。当然,这个还是要看人个的实际情况来定。虽然我是个新手,但是常到哪些相关的数据库论坛或是网站觉得每次的收获都不小,网络对我来说可是个重要的东西,除了SQL Server数据库对于其它的一些电脑知识都从网络里学习了不少,我常用的一个搜索网站就是大家都熟悉的百度了。总之

34、,这次数据库课程设计对我的帮助很大,也使得将来在毕业设计中,对数据的处理,提供了一个优秀的方案。8存在的问题及建议1我觉得在这次课程设计中,需求分析阶段是致关重要的,但由于同学们都是第一次做这样的系统设计,都不是很熟悉需求分析的主要方法和主要任务,所以都很盲目,认为随便从网上搜点相关的知识就可以了,但其实,这直接影响着后面的各个阶段的工作的进行。所以希望老师在实习前能给我们对需求分析阶段的工作进行一定的指导。2但总的说来,这次实习的各个指导老师都是知识渊博,经验丰富,并且十分热情的,我们请教的任何问题,老师都会耐心而认真的为我们解决,老师不但帮我们解决了问题,同时也教会了我们解决此类问题的方法

35、,这对我们今后的学习是十分有益的3在课程设计过程中,虽然我们每个班都配备了两到三名指导老师,可各指导老师轮流上班,当我们遇到问题时,有时在身边找不到老师,而浪费了一些宝贵的时间,或者是本班的指导老师在给别班的学生指导,所以也可能会耗费一定的等待时间。致谢在这次数据库课程设计的整个过程中,都受到了指导教师张玉蓉老师细心的指导和关怀,对此,表示忠心的感谢!没有老师的耐心指导,我根本不可能顺利完成此次课程设计的任务。在这里,我尤其要真诚的感谢张玉蓉,老师丰富的知识和编程经验帮我解决了不少的难题,同时也给我传授了不少新的知识和技巧。同时也感谢给过我帮助和鼓励的同学,是他们的帮助与鼓励,在我遇到困难时,

36、为我点亮了希望的灯塔;在我灰心丧气时,带给我力量和信心。 参考文献1 萨师煊 王珊,数据库系统概论(第三版),北京:高教出版社,20002 软件开发与指导;人民邮电出版社3 Delpehi数据库开发毕业设计指导及实例;机械工业出版社,2004 -28-附录1 源代码E masterdrop database dsxs;create database dsxs;gouse dsxsgo-商品信息if exists (select * from dbo.sysobjects where id = object_id(Ndbo.GoodsInfo) and OBJECTPROPERTY(id, NI

37、sUserTable) = 1)drop table GoodsInfoGOCREATE TABLE GoodsInfo(GoodsIDint identity(1,1) primary key,-物品号编号主GoodsNamevarchar(20) not null,-物品名priceint not null,-单价产地varchar(10)-可空)insert into GoodsInfo values(长虹电视,4000,四川);insert into GoodsInfo values(索尼电视,3000,海南);insert into GoodsInfo values(吹风机,250,

38、湖北);insert into GoodsInfo values(电动剃须刀,100,江苏);insert into GoodsInfo values(苹果笔记本电脑,6004,南京);insert into GoodsInfo values(迷你MP3,105,河南);insert into GoodsInfo values(MP4,236,河北);insert into GoodsInfo values(音响,107,福建);insert into GoodsInfo values(平板电脑,2008,江苏);insert into GoodsInfo values(电话,409,湖北);

39、go-客户信息if exists (select * from dbo.sysobjects where id = object_id(Ndbo.UserInfo) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table UserInfoGOCREATE TABLE UserInfo(UserIDint identity(1,1) primary key,-用户ID主UserNamevarchar(20),-用户名Useragevarchar(8),-买家年龄Userphonevarchar(20),-电话)GOinsert into UserI

40、nfo values(张三,23,13297900001);insert into UserInfo values(李四,31,13297900002);insert into UserInfo values(王五,42,13297900003);insert into UserInfo values(小明,33,13297900004);insert into UserInfo values(小张,19,13297900005);insert into UserInfo values(小飞,21,13297900006);insert into UserInfo values(小红,25,1

41、3297900007);insert into UserInfo values(小力,23,13297900008);insert into UserInfo values(小雪,31,13297900009);insert into UserInfo values(黄盖,40,13297900010);-销售信息if exists (select * from dbo.sysobjects where id = object_id(Ndbo.SellInfo) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table sellInfoGOCREA

42、TE TABLE SellInfo(sellID int identity(1,1) primary key,-销售单ID主sellName varchar(10) not null,-销售名称sellbuy int not null , -购买人信息selltimevarchar(30) not null,-销售时间)insert into sellInfo values(长虹电视,1,2015-1-1);insert into sellInfo values(索尼电视,2,2015-1-2);insert into sellInfo values(吹风机,3,2015-1-3);inser

43、t into sellInfo values(电动剃须刀,4,2015-1-4);insert into sellInfo values(苹果电脑,5,2015-1-5);insert into sellInfo values(迷你MP3,6,2015-1-6);insert into sellInfo values(MP4,7,2015-1-7);insert into sellInfo values(音响,8,2015-1-8);insert into sellInfo values(平板电脑,9,2015-1-9);insert into sellInfo values(电话,10,20

44、15-1-10);go-库存信息if exists (select * from dbo.sysobjects where id = object_id(Ndbo.StoreInfo) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table StoreInfoGOCREATE TABLE StoreInfo(SNint identity(1,1) primary key,-库存自动编号主GoodsNumint not null,-物品数量GoodsIDint not null,-物品号外EditDatevarchar(100)-修改日期可空)in

45、sert into StoreInfo values(1000,1,2015-1-1);insert into StoreInfo values(1001,2,2015-1-2);insert into StoreInfo values(1002,3,2015-1-3);insert into StoreInfo values(1003,4,2015-1-4);insert into StoreInfo values(1004,5,2015-1-5);insert into StoreInfo values(1005,6,2015-1-6);insert into StoreInfo valu

46、es(1006,7,2015-1-7);insert into StoreInfo values(1007,8,2015-1-8);insert into StoreInfo values(1008,9,2015-1-9);insert into StoreInfo values(1009,10,2015-1-10);GOselect *from GoodsInfoselect *from UserInfoselect *from SellInfoselect *from StoreInfo-索引create index GoodsName on GoodsInfo(GoodsName);cr

47、eate index UserName on UserInfo(UserName);GO-视图create view GoodsInfoview (物品编号, 物品名, 单价, 产地)asselect GoodsID,GoodsName,price,产地from GoodsInfogocreate view sellInfoview (销售单ID,销售名称,购买人信息,销售时间)asselect sellID,sellName,sellbuy,selltimefrom sellInfogocreate view StoreInfoview (库存自动编号,物品数量,物品号,修改日期)assel

48、ect SN,GoodsNum,GoodsID,EditDatefrom StoreInfogocreate view UserInfoview (用户ID主,用户名,用户年龄,电话)asselect UserID,UserName,Userage,Userphonefrom UserInfogo-触发器create trigger UserInfo _deleteon UserInfofor deleteas delete SellInfofrom deletedwhere sellbuy = UserIDgo-存储过程createPROCEDUREGoodsInfo_InsertGoods

49、Namevarchar(20),price int,产地 varchar(10)as insertintoGoodsInfovalues(GoodsName,price,产地);go-约束ALTER TABLE GoodsInfo ADD CONSTRAINT UQ_GoodsID UNIQUE(GoodsID)ALTER TABLE GoodsInfo ADD CONSTRAINT UQ_GoodsName UNIQUE(GoodsName)ALTER TABLE UserInfo ADD CONSTRAINT CK_Userage CHECK(UserageBETWEEN 18 AND 6

50、0 )ALTER TABLE StoreInfo ADD CONSTRAINT DF_GoodsNum DEFAULT (2000) FOR GoodsNumALTER TABLE SellInfo ADD CONSTRAINT FK_ selltime FOREIGN KEY(selltime) REFERENCES StoreInfo (EditDate) GO设计过程及答辩回答问题记载:(至少三个问题)1. 建立的触发器的功能是什么?答:维护数据的完整性,满足更多复杂的数据约束要求!也就是,表与表之间,表的不同属性间的约束,为了方便同步更新数据,或者检测之间数据是否满足约束,通常会用到触发器2. 你的表与表之间是如何联系的?答:通过建立主表与外键的关系来进行联系。3. 怎么进行批处理?答:在语句后面加go。 指导教师评语: 签名: 2015年1月9日

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!