服装电子商务
上QQ阅读APP看书,第一时间看更新

第五节 数据库技术

在大数据时代,数据库系统的应用越来越广泛,数据管理是数据库系统的核心任务,内容包括对数据的分类、组织、编码、存储、查询和维护。随着信息技术应用范围的不断扩大,数据库技术也处在不断发展之中。从数据管理方式的角度看,数据管理经历了手工管理阶段、文件系统阶段和数据库系统阶段。

一、数据库系统的组成

数据库系统(Database System, DBS)一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户组成,其中,数据库管理员和用户主要是指存储、维护和查询数据的各类使用者,由以下3类人员组成:

(1)最终用户:是应用程序的使用者,通过应用程序与数据库进行交互。他们通过计算机联机终端存取数据库的数据,具体操作应用程序,通过应用程序的用户界面,使用数据库来完成其业务活动。数据库的模式结构对最终用户是透明的。

(2)应用程序员:是指负责设计和编写应用程序的人员,应用程序员使用高级语言编写应用程序,以对数据库进行存取操作。数据库系统一般需要一个以上的应用程序员在开发周期内完成数据库结构设计、应用程序开发等任务,在后期管理应用程序,完成使用周期中对应用程序在功能及性能方面的维护、修改工作。

(3)数据库管理员:其职能是对数据库进行日常管理,负责全面管理和控制数据库系统。数据库管理员的素质在一定程度上决定了数据库应用的水平,所以他们是数据库系统的重要人员。

二、数据库管理系统

数据库管理系统(Database Management System, DBMS),其职能是对收集到的大量数据经过整理、加工、归并、分类、计算、存储等处理,产生新的数据,以便反映事物或现象的本质和特征及其内在联系。例如,在微波炉生产中,生产管理者根据某种微波炉历年销售数量及最近的市场需求调查,获得了许多数据。再对这些数据进行加工,就会得出相关微波炉的市场预测信息,生产管理者就可根据这些信息进行分析和评价,做出对该产品是增产、减产还是停产的决策。完成这个数据处理任务的是数据库管理系统。它是位于用户与操作系统之间的一种数据管理软件。数据库在建立、运用和维护时由数据管理系统统一管理、统一控制,它可使用户方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的数据恢复。

三、数据模型

数据模型是从计算机角度看到的模型。要求用有严格语法和语义的语言对数据进行严格的形式化定义、限制和规定,使模型能转变为计算机可以理解的格式。主要包括网状模型、层次模型、关系模型等。数据库中的数据是高度结构化的,也就是说,数据库不仅要考虑记录内的各个数据项之间的关系,还要考虑记录与记录之间的关系。

关系模型是目前最重要的一种模型。数据库领域当前的研究工作都是以关系数据模型为基础的。一个关系模型的逻辑结构是一张二维表,它由行和列组成,每一行称为一个元组,每一列称为一个字段。

数据库需根据应用系统中数据的性质、内在联系,按照管理的要求来设计和组织。在现实世界中,事物内部以及事物之间是有联系的,实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。在关系型数据库中,两个实体之间的联系可以分为一对一、一对多和多对多三类。

一对一联系:对于实体集A中的每一个实体,实体集B中至多存在一个实体与之联系,反之亦然,则称实体集A与实体集B之间存在一对一联系,记作l:l。

例如,学校中一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间存在一对一联系;商场中购物店与店长、乘车旅客与车票之间等都存在一对一的联系。如图2-7(a)所示。

一对多联系:对于实体集A中的每一个实体,实体集B中存在多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中至多只存在一个实体与之联系,则称实体集A与实体集B之间存在一对多的联系,记作1:n。

例如,一个班里有很多学生,一个学生只能在一个班里注册,则班级与学生之间存在一对多联系;一个商场有许多商品,商场和商品之间存在1对多联系。如图2-7(b)所示。

多对多联系:对于实体集A中的每个实体,实体集B中存在多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中也存在多个实体与之联系,则称实体集A与实体集B之间存在多对多联系,记作m:n。

例如,一个学生可以选修多门课程,一门课程可同时由多个学生选修,则课程和学生之间存在多对多联系;一个顾客可以购买多种商品,一种商品可由多个顾客购买,则商品和顾客之间存在多对多联系。如图2-7(c)所示。

图2-7 两个实体集之间联系的三种情况

客观事物及其联系是信息之源,是组织和管理数据的出发点。为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,首先要将现实世界抽象为信息世界,然后将信息世界转换为机器世界。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,而是概念级的模型,然后再把概念模型转换为计算机上某DBMS支持的数据模型。这一过程如图2-8所示。

图2-8 现实世界数据抽象图