数据库课程设计报告.pdf
大连交通大学数据库课程设计报告数据库课程设计报告题目网上购物系统起讫日期 2011 年 8 月 29 日至 2011 年 9 月 9 日所在院系软件学院学生姓名冯云龙专业计算机科学与技术班级08-1 级学号0819010101指导教师赵旭宝职称讲师所在单位软件学院2011 年9月 9日大连交通大学数据库课程设计报告- 1 -第一章第一章需求分析需求分析1.1 系统背景在学校的课程安排下,我们开始了数据库原理的实训。在这里我们主要将学习实现建立数据库的 e-r 图,建立各个实体的关系,表,数据类型。完成一个简单的数据库与程序语言之间的连接工作。随着网络的日益强大,我们的生活与网络的关系越加的密切,网购也在当今这个信息社会正在慢慢的展开他的翅膀,离我们越来越近。我这次将师训内容选择为网上购物也正是基于社会的发展和需求而制定的。1.2 系统需求分析需求分析阶段是网上购物系统开发的第一个阶段,也是非常重要的一个阶段。这是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响后面各个阶段的设计,并影响到设计结果是否合理和实用。它也是我们系统开发过程当中最困难、最耗费时间的一步,作为地基的需求分析做的是否充分和准确,决定了在其上构建数据库大厦的速度和质量。1.2.1 目标与任务主要任务是通过详细调查进行网上购物的详细业务情况,了解原系统的工作情况,明确用户的各项需求,在此基础上确定新系统的功能,完成数据字典的建立。正是上述所说的重要性,我耗费了相当长的时间图书馆查阅与网上购物有关的资料,在网上搜索购物系统的简介,在淘宝网进行体验,并了解了用户的需求、认清了业务的流程和业务活动情况,确定了系统的边界。1.2.2 业务流程初次登陆的用户可以进行注册成为本站会员,登陆成功后可以按照商品的分类进行查看商品,或按照自己的需求搜索商品,并查看其详细资料,若不存会员正在搜索的商品,系统会进行相应的提示。销售商可以提供自己销售的商品的详细信息,并可以进行修改,以便让用户可以查看商品的信息。当用户确认购买的商品后,在付款成功的条件下,销售商就立即给会员邮寄商品,等待会员查收。会员收到自己的购买的商品后,交易成大连交通大学数据库课程设计报告- 2 -功。1.2.3 数据流程数据流图表达了数据和处理的关系,此系统主要是会员购买商品的业务、查询自己的相关信息,销售商对商品信息的管理、对会员确认购买商品后产生的订单的处理大连交通大学数据库课程设计报告- 3 -第二章第二章系统概念设计系统概念设计2.1 系统 E-R 图数据库概念模型设计阶段是数据库设计的关键阶段, 在这一阶段里,主要是以需求分析中所识别的数据项、设计任务和现行系统的管理操作规则与策略为基础,确定网上购物系统中的实体和实体间联系,建立此系统的信息模式,准确描述此系统的信息结构,建立一个独立与各 DBMS的高级概念模型。2.2 概念设计任务识别网上购物系统中的实体,识别实体的属性,识别实体的关键字,识别实体间的联系,利用实体关系图(ER 图)来描述网上购物系统中的相关实体、属性及关系,从而达到为建立良好的网上购物系统的数据模型的目的。2.3 ER 图设计根据前面的需求分析,可以将网上购物系统的数据库实体划分为会员信息实体集、商品信息实体集、购物车信息实体集、商品订单信息实体集四个实体。必须是本系统的会员才可以进行浏览商品、查看商品的相关信息,在浏览商品的信息时可以订购自己喜欢的商品,也可以将自己将要购买的,但还没有确定是否要进行订购的商品放入自己的购物车中,会员可以随时写该自己的相关信息,查看自己购物车中的商品,查询自己已经订购的商品生成的订单。销售商可以方便地在网上提供自己销售的所有商品信息,也可以结合实际情况对商品的信息进行修改,特别地根据市场的变化,以及相应的调控,可以修改商品的价格,以便获得最大利润。当用户付款成功后,销售商品根据订单上的地址给会员邮寄会员订购的商品,并等待会员查收商品。每个实体定义的属性如下:会员:会员编号,姓名,密码,电话,地址商品:商品编号,类型,名称,价格,简介,图片订购:订单编号,订单日期购物车:购物车编号,商品数量系统 E-R 图大连交通大学数据库课程设计报告- 4 -大连交通大学数据库课程设计报告- 5 -大连交通大学数据库课程设计报告- 6 -大连交通大学数据库课程设计报告- 7 -大连交通大学数据库课程设计报告- 8 -第三章第三章 系统逻辑设计系统逻辑设计3.13.1逻辑设计逻辑设计逻辑结构设计是将概念结构转换为某个 DBMS 所支持的数据模型, 并对其进行优化。3.2 逻辑设计任务将 E-R 图转换为关系模型,即将实体、实体的属性和实体之间的联系转化为关系模式, 转换的概念数据模型图,概念数据模型,利用powerdesigner 将概念数据模型转换成的物理数据模型的图,物理数据模型,为应用程序建立专门的视图而不必要应用程序直接访问数据表。3.3 关系模式的设计表表 3.3.13.3.1会员会员数据项名数据类型长度别名是否为空主外键会员编号字符型15会员编号否主键姓名文本型20姓名否密码文本型20密码否电话字符型12电话否地址文本型50地址否表表 3.3.23.3.2商品商品数据项名数据类型长度别名是否为空主外键商品编号字符型15商品编号否主键类型字符型15类型否名称字符型20名称否价格整型10价格否简介文本型500简介图片image 型100图片表表 3.3.33.3.3 订购订购数据项名数据类型长度别名是否为空主外键会员编号字符型15会员编号否外键主键商品编号字符型10商品编号否外键大连交通大学数据库课程设计报告- 9 -订单编号字符型10订单编号否订单日期日期型10订单日期否表表 3.3.43.3.4 购物车购物车数据项名数据类型长度别名是否为空主外键会员编号字符型15会员编号否主键商品编号字符型15商品编号否购物车编号字符型15购物车编号否商品数量整型6商品数量否视图的设计为会员搜索商品建立视图:表表 3.3.53.3.5 搜索商品视图搜索商品视图数据项名数据类型长度别名是否为空名称字符型10名称否类型字符型10类型否价格整型10价格否简介文本型4简介否大连交通大学数据库课程设计报告- 10 -第四章第四章 系统物理设计系统物理设计4.1 物理设计任务与目标为上一阶段的关系模型选取一个最适合的应用要求的物理结构,即确定存取方法和存储结构。4.2 索引存取方法为了提高让会员搜索商品的速度,对销售商销售的商品建立聚簇索引。4.3 功能模块分析4.3.14.3.1 用户注册为会员用户注册为会员购物者必须通过注册成为本站的会员,方可浏览销售商在本网站中销售的所有商品,并可以购买自己需要购买的商品等一系列业务。4.3.24.3.2 商品信息商品信息销售商在此购物系统中,可以向每一位会员展示自己销售的商品,并可以根据市场的实际情况,结合自己的利益,更改商品的价格,或修改商品的信息,以便会员可以买到自己实惠的商品。大连交通大学数据库课程设计报告- 11 -第五章第五章 系统实现系统实现5.1 系统功能介绍根据关系模式建立基本表、视图和索引,并完成存取过程的设计。存取过程存取过程编号存取过程名作用1注册用户注册成为本站会员2搜索用户在该网站里搜索自己需要的商品3预购会员将还没有确定购买的商品放入购物车4订购用户购买销售商销售的商品,并生成订单5提供销售商在网站上向会员展示商品6更新销售商在网站上更新自己的商品信息7邮寄销售商给会员游记会员订购的商品数据库系统测试与试运行已在实施阶段初步完成,主要是通过对存取过程的调用来完成相关业务。创建数据库创建会员信息表 5.1.1create table 会员 (会员编号char(15)not null,姓名textnull,密码textnull,电话char(12)null,地址textnull,constraint PK_会员 primary key nonclustered (会员编号)go大连交通大学数据库课程设计报告- 12 -图图 5.1.15.1.1 会员信息会员信息创建商品信息表create table 商品 (商品编号char(15)not null,类型textnull,名称textnull,价格moneynull,简介textnull,图片imagenull,constraint PK_商品 primary key nonclustered (商品编号)go图图 5.1.25.1.2 商品信息商品信息创建订购单信息表create table 订购 (会员编号char(15)not null,商品编号char(15)not null,订单编号char(15)not null,大连交通大学数据库课程设计报告- 13 -订单日期datetimenull,constraint PK_订购 primary key (会员编号, 商品编号),add constraint FK_ 订 购 _ 订 购 _ 会 员foreign key ( 会 员 编号)references 会员 (会员编号),add constraint FK_ 订 购 _ 订 购 2_ 商 品foreign key ( 商 品 编号)references 商品 (商品编号)go图图 5.1.35.1.3 订单信息订单信息创建购物车信息表create table 购物车 (会员编号char(15)not null,商品编号char(15)not null,购物车编号char(15)not null,商品数量intnull,constraint PK_购物车 primary key (会员编号, 商品编号),add constraint FK_购物车_购物车_会员foreign key (会员编号)references 会员 (会员编号),add constraint FK_购物车_购物车 2_商品 foreign key (商品编号)references 商品 (商品编号)Go5.2 系统各部分功能详细实现根据上面建立的表,最后一步就是实现系统功能的实现,在 SQLSEVER 2000 查询分析器里实现系统功能。大连交通大学数据库课程设计报告- 14 -图图 5.2.15.2.1 购物车信息购物车信息会员注册某用户可以在系统中注册成为会员,以会员编号“65011207285” 、姓名“胡茁成” 、密码“654987” 、电话“09974780585” 、地址“重庆市、云阳县、毛坝乡”为例,注册为会员,在后台需要执行的 QSL 语句是:insert into 会员(会员编号,姓名,密码,电话,地址)values(65011207285,胡茁成,654987,09974780585,重庆市、云阳县、毛坝乡)得到结果,如图 5.2.2 所示。图图 5.2.25.2.2 会员注册会员注册会员修改自己的信息在本系统中注册的会员可以修改自己的信息,例如将会员编号为“65011207226”的会员的密码,电话,地址分别修改为“123456789” ,“13596632356” , “广东省、珠海市、前山镇” ,其代码如下:update 会员set 密码=123456789,电话=13596632356,地址=广东省、珠海市、前山镇大连交通大学数据库课程设计报告- 15 -where 会员编号=65011207226;得到的结果如图 5.2.3 所示图图 5.2.35.2.3 会员修改信息会员修改信息会员查看购物车信息在本系统中注册的会员可以查看自己的购物车的信息,例如会员编号为“65011207226”的会员查看自己的购物车,其代码如下:select *from 购物车where 会员编号=65011207226;得到的结果如图 5.2.4 所示。图图 5.2.45.2.4 会员查看购物车会员查看购物车会员查看订单信息在本系统中注册的会员可以查看自己的订单信息,例如会员编号为“65011207226”的会员查看自己订单,其代码如下:select *from 订购where 会员编号=65011207201;得到的结果如图 5.2.5 所示。大连交通大学数据库课程设计报告- 16 -图图 5.2.55.2.5 会员查看订单会员查看订单添加商品信息销售商可以根据购物者的需求,添加自己销售的商品信息,以便购物者可以买到自己喜欢的商品,例如销售商添加商品编号“9170952” 、类型“文体” 、名称“台灯” 、价格“75” 、简介“产于广州,可以根据实际需要调节灯的亮度,是学生的好助手,它有利于保护学生的眼睛” 、图片“暂无”的商品。其代码如下:insert into 商品(商品编号,类型,名称,价格,简介,图片)values(9170952,文体,台灯,75,产于广州,可以根据实际需要调节灯的亮度,是学生的好助手,它有利于保护学生的眼睛,暂无)得到的结果如图 5.2.6 所示。图图 5.2.65.2.6 销售商添加商品销售商添加商品删除商品信息销售商可以根据市场的需求,删除自己没有盈利的商品的信息,例如销售商添加商品编号“9170923”的商品(删除的商品一定要是没有会大连交通大学数据库课程设计报告- 17 -员订购的商品,否则不能删除) 。其代码如下:deletefrom 商品where 商品编号=9170923;修改商品信息销售商可以根据市场的变化,修改自己销售的商品信息,以便购物者可以买到自己喜欢的商品,例如销售商将商品编号“9170952”的商品的单价提高 10%。其代码如下:得到的结果如图 5.2.7 所示。图图 5.2.75.2.7 修改商品信息修改商品信息搜索商品会员在本系统中可以根据自己的需要,分类搜索自己所需的商品,例如某会员需产看一个服饰类的商品,其代码是:select *from 商品where 类型=服饰;得到的结果如图 5.2.8 所示。大连交通大学数据库课程设计报告- 18 -图图 5.2.85.2.8 会员搜索商品会员搜索商品大连交通大学数据库课程设计报告- 19 -第六章第六章 总结总结1 收获与体会通过本次实习,我对数据库理论知识有了更深一层的认识,也让我对数据库的创建过程更加透彻的了解。我越来越感觉到基础的重要性,这不仅来源于我在第一阶段的辛苦,更加体会深刻的是我在后面的实习中,不断的发现不足,不断的更改前一阶段的相关内容。同时,由于设备问题,有时候导致数据丢失。在这种时刻,只有重头再来,才能按时,及时的完成任务。2 存在问题与建议本系统在运行时时,若一般用户想查看销售商提供的商品信息,不能成功,必须是会员才可以查看相关信息,然后进行预购商品或订购商品,当销售商给会员邮寄商品了之后,在本系统中没有体现出来,当会员收到商品,交易成功后,本系统没有记录。有些功能没有很好的完成使命,出现了一些限制。这些都需要我在以后的学习中慢慢积累知识,寻找解决的办法。