数据库系统概论(第一章)----绪论

数据库的四个基本概念

  • 数据(Data)
  • 数据库(Database)
  • 数据库管理系统(DBMS)
  • 数据库系统(DBS)

数据

数据是数据库中存储的基本对象

数据的定义

描述事物的符号记录

数据的种类

数字、文字、图形、图像、音频、视频、学生的档案记录等

举例

数据的含义称为数据的语义,数据与其语义是不可分的

(李明,男,199505,江苏南京市,计算机系,2013)

语义:学生姓名、性别、出生年月、出生地、所在院系、入学时间
解释:李明是个大学生,1995年5月出生,江苏南京市人, 2013年考入计算机系

数据库

数据库的定义

数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。

基本特征

  • 数据按一定的数据模型组织
  • 可为各种用户共享
  • 冗余度较小
  • 数据独立性较高
  • 易扩展

数据库管理系统

作用

科学的组织和存储数据,高效的获取和维护数据

定义

数据库管理系统是位于用户与系统之间的一层数据管理软件,数据管理系统和操作系统一样是计算机的基础软件

主要功能

数据库定义

提供数据库定义语言(DDL),用户通过它可以方便地对数据库中的数据对象的组成与结构进行定义

数据组织、存储和管理

  • 分类组织、存储和管理各种数据(字典、用户数据、数据存储路径等)
  • 确定存储文件的结构和存储方式
  • 确定数据之间的联系
  • 提供多种存储方式提高存储效率

数据库操纵

提供数据库操纵语言(DML)实现对数据的基本操作(怎删改查)

事务管理和运行管理

  • 数据库在建立、运行和维护时由数据库管理系统统一管理和控制
  • 保证数据的安全性、完整性、多用户对数据的并发使用
  • 发生故障后的系统恢复

建立和维护功能

  • 数据库初始数据的装载和转换
  • 数据库转储、恢复功能
  • 数据库的重组织
  • 性能监视、分析等

其他功能

  • 数据库管理系统与网络中其它软件系统的通信
  • 数据库管理系统系统之间的数据转换
  • 异构数据库之间的互访和互操作

数据库系统

数据库系统是由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成构成的有组织的、存储、管理、处理和维护数据的系统

数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。

数据库发展的三个阶段

人工管理阶段、文件系统阶段、数据库系统阶段

数据库系统的特点

数据结构化

数据的整体结构化是数据库的主要特征之一 。
整体结构化:

  • 不再仅仅针对某一个应用,而是面向全组织
  • 不仅数据内部结构化,整体是结构化的,数据之间具有联系
  • 数据记录可以变长
  • 数据的最小存取单位是数据项

数据的共享性高,冗余度低且易扩充

数据面向整个系统,可以被多个用户、多个应用共享使用
优点:

  • 减少数据冗余、节约存储空间
  • 避免数据之间的不相容性与不一致性
  • 易于扩展

数据独立性高(应用程序相对数据库)

数据独立性包括物理独立性和逻辑独立性

  • 物理独立性:
    指用户的应用程序与数据库中数据的物理存储是相互独立的。当数据的物理存储改变了,应用程序不用改变。
  • 逻辑独立性
    指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,应用程序不用改变。
    数据独立性由数据库管理系统的二级映像功能来保证。

数据由数据库管理系统统一管理和控制

  • 数据安全性保护
    保护数据以防止不合法的使用造成的数据的泄密和破坏。
  • 数据完整性检查
    保证数据的正确性、有效性和相容性。
  • 并发控制
    对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
  • 数据库恢复
    将数据库从错误状态恢复到某一已知的正确状态。

数据模型

数据模型是数据库系统和核心和基础
两类模型:概念模型(信息模型)、逻辑模型和物理模型

概念模型

按用户的观点来对数据和信息建模,主要用于数据库设计。

逻辑模型和物理模型

主要包括层次模型、网状模型、关系模型、面向对象模型和对象关系模型、半结构化模型等。他是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。

它是对数据最底层的抽象,描述数据在系统内部的表示方式和存储方法,是面向计算机系统的。数据库设计人员要了解和选择物理模型。

现实中的抽象事务到数据库系统支持的数据模型:
在这里插入图片描述

概念模型

从上图可以看出,概念模型实际上是现实世界到机器世界的一个中间层次。

基本概念

  • 实体(entity)
    客观存在并可相互区别的事务称为实体。实体可以是具体的人、事、物,也可以是抽象概念或联系。例如学生、课程、学生与课程关系。java中的类
  • 属性(attribute)
    实体具有某一特性称为属性。
  • 码(key)
    唯一标识实体的属性集称为码。例如学号是学生实体的码。主键
  • 实体型
    用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名…)。
  • 实体集
    同一类型实体的集合称为实体集。例如,全体学生就是一个实体集。
  • 联系
    实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体间的联系一般有一对一、一对多、多对多。

表示方法:实体-联系方法

实体联系方法即E-R图(描述现实世界的概念模型),也称为E-R模型

数据模型的组成要素

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

数据结构

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

数据操作

数据操作即对数据库中的各种对象(型)的实例(值)允许执行的操作集合,包括操作即有关的操作规则。

完整性约束条件

  • 一组完整性规则的集合
  • 完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则
  • 用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容

常用的数据模型

层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型。

层次模型

在这里插入图片描述

层次模型的数据结构

满足以下两个条件的基本层次联系的集合为层次模型:

  • 有且只有一个结点没有双亲结点(父结点),这个节点称为根结点
  • 根以外的其他其他结点有且只有一个双亲结点(父结点)

    层次模型像一颗倒立的树结点的双亲(父结点)是唯一的
层次模型的数据操纵与完整性约束

层次模型的数据操主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。

  • 插入时如果没有双亲结点就不能插入子女结点。
  • 删除时删除双亲结点的值,子女结点的值也将被删除。
层次模型的优缺点

优点:

  • 数据结构化比较清晰
  • 层次数据库的查询效率高
  • 层次数据模型提供了良好的完整性支持

缺点:

  • 不能用于多对多联系
  • 对于操作有多个双亲结点的结点,操作麻烦。
  • 查询子女结点必须通过双亲结点

网状模型

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

数据结构

条件:

  • 允许一个以上的结点无双亲
  • 一个结点可以有多余一个双亲
    图片
    层次模型中子女结点与双亲结点的联系是唯一的,网状模型这种联系不唯一。
数据操纵与完整性约束

网状模型没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统对数据操纵增加了一些限制,提供了一定的完整性约束。

例如DBTG在模式数据定义语言中提供了定义DBTG数据完整性和若干概念的语句:

  • 支持码的概念。唯一标识记录的数据集合。
  • 保证一个联系中双亲记录和子女记录之间是一对多的联系
  • 可以支持双亲记录和子女记录之间的某些约束条件。
优缺点

优点:

  • 能够更好的描述现实世界
  • 具有良好的性能,存取效率较高

缺点:

  • 数据结构随着环境的扩大越来越复杂,不利于最终用户掌握
  • 网状模型的DDL、DML复杂,要嵌入到高级语言中。用户不容易掌握,不容易使用
  • 记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写程序的负担。

关系模型

数据结构

关系模型与以往的数据模型不同,他是建立在严格的数据基础上的。
一些相关术语:

  • 关系(relation):一个关系对应通常说的一张表
  • 元组(tuple):表中的一行即为一个元组
  • 属性:表中的一列即为一个属性,给每一个属性起一个名称即属性名
  • 码(key):也称为码键。表中的某一个属性组,它可以唯一确定一个元组
  • 域(domain):域是一组具有相同数据类型的集合。属性的取值范围来自某个域。如性别的域是(男,女)
  • 分量:元组中的一个属性值
  • 关系模式:对关系的描述,一般表示为 关系名(属性1,属性2,…属性n)
    关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范中最基本的一条就是:关系中的每一个分量必须是一个不可分的数据项,也就是说不允许表中还有表。
    关系和显示生活中的表格所使用的属于粗略对比:
    在这里插入图片描述
数据操纵与完整性约束

关系模型的数据操纵主要包括查询、插入、删除和更新数据。这些操作都必须满足完整性约束条件。关系模型的完整性约束包括三大类:实体完整性、参照完整性、用户定义完整性。

关系模型中数据操作是集合数据,操作对象和操作结果都是关系。关系模型吧存取路径向用户隐蔽起来,用户只要指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”,大大提高了用户数据的独立性,提高了用户生产率。

优缺点

优点:

  • 关系模型与格式化模型不同,他是建立在严格的数学概念的基础上的
  • 关系模型概念单一。数据结构简单、清晰,用于易懂易用。
  • 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,简化了程序员的工作和数据库开发建立的工作。

缺点:

  • 存取路径对用户时隐蔽的,查询效率不如格式化数据模型,为了提高性能需要对查询进行优化。

结构

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

图

模式

  • 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图。
  • 一个数据库只有一个模式。
  • 模式时数据库系统的中间层。

外模式

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

  • 外模式介于模式与应用之间
  • 模式与外模式的关系:一对多
  • 外模式与应用的关系:一对多
  • 同一模式可以为某一用户或多个应用系统是用,但一个应用只能使用一个外模式。

用途:

  • 保证数据库安全性的一个有力措施
  • 每个用户只能看见和访问所对应的外模式中的数据

内模式

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

数据库二级映射功能与数据独立性

为了实现三个抽象层次的联系和转化,数据库管理系统提供了两层映象

外模式/模式映象

  • 模式:描述的是数据的全局逻辑结构
  • 外模式:描述的是数据的局部逻辑结构
  • 同一个模式可以有任意多个外模式
  • 每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系
  • 映象定义通常包含在各自外模式的描述中

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

模式/内模式映象

  • 模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
  • 数据库中只有一个模式,也只有一个内模式,所以数据库中模式/内模式映象是唯一的
  • 该映象定义通常包含在模式描述中。

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

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

组成

硬件

软件

人员

数据库管理员(DBA)、系统分析员和数据库设计人员、应用程序员、用户

原创文章 139 获赞 52 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_41262903/article/details/105671167
今日推荐