绪论
数据库的4个基本概念
-
数据(data)
数据是数据库中存储的基本对象,若想给数据下一个定义:描述事物的符号记录称之为数据。例如文本,图像,音频,视频等都可以是数据。
数据的表现形式还不能完全表达其内容,需要经过解释,数据和关于数据的解释是不可分割的。数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分割的。 -
数据库(DB)
顾名思义,数据库是存放数据的仓库,数据是按照一定的格式存放的。
严格来说,数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立想和易扩展性,并可为各种用户共享
概括说,数据库数据具有永久存储、有组织和可共享三个基本特点。 -
数据库管理系统(DBMS)
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基本软件。
主要功能有:
1. 数据定义功能:用户通过数据库定义功能可以方便对数据库中的数据对象的组成与结构进行定义。
2. 数据组织、存储和管理:数据库管理系统要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。数据组织和存储的基本目标书提高存储空间利用率和方便存取,提供多种存取方法来提高存取效率。
3. 数据操纵功能:用户可以使用数据操纵功能操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。
4. 数据库的事务管理和运行管理:数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事务的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障的系统恢复。
5. 数据库的建立和维护功能:它包含数据库初始数据的输入、转换功能、数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。
6. 其他功能:包含数据库该努力协调与网络中其他软件系统的通信功能,一个数据库管理系统与另一个数据库管理系统或者文件系统的数据展缓功能,异构数据库之间的互访和互操作功能。 -
数据库系统(DBS)
数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理和维护数据的系统。
数据管理技术的产生
人工管理阶段 | 文件管理阶段 | 数据库系统阶段 | |
---|---|---|---|
应用背景 | 科学计算 | 科学计算、数据管理 | 大规模数据管理 |
硬件背景 | 无直接存取设备 | 磁盘、磁鼓 | 大容量磁盘、磁盘阵列 |
软件背景 | 没有操作系统 | 有文件系统 | 有数据库管理系统 |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、分布处理、批处理 |
数据的管理者 | 用户(程序员) | 问及系统 | 数据库管理系统 |
数据面向的对象 | 某一应用程序 | 某一应用 | 现实世界(一个部门、企业、跨国组织等) |
数据的共享程度 | 无共享、冗余度极大 | 共享性差、冗余度大 | 共享性高、冗余度小 |
数据的独立性 | 不独立,完全依赖于程序 | 独立性差 | 具有高度的物理独立性和一定的逻辑独立性 |
数据的结构化 | 无结构 | 记录内有结构,整体无结构 | 整体结构化、用数据模型描述 |
数据控制能力 | 应用程序自己控制 | 应用程序自己控制 | 有数据库管理系统提供数据安全性、完整性、并发控制和恢复能力 |
数据库系统的特点 |
-
数据结构化
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
“整体”结构化是指数据库中的数据不再仅仅针对某一个应用,而是面向整个组织或企业的;不仅数据内部是结构化的,而且整体是结构化的,数据之间是是具有联系的。 -
数据的共享性高、冗余度低且易扩充
数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。
数据的不一致性是指统一数据不同副本的值不一样。
数据面向整个系统,容易增加新的应用,这使得数据库系统弹性大,易于扩充。 -
数据独立性高
数据独立性是借助数据库管理数据的一个显著优点,它包含数据的物理独立性和逻辑独立性。
物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的。应用程序要处理的只是数据的逻辑结构。(物理独立性是用户的应用程序和数据库中数据的关系)
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的(逻辑独立性是用户的应用程序和数据库的关系)
数据独立性是有数据库管理系统提供的二级映像功能来保证的 -
数据由数据库管理系统统一管理和控制
数据库的共享是并发的,即多用户同时存取数据库中的数据,甚至可以同时存取数据库中同一个数据,这会带来多用户相互干扰的隐患。另外,数据库中的数据的正确与一致也必须得到保障。为此,数据库管理必须提供以下几方面的数据控制功能:
(1)数据的安全性保护
数据的安全性是指半壶数据以防止不合法使用造成的数据泄密和破坏。
(2)数据的完整性检查
数据的完整性是指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,并保证数据之间满足一定的关系。
(3)并发控制
为防止多用户的并发进程同时存取和修改数据库,必须对多用户的并发操作加以控制和协调。
(4)数据库恢复
在数据库受到破坏时,数据库管理系统必须具有将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能。
综上所述,数据库是长期存储在计算机内有组织、大量、共享的数据集合。它可以共各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
数据库的出现是信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这既方便了数据的集中管理,又能简化应用程序的研究和维护,提高了数据的利用率和相容性,提高了决策的可靠性。
2.数据模型
数据模型是对现实世数据特征的抽象,是用来描述数据、组织数据和数据进行操作的,是数据库系统的核心和基础。
数据模型应满足三方面要求:一是能比较真实地模拟现实世界,二是容易为人所理解,三是便于在计算机上实现。 根据
模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次,分别是:
-
概念模型:
也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计
-
逻辑模型和物理模型:
逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
客观对象的抽象过程:两步抽象
-
现实世界中的客观对象抽象为概念模型
-
把概念模型转换为某一DBMS支持的数据模型
信息世界的基本概念
-
实体:客观存在并互相区别的事物
-
属性:实体所具有的某一特性
-
码:唯一标识实体的属性集
-
实体型:用实体名及其属性名集合来抽象和刻画同类实体
-
实体集:统一类型实体的集合
-
联系:实体间的联系通常指不同实体集之间的联系,一对一、一对多、多对多。
概念模型的一种表示方式:实体—联系方法,这种方法也成为E-R模型。
数据模型的三要素
-
数据结构:是对系统静态特征的描述,描述数据库的组成对象以及对象之间的联系。数据结构描述的内部有两类:一类是与对象的类型、内容、性质有关的;一类是与数据之间联系有关的对象。
-
数据操作:是对系统动态特征的描述,是指对数据库中各种对象(型)的实例(值)允许执行的操作集合,包括操作及有关的操作规则,主要有:查询、更新(插入、删除、修改)两大类
-
数据的完整性约束条件:是一组完整性规则
关系模型
- 关系:一个关系对应通常说的一张表
- 元组:表中的一行即为一个元组
- 属性:表中的一列即为一个属性
- 码:又称之为码键,表中的某个属性组,它可以唯一确定一个元组
- 域:属性的取值范围
- 分量:元组中的一个属性值
- 关系模式:对关系的描述
关系名(属性1,属性2,……,属性n)关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分的数据项
数据库系统模式的概念
在数据模型中有“型”和“值”的概念,型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。
模式是数据库中全体数据逻辑结构和特征的描述,它仅仅涉及型的描述,,不涉及具体的值。模式的一个具体值称为实例,模式是相对稳定的,而实例是相对变动的。
数据库系统的三级模式结构
- 外模式:
也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式,但一个应用程序只能使用一个外模式。 - 模式:
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。一个数据库只有一个模式。 - 内模式 :
也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
数据库的二级映像
-
外模式/模式映像:保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
理解:当模式改变时(例如增加新的关系,新的属性,改变属性的数据类型等)由数据库管理员对各个外模式/模式的映像做相应改变,可以是外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改。
-
模式/内模式映像:保证了数据与程序的物理独立性,简称数据的物理独立性
理解:当数据库的存储结构改变时(例如选用了另一种的存储结构)由数据库管理员对模式/内模式映像做相应改变,可以时模式保持不变,从而应用程序不必修改。
数据库系统的组成
- 硬件平台及数据库
- 软件:数据库管理系统、支持数据库管理系统运行的操作系统、具有与数据库接口的高级语言及其编译系统、以数据库管理系统为核心的应用开发工具、为特定应用环境开发的数据库应用系统
- 人员:数据库管理员、系统分析员、数据库设计员、应用程序员、最终用户