1.绪论

一、数据库系统概述

数据库的四个基本概念

**数据:**数据是数据库中存储的基本对象。描述事物的符号记录称为数据。数据的含义称为数据的语义,数据与其语义是不可分的。

**数据库:**数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。它可以提供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。

​ 数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度(redundancy)、较高的数据独立性(data independency)和易扩展性(scalability),并可为各种用户共享。

​ 数据库三个特点:永久存储、有组织、可共享

**数据库管理系统:**数据库管理系统和操作系统一样是计算机的基础软件。

​ 主要功能:

  1. 数据定义功能:数据库管理系统提供数据定义语言(Data Definition Language,DDL),用户通过它可以方便地对数据库中的数据对象的组成与结构进行定义。
  2. 数据组织、存储和管理:数据库管理系统要分类组织、存储和管理各种数据。要确定以何种文件结构和存储方式在存储级上组织这些数据,如何实现数据之间的联系。基本目标是提高存储空间的利用率和方便存取,提供多种存取方法来提高存取效率。
  3. 数据操纵功能:数据库管理系统提供数据库操纵语言(Data Manipulation Language,DML),用户可以使用它操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。
  4. 数据库的事务管理和运行功能:数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事物的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。
  5. 数据库的建立和维护功能:包括数据的输入、转换功能,数据库的转存、恢复功能,数据库的重组织功能和性能监视、分析功能等/这些功能通常是由一些实用程序或管理工具完成的。
  6. 其他功能:包括数据库管理系统与网络中其他软件系统的通信功能。一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数据库之间互访和互相操作功能等。

**数据库系统:**数据库系统是由数据库、数据库管理系统(及应用开发工具)、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统。

二、数据模型

数据模型(data model)是一种模型,它是对现实世界数据特征的抽象,数据模型是数据库系统的核心和基础。

1. 两类数据模型

根据模型应用的不同目的,可将模型分为两大类:

第一类是概念模型,按用户观点来对数据和信息建模,主要用于数据库设计。

第二类是逻辑模型和物理模型

逻辑模型主要用于数据库管理系统的实现,物理模型是对数据最底层的抽象。

2. 概念模型

  • 信息世界中的基本概念

    实体(entity):客观存在并可互相区别的事物称为实体。
    属性(attribute):实体所具有的某一特性。
    码(key):唯一标识实体的属性集。
    实体性(entity type):用实体名及其属性名集合来抽象和刻画同类实体。
    实体集(entity set):同一类型实体的集合。
    联系(relationship):实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等多种类型。

  • 概念模型的一种表示方法:实体-联系方法Entity-Relationship approach)
    该方法用E-R图(E-R diagram)来描述现实世界的概念模型,E-R方法也称为E-R模型。

3. 数据模型的组成要素

数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。

数据结构:描述数据库的组成对象以及对象之间的联系。

数据操作:是指对数据库各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。主要有查询和更新两大类操作。

数据的完整性约束条件:是一组完整性规则。用以限定符合数据模型的数据库状态以及状态的变化。

4. 常用的数据模型

主要的逻辑数据模型:

格式化模型(层次模型(hiercarchical model)网状模型(network model))
关系模型(relational model)
面向对象数据模型(object oriented data model)
对象关系数据模型(object relational data model)
半结构化数据模型(semistructured data model)

格式化模型中数据结构的单位是基本层次联系。基本层次联系是指两个记录以及它们之间的一对多的联系。

5. 层次模型

在数据库中的定义满足以下两个条件的基本层次联系的集合称为层次模型:
(1)有且只有一个结点没有双亲结点,这个节点称为根节点
(2)跟意外的其他结点有且只有一个双亲结点

层次模型像一颗倒立的树,结点的双亲是唯一的。

层次模型的优点:

  1. 层次模型的数据结构比较简单清晰。
  2. 层次数据库的查询效率较高。
  3. 层次数据模型提供了良好的完整性支持。

层次模型的缺点:

  1. 节点之间具有多对多联系,不适用层次模型。
  2. 一个结点具有多个双亲结点,用层次模型很笨拙。
  3. 查询子女结点必须通过双亲结点。
  4. 由于结构雅安米,层次命令趋于程序化。

6. 网状模型

网状数据模型的典型代表是DBTG系统,亦称CODASYL系统。

在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:
(1)允许一个以上的结点无双亲。
(2)一个结点可以有多于一个的双亲。

层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一。

网状模型的优点:

  1. 能够更为直接的描述世界。
  2. 具有良好的性能,存取效率较高。

网状模型的缺点:

  1. 结构比较复杂.
  2. 网状模型的DDL、DML复杂,勇怯要嵌入某一种高级语言中。
  3. 记录之间的联系是通过存取路径实现的,用户必须了解系统结构的细节。

7. 关系模型

  • 关系模型的数据结构

每个关系的数据结构是一张规范的二维表。

关系模型的术语:

关系(relation):一个关系对应通常说的一张表。

元组(tuple):表中的一行即为一个元组。

属性(attribute):表中一列即为一个属性,每一个属性起一个名称即属性名

(key):也称为码建。表中的某个属性组,它可以唯一确定一个元组。

(domain):域是一组具有先沟通数据类型的值的集合。

分量:元组中的一个属性值。

关系模式:对关系的描述,一般表示为 关系名(属性1,属性2,…属性n)

关系模型要求关系必须是规范化,关系的每一个分离昂必须是一个不可分的数据项

关系术语一般表格的术语
关系名表名
关系模式表头(表格的描述)
关系(一张)二维表
元组记录或行
属性
属性名列名
属性值列值
分量一条记录中的一个列值
非规范模式表中有表(大表中嵌有小表)
  • 关系模型的数据操纵与完整性约束

操作对象和操作结果都是关系,关系模型把存取路径向用户隐藏起来。

  • 关系模型的优缺点

优点:

  1. 它是建立在严格的数学概念的基础上的。
  2. 关系模型的概念单一。
  3. 具有更高的数据独立性、更好地安全保密化,也简化了程序员的工作和数据库开发建立的工作。

缺点:查询效率不如格式化数据模型,数据库管理系统必须对用户的查询请求进行优化。

三、数据库系统的结构

1. 数据库系统模式的概念

在数据模型中有"型"(type)和"值"(value)的概念。

模式(schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例(instance)。同一个模式可以有很多实例。

模式:数据库的逻辑结构。
实例:特定时刻存储在数据库的一个集合。

模式是相对稳定的,而实例时相对变动的。

2. 数据库系统的三级模式结构

  • 模式(schema)

模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

  • 外模式(external schema)

外模式也称子模式(subschema)或用户模式,它是数据库用户能够看见和使用局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

  • 内模式(internal schema)

内模式也称存储模式(storage schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式

3. 数据库二级映像功能与数据独立性

  • 外模式/模式映像

当模式改变时,由数据库管理员对各个瓦埃模式/模式的映像作相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性

  • 模式/内模式映像

当数据库的存储结构改变时,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性

数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。由于数据的存取由数据库管理系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。

4.数据库系统的组成

  • 硬件平台及数据库:内存、磁盘、较高的通道能力
  • 软件:数据库管理系统、操作系统、高级语言及编译系统、应用开发工具、数据库应用系统
  • 人员:
    • 数据库管理员(DBA):
      • 决定数据库中的信息内容和结构
      • 决定数据库的存储结构和存储策略
      • 定义数据的安全性要求和完整性约束条件
      • 监控数据库的使用和运行
      • 数据库的改进和重组、重构
  • 系统分析员和数据库设计人员
    • 应用程序员
    • 用户
    • 偶然用户
    • 简单用户
    • 复杂用户
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值