第一章 数据库系统概述

秋实2020-08-06 10:55:00复习高级数据库技术7

基本概念

数据

数据的定义

数据数据库中存储的基本对象,是描述现实世界中何种具体事物或抽象事物的符号,这些符号可以是数字,也可以是文字/声音/图形/图像/视频等。它们经过处理后存储在数据库中。

数据的性质

  • 数据和其语意环境密切相关
  • 数据通常有之分
  • 现实生活中的数据往往不是孤立存在的,它们之间是有联系

数据库

数据库

  • 数:数据库技术本质是一种数据管理技术
  • 据:数据管理顾名思义就是对数据的管理,具体来说是指使用电子计算机对数据进行分类、组织、存储、检索和维护
  • 库:持久的存储、维护和管理数据

实际应用对数据操作的要求

  • 数据的一致性
  • 数据的完整性
  • 数据的安全性
  • 并发控制
  • 面临故障

这些要求,加上查询条件的多样性和复杂性,使得数据查询和更新的实现很复杂
专门开发的软件系统管理数据,这种软件系统就是数据库管理系统,即DBMS

数据库管理系统

什么是数据库管理系统

数据库管理系统(Database Management System,简称DBMS)是位于用户和计算机操作系统之间的数据管理软件,专门用来管理数据,是计算机系统的基础软件

主要功能:

  • 数据定义:提供数据定义语言(Data Definition Language,DDL),用于定义数据库中地数据对象和它们的结构
  • 数据操纵:提供数据操纵语言(Data Manipulation Language,DML),用于操纵数据,实现对数据库的基本操作(CRUD)
  • 事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态
  • 数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程
  • 数据库的建立和维护:提供实用程序,完成数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组和性能监测等
  • 其他功能:包括DBMS与其他软件通信、异构数据库之间数据转换和互操作等

数据库系统由数据库、DBMS(及其开发工具)、应用程序和数据库管理员组成

数据模型

数据模型

数据模型的概念

  • 数:数据模型是数据库技术的核心概念
  • 据:所有的DBMS都基于某种数据模型实现,所有的数据库应用都建立在某种数据模型之上
  • 模:数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作数据的完整性约束条件
  • 型:一种好的数据模型要能准确地描述现实世界,容易理解和易于实现

数据模型的层次

对数据建模的模型分成两个不同的层次:

  • 概念模型也称信息模型,按用户的观点来对现实世界进行数据建模
  • 数据模型按计算机系统的观点对信息世界进行数据建模

数据模型的三个要素

  • 数据结构:描述数据库中的对象和对象之间的联系,是对系统静态特性的描述
  • 数据操作:查询和更新
  • 完整性约束:是一组规则,保证数据的正确、有效和相容

关系模型简介

关系模型的概念

  • 关系模型是主流的数据模型
  • 几乎所有的DBMS都建立在关系模型上或支持关系模型
  • 长期以来,关系数据库也一直是数据库的研究与开发的重点
  • 关系模型具有坚实的数学基础、简洁的数据表示形式,并且支持易学易用的非过程化语言

关系模型的三要素

  • 关系模型的数据结构(关系模型只有一种数据结构——关系
  • 关系模型的数据操作
  • 关系模型的完整性约束

关系模型的数据结构

  • 现实世界中的对象对象之间的联系都用关系表示。
  • 关系模型要求关系必须是规范化的:关系的每个属性只能取原子值(不能再分的值),换句话说,表中不能包含子表

关系的操作

关系代数

  • 关系代数显式地定义了一些关系运算
  • 关系运算的运算对象和运算结果都是关系
  • 查询用关系代数表达式表示
  • 更信用关系表达式向关系变量的赋值表示

关系演算

  • 关系演算并不显式定义基本运算二是用一个逻辑公式表示查询结果必须满足的条件
  • 元组关系演算
  • 域关系演算

关系模型的完整性约束

  • 实体完整性
  • 参照完整性
  • 用户自定义的完整性

其他数据模型

  • 层次模型
  • 网状模型
  • 面向对象的模型
  • 对象-关系数据模型

数据库系统的结构

数据库系统结构

数据库系统的外部结构

  • 单用户系统
  • 主从式系统
  • 分布式系统
  • 客户服务器系统

数据库系统的内部结构

  • 外模式
  • 模式
  • 内模式
  • 外模式-模式映象
  • 模式-内模式映像

数据库系统的内部结构

数据库系统的内部结构

外模式(external schema)也称子模式用户模式

  • 介于模式应用之间,是特定数据库用户的数据视图,是与某一具体应用相关的数据局部逻辑结构的描述
  • 外模式面向具体的应用程序,定义在模式之上,但独立于存储模式和存储设备
  • 外模式是模式的子集,但是,在外模式中,同一数据对象的结构、类型、长度等都可以不同于模式
  • 一个数据库可以有多个外模式,反映不同用户的应用需求和看待数据的方式
  • 理想地,所有的应用都建立在一个外模式上,但是实际上,DBMS都允许应用程序直接访问模式
  • 外模式与授权配合,限制用户只能访问所对应的外模式中的数据,可以提供一种保证数据库安全性的有力措施
  • 外模式与外模式-模式映像配合,可以实现一定程度的数据的逻辑独立性

模式(schema)也称逻辑模式

  • 模式是数据库中全体数据的总体逻辑结构描述,是所有用户的公共数据视图
  • 模式综合了所有用户的数据需求,因此一个数据库只有一个模式
  • 模式处于数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关
  • 模式是数据库的中心与关键,设计数据库结构时应首先确定数据库的模式
  • 模式的定义不仅包括数据的逻辑结构(数据项的名字、类型、取值范围等),而且还包括数据之间的联系、数据有关的安全性和完整性要求

内模式(intermnal schema)也称存储模式物理模式

  • 内模式是数据物理结构存储方式的描述,定义数据在数据库内部的表示方式
    • 例如,文件记录的存储方式(顺序存储、按照B树结构存储、按hash方法存储),索引的组织方式、数据是否压缩存储、数据是否加密、记录是否跨页等
  • 一个数据库只有一个内模式
  • 内模式依赖于全局逻辑结构,但它既独立于数据库的用户视图(即外模式),也独立于具体的存储设备
  • 内模式将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率
  • 内模式到物理存储器的映射可以由操作系统实现,或由DBMS实现

外模式-模式映像定义外模式与模式之间的对应关系

  • 每一个外模式都有一个对应的外模式-模式映像,建立外模式中的数据对象与模式中的数据对象之间的对应关系
  • 外模式-模式映像可以保证外模式的相对稳定性。模式改变时,数据库管理员可以修改有关的外模式-模式映像,使外模式保持不变,从而为数据的逻辑独立性提供了保证
  • 通常,外模式-模式映像定义包含在每个外模式的定义中

模式-内模式映像定义数据全局逻辑结构与存储结构之间的对应关系

  • 例如,模式·内模式映像要说明逻辑记录和字段在内部是如何表示的
  • 数据库的模式-内模式映像是唯一的
  • 模式-内模式映像可以保证模式,进而保证外模式的相对稳定性
  • 当数据的存储结构(内模式)改变时,数据库管理员可以修改模式·内模式映像。使得模式保持不变。这为数据的物理独立性提供了保证
  • 通常,模式-内模式映像定义包含在模式的定义中

数据独立性

数据独立性是指数据与应用程序相互独立

  • 数据的逻辑独立性是指应用程序与数据库的了逻辑结构之间的相互独立性
    • 由外模式-模式映像保证
  • 数据的物理独立性是指应用程序与存储在磁盘上的数据库中数据之间的相互独立性
    • 由模式-内模式映像保证

数据库语言

关系模型的三种语言

  • 数据定义语言(Data Definition Language)用于定义数据库模式
  • 数据操纵语言(Data Manipulation Language)用于表达数据库的查询和更新
  • 数据控制语言(Data Control Language)用于定义用户对数据对象的访问权限

注意:早期,这些语言是相对独立的,现在,这些语言被集成在一起,形成一个统一的数据库语言

数据定义语言(DDL)

功能:

  • 定义数据库的结构
  • 提供数据完整性约束条件的定义机制
  • 对数据定义进行修改和删除的功能

注意:定义存放与数据字典

数据字典

数据字典是DBMS维护的一系列内部表,用来存放元数据

元数据是关于数据的数据(包括数据对象的定义、索引的定义、视图的定义、授权的定义)

  • 上述所有的定义都以元数据的形式存放在数据字典中
  • 访问数据库时,DBMS都要访问数据字典
  • 其他元数据包括统计信息、审计信息等

数据操纵语言(DML)

功能

  • 数据库的主要操作是查询和更新
  • 用户可以使用数据操纵语言(DML),表达对按照某种数据模式组织起来的数据的访问

分类

  • 过程化DML
    • 不仅要求用户指明需要什么数据,而且要求用户描述如何获得这些数据的详细过程,如层次和网状数据库系统
  • 非过程化DML
    • 只需要用户指明需要什么数据、所需数据的位置和满足的条件,而不必指明如何获得这些数据,如关系数据库系统

数据控制语言(DCL)

功能

  • 定义用户对数据对象的访问权限
  • 定义用户对数据对象的审计
  • 回收授权
  • 建立审计

注意:为了保证数据的安全性,防止非法用户访问数据库,所有数据库的访问都必须经过授权

本章测验

1【单选题】在数据模型中,对数据静态特性描述的是( )
A、数据结构
B、数据操作
C、数据完整性
D、以上都不正确

2【单选题】在数据模型中,对数据动态特性描述的是( )
A、数据结构
B、数据操作
C、数据完整性
D、以上都不正确

3【单选题】目前最流行的数据模型是( )
A、层次模型
B、网状模型
C、关系模型
D、面向对象模型

4 【单选题】最早出现的数据模型是( )
A、层次模型
B、网状模型
C、关系模型
D、面向对象模型

5【单选题】下面描述数据库中对象与对象之间联系的是( )
A、数据结构
B、数据操作
C、数据完整性
D、以上都不正确

6 【单选题】下面定义数据库中各种数据对象实例上允许的操作和操作规则的是( )
A、数据结构
B、数据操作
C、数据完整性
D、以上都不正确

7 【单选题】下面能保证数据库中数据是正确的.有效的和相容的是( )
A、数据结构
B、数据操作
C、数据完整性
D、以上都不正确

8 【单选题】涉及全体数据逻辑结构描述的是( )
A、模式
B、外模式
C、内模式
D、以上都不正确

9【单选题】涉及数据物理结构描述的是( )
A、模式
B、外模式
C、内模式
D、以上都不正确

10 【单选题】10. 涉及用户数据逻辑结构描述的是( )
A、模式
B、外模式
C、内模式
D、以上都不正确

11 【单选题】下面可以保证数据逻辑独立性的是( )
A、模式
B、外模式
C、外模式-模式映像
D、模式-内模式映像

12 【单选题】12. 下面可以保证数据物理独立性的是( )
A、模式
B、外模式
C、外模式-模式映像
D、模式-内模式映像

13 【单选题】可以有多个的模式是( )
A、模式
B、外模式
C、内模式
D、以上都不对

14 【单选题】下面定义外模式和模式之间关系的是( )
A、模式
B、外模式
C、外模式-模式映像
D、内模式-模式映像

15 【单选题】下面定义内模式和模式之间关系的是( )
A、模式
B、外模式
C、外模式-模式映像
D、内模式-模式映像

Last Updated 9/4/2023, 4:35:09 AM
表情 | 预览
快来做第一个评论的人吧~
Powered By Valine
v1.4.18