第02章数据基本理论 联系客服

发布时间 : 星期三 文章第02章数据基本理论更新完毕开始阅读ed274f9c59eef8c75fbfb3c1

2.逻辑模型设计

ER模型是面向用户的概念模型,是数据库设计过程中概念设计的结果。以ER模型为基础,将其转化为关系模型是数据库设计的下一步。

【例2-15】将例2-14的图书销售管理ER模型转化为关系模式表示的关系模型。 首先,将每个实体型转化为一个关系模式,于是分别得到部门、出版社、员工、图书、进书单的关系模式,关系的属性就是实体图中的属性。书库不需要单独列出。

然后,将ER图中的联系转化为关系模式。

ER图中有5个联系,因此,得到5个由联系转化得到的关系模式。它们分别是: ? ? ? ? ?

聘用(部门编号,工号,职务,薪金)

出版(出版社编号,图书编号,ISBN,版次,出版日期,定价,图书类别) 保存(图书编号,数量,存书折扣,备注)

负责(工号,售书单号)

售出(售书单号,图书编号,序号,数量,售价折扣)

在这些联系中,由1:n联系得到的关系模式可以与n方实体合并,合并时注意属性的唯一性。这样,“聘用”与员工合并;“出版”、“保存”与图书合并。“负责”与售书单合并。合并时重名的不同属性要改名。关系模式名和其他属性名也可酌情修改。

保留“售出”联系的模式,并结合需求分析改名为“售书明细”。

这样得到如下一组关系模式,这些就构成了图书销售数据库的关系结构模式。

① 部门(部门编号,部门名,办公电话)

② 员工(工号,姓名,性别,生日,部门编号,职务,薪金)

③ 出版社(出版社编号,出版社名,地址,联系电话,联系人)

④ 图书(图书编号,ISBN,书名,作者,出版社编号,版次,出版时间,图书类别,定价,折扣,数量,备注)

⑤ 售书单(售书单号,售书日期,工号)

⑥ 售书明细(售书单号,图书编号,序号,数量,售价折扣)

相对于ER模型中有实体、实体间联系,在关系模型中都是用关系这一种方式来表示,所以关系模型的数据表示和数据结构都十分简单。

关系模型的主要特点之一是将各实体数据分别放在不同关系中而不是放在一个集成的关系内,这使数据存储的重复程度减到最低。如员工、图书等关系中存放各自的数据,售书单和售书明细中只存放工号、图书编号,通过工号和图书编号来引用其他关系的数据,这样数据存储的冗余度最小,也便于数据库的维护和保持数据的一致。

在确定关系模式后,根据实际情况载入相应的数据,就可以得到对应于关系模式的关系了。一个关系模式下可以有一个到多个关系。本书示例每个模式下只有一个关系,直接用模式名作为关系名,然后添加元组数据。如表2.19是出版社关系。

建立关系模型是数据库逻辑设计的成果。

设计好关系模型后,结合特定DBMS,就可以进行物理设计,并在计算机上建立起物理数据库。

42 42

表2.19 出版社关系

出版社编号 1002 1010 2120 2703 2705 出版社名 大学教育出版社 清华大学出版社 电子技术出版社 湖北科技出版社 武汉大学出版社 地址 北京市东城区沙滩街 北京市海淀区中关村 上海市浦东区建设大道 联系电话 010-64660880 010-65602345 021-54326777 联系人 赵伟 路照祥 张正发 范雅萍 刘山 湖北省武汉市武昌区黄鹤路 027-87808866 武汉市洪山区八一路 027-83056656 2.6 数据库体系结构

数据库系统有比较统一的体系结构。虽然世界上运行的数据库众多,差异很大,但其体系结构基本相同,在创建和运行过程中都遵循三级模式结构。

2.6.1 三层体系结构

1975年美国国家标准委员会(ANSI)所属标准计划和要求委员会公布了一个关于数据库标准报告,提出了数据库三级模式结构(SPARC分级结构)。这三级模式分别是模式、内模式、外模式,如图2.15所示。

在三级模式结构中,不同的人员、从不同的角度看到的数据库是不同的。

1.三级模式

模式是对数据库的结构的描述。

(1)模式。又称概念模式,是对数据库的整体逻辑描述,并不涉及物理存储,因此称为DBA视图,或全局视图,即DBA看到的数据库全貌。例如,第1章中在Access中关于教学管理的所有表及其关系图结构即是描述整个数据库的模式。

(2)内模式。又称存储模式,是数据库真正在存储设备上存放结构的描述,包括所有数据文件和联系手段,以及对于数据存取方式的规定。如Access中数据库文件的内部结构,以及存储位置、索引定义等。

(3)外模式。又称子模式,是某个应用程序中使用的数据集合的描述,一般是模式的一个子集。外模式面向应用程序,是用户眼中的数据库,也称为用户视图。

综上所述,模式是内模式的逻辑表示;内模式是模式的物理实现;外模式是模式的部分抽取。三个模式反映了对数据库的三种观点:模式表示了概念级数据库,体现了数据库的总体观;内模式表示了物理级数据库,体现了对数据库的存储观;外模式表示了用户级数据库,体现了对数据库的用户观。

2.二级映射

三级模式中,只有内模式才真正描述数据存储,模式和外模式仅是数据的逻辑表示。

43

43

用户使用数据库中的数据,是通过“外模式/模式”映射和“模式/内模式”映射来完成的。一个数据库中只有一个模式和一个内模式,因此数据库中“模式/内模式”是唯一的;而每一个外模式都有一个“外模式/模式”映射,从而保证用户程序对数据的正确使用。

数据库中三级模式、二级映射的功能由DBMS在操作系统的支持下实现。

图2.15 数据库三级模式体系结构简图

采用三级模式、二级映射的有如下的好处。

(1)方便用户。用户程序看到的是外模式定义的数据库,因此,数据库向用户隐藏了全局模式的复杂性,用户也无须关心数据的实际物理存储细节;。

(2)实现了数据共享。不同的用户程序可使用同一个数据库中的同一个数据。

(3)利于实现数据独立性。包括物理独立性和逻辑独立性。如果由于物理设备或存储技术发生改变引起内模式发生变化,但不影响模式结构,这是数据的物理独立性;如果数据库的模式发生变化,但某个应用程序使用的数据没有变化,这样不需要修改该外模式和程序,这是数据的逻辑独立性。

(4)有利于数据的安全与控制。由于用户通过程序使用数据,而用户程序使用外模式定义的数据,要通过两级映射才获得真正的物理数据,因此易于实现数据的安全控制。

2.6.2 数据库管理系统概述

数据库设计的目标是建立计算机上运行的数据库,这必须借助于数据库管理系统(DBMS)才能完成。DBMS是数据库系统的关键部分,是用户与数据库的接口,用户程序及任何对数据库的操作都通过DBMS进行。

1.DBMS基本功能

一般地,DBMS具有以下主要功能。

44 44

(1)数据库定义功能:DBMS提供数据描述语言DDL(Data Description Language)定义数据库的模式、内模式、外模式,实现模式之间的映射,定义完整性规则,定义用户口令与存取权限等。这些信息都存放在数据库的数据字典中,供DBMS管理时参照使用。

(2)数据库操纵功能:提供数据操纵语言DML(Data Manipulation Language)实现对数据库的操作。有四种基本的数据库操作:查询、插入、修改和删除。

(3)支持程序设计语言:大部分用户通过应用程序使用和操纵数据库。任何DBMS均支持某种程序设计语言。

(4)数据库运行控制功能:DBMS对数据库运行的控制主要是通过数据安全性和完整性检验、故障恢复和并发操作等来实现的,不同的DBMS的控制能力不同,方法各异。

(5)数据库维护功能:指数据库的初始装入、数据库转储、数据库重组、登记工作日志等,保证数据库数据的正确与完整,使数据库能正常运行。

由于不同DBMS的目标各异,功能、规模等相差很大,因此适用的领域也各不相同。象Access 属于微机环境下的桌面数据库管理系统,在易用性、成本等方面有优势,但建立网络环境的大型数据库系统必须使用大型的数据库管理系统。

2.几种常用DBMS简介

目前,各种DBMS有很多,下面简要介绍几种常用DBMS。

(1)Oracle。Oracle公司目前是世界上第一大数据库供应商。1977年,Larry Ellison、Bob Miner和Ed Oates成立了Relational Software Incorporated(RSI)公司,他们开发了关系数据库管理系统——Oracle。1983年RSI改名为Oracle公司。

Oracle公司1985年推出Oracle 5,引入了客户机/服务器计算,因此成为Oracle发展史上的一个里程碑。1988年推出Oracle 6,可以运行在多平台上。1992年推出了Oracle 7。1997年推出Oracle 8,它主要增加了三个方面的功能:

? ? ?

支持超大型数据库。Oracle 8支持数以万计的并行用户,创建了若干新的数据类型,支持大容量的多媒体数据。

支持面向对象。Oracle 8将面向对象引入到关系型数据库中,使Oracle 8成为对象关系型的数据库。

增强的工具集。Oracle 8中的Enterprise Manager是DBA重要的管理工具。

1999年推出Oracle 8i。作为世界上第一个全面支持Internet的数据库,Oracle 8i是当时唯一一个具有集成式Web信息管理工具的数据库,也是世界上第一个具有内置Java引擎的可扩展的企业级数据库平台。Oracle 8i提供了在Internet上运行电子商务所必须的可靠性、可扩展性、安全性和易用性,从而广受用户青睐,自推出后市场表现非常出色。

随后,Oracle公司又相继推出了Oracle 9i、Oracle 10g和11g等版本。成为众多企业特别是大型企业首选的DBMS。

(2)Microsoft SQL Server。这是Microsoft公司的大型关系DBMS产品,最初由Sybase、Microsoft和Ashton-Tate三家公司共同开发,于1998年推出第一个基于OS/2的版本。之后,Microsoft将SQL Server 移植到Windows NT系统上,专注于开发、推广基于Windows NT的SQL Server,Sybase则专注于SQL Server在Unix操作系统上的应用。

SQL Server 从6.5版后逐步受到市场好评。随后的7.0、2000、2005和2008 版不断

45

45