【学习笔记】数据库理论(一)

一、绪论

1.1 数据库系统的概述

1.1.1 数据库的4个基本概念
  • 数据:是数据库中存储的基本对象,描述事物的符号记录成为数据;数据的含义称数据的语义,数据与数据的语义是不可分的;记录是计算机中表示和存储数据的一种格式或一种方法。
  • 数据库:是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
    数据库数据三个基本特点:永久储存、有组织、可共享
  • 数据库管理系统:是位于用户和操作系统之间的一层数据管理软件,是计算机的基础软件;
    主要功能:数据定义功能;数据组织、存储和管理;数据操纵功能;数据库的事物管理和运行管理;数据库的建立和维护功能;其他功能。
  • 数据库系统:是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
    在这里插入图片描述
1.1.2 数据管理技术的生产和发展

(1)人工管理阶段
特点:数据不保存;应用程序管理数据;数据不共享;数据不具有独立性。
人工阶段,应用程序与数据之间一一对应关系
(2)文件系统阶段
特点:数据可长期保存;由文件系统管理数据(“按文件名访问,按记录进行存取”),缺点是数据共享性差,冗余度大,数据独立性差。
(3)数据库系统阶段
数据库管理系统出现,从文件系统到数据系统标志着数据管理技术的飞跃。
在这里插入图片描述

1.1.3 数据库系统的特点

  文件系统,程序员要关注记录的结构和不同文件中的记录之间的关系,工作量大、编程复杂、且开发速度慢;
  数据库系统,提供强大的操作,程序员开发效率大大提高。

  1. 数据结构化
      数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
      “整体”结构化指数据库中的数据不再仅针对某一个应用,而是面向整个组织或企业,不仅数据内部是结构化的,而是整体是结构化的,数据之间是具有联系的。
  2. 数据的共享性高,冗余度低且以扩充
      数据共享可大大减少数据冗余,节约存储空间,数据共享还能避免数据之间的不相容性与不一致性。
      数据库系统弹性大,易于扩充。
  3. 数据独立性高
      数据独立性指借助数据库管理数据的一个显著优点,包括数据的物理独立性和逻辑独立性。
      物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的
      逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的
  4. 数据由数据库管理系统统一管理和控制
      数据库的共享是并发共享,存在安全隐患。
    (1)数据的安全性保护
    是指保护数据以防不合法使用造成的数据泄密和破坏
    (2)数据的完整性检查
    指数据的正确性、有效性和相容性
    (3)并发控制
    对多用户的并发操作控制和协调
    (4)数据库恢复
    数据库管理系统必须具有将数据库从错误状态恢复到某一已知的正确状态(也称完整状态或一致状态)的功能
    在这里插入图片描述

1.2 数据模型

数据模型是对现实世界数据特征的抽象,是数据库系统的核心和基础

1.2.1 两类数据模型

第一,概念模型(也称信息模型)
第二,逻辑模型和物理模型

1.2.2 概念模型

1、信息世界中的基本概念

  • 实体,客观存在并可相互区别的事物
  • 属性,实体所具有的某一特性
  • ,唯一标识实体的属性集
  • 实体型,用实体名及其属性名集合来抽象和刻画同类实体
  • 实体集,同一类型实体的集合
  • 联系
    在这里插入图片描述

2、概念模型的一种表示方式:
实体-联系方法
E-R方法也称E-R模型

1.2.3 数据模型的组成要素

数据模型通常由数据结构数据操作数据的完整性约束条件组成

  1. 数据结构
    描述数据库的组成对象以及对象之间的联系
    对系统静态特性描述
  2. 数据操作
    指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则(查询更新操作)
    对系统动态特性描述
  3. 数据的完整性约束条件
    是一组完整性规则
    反映和规定必须遵守的基本的通用的完整性约束条件
1.2.4 常用的数据模型

主要的逻辑数据模型:

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

(层次模型和网状模型统称为格式化模型)

1.2.5 层次模型

用树形结构来表示各类实体以及实体间的联系(如行政机构、家族关系)

1、层次模型的数据结构

满足下面两个条件的基本层次联系的集合为层次模型
(1)有且只有一个结点没有双亲结点,这个结点称为根结点。
(2)根以外的其他结点有且只有一个双亲结点。

  每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示,这种联系是父子之间的一对多的联系。
  每个记录类型可包含若干个字段,这里记录类型描述的是实体,字段描述实体的属性。各个记录类型及其字段都必须命名。各个记录类型、同一记录类型中各个字段不能同名。每个记录类型可以定义一个排序字段,也称码字段。
  一个层次模型理论可包含任意有限个记录类型和字段,实际会因为存储容量实现复杂度而限制层次模型中包含的记录类型个数和字段的个数。
在这里插入图片描述
  层次模型中,同一双亲的子女结点称为兄弟结点;没有子女结点的结点称为叶结点
  层次模型像一颗倒立的树,结点的双亲是唯一的。
  层次模型一个基本特点:任何一个给定的记录值只能按其层次路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在。

2、层次模型的数据操作与完整性约束

数据操作主要有查询、插入、删除、更新

插入操作时,如果没有相应的双亲结点值就不能插入它的子女的结点值。
删除操作时,如果删除双亲结点值,则相应的子女结点值也将被同时删除。

3、层次模型的优缺点

优点:

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

缺点:

  • 现实世界很多联系非层次性
  • 如果一个结点具有多个双亲结点,层次模型表示这种联系会很笨拙。
  • 查询子女结点必须通过双亲结点
  • 由于结构严密,层次命令趋于程序化
1.2.6 网状模型

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

1、网状模型的数据结构

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

层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中可以不唯一。所以每个联系要命名,指出与该联系有关的双亲记录和子女记录。

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

3、网状模型的优缺点

优点:

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

缺点:

  • 结构比较复杂,随应用环境的扩大,数据库结构就变得越来越复杂,不利于最终用户掌握
  • 网状模型的DDL、DML复杂,并且要嵌入某一种高级语言
  • 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节
1.2.7 关系模型

1、关系模型的数据结构
由一组关系组成,每个关系的数据结构是一张规范化的二维表
在这里插入图片描述
关系模型中术语:

  • 关系,一个关系对应通常说的一张表
  • 元组,表中的一行即为一个元组
  • 属性,表中的一列即为一个属性,给每一个属性起一个名称即属性名
  • ,也称码键,表中的某个属性组,它可以唯一确定一个元组
  • ,是一组具有相同数据类型的值的集合
  • 分量,元组中的一个属性值
  • 关系模型,对关系的描述,一般表示为
    关系名(属性1,属性2,…,属性n
    在这里插入图片描述

关系模型要求关系必须规范化,关系的每一个分量必须是一个不可分的数据项(不允许表中有表)。
2、关系模型的数据操纵与完整性约束
  完整性约束条件包括三大类:实体完整性参照完整性用户定义的完整性
  关系模型中的数据操作是集合操作,操作对象和操作结果都是关系
  关系模型把存取路径向用户影藏起来
3、关系模型的优缺点

优点:

  • 建立在严格的数学概念的基础上
  • 关系模型概念单一
  • 存取路径对用户透明
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值