前言:
**前言笔记:数据库系统的结构层次与角度**
---
**1. 数据库系统的结构考察**:
- 可以从多种层次和不同角度来考察。
- 结构的选择取决于我们查看数据库的角度。
---
**2. 从** **开发人员** **的角度**:
- **三级模式结构**:
- 是数据库系统内部的系统结构。
- 主要包括外模式、模式和内模式。
---
**3. 从** **最终用户** **的角度**:
- **多种体系结构**:
- **单用户结构**:仅支持一个用户的数据库结构。
- **主从式结构**:一个主数据库和多个从属数据库的结构。
- **分布式结构**:数据分散在多个位置或网络上的结构。
- **客户-服务器结构**:客户端请求,服务器响应的结构。
- **多层结构**:例如浏览器-应用服务器/数据库服务器结构,数据处理和逻辑在多个层次上进行。
---
**4. 本章重点**:
- 主要介绍关于数据库系统的**模式结构**。
- 深入理解数据库内部的组织和架构。
---
通过这样的笔记结构,我们对前言的内容进行了清晰的整理和划分,使读者能够更快地捕捉到关键信息和章节的重点。
1.3.1 数据库系统模式的概念
---
**1. 数据模型中的基本概念**:
- **型(type)**:描述数据的结构和属性。例如,定义学生记录为(学号,姓名,性别,系别,年龄,籍贯)。
- **值(value)**:型的具体赋值。例如,(201315130, 李明, 男, 计算机系, 19, 江苏南京市)是学生记录型的一个值。
---
**2. 模式与实例**:
- **模式(schema)**:描述数据库中全体数据的逻辑结构和特征,仅涉及型,不包括具体值。
- **实例(instance)**:模式的一个具体值。例如,2013年学校所有学生的记录构成一个学生选课数据库实例。
- 对比:
- **稳定性**:模式是相对稳定的;实例是相对变动的(因为数据不断更新)。
- **内容**:模式描述数据的结构和关系;实例描述数据库某一时刻的状态。
---
**3. 模式与实例的关系**:
- 同一个模式可以对应多个实例。例如,2012年和2013年学生选课数据库的实例都基于相同的模式,但实际数据不同。
- 模式固定,但实例会随时间和情境变化。
---
**4. 数据库管理系统的统一特征**:
- 尽管数据库管理系统产品多种多样(支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统上,数据的存储结构各异),但它们在体系结构上大多具有相似性,主要特点是采用三级模式结构并提供两级映像功能。
---
这样的笔记结构可以帮助快速回顾和理解关键点,明确数据模型中型与值的定义,深入理解模式与实例的区别和关系,以及数据库管理系统的共同特性。
1.3.2 数据库系统的三级模式结构
---
**简介**:数据库系统的三级模式结构包括外模式、模式和内模式。
**图1.16数据库系统的三级模式结构**:
(图示部分可用流程图或层次结构图来表示,以直观地展现三级模式的关系)
---
**1. 模式 (Schema)**
- **定义**:描述数据库中全体数据的逻辑结构和特征。
- **特点**:
- 是所有用户的公共数据视图。
- 不涉及数据的物理存储和硬件环境。
- 与具体应用程序和高级程序设计语言无关。
- 只有一个模式存在于数据库中。
- **功能**:统一综合地考虑所有用户的需求,并结合成一个逻辑整体。
- 定义数据的逻辑结构。
- 定义数据之间的关系。
- 定义与数据相关的安全性、完整性要求。
- **工具**:数据库管理系统提供模式数据定义语言(模式DDL)。
---
**2. 外模式 (External Schema)**
- **定义**:描述局部数据的逻辑结构和特征,为数据库用户提供数据视图。
- **特点**:
- 与某一应用有关的数据逻辑表示。
- 通常是模式的子集。
- 一个数据库可以有多个外模式。
- 每个应用程序只使用一个外模式。
- **功能**:为不同的用户提供定制的数据视图。
- 保证数据库安全性。
- 允许用户只访问对应外模式中的数据。
- **工具**:数据库管理系统提供外模式数据定义语言(外模式DDL)。
---
**3. 内模式 (Internal Schema)**
- **定义**:描述数据的物理结构和存储方式。
- **特点**:
- 数据库中只有一个内模式。
- 描述数据在数据库内部的组织方式。
- **内容**:
- 记录的存储方式。
- 索引的组织方式。
- 数据的压缩和加密。
- 数据的存储记录结构规定。
---
以上笔记结构按照主题进行划分,并针对每个模式进行详细描述。这有助于更好地理解和回顾数据库的三级模式结构及其功能和特点。
1.3.3 数据库的二级映像功能与数据独立性
**笔记:1.3.3 数据库的二级映像功能与数据独立性**
---
**核心概念**:数据库系统的三级模式结构提供了**数据的三个抽象级别**,把具体的数据组织交由数据库管理系统处理,允许用户在逻辑和抽象层面上操作数据,不需要关心具体的数据表示和存储方法。
---
**1. 三级模式与二级映像**:
- 三级:外模式、模式、内模式。
- 为联系和转换这三级,数据库管理系统提供了两层映像:**外模式/模式映像** 和 **模式/内模式映像**。
---
**2. 数据独立性**:
- 这两层映像为数据库系统的数据提供了高度的**逻辑独立性** 和 **物理独立性**。
---
**3. 外模式/模式映像**:
- **模式**:描述全局逻辑结构。
- **外模式**:描述局部逻辑结构。
- 映像定义了外模式与模式之间的对应关系。
- 当模式改变,外模式可以保持不变,确保应用程序的稳定性。
- **数据的逻辑独立性**:应用程序基于外模式,不必因为模式的更改而修改。
---
**4. 模式/内模式映像**:
- 映像定义了数据全局逻辑结构与存储结构之间的对应关系。
- 当数据库的存储结构变化,模式可以保持不变。
- **数据的物理独立性**:应用程序不必因为存储结构的更改而修改。
---
**5. 三级模式的特性**:
- **数据库模式**:是中心和关键。
- **内模式**:依赖于全局逻辑结构但独立于用户视图和存储设备。
- **外模式**:面向应用程序,定义在逻辑模式之上,独立于存储模式和设备。
---
**6. 数据与程序的独立性**:
- 允许数据定义和描述从应用程序中分离。
- 简化了应用程序的编制,降低了维护和修改的需求。
---
这种结构化的笔记方法有助于快速理解和回顾数据库的二级映像功能与数据独立性的核心概念和重点内容。
总结:
**数据库系统的结构:重点、难点和易错点**
---
**重点**:
1. **三级模式结构**:包括外模式、模式和内模式。这是确保数据独立性的关键。
2. **数据的独立性**:逻辑独立性和物理独立性,使应用程序与实际数据的存储和表示分离。
3. **二级映像功能**:包括外模式/模式映像和模式/内模式映像,它们连接三级模式结构的层次。
---
**难点**:
1. **理解数据独立性**:如何保持应用程序不受数据存储和逻辑结构变化的影响是一个概念上的挑战。
2. **映像之间的关系**:理解如何通过映像将外模式转换为模式,以及模式转换为内模式可能是复杂的。
3. **模式的设计**:如何设计一个良好的模式,既满足应用需求,又保持逻辑和物理的独立性,是数据库设计中的核心挑战。
---
**易错点**:
1. **模式和外模式的混淆**:新手可能会混淆全局的模式和特定用户或应用程序的外模式。
2. **逻辑独立性与物理独立性的混淆**:可能会误解它们的定义和重要性。
3. **忽略二级映像**:在实际操作中,可能会忽略映像的重要性,导致数据不一致或应用程序错误。
4. **数据模型与物理存储的混淆**:在讨论数据库结构时,可能会混淆逻辑数据模型(如关系模型)与实际的物理存储机制(如B+树或哈希索引)。
---
理解数据库系统的结构,特别是如何保持数据和应用程序的独立性,是数据库学习和实践中的关键。避免上述易错点并深入探究难点将有助于更好地掌握这一主题。