文章目录
第1章 数据库系统的基本原理
1.1 数据库系统概述
1.1.1 数据库系统的应用
代表性的应用如下 :
电信业
银行业
金融业
销售业
联机的零售商
大学、航空业
人力资源
制造业
1.1.2 数据库系统概念
1.数据(Data)
数据是数据库存储的基本对象。是描述现实世界中各种具体事物或抽象概念的、可存储并具有明确意义的符号记录。
2.数据库(DataBase,简称为DB)
简单的说,数据库就是相互关联的数据集合。严格的说,数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性。
3.数据库管理系统(DBMS)
它的主要功能包括以下几个方面:
1)数据定义功能
DBMS提供数据定义语言(DDL),用户通过它可以方便地在数据库中定义数据对象(包括表、视图、索引、存储过程等)和数据的完整性约束等。
2)数据操纵功能
DBMS提供数据操纵语言(DML),用户可以通过它对数据库的数据进行增加、删除、修改和查询操作,简称为“增、删、改、查询”,对应于SQL语言的4个命令,即INSERT、DELETE、UPDATE和SELECT。
3)数据控制功能
DBMS提供了数据控制语言(DCL),用户可以通过它完成对用户访问数据权限的授予和撤消,即安全性控制;解决多用户对数据库的并发使用所产生的事务处理问题,即并发控制;数据库的转储、恢复功能;数据库的性能监视、分析等功能。
4.数据库系统(DBS)
数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库(DB)、数据库管理系统(DBMS)、应用系统和数据库管理员(DBA)构成。
1.1.3 数据管理技术的发展阶段
数据管理技术的发展经历了人工管理、文件管理系统、数据库系统和高级数据库系统四个阶段。
1.人工管理阶段
人工管理数据具有以下的特点。
数据不保存
数据不具有独立性
数据不共享
2.文件管理系统阶段
文件管理系统阶段存储组织信息的主要弊端如下:
数据的冗余和不一致
数据独立性差
数据孤立
3.数据库系统阶段
数据库系统的特点:
数据结构化
数据的共享性高,冗余度低,易扩充
数据独立性高
数据由DBMS统一管理和控制
DBMS提供的数据控制功能:
(1) 数据的完整性检查
(2)并发控制
(3)数据的安全性保护
(4)数据库的恢复
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C98JoSaA-1584691721232)(assets/1584192286305.png)]
1.1.4 数据库系统的用户
1.数据库管理员(DBA)
DBA的具体职责包括:
1)参与数据库的设计
2)定义数据的安全性要求和完整性约束条件
3)日常维护:定期备份数据 、监视数据库的运行 、确保正常运转时所需的空余磁盘空间,并且在需要时升级磁盘空间。
4)数据库的改进和重组、重构
2.数据库用户
1)最终用户
最终用户是现实系统中的业务人员,是数据库系统的主要用户。
2)专业用户
专业用户包括工程师、科学家、经济学家等具有较高科学技术背景的人员。
3)系统分析员和数据库设计人员
4)应用程序员
1.2 数据模型
1.2.1 数据抽象的过程
美国国家标准化协会ANSI根据数据抽象的级别定义了4种模型,即概念模型、逻辑模型、外部模型、内部模型。
数据抽象的过程即是数据库设计的过程,具体的步骤如下。
第1步:根据用户需求,设计数据库的概念模型,这是一个“综合”的过程。
第2步:根据转换规则,把概念模型转换成数据库的逻辑模型,这是一个“转换”的过程。
第3步:根据用户的业务特点,设计不同的外部模型,给应用程序使用。也就是说,应用程序使用的是数据库外部模型中的各个视图。
第4步:数据库实现时,要根据逻辑模型设计其内部模型。
1.概念模型
概念模型在这4种模型中抽象级别最高。其特点如下。
1)概念模型表达了数据库的整体逻辑结构,它是企业管理人员对整个企业组织的全面概述。
2)概念模型是从用户需求的观点出发,对数据建模。
3)概念模型独立于硬件和软件。
4)概念模型是数据库设计人员与用户之间进行交流的工具。
现在采用的概念模型主要是实体-联系模型,即E-R模型。E-R模型主要用E-R图来表示。
实体是现实世界或客观世界中可以相互区别的对象,这种对象可以是具体的,也可以是抽象的。
联系是两个或多个实体间的关联。两个实体之间的联系可以分为三种:
1)一对一联系(1:1)
2)一对多联系(1:n)
3)多对多联系(m:n)
2.逻辑模型
逻辑模型具有下列特点。
1)逻辑模型表达了数据库的整体逻辑结构,但它是设计人员对整个企业组织数据库的全面概述。
2)逻辑模型是从数据库实现的观点出发,对数据建模。
3)逻辑模型硬件独立,但软件依赖。
4)逻辑模型是数据库设计人员与应用程序员之间进行交流的工具。
逻辑模型有层次模型、网状模型和关系模型3种。现在使用的关系型数据库管理系统(RDBMS)均采用关系数据模型。
3.外部模型
外部模型具有如下特点。
1)外部模型是逻辑模型的一个逻辑子集。
2)硬件独立,软件依赖。
3)外部模型反映了用户使用数据库的观点。
从整个系统考察,外部模型具有下列特点。
1)简化了用户的观点。
2)有助于数据库的安全性保护。
3)外部模型是对概念模型的支持。
4.内部模型
内部模型又称为物理模型,是数据库最底层的抽象,它描述数据在磁盘上存储方式、存取设备和存取方法。内部模型是与硬件和软件紧密相连的。
可以不必考虑内部级的设计细节,由系统自动实现。
1.2.2 关系模型
1.数据模型的三要素※
1)数据结构
数据结构是所描述的对象类型的集合。现在常用的是关系数据模型。
数据结构是对系统静态特性的描述。
2)数据操作
数据操作是指对数据库表中记录的值允许执行的操作集合,数据库对数据的操作主要有增、删、改、查询4种操作。
数据操作是对系统动态特性的描述。
3)数据的完整性约束条件
数据的完整性约束条件是一组完整性规则。用以保证数据的正确、有效、相容。
2.关系数据模型的数据结构
1)关系(Relation)
一个关系就是一张规范的二维表 。
2)元组(Tuple)
表中的一行即为一个元组。
3)属性(Attribute)
表中的一列即为一个属性,每个属性都有一个属性名。
4)码或键(Key)
也称为关键码或关键字。表中的某个属性或者属性的组合,能唯一的确定一个元组。
5)关系模式
对关系的描述,一般表示为:
关系名(属性1,属性2,属性3,……,属性n)
3.关系数据模型的操作与完整性约束
关系的完整性约束条件包括三大类:
实体完整性
参照完整性
用户定义的完整性
1.3 数据库体系结构
1.3.1 数据库系统三级结构
1.用户级数据库
用户级对应于外模式,是最接近用户的一级,是用户看到和使用的数据库,又称为用户视图。
2.概念级数据库
概念级数据库对应于概念模式,介于用户级和物理级之间,是数据库管理员看到和使用的数据库,又称DBA视图。
3.物理级数据库
物理级数据库对应于内模式,是数据库的底层表示,它描述数据的实际存储组织,是最接近于物理存储的级,又称内部视图。
1.3.2 数据库系统三级模式
1.概念模式
概念模式又称为模式或逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只能有一个概念模式。
2.外模式
外模式又称为子模式或用户模式,是数据库用户(包括程序员和最终用户)能够看到和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。
3.内模式
内模式又称为存储模式或物理模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只能有一个内模式。
1.3.3 数据库系统的二级映射与数据独立性
1.数据库系统的二级映射
数据库系统的二级映射是:外模式/模式映射和模式/内模式映射。
2.数据独立性
1)物理独立性
物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是独立的。物理独立性是通过模式/内模式映射来实现的。
2)逻辑独立性
逻辑独立性是指用户的应用程序与逻辑结构是相互独立的。逻辑独立性是通过外模式/模式映射来实现的。
1.3.4 数据库应用系统的开发架构**
1.C/S模式
客户/服务器(Client/Server,C/S)模式是一种流行的解决分布式问题的架构模式。C/S模式通过网络环境,将应用划分为前台和后台两个部分。
1)两层C/S模式
2)三层C/S模式
2.B/S模式(浏览器/服务器模式)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Av3xiLpR-1584691721234)(Bs模式)]
1.4 高级数据库系统**
分布式数据库系统
面向对象数据库系统
并行数据库系统
多媒体数据库系统
1.5 数据仓库技术与数据挖掘技术**
1.5.1 数据仓库
数据仓库(Data Warehouse,DW)是一个面向主题的、集成的、稳定的、随时间不断变化的数据集合,它用于支持经营管理中的决策制定过程。
1.5.2 联机分析处理
OLAP可以对大量的多给数据进行动态合并和分析,是决策支持领域的一部分。
1.5.3 数据挖掘
数据挖掘(Date Mining)是从大量数据中提取隐含在其中的、人们事先不知道的但又可能有用的信息和知识的过程。
1.6 非关系型数据库NoSQL
1.6.1 NoSQL概述
NoSQL是非关系型数据存储的广义定义。它打破了长久以来关系型数据库与事务ACID理论大一统的局面。NoSQL数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。
1.6.2 NoSQL相关理论
CAP理论是NoSQL数据库的基石。CAP理论指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容忍性),三者不可兼得。
一个分布式系统无法同时满足一致性、可用性、分区容忍性三个特点,最多只能实现其中两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。
1.6.2 NoSQL相关理论
BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,BASE是对CAP中一致性和可用性权衡的结果,其核心思想是即使无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式使系统达到最终一致性。
1.6.3 NoSQL数据库模型
\1. Key-Value存储模型
\2. 文档存储模型
\3. 图存储模型
\4. BigTable存储模型
1.7 小结
本章介绍了数据的抽象过程,将数据抽象为概念模型、逻辑模型、外部模型和内部模型4种,概念模型也称为信息模型,用于信息世界的建模,E-R模型是这类模型的典型代表,E-R方法简单、清晰,应用十分广泛。同时介绍了组成数据模型的3个要素数据结构、数据操作、数据完整性约束。
数据模型的发展经历了层次模型、网状模型和关系模型等阶段,由于层次数据库和网状数据库已逐步被关系数据库取代,因此层次模型和网状模型在本书中不予讲解,初步介绍了关系模型的相关概念,后面对关系模型会进一步详细讲解。
数据库系统的三级模式和两级映射的体系结构,保证了数据库系统能够具有较高的逻辑独立性和物理性。
1.6.3 NoSQL数据库模型
\1. Key-Value存储模型
\2. 文档存储模型
\3. 图存储模型
\4. BigTable存储模型
1.7 小结
本章介绍了数据的抽象过程,将数据抽象为概念模型、逻辑模型、外部模型和内部模型4种,概念模型也称为信息模型,用于信息世界的建模,E-R模型是这类模型的典型代表,E-R方法简单、清晰,应用十分广泛。同时介绍了组成数据模型的3个要素数据结构、数据操作、数据完整性约束。
数据模型的发展经历了层次模型、网状模型和关系模型等阶段,由于层次数据库和网状数据库已逐步被关系数据库取代,因此层次模型和网状模型在本书中不予讲解,初步介绍了关系模型的相关概念,后面对关系模型会进一步详细讲解。
数据库系统的三级模式和两级映射的体系结构,保证了数据库系统能够具有较高的逻辑独立性和物理性。