荟萃馆

位置:首页 > 资格证 > 电子商务师

电子商务师考试辅导:数据库技术基本理论

数据库技术是信息系统的一个核心技术。是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。下面是小编为大家搜索整理的电子商务师考试辅导:数据库技术基本理论,希望对大家有所帮助。

电子商务师考试辅导:数据库技术基本理论

 数据库技术基本理论

电子商务是指利用电子及网络进行的商务活动:这里的电子网络主要是指Internet和基于Internet技术的Intranet(企业内部网)、Extranet(企业外部网)。所进行的商务活动不仅包含电子数据交换所涉及的电了交易,还包括电了函件交流、网上站点宣传和利用Internet技术改造的其他传统应用。但电子商务应用的前提是企业管理信息系统得广泛使用。数据库技术是企业管理信息系统的核心技术之一。所以,想深入地理解电子商务就应该了解数据库的一些基本理论。

 一、数据和信息

所谓数据就是为反映客观世界而记录下来的可以鉴别的符号,可以是数字、字符、图形、图像、声音等。而信息是指经过解释的数据,能解决或减少人们的对客观事物认识的不确定性。数据和信息之间的区别和联系是:数据是纯客观的,只单纯反映客观事物的性质,并不说明该事物对主观的作用与数据只是信息的载体,是表达和传递信息的工具。数据经过加工处理可以上升为信息。同一信息可以用不同形式的数据表达,而不改变信息的内容。

 二、数据模型

数据模型是对现实世界中的数据和信息进行抽象、表示和处理的工具,是对现实世界的模拟,也是数据库系统中用于提供信息表示和操作手段的形式构架,通常其构成是:数据结构,包括数据对象及其相互联系;数据操作,主要是对数据的检索和更新。

数据的约束条件是完整性规则的集合。完整性规则是指在给定的数据模型中数据及其联系所具有的制约和依存规则。在数据库系统中,主要的数据模型有:层次模型(Hierarchical Model)、网状模型(Network Model)、和关系模型(Relational Model)。

(1)层次模型(Hierarchical Model)

用树型结构来表示实体型及其联系的数据模型称为层次模型,在这种结构中每个结点表示一个记录类型,连线表示两个记录之间的关系,位于上层的结点称为双亲结点,下层则为子女结点。树的最高层只有一个结点,成为根结点。如图2-20就是某学校的一个层次模型。图中“教研室”结点就是“教师”的双亲结点,而“教师”结点就是子女结点。

由于除一个没有双亲结点的根结点之外,任何结点有且只有一个双亲结点,所以只能直接表示一对多的实体联系(包括一对一,多对多关系须分解成一对多的联系)。

(2)网状模型(Network model )

网状模型比层次模型更具普遍性。它允许多个结点没有双亲结点,也允许一个结点有多个双亲结点,允许两个结点之间有多种联系。所以网状模型可以直接地描述现实世界,特别适合处理多对多的联系。

图2-20 产品网状模型

在图2-19中,客户和产品结点都没有双亲结点,订单明细结点有两个双亲结点,所以该数据模型不属于层次模型,而属于网状模型。

(3)关系模型(Relational model)

关系模型是三种数据库中最重要的模型,也是现在用的最广的模型。其数据结构的基本思想是将实体之间的联系以二维表的结构来表示。一个二维表就是一个关系;二维表中的一行代表一个实体,由实体的若干属性组成,称为记录;二维表中的一列为关系一个属性,称为数据项。

目前大部分数据库采用的是关系型数据库,如 Sybase、SQL Server、Oracle、Access等。

关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式,现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式(本教材不作介绍)。

数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入()、删除()和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。

 第一范式(1NF):

数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。

很显然,在当前的任何关系数据库管理系统(DBMS)中,谁也不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一列再分成二列或多列。因此想在现有设计中设计出不符合第一范式的数据库都不可能。

  第二范式(2NF):

数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。

假定选课关系表为SelectCourse(学号,姓名,年龄,课程名称,成绩,学分),关键字为组合关键字(学号,课程名称),因为存在如下决定关系:

(学号,课程名称) → (姓名,年龄,成绩,学分)

这个数据库表不满足第二范式,因为存在如下决定关系:

(课程名称)→(学分)

(学号)→(姓名,年龄)

即存在组合关键字中的字段决定非关键字的情况。

由于不符合2NF,这个选课关系表会存在如下问题:

(1)数据冗余:同一门课程由n个学生选修,“学分”就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。

(2)更新异常:若调整了某门课程的学分,数据表中所有行的“学分”值都要更新,否则会出现同一门课程学分不同的情况。

(3)插入异常:假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有“学号”关键字,课程名称和学分也无法记录入数据库。

(4)删除异常:假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。

把选课关系表SelectCourse改为如下三个表:

学生:Student(学号,姓名,年龄);

课程:Course(课程名称,学分);

选课关系:SelectCourse(学号,课程名称,成绩)。

这样数据库表是符合第二范式的,消除了数据冗余、更新异常、插入异常和删除异常。

另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。

 第三范式(3NF):

在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在“A→B→C”的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系:

关键字段→非关键字段x→非关键字段y

假定学生关系表为Student(学号,姓名,年龄,所在学院,学院地点,学院电话),关键字为单一关键字“学号”,因为存在如下决定关系:

(学号)→(姓名,年龄,所在学院,学院地点,学院电话)

这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:

(学号)→(所在学院)→(学院地点, 学院电话)

即存在非关键字段“学院地点”、“学院电话”对关键字段“学号”的'传递函数依赖。

它也会存在数据冗余、更新异常、插入异常和删除异常的情况。

把学生关系表分为如下两个表:

学生:(学号,姓名,年龄,所在学院);

学院:(学院,地点,电话)。

这样数据库表是符合第三范式的,消除了数据冗余、更新异常、插入异常和删除异常。

鲍依斯-科得范式(BCNF):

在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合BCNF范式。

假设仓库管理关系表为StorehouseManage(仓库ID,存储物品ID,管理员ID,数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系:

(仓库ID,存储物品ID)→(管理员ID,数量)

(管理员ID,存储物品ID)→(仓库ID,数量)

所以,(仓库ID,存储物品ID)和(管理员ID,存储物品ID)都是StorehouseManage的候选关键字,表中的唯一非关键字段为数量,它是符合第三范式的。但是,由于存在如下决定关系:

(仓库ID)→(管理员ID)

(管理员ID)→(仓库ID)

即存在关键字段决定关键字段的情况,所以其不符合BCNF范式。会出现如下异常情况:

(1) 删除异常:当仓库被清空后,所有“存储物品ID”和“数量”信息被删除的同时,“仓库ID”和“管理员ID”信息也被删除了。

(2) 插入异常:当仓库没有存储任何物品时,无法给仓库分配管理员。

(3) 更新异常:如果仓库换了管理员,则表中所有行的管理员ID都要修改。

把仓库管理关系表分解为二个关系表:

仓库管理:StorehouseManage(仓库ID,管理员ID);

仓库:Storehouse(仓库ID,存储物品ID,数量)。

这样的数据库表是符合BCNF范式的,消除了删除异常、插入异常和更新异常。

 三、数据库系统的组成

数据库系统主要由数据库管理系统(Data Base Management System, DBMS)、数据库(Data Base , DB)、应用程序(Applied Program ,AP)、计算机系统(Computer System, CS)、数据库管理员(Data Base Administrator, DBA)构成。

数据库管理系统(DBMS)是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心部分组成。它建立在操作系统的基础上,对数据库进行统一的管理和控制。用户使用的各种数据库命令以及应用程序的执行,都要通过数据库管理系统。数据库管理系统还承担着数据库的维护工作,按照DBA所规定的要求,保证数据库的安全性和完整性。

 四、数据库技术的发展趋势

随着表示结构化信息的数据库与数据仓库技术发展迅速,除了目前广泛应用的关系型数据库管理系统(如Sybase、Oracle等),近年来还出现了一些新的发展方向,如面向对象的数据库(OODB)、多维数据库(MDDB)、主动数据库、多媒体数据库等。数据库技术还与其他多学科技术的有机组合,形成面向专门应用领域的数据库技术,如数据挖掘DM(Data Mining)、数据库中的知识发现KDD(Knowledge Discovery in Database)、智能代理(Agents)、智能信息检索技术等等。