数据库课程设计Word格式.docx
《数据库课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计Word格式.docx(19页珍藏版)》请在冰点文库上搜索。
![数据库课程设计Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/7/caae73e8-69d5-4012-84e8-763dcf1273de/caae73e8-69d5-4012-84e8-763dcf1273de1.gif)
13-1班
课程名称
网络数据库
设计题目
sale管理数据库的设计与实现
指导教师
杨丽君、刘风华
起止时间
2014.12.29--2015.1.2
周数
1周
设计地点
B503机房
设计目的:
1.熟悉数据库设计与开发的一般过程。
2.理解概念设计、逻辑设计、物理设计的意义和方法。
3.掌握表内约束和表间约束的作用和实现方法。
4.结合设计的数据库系统,熟练应用SQL语句。
设计任务或主要技术指标:
1.用SQL语句完成数据库和表的设计。
2.表中的记录数应该能满足数据测试的要求。
3.实体的属性和约束设计合理,实体间的外键约束满足系统要求。
4.能够实现系统要求的数据操纵和数据控制操作,其中包括:
索引、视图、存储
过程及SQL语句的设计。
设计进度与要求:
第1天:
收集资料,上机建库、建表、建关联、输入数据。
第2~3天:
结合数据库系统,完成SQL语句。
第4天:
调试代码,整理实训数据和结果,撰写设计报告。
第5天:
进行答辩,报成绩。
主要参考书及参考资料:
[1]徐人凤.SQLServer2005数据库及应用,北京,高等教育出版社,2014
[2]郑阿奇.SQLServer2005教程,北京,电子工业出版社,2011
[3]刘大玮.SQLServer数据库项目案例导航,北京,清华大学出版社,2005
教研室主任(签名)系(部)主任(签名)
摘要
在这次的数据库设计课程中,为了满足大型家电超市的营销需求,统计各种的销售数据,为了帮助商家更方便,快捷的统计各类销售数据,所以我们需要熟练的掌握SQLsever的使用过程,学会用代码的方式创建数据库和创建表。
学会熟练使用selectfromwhere语句、聚合函数(groupby、computeby、having、count)的使用、模糊查询的、数据排序(orderby)、以及数据库中表的管理(seletintofrom、insert、insertinto、update、delete子句的使用)、实体的属性和约束的设计,实体间的外键约束的设计、数据库的管理、数据表的管理(aftertableadd、aftertabledropcolumn、droptable子句的使用),通过代码方式完成各种操作,以便更加熟悉sql的用法。
以上及具体的要求。
认真做课程设计,用以解决商家们的问题,把书本知识运用到实践中。
关键字:
SQLServer数据库select
1.需求分析
长期以来,由于超市,大的家电市场经常面临销售数据过多,统计起来麻烦,困难等问题,导致,不能了解当前的消费情况,很难做出正确的销售计划,没有正确的销售计划,就很难在家电市场占领一定地位,因此,为了满足大型家电超市的营销需求,统计各种的销售数据,为了帮助商家更方便,快捷的统计各类销售数据,以此来完成各种销售计划,因此,特别建立sale数据库,通过sale数据库,各个商家,更能了解当前消费者的消费水平,从而商家更容易发现商机,赚取更多的利益。
而sale数据库又是通过使用MicrosoftSQLServer2005来完成各类繁琐的问题。
2.SQLServer2005数据库介绍
SQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
SQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
SQLServer2005数据引擎是本企业数据管理解决方案的核心。
此外SQLServer2005结合了分析、报表、集成和通知功能。
这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Webservices和移动设备将数据应用推向业务的各个领域。
Microsoft根据实际情况,并对行业进行了认真研究,全世界的Microsoft研究团队共同努力,经过创造性思索才最终向您奉献出这一引入了上百种新增功能或改进功能的SQLServer2005。
这些功能将有助于您在以下三个主要方面提高业务:
1.企业数据管理:
SQLServer2005针对行业和分析应用程序提供了一种更安全可靠和更高效的数据平台。
SQLServer的最新版本不仅是迄今为止SQL;
Server的最大发行版本,而且是最为可靠安全的版本。
2.开发人员生产效率SQLServer2005提供了一种端对端的开发环境,其中涵盖了多种新技术,可帮助开发人员大幅度提高生产效率。
3.商业智能:
SQLServer2005的综合分析、集成和数据迁移功能使各个企业无论采用何种基础平台都可以扩展其现有应用程序的价值。
构建于SQLServer2005的BI解决方案使所有员工可以及时获得关键信息,从而在更短的时间内制定更好的决策。
3数据库操作
3.1.数据库实体关系图(E-R图)
m
n
mn
图1
3.2.将E-R图转换为关系数据模型
用户:
(编号,姓名,性别,地址,电话)
产品:
(产品编号,产品名称,单价,库存数量)
入库:
(入库日期,产品编号,入库数量)
销售:
(销售日期,产品编号,客户编号,销售数量)
3.3.创建sale数据库
语句:
CREATEDATABASE[sale]ONPRIMARY
(NAME=N'
sale'
FILENAME=N'
E:
\数据库\sale.mdf'
SIZE=3072KB,
MAXSIZE=UNLIMITED,
FILEGROWTH=1024KB)
LOGON
sale_log'
FILENAME=N'
\数据库\sale_log.ldf'
SIZE=1024KB,
MAXSIZE=2048GB,
FILEGROWTH=10%)
结果图
图2
3.4.创建customer表、product表、proln表和proout表
语句:
CREATETABLEcustomer
(cusnonavarchar(3)notnull,
Cusnamenavarchar(10)notnull,
Addressnavarchar(20)null,
Telnaverchar(20)null)
图3
CREATETABLEprodut
(prononavarchar(5)notnull,
pronamenavarchar(20)notnull,
pricedecimal(8,2)notnull,
Teldecimal(8,0)notnull)
图4
CREATETABLEproln
(inpuctdatedatetimenotnull,
Prononavarchar(5)notnull,
Quantitydecimal(6,0)notnull)
图5
CREATETABLEproout
(saledatedatetimenotnull,
Cusnonavarchar(3)notnull,
Prononaverchar(5)notnull,
quantitydecimal(6,0)notnull)
图6
表之间的关系图:
图7
4.单表查询
4.1.简单的查询
4.1.1.查询地址是在新疆的客户信息。
select*
fromcustomer
whereaddress='
新疆'
结果:
图8
4.1.2.查询出所有价格在1000以上且产品名称中带有‘电’字的产品信息
select*
fromproduct
wherepronamelike'
%电%'
andprice>
1000
图9
4.1.3.题目:
查询所有产品的平均价格、最大价格、最小价格。
selectavg(price)平均,max(price)最小,min(price)最大
图10
4.2.复杂查询
4.2.1.查询产品的平均价格,且库存大于300的产品信息
selectavg(price)平均,prono,proname,price,stocks
wherestocks>
300
groupbyprono,proname,price,stocks
图11
4.2.2.查询产品的客源地有哪些?
selectdistinctaddress
图12
4.2.3.统计产品种类(数量)。
selectcount(proname)产品数量
图13
4.2.4.对产品价格大于2000的产品按价格的升序进行排序。
select*
whereprice>
2000
orderbyprice
图14
4.3.修改数据表的内容
4.3.1.将产品价格大于3000元的产品抽取到new_product表中。
select*intonew_product
3000
图15
4.3.2.将dvd播放机加入到product表中。
insertproduct
values('
00012'
'
dvd播放机'
1000'
500'
)
图16
4.3.3.将冰箱的价格改为6000
updateproduct
setprice=6000
whereproname='
冰箱'
图17
4.3.4.删除产品表中茶几的信息
deleteproduct
茶几'
图18
4.3.5.在产品表中添加‘是否保修’列
altertableproduct
add是否保修nvarchar
(2)null
图19
4.3.6.删除表new_product
语句:
droptablenew_product
图20
5.多表查询
5.1.2表相连
5.1.1查询入库日期为‘2006-1-1’价格大于2000的产品信息
selectdistinctproduct.prono,proname,price,stocks
fromproduct,proln
whereproduct.prono=proln.pronoandprice>
图21
5.2.3表相连
5.2.1新建表date要求包括产品编号、产品名称、入库日期,销售日期等信息。
(用以显示每天的交易详情)
selectproduct.prono,proname,inputdate,saledateintodate
fromproduct,proln,proout
whereproduct.prono=proln.pronoandproout.prono=proln.prono
图22
5.3.4表相连
5.3.1要求将4表的信息统计到一个新表‘汇总’
selectproduct.prono,proname,price,stocks,customer.cusno,cusname,address,tel,proout.quantity,inputdate,saledate
fromproduct,proln,proout,customer
whereproduct.prono=proln.pronoandproout.prono=proln.pronoandproout.cusno=customer.cusno
图23
6.视图
6.1.创建简单视图
1.创建视图v_sale1,显示销售日期、客户编号、客户姓名、产品编号、产品名称、单价且客户在新疆的客户信息。
createviewv_sale1
as
selectsaledate,customer.cusno,cusname,product.prono,price
fromproout,customer,product
go
selectdistinct*
fromv_sale1
图24
6.2.视图的多表连接
1.创建视图v_sale2统计统计每种产品的销售数量和销售金额,结果包括产品编号,产品名称,单价,销售数量,销售金额。
createviewv_sale2
selectproduct.prono,proname,price,quantity,sum(quantity*price)销售金额
fromproout,product
whereproout.prono=product.prono
groupbyproduct.prono,price,quantity,proname
图25
6.3.视图的函数查询
1.创建v_sale3,要求统计销售金额在10万元以上的产品信息。
createviewv_sale3
havingsum(quantity*price)>
100000
fromv_sale3
总结
一个星期的时间非常快就过去了,这一个星期我不敢说自己有多大的进步,获得了多少知识,但起码是了解了数据库设计的部分过程。
虽说上过数据库相关的课程,但是没有亲身经历过相关的设计工作细节。
这次课程设计给我提供了一个很好的机会。
在数据库设计中,从各种文档的阅读到需求分析、概要设计、数据库总体设计、代码编写与调试,我们都准备了好长时间,在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和用户的需要,分析现有情况及问题。
在一个星期的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题,经过组内讨论。
最终把它解决了。
通过这次课程设计,我对数据库的设计更加熟练了。
/
通过本次课程设计,对SQL语言,数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表,学会了数据库的基本操作。
通过本次课程设计,我觉得不管做什么,始终都要相信自己。
不要畏惧,不要怕遇到困难,什么都要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来它并没有你你想象的那么难。
如果没有自信,没有目标,没有信心就很难把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标。
从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!
通过这次设计的完成,使我对自己所学知识进一步的了解,同时通过实践发现自己的不足,对知识的掌握及运用存在诸多的不完善。
本系统也存在着很多不足,如系统十分简单,实现功能也不够完善,安全性问题也没有很好的解决。
所以在今后的学习中我会继续努力,完善自我,同学的帮助、指导老师的用心辅导和学校的精心安排使这个课题能够顺利进行。
但是,由于时间仓促以及本人水平有限,本系统还有很多不完善之处,也难免存在错漏,恳请老师谅解。