随着现代管理信息化的发展,网络及计算机的引入使管理跃上了一个新的发展平台。人们的生活方式都将向信息化方向扩展,网上购物已经成为人们生活中不可或缺的一部分,和日常生活的联系最为紧密。
为了更好的巩固和加强书本所学的知识,把所学的东西转化为实际应用。我们学习了IBMDB2应用程序的使用。并应用了SQL语言。对数据库的创建、修改、删除方法有了一定的了解。通过导入表和删除表、更改表学会了对于表的一些操作。为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
关键词:SQL语言;IBMDB2;数据库设计;网上购物系统
应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。
数据库应用课程实践:实践和巩固在课堂教学中学习的关于DB2的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。
数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
建立三个用户:administrator,user2,user3
(1)使第一个用户user1和db2admin一起成为admin组的成员,使admin具有SYSADM的权限。
(2)使第二个用户user2拥有DBADM的权限。
(3)将创建的七张表的所有特权授予给自己建立的用户user3。相应的sql语句为:
GrantselectontableclubbertoUSER3;
GrantselectontableproducttoUSER3;
GrantselectontableSUPPLIERtoUSER3;
GrantselectontablemanufacturertoUSER3;
GrantselectontabledeliverytoUSER3;
第二章需求分析2.1需求分析的任务需求分析的任务是调查应用领域,对应用领域中各应用的信息要求和操作要求进行详细设计分析,形成需求分析说明书。重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、数据的安全性与完整性要求。数据库设计的需求分析是开发数据库应用系统整个项目中需求分析的一部分。需求分析是否详细、正确,将直接影响后面各个阶段的设计,影响到设计结果是否合理和实用。
对用户进行充分调查,弄清楚他们的实际要求,然后再分析和表达这些需求。具体步骤如下:首先是调查商品和生产商及供应商以及注册顾客及它们之间的相互关系。调查的结果应该用一张详细的组织机构图来表示。其次是熟悉各部门的业务活动情况。目的是调查各部门的业务活动情况,对现行系统的功能和所需信息有一个明确的认知。例如了解超市商品输入和使用什么数据如何加工处理这些数据,输出什么信息,输出结果的格式是什么等。再次是分析用户需求。目的是通过前两项调查结果,对应用领域中各应用的信息要求和操作要求进行详细分析,从中得到信息要求,处理要求和对数据的安全性、完整性的要求。分析结果通常用一组图来表示,主要包括数据流图、数据字典和处理逻辑表达工具等。最后是确定新系统的边界。目的是确定整个系统中,哪些由计算机完成,哪些将来由计算机完成,哪些由人工完成。由计算机完成的功能就是新系统应该实现的功能。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
2.3数据字典数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。以网上购物系统为例,经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图2.1所示。下面,结合该实例具体情况,给出商品顾客制造商和生产商的具体需求。
图2.1网上购物业务流程图
⑴调查用户需求
①顾客需求
l查询功能:
u按商品名字查询
u按商品价格查询
u按商品制造商查询
u查询自己的消费记录
l修改功能:可以修改自己的密码
②商品管理需求
u按出库存量查询商品
u按生产商查询商品
u按供应商查询商品
u查看销售记录
u查看销售量
l修改功能:可以使用SQL语句对该表进行修改操作
l删除功能:可以使用SQL语句对该表进行商品删除操作
2.4系统框架在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,如图2.2所示
各子系统需要进一步细化。以注册会员系统为例进一步细化,如图2.3所示。
图2.3子系统细化
以其中的查询商品信息功能为例进一步细化,如图2.4所示。
以其中的查询消费记录功能为例进一步细化,如图2.5所示
依此类推,将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。
经分析之后,本系统要用到七个基本表:商品信息关系表、用户关系表、厂商关系表、供货商关系表和会员关系表。数据结构定义如表2.1所示。
表2.1数据结构定义
数据结构名
含义说明
组成
商品信息
关系表
商品编号,商品名称,价格,库存量
会员信息关系表
会员ID,会员姓名,会员密码,住址,账号密码
供应商
供应商编号,供应商名称,
制造商关系表
制造商编号,制造商名称,
供货关系表
供应商编号,商品编号,供货量,
生产关表表
制造商编号,商品编号
销售关系表
第三章概念结构设计3.1概念结构设计的方法与步骤概念结构独立于数据库逻辑结构和支持数据库的DBMS。概念结构即概念模型,其主要特点是:
(1)概念模型是反映现实世界的一个真实模型。
概念模型应能真实,充分反映现实世界,能满足用户对数据的处理要求。
(2)概念模型应能易于理解。
概念模型只有被用户理解后,才可以与设计者交换意见,参与数据库的设计。
(3)概念模型应当易于更改。
由于现实世界会发生变化,这就需要改变概念模型,易于更改的概念模型有利于修改和扩充。
(4)概念模型应易于向数据模型转换。
概念模型最终要转换为数据模型。设计概念模型时应当注意,使其有利于向特定的数据模型转换。
设计概念结构通常有四类方法:
(1)自顶向下:即首先定义全局概念结构的框架,然后逐步细化。
(2)自底向上:即首先定义各局部应用的概念结构,然后将它们集成起来得到全局概念模式。
(3)逐渐扩张:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他的概念结构,直至总体概念结构。
(4)混合策略:即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
其中最经常采用的策略是自底向上的方法。即自顶向下地进行需求分析,然后再自底向上地设计概念结构。这个超市管理系统就用这种方法。
概念结构的设计可分为两步:第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构。
按图2.2网上购物系统总框架图,设计局部E-R图。该超市管理系统包含七个表。
各个子系统的局部E-R图如下:
图3.1供应商关系E-R图
图3.2商品关系E-R图
图3.3制造商关系E-R图
图3.4注册会员关系E-R图
图3.5供货关系E-R图
图3.6商品销售关系E-R图
图3.7生产关系E-R图
视图的集成通俗的理解就是把各个子E-R图集成合并。视图集成可以有两种方式:1)多个分E-R图一次集成;2)逐步集成,用累加的方式一次集成两个分E-R图。第一种方法比较复杂,做起来难度较大;第二种方法每次只集成两个分E-R图,可以降低复杂度。无论采用哪种方式,每次集成局部E-R图时都需要分两步走:1)合并。解决各分E-R图合并起来生成初步E-R图;2)修改和重构。消除不必要的冗余,生成基本E-R图。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,应当予以消除。消除了冗余后的初步E-R图称为基本E-R图。消除冗余主要采用的方法有:1)用分析方法消除冗余;2)用规范化理论消除冗余。
对该超市管理系统各子E-R图的集成——即该超市管理系统的总体概念结构E-R图如下图所示:
图3.5总体概念结构E-R图
由于概念设计的结果是ER图,DBMS一般采用关系模型,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。
将该超市管理系统的总体概念结构E-R图转换为关系模型:
商品(商品编号,商品名称,价格,库存数量)
注册会员(会员编号,会员姓名,会员密码,商品编号)
供货关系(供货商编号,商品编号,采购数量,采购日期,采购价格)
生产关系(制造商编号,商品编号)
销售关系(商品编号,会员编号,交易量,交易日期)
数据模型的优化是为了提高数据库应用系统的性能,根据应用需要适当地修改、调整关系模式。将转化的关系模式进行优化,最终达到第三范式。
由以上关系可看出,这个关系模型都已经达到第三范式,所以不需要进行优化。
给出网上购物系统基本表结构图4-1。
图4-1系统基本表结构图
各表的结构如下所示:
表4-1注册会员关系表(Clubber)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
clubID
char
20
P
Notnull
会员编号
clubname
50
会员名称
clubADDR
会员地址
clubpword
会员密码
CLUtotol
Int
4
消费总额
表4-2商品信息表(Product)
PROID
商品编号
PRONAME
商品名称
PROPRICE
DOUBLE
商品价格
prorepertory
INT
库存数量
表4-3制造商关系表(Manufacturer)
MANUID
制造商编号
MANUNAME
制造商名称
MANUADDR
制造商地址
MANUPHONE
表4-4供应商关系表(SUPPLIER)
SUPID
供货商编号
SUPNAME
供货商名称
SUPADDR
供货商地址
SUPPHONE
表4-5供货关系表(Delivery)
10
供应商编号
Char
delqty
采购数量
deldate
delprice
采购价格
表4-6生产关系表(Produce)
表4-7销售关系表(Retail)
retime
amount
交易数量
建立索引是加快查询速度的有效手段。索引有唯一索引和聚簇索引类型:UNIQUE表示次索引的每一个索引值,只对应唯一的数据记录,不允许表中不同的行在索引列上取相同的值。
CLUSTER表示建立的索引是聚簇索引。聚簇索引是指索引的顺序与表中的记录的物理顺序一致的索引组织。要求在表PRODUCT的PRONAME列上建立唯一索引,所处位置在sms01表空间,相应的SQL语句如下:
CREATEUNIQUEINDEXADMINISTRATOR.MYINDEXONADMINISTRATOR.PRODUCT(PRONAMEASC)PCTFREE10MINPCTUSED10ALLOWREVERSESCANSPAGESPLITSYMMETRICCOLLECTSAMPLEDDETAILEDSTATISTICS;
要求在表DELIVERY的PROID列上建立聚簇索引,所处位置在sms01表空间,相应的SQL语句如下:
CREATEINDEXADMINISTRATOR.MYCLUTINDXONADMINISTRATOR.DELIVERY(PROIDASC)CLUSTERPCTFREE10ALLOWREVERSESCANSPAGESPLITSYMMETRICCOLLECTSAMPLEDDETAILEDSTATISTICS;
给出表空间是用来指定数据库的物理位置的,是位于数据库和实际存放表数据的容器之间的逻辑层。表空间有两种类型:系统管理表空间和数据库管理表空间。本系统用到两个表空间dms01和sms01,dms01是数据库管理表空间,用来存放自己建立的表。sms01是系统管理表空间,用来存放建立的索引。具体SQL语言如下:
Createregulartablespacedms01
Managedbydatabaseusing(FILE'D:\dms\dms01'5120)
Createregulartablespacesms01
Managedbysystemusing('d:\sms\sms01');
需要明确数据库需要建立几张表,以及每个表中所要包括的属性。在建立表的过程中。要对每个表进行字段属性的设置。(至少包括6张表,每个表都有主键,设必要的外键;根据实际情况,设计一个Check约束;至少建立一个视图)
在修改商品价格的时候,新的商品价格不能超过原来价格的2倍,否则修改不成功,依此设计一个触发器。
收录了9位会员的信息如图6.1。会员号,住址,姓名,消费金额。
图6.1会员信息表
图6.2供应关系表
图6.3制造商信息表
收录了9条制造关系信息如图6.4,制造商号,商品号
图6.4制造关系信息表
收录了9种商品的信息如图6.5,商品号,商品名,商品价格,库存量
图6.5商品信息表
图6.6消费关系信息表
图6.7供应商信息表
查询消费金额大于300元的会员名字,会员号和消费金额语句和结果如图6.8
图6.8消费金额查询
查寻购买了三鹿奶粉的会员号,会员名字与购买数量语句和结果如图6.9
图6.9购买了三鹿奶粉的查询
添加两种商品执行脚本如图6.10
图6.10添加商品的执行脚本
添加两种商品的结果如图6.11
图6.11添加后的商品
修改可口可乐的价格为2.5元,执行脚本如图6.12
图6.12修改可口可乐的价格的脚本
修改可口可乐的价格为2.5元,结果如图6.13
图6.13修改后的价格
删除商品名称为“面包”的商品,语句和结果如图6.14
图6.14删除命令和结果
通过这次的数据库课程设计我学习并掌握了很多知识与操作。历时两个星期的设计令我受益匪浅,也对数据库这门学科有了更进一步的认识与熟悉。
参考文献
[1]杨鑫华,赵慧敏,丁传华。数据库原理与DB2应用教程:清华大学出版社,2007
[2]萨师煊,王珊。数据库系统原理教程:高等教育出版社,2000
[3]李志伟。DB2基础教程:清华大学出版社,2003
[4](美)数据库原理,性能与编程。周傲英等译。机械工业出版社。2002
[5]IBM公司。微软环境DB2UDB7.1开发指南。北京:机械工业出版社。2001
[6]王珊,陈红·数据库系统原理教程·清华大学出版社,1998,7