当今世界是一个充满数据的互联网世界,充满了大量的数据。也就是互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、访问的网页、发送的消息等等。除了文本数据,图像、音乐、声音都是数据。那么,什么是数据库呢?数据库能给我们的生活带来哪些改变?
数据、数据库、数据库管理系统和数据库系统是与数据库技术密切相关的四个基本概念。
一.数据(数据)
数据是存储在数据库中的基本对象。大多数人对数据的第一反应是数字空间。其实数字只是最简单的一种数据,是对数据的传统而狭隘的理解。从广义上讲,数据有很多种,如文字、数字、图像、声音、学生记录、货物运输等。这些都是数据。
数据可以这样定义:描述事物的符号记录称为数据。描述事物的符号可以是数字、文字、图形、图像、声音、语言等。数据有很多种形式,都可以数字化并储存在计算机中。
为了了解世界和交流信息,人们需要描述这些东西。在日常生活中直接用自然语言(比如中文)描述。在计算机中,为了存储和处理这些东西,需要提取对这些东西感兴趣的特征,形成记录来描述它们。例如,在学生档案中,如果人们对学生的姓名、性别、年龄、出生日期、籍贯、系别、入学时间最感兴趣,那么可以这样描述:
(张三,23岁,1985年,1.78米)
所以,这里的学生记录就是数据。对于上面的学生记录,了解其含义的人会得到以下信息:张三,大学生,23岁,1985年出生,身高1.78米;不知道它的意思的人是无法理解它的意思的。可见,数据的形式并不能完全表达其内容,需要加以说明。所以数据和数据解释是密不可分的。数据解释是指对数据含义的解释,这种解释称为数据语义,数据和它的语义是不可分的。
二、数据库(DB)
顾名思义,数据库是存储数据的仓库。只有这个仓库在电脑存储设备上,数据是以一定的格式存储的。
人们在收集、提取了一个应用需要的大量数据后,要保存起来,以备进一步处理,进一步提取有用的信息。在科技飞速发展的今天,人们的视野越来越广,数据量也在快速增加。过去人们将数据存放在文件柜中,而现在人们利用计算机和数据库技术科学地保存和管理大量复杂的数据,以便方便地充分利用这些宝贵的信息资源。
所谓数据库,就是长时间存储在计算机中的数据的有组织的、可共享的集合。数据库中的数据按照一定的数据模型进行组织、描述和存储,具有较少的冗余,较高的数据独立性和可扩展性,可以被各类用户共享。
三。数据库管理系统(简称DBMS)
知道了数据和数据库的概念,接下来的问题就是如何科学地组织和存储数据,如何高效地获取和维护数据。这项任务是由一个系统软件-数据库管理系统来完成的。
数据库管理系统是介于用户和操作系统之间的一层数据管理软件。其主要功能包括以下几个方面:
1.数据定义功能
DBMS提供了数据定义语言(DDL),通过它用户可以很容易地定义数据库中的数据对象。
2.数据处理功能
DBMS还提供了数据操作语言(简称DML),用户可以通过它来操作数据,实现对数据库的基本操作,如查询、插入、删除和修改。

3.数据库操作安全
数据库的建立、应用和维护由数据库管理系统统一管理和控制,以保证数据的安全性和完整性,保证多个用户对数据的良好使用和系统故障后的恢复。
4.数据库建立和维护功能
它包括数据库初始数据的输入和转换、数据库的转储和恢复、数据库的重组、性能的监控和分析等功能。这些功能通常由一些实用程序执行。
数据库管理系统是数据库系统的重要组成部分。
四。数据库系统(简称DBS)
数据库是指将数据库引入计算机系统后的系统。数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户。需要指出的是,一个数据库的建立、使用和维护,仅仅依靠一个DBMS是远远不够的,还需要有专门的人员来完成。这些人被称为数据库管理员(简称DBA)。一般来说,为了不引起混淆,数据库共享通常简称为数据库。
数据管理技术的出现和发展
数据库技术是应数据管理任务的需要而产生的。
数据处理是指收集、存储、处理和传播各种数据的一系列活动的总和。数据管理是指数据的分类、组织、编码和存储。它是数据处理的中心问题。自从人们使用计算机处理数据以来,已经将近三十年了。开发计算机的初衷是用它来进行复杂的
科学计算。随着计算机技术的发展,其应用远远超出了这个范围。在应用需求的驱动下,基于计算机软硬件的发展,数据管理技术经历了手工管理、文件系统和数据库系统三个阶段。
20世纪50年代中期以前,计算机主要用于科学计算。当时的硬件条件是,外部存储只有纸带、卡片和磁带,没有磁盘等直接存取存储设备。软件条件是没有操作系统和管理数据的软件。数据处理方法是批处理。管理数据具有以下特征:
(1)数据未保存。
当时由于计算机主要用于科学计算,一般不需要长时间保存数据,而是在计算某个题目时输入数据,用完后再收回。不仅用户数据如此,有时系泊软件也是如此。
(2)应用管理数据
数据需要应用本身来管理,没有相应的软件系统来管理数据。应用程序不仅要指定数据的逻辑结构,还要设计物理结构,包括存储结构、访问方式、输入方式等。所以程序员的负担很重。
(3)数据不共享。
数据是面向应用的,一组数据只能对应一个程序。当几个应用程序涉及到一些相同的数据时,必须分别定义,不能互相使用,互相引用,所以程序之间存在大量的冗余数据。
(4)数据不独立。
数据的逻辑结构或物理结构发生变化后,应用程序必须进行相应的修改,这进一步增加了程序员的负担。
从20世纪50年代末到60年代中期,在硬件中出现了磁盘和磁鼓直接存取存储设备。软件方面,操作系统已经有专门的数据管理软件,俗称文件系统。不仅有批处理,还有在线实时处理。使用文件系统管理数据具有以下特征:
(1)数据可以长期保存。
由于计算机广泛应用于数据处理,数据需要长期保存在外存中,并反复查询、修改、插入和删除。
(2)由文件系统管理的数据
数据管理是通过专门的软件即文件系统来进行的,它将数据组织成相互独立的数据文件。采用“按文件名存取,按记录存取”的管理技术,可以对文件进行修改、插入和删除。
文件系统实现了记录内的结构,但整体上没有结构。利用文件系统提供访问方法在应用程序和数据之间进行转换,使得应用程序和数据具有一定的独立性,程序员可以专注于算法而不用过多考虑物理细节。而且存储中数据的变化并不一定反映在程序中,大大节省了维护程序的工作量。但是,文件系统仍然有以下缺点。
(3)数据共享性差,冗余度高。
在文件系统中,一个文件基本对应一个应用程序,即文件仍然是面向应用的。当不同的应用程序拥有部分相同的数据时,它们也必须建立自己的文件,而不是共享相同的数据,所以数据的冗余度很大,浪费存储空。同时,由于相同的数据重复存储、分别管理,容易造成数据不一致,给数据修改和维护带来困难。
(4)数据独立性差
文件系统中的文件是为特定的应用服务的,文件的逻辑结构是为应用优化的,所以很难在现有的数据上增加一些新的应用,系统也不容易扩展。一旦数据的逻辑结构发生变化,就需要修改应用程序和文件结构的定义。应用程序的变化,比如使用不同高级语言的应用程序,也会引起文件数据结构的变化。因此,数据和程序之间仍然缺乏独立性。可以看出,文件系统仍然是一个无弹性的非结构化数据集合,即文件是孤立的。不能体现真实世界事物之间的记忆关系。
第三,数据库系统阶段
自20世纪60年代末以来,计算机管理的规模越来越大,应用越来越广泛,数据量急剧增加。与此同时,多种应用程序和语言共享数据集的需求变得越来越强烈。
此时硬件有了大容量磁盘,硬件价格下降;然后软件价格上涨,系统软件和应用程序的编译和维护成本相对增加;在处理方式上,在线实时处理要求更多,分布式处理被提出并考虑。在这种背景下,文件系统作为数据管理的手段已经不能满足应用的需求,于是为了解决多用户、多应用共享数据的需求,使数据服务于尽可能多的应用,数据库技术应运而生,出现了统一管理数据的专用软件系统——数据库管理系统。
使用数据库系统管理数据比文件系统有明显的优势。从文件系统到数据库系统,标志着数据管理技术的飞跃。下面详细讨论一下数据库系统的特点和优势。
数据库系统的特征
与手工管理和文件系统相比,数据库系统具有以下特点。
第一,数据结构
数据结构是数据库和文件系统的根本区别。在文件系统中,独立文件的记录是内部结构化的。传统文件最简单的形式是一组长度和格式相同的记录。
结构化数据库的整体数据是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
在数据库系统中,数据不再是针对某个应用程序,而是针对整个组织,具有整体结构。不仅数据是结构化的,而且访问数据的方式也很灵活,可以访问数据库中的某个数据项或一组数据项。一个记录或一组记录。在文件系统中,数据的最小存储单位是记录。粒度不能精细到数据项。
第二,高数据共享,低冗余,易扩展。
数据库从整体的角度看待和描述数据。数据不再面向应用程序,而是面向整个系统,因此数据可以由多个用户和应用程序共享和使用。数据共享可以大大减少数据冗余,节省存储空间空。数据共享还可以避免数据之间的不兼容和不一致。
所谓数据不一致,是指同一数据的不同副本有不同的值。在使用手动管理或文件系统管理时,由于数据是重复存储的,当不同的应用程序使用和修改不同的副本时,很容易造成数据不一致。数据库中的数据共享减少了数据冗余引起的不一致性。
由于数据是面向整个系统的结构化数据,不仅可以被多个应用程序共享,还可以方便地添加新的应用程序,这使得数据库系统具有灵活性,易于扩展,可以满足各种用户的要求。整个数据的各种子集可以用于不同的应用系统。当应用程序需求发生变化或增加时,可以通过重新选择不同的子集或添加一些数据来满足新的需求。
第三,高度的数据独立性
数据独立是数据库领域的常用术语,包括数据的物理独立和数据的逻辑独立。
物理独立性意味着用户的应用程序和存储在磁盘数据库中的数据相互独立。也就是说,数据如何存储在磁盘上的数据库中取决于
DBMS,用户程序不需要知道,应用程序只需要处理数据的逻辑结构,这样当数据的物理存储发生变化时,应用程序不需要改变。逻辑独立是指用户的应用程序和数据库的逻辑结构相互独立,也就是说数据的逻辑结构发生变化,用户程序可以保持不变。
DBMS的二级映射功能保证了数据的独立性,这将在下面讨论。数据与程序的独立性将数据的定义从程序中分离出来,由DBMS负责数据访问,从而简化了应用程序的编程,大大减少了应用程序的维护和修改。
第四,数据由数据库管理系统管理和控制。
数据库的共享是并发共享,即多个用户可以同时访问数据库中的数据,甚至可以同时访问数据库中的同一数据。
因此,DBMS还必须提供以下数据控制功能:
(1)数据安全保护数据安全就是保护数据,防止非法使用造成的数据泄露和破坏。这样每个用户只能
按照规定,有些数据是以某种方式使用和处理的。
(2)数据完整性检查数据的完整性是指数据的正确性、有效性和兼容性。完整性检查将数据控制在有效范围内,或者确保数据满足一定的关系。
(3)并发控制:当多个用户的并发进程同时访问和修改数据库时,可能会相互干扰,得到错误的结果或破坏数据库的完整性,因此必须对多个用户的并发操作进行控制和协调。
(4)数据库恢复硬件故障、软件故障、操作人员失误以及故意破坏计算机系统也会影响数据库中的数据。
准确性,甚至造成数据库中部分或全部数据的丢失。DBMS必须具有将数据库从错误状态恢复到已知的正确状态(也称为完全状态或一致状态)的功能,这就是恢复数据库的功能。
综上所述,数据库是长期存储在计算机中的大量有组织的、共享的数据集合。
它可以由各种用户共享,具有最小的冗余和高度的数据独立性。DBMS在数据库建立、使用和维护时统一控制数据库,以保证数据的完整性和安全性,在多个用户同时使用数据库时进行并发控制。
系统,故障后恢复系统。
数据库的出现使信息系统从以程序为中心处理数据转向以共享数据库为中心的新阶段。这不仅方便了数据的集中管理,也方便了应用程序的开发和维护,提高了数据的利用率和兼容性,提高了决策的可靠性。
目前,数据库已经成为现代信息系统不可分割的重要组成部分。拥有数百万甚至数十亿字节信息的数据库已经广泛应用于科技、工业、农业、商业、服务业和政府部门的信息系统中。20世纪80年代以后,DBMS不仅部署在大型计算机上,而且部署在大多数微型计算机上,这使得数据库技术得到了更广泛的应用和普及。
数据模型
在数据库中,数据模型是用来抽象、表示和处理现实世界中的数据和信息的工具。通俗地说,数据模型就是对现实世界数据特征的抽象。
数据应满足三个要求:
能真实模拟现实世界;
通俗易懂;
在计算机上把数据模型分成两个不同的层次是很方便的。
(1)概念模型,也称为信息模型,根据用户的视图对数据和信息进行建模,主要用于数据库设计。
(2)逻辑模型和物理模型:
逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,主要用于DBMS的实现。物理模型是数据的最低抽象,它描述了数据在系统中的表示和访问方式,以及在磁盘或磁带上的存储和访问方式。
客观对象的抽象过程——两步抽象;
将现实世界中的客观对象抽象为概念模型;
将概念模型转换为DBMS支持的数据模型。
数据模型的组件
一般来说,数据模型是一组严格定义的概念。这些概念准确地描述了系统的静态特性、动态特性和完整性约束。因此,数据模型通常受到数据结构、数据操作和完整性的约束。
它由三部分组成。
一.数据结构
数据结构是正在研究的对象类型的集合。这些对象是数据库的组件,它们包括两个类别:
一类是与数据类型、内容和性质相关的对象,如网格模型中的数据项和记录,关系模型中的域、属性和关系等。
一类是与数据间关系相关的对象,如网格模型中的集合类型。
数据结构是描述数据模型本质的最重要的方面。因此,在数据库系统中,人们通常根据数据结构的类型来命名数据模型。例如,层次结构、网格结构和关系结构的数据模型分别称为层次模型、网格模型和关系模型。
数据结构是对系统静态特征的描述。
二、数据运营
操作是指允许对数据库中各种对象(类型)的实例(值)执行的操作的集合,包括操作和相关的操作规则。数据库中的操作主要有两种:检索和更新(包括插入、删除和修改)。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及操作实现的语言。操作是对系统动态特性的描述。
三。数据的约束
的数据约束是一组完整性规则。完整性规则是给定数据模型中数据及其关系的约束和依赖规则,用于按照数据模型限制数据库状态和状态的变化,以保证数据的正确性、有效性和兼容性。
数据模型应该反映和指定该数据模型必须遵守的基本的一般完整性约束。例如,在关系模型中,任何关系都必须满足两个条件:实体完整性和引用完整性。
此外,数据模型还应提供定义完整性约束的机制,以反映特定应用中涉及的数据必须遵守的特定语义约束。比如学校数据库中规定,大学生入学年龄不得超过30岁,硕士生入学年龄不得超过38岁,学生累计成绩不得不及格三次及以上。
概念模型
概念模型用于对信息世界进行建模,是从现实世界到信息世界的第一次抽象,是数据库设计人员设计数据库的有力工具,是数据库设计人员与用户沟通的语言。因此,一方面,概念模型应具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识;另一方面,它应该简单明了,易于用户理解。
一.信息世界的基本概念
信息世界涉及的概念主要包括:
(1)实体(Entity)
客观存在并能相互区分的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。比如一个员工,一个学生,一个部门,一门课程,一个学生的选课,一个部门的订单,一个老师和一个部门的工作关系(也就是一个老师在一个部门工作)都是实体。
(2)属性
实体的某种特征称为属性。一个实体可以由几个属性来表征。例如,学生实体可以由学号、姓名、性别、出生年份等属性组成。
(3)代码(键)
唯一标识实体的属性集称为代码。例如,学生编号是学生实体的代码。(4)and(Domain)属性的范围称为属性的定义域。例如,学号字段是8位整数,姓名字段是字符串集合,年龄字段是小于38的整数,性别字段是(男,女)。
(5)实体类型
具有相同属性的实体必须具有共同的特征和属性。实体名称及其属性名称集用于抽象和描述同一实体,称为实体类型。例如,学生(学号、姓名、性别、出生年份、部门、注册时间)是一个实体。
(6)实体集(Entityt)
同质实体的集合称为实体集。例如,所有学生都是一个实体集。
(7)关系
在现实世界中,事物内部和事物之间是有联系的,在信息世界中体现为实体(类型)内部和实体(类型)之间的联系。实体内的关系通常指组成实体的属性之间的关系。实体之间的关系通常指不同实体集之间的关系。
两个实体之间的关系可以分为三类:
①一对一接触(1: 1)
如果实体集A中的每个实体在实体集B中最多有一个(或没有)实体,反之亦然,则称实体集A与实体集B是一一对应的关系,记为1: 1。
比如一个学校只有一个校长,一个校长只能在一个学校任职,所以学校和校长是一对一的关系。
②一对多连接(1: n)
如果实体集A中的每个实体在实体集B中有n个实体(n≥0),反之,如果实体集B中的每个实体在实体集A中至多有一个实体,则称实体集A与实体集B有一对多的联系,记为1: n。
比如一个班有几个学生,每个学生只在一个班学习,那么这个班和学生就是一对多的关系。
③多对多连接(m: n)
如果对于实体集A中的每个实体,实体集B中有n个实体(n≥0),反之,对于实体集B中的每个实体,实体集A中有m个实体(m≥0),则称实体集A与实体集B有多对多的联系,记为m: n。
比如几个学生可以同时上一门课,一个学生可以同时上几门课,那么这门课和学生之间就是多对多的关系。实际上,一对一连接是一对多连接的特例,一对多连接是多对多连接的特例。
概念模型是对信息世界进行建模,因此概念模型应该能够方便、准确地表达信息世界中常用的概念。表达概念的方法有很多种,其中最著名也是最常用的一种方法是陈在1976年提出的实体关系法。该方法使用E-R图来描述现实世界的概念模型。E-R方法也称为E-R模型。以下是E-R图的要点。如何认识和分析现实世界,提取实体之间的关系,以及如何建立概念模型将在第六章中进行说明。E-R图提供了一种表示实体、属性和关系的方法:
实体类型:用矩形表示,矩形中写有实体名称。
属性:用椭圆表示,用无向边与对应的实体连接。
最常用的数据模型
目前,数据库领域最常用的数据模型有四种。它们是:
分级模型(分级模型)
网络模型(网络模型)
关系模型(关系模型)
面向对象模型(面向对象模型)
分层模型和网格模型统称为非关系模型。
层次模型
层次模型是数据库系统中最早的数据模型。层次数据库系统采用层次模型作为数据组织方式。层次数据库系统的典型代表是
IBM的IMS(信息管理系统)数据库管理系统是IBM于1968年推出的第一个大型商用数据库管理系统,目前已经得到了广泛的应用。
分层模型使用树结构来表示各种实体以及实体之间的关系。在现实世界中,很多实体之间的关系已经呈现出非常自然的层级关系,比如行政机构、家族关系等等。
一、层次数据模型的数据结构满足以下两个条件的一组基本层次关系在数据库中定义为层次模型。
(l)只有一个节点没有父节点,这个节点称为根节点;
(2)根以外的其他节点只有一个父节点。
在层次模型中,每个节点代表一个记录类型,记录(类型)之间的连接用节点之间的连接(有向边)来表示,这是父子之间的一对多连接。这使得分层数据库系统只能处理一对多的实体联系。
每种记录类型可以包含几个字段,其中记录类型描述实体,字段描述实体的属性。每个记录类型及其字段都必须命名。每个记录类型和同一记录类型中的每个字段不能有相同的名称。每种记录类型都可以定义一个排序字段,也称为代码字段。如果定义排序字段的值是唯一的,它可以唯一地标识一个记录值。
理论上,分层模型可以包含任意有限数量的记录类型和字段,但是由于存储容量或实现复杂性,任何实际系统都会限制分层模型中包含的记录类型和字段的数量。在层次模型中,同一父节点的子节点称为兄弟节点(孪生或同胞),没有子节点的节点称为叶节点。
动词 (verb的缩写)分层模型的优点和缺点
分层模型的优点主要包括:
分层数据模型本身相对简单。
层次模型用于实现子实体间关系固定的预定义应用系统,其性能优于关系模型且不低于网格模型。
分层数据模型提供了良好的完整性支持。
分层模型的缺点主要包括:
在现实世界中,许多连接是非分层的,例如多对多连接、一个节点有多个父节点等。层次模型很笨拙,只能通过引入冗余数据(容易出现不一致)或创建不自然的数据组织(引入虚拟节点)来解决。
插入和删除操作有许多限制。
查询子节点必须通过父节点。
由于结构紧密,等级秩序往往是程序化的。
可以看出,用层级模型描述一对多层级关系的部门,自然、直观、易懂。这就是层次数据库的突出优点。
网格模型
在现实世界中,事物之间的关系大多是非等级关系。用层次模型表示非树结构非常间接,网格模型可以克服这一缺点。网格数据库系统采用网格模型作为数据组织方式。网格数据模型的典型代表是DBTG系统,也称为CODASYL系统。这是20世纪70年代由Codasyl(数据系统语言会议)研究协会下的数据库任务组(简称DBTG)提出的系统方案。虽然DBTG系统不是一个实际的软件系统,但它的基本概念、方法和技术具有普遍意义。它对网格数据库系统的研究和发展有很大的影响。后来,许多系统采用了DBTG模型或简化的DBTG模型。例如,Cullient软件
公司的IDMS,UniVac的DMS1100,霍尼韦尔的IDS/2,惠普的IMAGE等。
一、网格数据模型的数据结构
1.在数据库中,满足以下两个条件的基本分层接触集称为网格模型:
(1)允许多个节点没有父节点;
(2)一个节点可以有多个父节点。
网状模型是比层次模型更通用的结构。它消除了层次模型的两个限制,允许多个节点没有父节点和有多个父节点。此外,它还允许两个节点之间的多个连接(称为复合连接)。因此,网格模型可以更直接地描述现实世界。层次模型实际上是网格模型的一个特例。
四。形状数据模型的优点和缺点
网格数据模型的优点主要包括:
可以更直接的描述现实世界,比如一个节点可以有多个父节点。
性能好,访问效率高。
网格数据模型的缺点主要包括:结构复杂,随着应用环境的扩展,数据库的结构变得越来越复杂,不利于最终用户的掌握。
它的DDL和DML语言比较复杂,不便于用户使用。
由于记录之间的联系是通过访问路径实现的,应用程序在访问数据时必须选择合适的访问路径,因此用户必须知道系统结构的细节,这就增加了编写应用程序的负担。
关系模型
关系模型是目前最重要的数据模型。关系数据库系统采用关系模型作为数据组织方式。1970年,美国IBM公司圣何塞研究室的研究员E.F.Codd首先提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,奠定了数据库技术的理论基础。E.F.COdd因其杰出的工作获得了1981年的ACM图灵奖。20世纪80年代以来,计算机厂商推出的新数据库管理系统几乎都支持关系模型,非关系系统的产品也大多增加了关系接口。目前数据库领域的研究工作也是基于关系方法。因此,本书的重点也将放在关系数据库上,接下来的四章将详细讲解关系数据库。
一、关系数据模型的数据结构
与以前的模型不同,关系模型基于严格的数学概念。
第二,关系数据模型的操作和完整性约束
关系数据模型的操作主要包括查询、插入、删除和修改数据。这些操作必须满足关系的完整性约束。关系完整性的约束条件包括三类:实体完整性、引用完整性和用户定义完整性。其具体含义将在后面介绍。
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系型的,即多个元组的集合,而不是非关系模型中的单记录操作模式。另一方面,关系模型对用户隐藏了访问路径。用户只需要指出“做什么”或“找什么”,而不需要指定“怎么做”或“怎么找”,从而大大提高了数据的独立性和用户的生产力。
第三,关系数据模型的存储结构
在关系数据模型中,实体和实体之间的关系由表来表示。在数据库的物理组织中,表以文件的形式存储。有些系统有一个表对应一个操作系统文件,有些系统设计自己的文件结构。
四。关系数据模型的优缺点
关系数据模型具有以下优点:
关系模型不同于非关系模型,非关系模型基于严格的数学概念。
关系模型的概念很单一。实体和实体之间的关系都是通过关系来表达的。数据的检索结果也是关系(即表格)。因此,其数据结构简单、清晰,便于用户理解和使用。
关系模型的访问路径对用户是透明的,因此具有更高的数据独立性,更好的安全性和保密性,也简化了程序员和数据库开发建立的工作。
因此,关系数据模型诞生后,发展迅速,深受用户喜爱。当然,关系型数据模型也有缺点,最重要的是由于访问路径对用户透明,查询效率往往不如非关系型数据模型。因此,为了提高性能,必须对用户的查询请求进行优化,这增加了开发数据库管理系统的难度。








