数据库课程设计论文.docx
- 文档编号:3493522
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:57
- 大小:884.89KB
数据库课程设计论文.docx
《数据库课程设计论文.docx》由会员分享,可在线阅读,更多相关《数据库课程设计论文.docx(57页珍藏版)》请在冰豆网上搜索。
数据库课程设计论文
信息工程学院
《数据库课程设计》论文
题目:
网上购物系统数据库课程设计
学号:
2011012997
专业班级:
计算机111班
姓名:
杨平
指导老师:
邹青
完成日期:
2013年1月25日
网上购物系统数据库设计
学生姓名:
杨平
(信息工程学院计算机科学与技术11级1班)
摘要
随着现代管理信息化的发展,网络及计算机的引入使管理跃上了一个新的发展平台。
人们的生活方式都将向信息化方向扩展,网上购物已经成为人们生活中不可或缺的一部分,和日常生活的联系最为紧密。
为了更好的巩固和加强书本所学的知识,把所学的东西转化为实际应用。
我们学习了Oracle应用程序的使用,并应用了SQL语言。
对数据库的创建、修改、删除方法有了一定的了解。
通过导入表和删除表、更改表学会了对于表的一些操作。
为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
网上购物系统,集商品制造商,商品供应商的相关信息,输入到数据库中,严格按照数据库设计的具体步骤:
需求分析阶段就是要研究网上购物系统的具体分类和实施过程流图。
概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。
逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的几张表结合在一起完成一个总关系表,最后就是要运行和实施数据库。
关键字:
SQL语言;数据库设计;网上购物系统
引言
随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。
而建立管理信息系统是一个很好的解决办法。
经过三年的学习,我们对计算机方面的认识有了很大的提升,本着理论结合实际的宗旨,在学校提供的这次软件技术实践的机会,以及指导老师的帮助下,经过两周时间,针对软件学院的图书馆管理的现状,我自行设计一套网上购物系统,在下面的各章中,我将以这套网上购物系统为例,谈谈其开发过程和所涉及到的问题。
应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。
数据库应用课程实践:
实践和巩固在课堂教学中学习的关于oracle的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。
数据库原理软件设计实践:
实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
我设计的这套网上购物系统可以创建商品的相关信息,涉及到商品的制造商和供应商,顾客通过网站注册信息可以选购商品。
此外,还要创建视图,方便商品的管理,概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。
逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的几张表结合在一起完成一个总关系表。
最后就是要运行和实施数据库,以及相关索引视图和触发器的建立。
1需求分析
对用户进行充分调查,弄清楚他们的实际要求,然后再分析和表达这些需求。
具体步骤如下:
首先是调查商品和生产商及供应商以及注册顾客及它们之间的相互关系。
调查的结果应该用一张详细的组织机构图来表示。
其次是熟悉各部门的业务活动情况。
目的是调查各部门的业务活动情况,对现行系统的功能和所需信息有一个明确地认识。
再次是分析用户需求。
目的是通过前两项调查结果,对应用领域中各应用的信息要求和操作要求进行详细分析,从中得到信息要求,处理要求和对数据的安全性、完整性的要求。
分析结果通常用一组图来表示,主要包括数据流图、数据字典和处理逻辑表达工具等。
最后是确定新系统的边界。
目的是确定整个系统中,哪些由计算机完成,哪些将来由计算机完成,哪些由人工完成。
由计算机完成的功能就是新系统应该实现的功能。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
1.1处理对象及其组织
系统要处理的基本对象包括供应商基本信息、顾客基本信息、顾客订单基本信息、商品基本信息、库存基本信息、物流单位基本信息、供应基本信息等多个对象。
各个基本对象包含信息如下所示:
供应商(供应商的编号、供应商的名称、供应商的地址、供应商的联系电话)
顾客(顾客编号、顾客姓名、顾客密码、顾客性别、顾客电话、顾客邮箱、顾客地址)
商品(商品的编号、商品名称、商品价格、商品类别、商品描述)
库存(仓库编号、仓库存取下限)
顾客订单(订单编号、订单日期、订货数量、订单总额、订单状态)
物流单位(物流单位编号、物流单、物流电话)
店主(店主编号、店主姓名、店主电话)
供应(供应商的编号、商品的编号、供应价格、供应数量、供应时间)
销售(商品编号、顾客编号、销售时间、销售数量、销售价格)
评论留言(店主编号、顾客编号、时间、类型)
运输(物流单位编号、顾客编号、库存编号、顾客订单编号、运输时间)
1.2系统功能及信息处理
本网上购物系统大体上包含三个模块,为商品采购,商品销售以及商品配送功能模块。
具体实现如下所述。
1.3安全性和完整性要求
安全性先通过视图机制,不同的用户只能访问系统授权的视图;再通过用户授权机制,通过用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。
完整性要求用于确保各处理对象的主属性取值唯一并且一般不能为空;各处理对象的参照属性取值必须是来自于被参照属性。
可以通过用户自定义完整性(符合实际要求)来确保数据符合更高规范要求。
详细完整性要求见于系统的逻辑设计阶段。
1.4系统开发环境
此系统开发环境以windowsXP为开发平台,采用选择功能强大的SQL为开发工具。
同时根据实习的要求,另开发系统还有windows2000,同时相应采用了oracle10g为开发工具。
1.5数据流程图(DFD图)
数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符综合地反映出信息在系统中的流动、处理和存储情况。
根据上面业务流程图的描述,从系统的科学性、管理的合理性、实际运行的可行性角度出发,自顶向下对系统进行分解,导出了网上购物系统的顶层数据流程图、第一层数据流程图和第二层数据流程图。
1.5.1系统数据流程图符号解释
图1-1外部实体图1-2处理过程图1-3数据流图1-4数据存储
1.5.2顶层数据流程图
图2顶层数据流程图
上图是网上购物系统的顶层数据流程图。
由业务流程图确定系统开发的外部实体即系统数据的来源与去处,从而确定了整个系统的外部实体和数据流。
在顶层数据流程图中,把网上购物系统作为一个处理环节,与实体间传递信息,简单的表达系统的各部分功能。
1.5.3第一层数据流程图
图2-1第一层数据流程图
确定系统的主要处理功能后,可以将系统分为商品采购业务、商品销售和商品配送三个模块。
再确定各个输入和输出数据流以及与之相关的数据结构,从而得到网上购物系统的第一层数据流程图,如上图所示。
1.5.4第二层数据流程图
图2-1-1商品采购业务数据流程图
图2-1-2商品销售数据流程图
图2-1-3商品配送数据流程图
1.7数据字典
数据流程图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典在数据库设计中占有很重要的地位。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
数据字典的具体内容详见附录1
2数据库结构设计
数据库结构设计内容主要包括概念设计和逻辑设计两个部分。
2.1概念设计
在需求分析阶段已经得到了应用需求,只有将这些应用需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,才能更好地、更准确地用某一DBMS实现这些需求。
因此,作为将应用需求抽象为信息结构的概念设计阶段,应该以如下要求为目标:
(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
(4)易于向关系、网状、层次等各种数据模型转换。
概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。
概念设计的任务和方法是能用E—R图表示出整个系统的实体、实体属性及实体间的联系。
概念结构设计通常采用的策略是自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构。
它通常分为两步:
第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。
2.1.1分E-R图建立
根据分解第二层数据流程图可分别得到几个实体E_R模型。
图3-1顾客实体
图3-2商品实体
图3-3供应商实体
图3-4库存实体
图3-5顾客订单实体
图3-6物流单位实体
图3-7店主实体
图3-8供应关系
图3-9销售关系
图3-10评论留言关系
图3-11运输关系
2.1.2全局/整体E-R图
由于在做局部E—R图时,只考虑了局部功能模块,这样会导致各个E—R图之间有很多不一致的地方,造成在合并各分E—R图生成全局E—R图时有很多冲突。
通过仔细分析各个分E-R图之间的联系,消除冗余,消除冲突,最终成功生成全局E-R图,如附录2所示。
2.2逻辑设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E—R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
从理论上讲,设计逻辑结构应该选择最适合于相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。
但实际情况往往是已给定了某种DBMS,设计人员没有选择的余地。
设计逻辑结构时一般要分3步进行:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。
2.2.1建立关系模式
关系模型由E—R图转换而来,实际上就是要将实体、实体的属性和实体之间的联系明确表示出来,这种转换一般遵循如下规则:
一个实体型转换为一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
(1)一个1:
1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:
n联系可以转换为一个独立的关系模式看,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码n端实体的码。
(3)一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
根据以上规则将本网上购物系统的E—R图转换为关系模式的结果如下所示:
(关系的主码和外码用下划直线标出,若有外码,括号里面最前面是主码,最后面是外码)
供应商(供应商的编号、供应商的名称、供应商的地址、供应商的联系电话)
顾客(顾客编号、顾客姓名、顾客密码、顾客性别、顾客电话、顾客邮箱、顾客地址)
商品(商品的编号、商品名称、商品价格、商品类别、商品描述)
库存(仓库编号、仓库存取下限)
顾客订单(订单编号、订单日期、订货数量、订单总额、订单状态)
物流单位(物流单位编号、物流单、物流电话)
店主(店主编号、店主姓名、店主电话)
供应(供应商的编号、商品的编号、供应价格、供应数量、供应时间)
销售(商品编号、顾客编号、销售时间、销售数量、销售价格)
评论留言(店主编号、顾客编号、时间、类型)
运输(物流单位编号、顾客编号、库存编号、顾客订单编号、运输时间)
2.2.2关系模式规范化处理
关系数据库中的关系必须满足一定的规范化要求,对于不同的规范化程度可用范式来衡量。
范式是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合。
此系统中的上述关系模式经过模式分解,已消除了数据冗余等不好的现象,都已符合3NF要求。
2.2.3用户子模式建立
用户子模式可通过建立视图来表示。
视图是虚表,是从一个或几个基本表(或视图)中导出的表,在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。
定义视图可以简化应用程序、可以实现一定的权限控制。
为了满足用户需求及方便后期数据库实施阶段的设计,此系统设计了如下视图。
各视图定义:
商品保质期(商品名称,生产日期,保质期,过期日期)
下架商品(商品名称,货架名称,过期日期)
销售员基本信息(营业员号,上班时间,下班时间,月薪,联系电话)
顾客总消费情况(卡号,姓名,累计消费)
商品价格(商品名称,价格)
商品存放(商品名称,货架名称)
缺货商品(商品名称,现有存量,底线存量)
商品信息(货架名称,存放商品名)
工作人员联系方式(姓名,编号,联系电话)
工作人员工资信息(姓名,编号,工资)
表1(网上购物系统)各视图详细说明
序号
视图名称
作用
备注
V-1
销售信息
便于查询、更改营业员信息
V-2
顾客总消费
便于查询顾客累计消费情况
V-3
商品价格
便于查询、更新商品价格
V-4
商品存放
便于查询、管理商品存放
V-5
缺货商品
便于生成缺货单
若现有存量等于或小于底线存量,则为缺货
V-6
商品信息
便于管理货架,查询、更新货架存放商品
V-7
工作人员联系方式
便于联系、查询、管理工作人员
增加编号为了区别同名人员
V-8
工作人员工资信息
便于查询、更新、管理工作人员情况
增加编号为了区别同名人员
V—9
商品保质期
便于查询每件商品的过期日期
V—10
下架商品
便于查询需强制下架商品名单
当商品过期日期小于今天日期时,商品需强制下架
V—11
消费单上各商品情况
便于生成销售发票给顾客
2.2.4关系模式逻辑结构定义
表2(网上购物系统)关系模式汇总
编号
关系名称
模式说明
T—1
ShopAssistant(详见附录3-1)
(详见附录3-1)
T—2
Administrator(详见附录3-2)
(详见附录3-2)
T—3
Member(详见附录3-3)
(详见附录3-3)
T—4
Goods(详见附录3-4)
(详见附录3-4)
T—5
GoodsShelf(详见附录3-5)
(详见附录3-5)
T—6
BillSell(详见附录3-6)
(详见附录3-6)
T—7
SellGoods(详见附录3-7)
(详见附录3-7)
T—8
ReturnGoods(详见附录3-8)
(详见附录3-8)
T—9
PrintBill(详见附录3-9)
(详见附录3-9)
3数据库物理设计
数据库系统建立的索引如下所述。
(1)对于Adminastrator(管理员),可在其属性列Anum上建立唯一性索引,索引值按降序排列。
(2)同样对于基本表GoodsShelf(货架)、Goods(商品),可在其主属性上建立唯一性索引。
(3)对于基本表BillSell(销售单)、SellGoods(销售商品)、ReturnGoods(退货单)、PrintBill(打印),由于其属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引。
表3(网上购物系统)索引表
所在表名
索引名称
索引类型
所在表的属性
Adminastrator
dex_Anum
唯一
Anum
GoodsShelf
dex_GSnum
唯一
Gsnum
Goods
dex_Gnum
唯一
Gnum
4数据库实施与测试
主要包括数据库实施和测试两个部分。
4.1数据库实施
4.1.1数据库及数据库对象建立
主要包括:
数据库、基本表、视图、索引、触发器以及存储过程。
相应PL/SQL语句详见附录4.
4.1.2数据入库
对各个数据表成功要录入了20条左右的测试记录,测试结果满足设计要求。
4.2数据库测试
数据库测试阶段主要内容是对建立的数据库及数据库对象进行测试,对测试结果进行分析,是否满足设计要求。
测试结果见附录4.
5总结
通过两个星期的数据库课程设计实习,对数据库知识有了更广泛的了解,在数据库的应用方面有了很大的收获。
(1)提高了实际调查获得数据的能力。
通过对网上购物网站地调查,采用询问-记录的方式,获得关于网上管理的业务流程和一些可靠表单,为网上购物系统开发的需求分析阶段,提供了一个良好的开端。
。
(2)加深了对数据库系统相关知识和ORACLE数据库相关功能的理解。
以前只停留于记忆书本上关于数据库系统的理论知识,没有切身实地的实践过,而通过这次实习我再次加深了对数据库相关功能的理解与应用。
(3)进一步掌握相关的SQL语句。
开发设计网上购物系统的过程中牵涉到相当多基本表的建立,视图、索引以及存储过程的设计,这让我对这些SQL语句操作更熟练了。
(4)熟悉了对项目开发的大致过程。
这次系统开发,我更加明白体验到了数据库系统开发的过程,包括系统需求分析、概念设计、逻辑设计、物理设计,再到数据库实施、系统的测试和调试,对项目(系统)开发的大致流程有了一定的了解,为以后的系统的开发打下了良好的基础。
同样在在这次实习中,我看到了自己的基础知识的薄弱性,更体验到了基础知识的重要性。
比如说对具体的SQL语句还不是很熟悉,在画E-R图、设计带输出变量的存储过程以及建立相关索引时感到有些棘手。
遇到问题不可怕,其实能遇到问题是好事,它能让我在解决问题时学到更多的新知识,更能增加我的自信。
和传统管理模式相比较,使用本系统,毫无疑问会大大提高网站的运作效率,辅助提高店主的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强网站购物扩张能力,都能提供有效的技术保障。
但网上购物系统涉及范围宽,要解决的问题多,功能复杂,实现困难,本系统只能做出其中的销售管理部分功能,只适合小型网站使用。
由于自己初次独立设计开发数据库系统,能力非常有限,加上时间仓促,本系统毫无疑问有许多的不足之处。
对于出现的以上问题,我们深表歉意,恳请老师批评指正。
6附录
附录1总E-R图
图1-1总E-R图
附录2数据字典内容表
表2-1(网上购物系统)数据项(汇总统计)
数据项编号
数据项名
数据项含义
与其它数据项关系
类型
长度
取值范围
DI-1
SupNumber
供应商的编号
varchar2(20)
20
DI-2
SupName
供应商的名称
varchar2(25)
15
DI-3
SupAddress
供应商的地址
varchar2(60)
50
DI-4
SupPhone
供应商的联系电话
number
13
DI-6
CusNumber
顾客编号
varchar2(20)
20
DI-7
CusName
顾客姓名
varchar2(25)
15
DI-8
Cuspassword
顾客密码
varchar2(15)
15
DI-9
CusPhone
顾客电话
number
13
DI-10
CusSex
顾客性别
varchar2(10)
10
DI-11
CusEmail
顾客邮箱
varchar2(20)
20
DI-12
CusAddress
顾客地址
varchar2(60)
50
DI-13
GNumber
商品编号
varchar2(20)
10
DI-14
Gname
商品名称
varchar2(25)
15
DI-15
Gprice
商品价格
varchar2(10)
10
DI-17
Gcate
商品类别
varchar2(15)
15
DI-18
Ginfor
商品描述
varchar2(100)
100
DI-19
ShouseNum
仓库编号
varchar2(10)
10
DI-20
ShouseLim
仓库存取下限
varchar2(15)
15
DI-23
LogNum
物流单位编号
varchar2(15)
15
DI-24
LogTable
物流单
varchar2(60)
50
DI-25
LogPhone
物流电话
number
13
DI-26
OrderNum
订单编号
varchar2(20)
13
DI-27
OrderDate
订单日期
date
16
DI-28
Ordershu
订货数量
number
20
DI-29
OrderStatus
订单状态
varchar2(20)
20
DI-30
OrderSum
订单总额
varchar2(15)
15
DI-31
ShopkeeperNum
店主编号
varchar2(15)
15
DI-32
ShopkeeperName
店主姓名
varchar2(20)
10
DI-33
ShopkeeperPho
店主电话
varchar2(15)
15
DI-34
Gtime
供应时间
date
16
DI-35
Gquantity
供应数量
varchar2(20)
10
DI-36
Gprice
供应价格
varchar2(21)
11
DI-37
Squantity
销售数量
varchar2(22)
12
DI-38
Stime
销售时间
date
16
DI-39
Sprice
销售价格
varchar2(20)
10
DI-40
Ccate
评论类型
varchar2(21)
11
DI-41
Ctime
评论时间
date
16
DI-42
Ttime
运输时间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 论文