数据库 第一章

本文深入探讨了数据库系统的发展历程,从层次/网状到关系数据库,再到新一代数据系统。强调了数据作为数据库基本元素的重要性,解释了数据库的定义、特征和作用。介绍了数据库管理系统(DBMS)的功能,包括数据定义、组织、操作、事务管理和维护。此外,还阐述了数据管理技术的演进,特别是数据结构化、数据独立性和数据库系统的构成。最后,详细讨论了数据模型,如层次、网状和关系模型,以及它们的优缺点。

1 数据库系统

1.1 数据库系统概述

P1

1、数据库系统的发展
(1)层次/网状数据库系统
(2)关系数据库系统
(3)新一代数据系统

2、数据:是数据库中存储的基本对象
数据的定义:描述事物的符号记录
数据的种类:数字、文字、图形、图像、音频、视频、学生的档案记录等等
数据的含义称为语义,数据和语义是不可分的

P2

1、什么是数据库:Database
长期存储在计算机内、有组织的、可共享的大量数据集合。

2、为什么要建立数据库
收集并抽取一个应用所需要的大量数据,并将其保存,以供进一步加工处理,抽取有用信息,转换为有价值的知识。

3、数据库的基本特征
①数据按一定的数据模型组织、描述和储存。
②可为各种用户共享、冗余度较小、易扩展。
③数据独立性较高。

4、数据库管理系统(DBMS)== database management system
①位于用户应用与操作系统之间的一层数据管理软件
②是基础软件,是一个大型复杂的软件系统。

5、数据库管理系统的用途:科学的组织和存储数据、高效地获取和维护数据。

6、数据库在计算机系统中的位置

应用软件产品
应用软件平台协同软件、办公软件
软件基础构架平台中间件、应用服务器
基础软件平台数据库管理系统、操作系统
硬件平台

7、数据库管理系统的主要功能

①数据定义功能
a、提供数据定义语言
b、定义数据库中的数据对象

②数据组织、存储和管理
a、分类组织、存储和管理各种数据
b、确定数据在存储级别上的结构和存取方式
c、实现数据之间的联系
d、提供多种存取方法、提高存储效率

③数据操作功能
提供数据操作语言(DML)
实现对数据库的基本操作(查询、插入、删除和修改)

④数据库的事务管理和运行管理
a、数据的安全性、完整性、多用户对数据的并发使用
b、发生故障后的系统恢复数据库
c、由数据库管理系统统一管理和控制,保证事务正确运行

⑤数据库的建立和维护功能
提供实用程序/工具,完成数据库数据批量装载,数据库转存,介质故障恢复,数据库的重组织和性能监视等。

⑥其他功能
a、数据库管理系统与网络中其他软件系统的通信
b、数据库管理系统之间的相互转换
c、异构数据库之间的互访和互操作

8、数据库系统:(DBS:Database System)
①是指计算机系统中引入数据库后的系统构成。
②是在不引起混淆的情况下常常把数据库系统简称为数据库

9、数据库系统的构成
①数据库
②数据库管理系统(及其应用开发工具)
③应用程序
④数据库管理员(DataBase Administrator,DBA)

在这里插入图片描述

P3

一、数据管理技术的产生和发展

1、什么是数据管理
* 对数据进行分类、组织、编码、存储、检索和维护
* 数据处理和数据分析的中心问题

2、数据管理技术的发展过程
* 人工管理阶段
* 文件系统阶段
* 数据库系统阶段

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、数据库系统的特点
* 数据结构化
* 数据的共享度高,冗余度低且易扩充
* 数据独立性高
* 数据由数据库管理系统统一管理和控制

4、数据结构化
①数据的整体结构化是数据库的主要特征之一
* 不再仅仅针对某一个应用,而是面对整个企业和组织
* 不仅数据内部结构化,整体是结构化的,数据之间具有联系
* 数据记录可以变长
* 数据的最小存取单位是数据项
*
②数据用数据模型描述,无需应用程序定义

③数据面向整个系统,可以被多个用户、多个应用共享使用(应用可以用任何语言所编写)

④数据共享的好处
	* 减少数据冗余,节约存储空间
	* 避免数据之间的不相容性和不一致性
	* 使系统易于扩充
	* 
 ⑤数据独立性高
 	* 物理独立性:指用户的应用程序与数据库中数据的物理存储时相互独立的。当数据的物理存储改变了,应用程序不用改变。
 	* 逻辑独立性:指用户的应用程序与数据库的逻辑结构时相互独立的。数据的逻辑结构改变了,应用程序不用改变。
 	* 数据独立性由数据库管理系统的二级映像功能来保证。
 	
⑥数据库管理系统统一管理和控制
	* 数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏
	* 数据的完整性检查:保证数据的正确性、有效性和相容性。
	* 并发控制(Concurrency Control):对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
	* 数据库恢复:将数据库从错误状态恢复到某一已知的正确状态。

P4

1.2 数据模型

1、数据模型:是对现实世界数据特征的抽象;通俗的讲数据模型就是现实世界的模拟;
数据模型应满足三方面要求:
* 能比较真实地模拟现实世界
* 容易为人所理解
* 便于在计算机上实现
数据模型是数据库系统地核心和基础

2、两类数据模型
①概念模型,也称信息模型:是按用户观点来对数据和信息建模,用于数据库设计。
②逻辑模型和物理模型
* 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。
* ※按计算机系统的观点对数据建模,用于DBMS实现。
* 物理模型是对数据最底层的抽象:描述数据在系统内(磁盘上)的表示方式和存取方法。
在这里插入图片描述
3 、 概念模型
①概念模型的用途
* 概念模型用于信息世界的建模
* 是现实世界到机器世界的一个中间层次
* 是数据库设计的有力工具
* 数据库设计人员和用户之间进行交流的语言
②对概念模型的基本要求
* 较强的语义表达能力
* 简单、清晰、易于用户理解

4、信息世界中的基本概念
* 实体(Enitity):客观存在并相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。
* 属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
* 码(Key):唯一标识实体的属性集称为码。
* 实体型(Enitity Type):用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
* 实体集(Enitity Set):同一类型实体的集合称为实体集
* 联系(Relationship):
* 现实世界中事物内部以及事物之间的联系在信息世界中反应为实体型内部的联系和实体型之间的联系。
* 实体内部的联系:是指组成实体的各属性之间的联系
* 实体之间的联系:通常是指不同实体集之间的联系;实体之间的联系有一对一、一对多、多对多等多种类型。

5、实体-联系方法
* 概念模型的一种表示方法
* 在这里插入图片描述
6、数据模型的组成要素
* 数据模型是严格定义的一组概念的集合:精确地描述了系统地静态特性、动态特性和完整性约束条件
* 数据模型由三部分组成
* 数据结构- 描述系统地静态特性
* 数据操作- 描述系统地动态特性
* 完整性约束

p5

层次模型(Hierarchical Model)
网状模型(Network Model)
关系模型(Relational Model)
面向对象数据模型(Object Oriented Data Model)
对象关系数据模型(Object Relational Data Model)
半结构数据模型(Semi-structure Data Medel)
非结构化数据模型、图模型
在这里插入图片描述

1、层次模型
用树形结构来表示各类实体以及实体间的联系
说白了就是一个树,用树的兄弟孩子表示法表示为二叉树(左兄弟右孩子)。

  • 数据操作:增删改查
  • 完整性拘束结构
    * 必须有父节点
    * 删除双亲结点,子节点也要删除
    * 更新操作时,必须更新所有
  • 优点:
    * 比较简单清晰
    * 查询效率高,性能优于关系模型,不低于网状模型。
    * 层次数据模型提供了良好的完整性支持
  • 缺点:
    * 节点之间的多对多联系表示不自然
    * 对插入和删除操作的限制多,应用程序编写比较复杂
    * 查询子女结点必须通过双亲结点
    * 层次数据库的命令(语音)区域程序化

2、网状模型
用网状结构表示各类实体以及实体间的联系

  • 特点:
    * 允许多个结点没有双亲结点
    * 允许一个结点有多个双亲结点
    * 允许两个结点之间有多种联系
    * 要为每个联系命名
  • 多对多联系在网状模型中的表示
    * 网状模型间接表示多对多联系
    * 方法:将多对多联系分解成一对多联系
  • 数据操作:导航式的查询语言和增删改查
  • 完整性约束:
    * 支持码的概念:唯一标识记录的数据项集合,取唯一的值。
    * 保证一个联系中双亲记录与子女记录之间的一对多的联系。
    * 可以定义双亲记录和子女记录之间某些约束条件。
  • 优点:
    * 能更更为直接地描述现实世界,如一个节点可以有多个双亲。
    * 具有良好地性能,存取效率较高。
  • 缺点:
    * 结构比较复杂,而且随着应用环境地扩大,数据库地结构就变得越来越复杂,不利于最终用户掌握。
    * DDL、DML语言复杂,用户不容易使用。
    * 记录之间联系是通过存取路径实现地,应用程序必须选择存取路径,加重了程序员地负担。

P6

3、关系模型
关系数据库系统采用关系模型作为数据地组织方式。

  • 在用户观点下,关系模型中数据就是一个二位数组。
    在这里插入图片描述
    在这里插入图片描述

  • 关系必须是规范化地,满足一定的规范条件:最基本的规范条件是,关系的每个分量必须是不可分的。

  • 在这里插入图片描述

  • 数据操作是几个操作,操作对象和操作结果都是关系。

  • 关系的完整性约束条件
    * 实体完整性
    * 参照完整性
    * 用户定义的完整性

  • 优点:
    * 建立在严格的数学概念的基础上
    * 概念单一
    * ——实体和各类联系都用关系来表示
    * ——对数据的检索结果也是关系
    * 关系模型的存取路径对用户透明
    * ——具有更高的数据独立性,更好的安全保密性
    * ——简化了程序员的工作和数据库开发建立的工作

  • 缺点:

    • 存取路径对用户透明,查询效率往往不如格式化数据模型
    • 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。

P7、数据库系统的结构

  • 从数据库应用开发人员角度看:数据库系统采用三级模式结构,是数据库系统的内部的系统结构。

  • 从数据库最终用户角度看:

    • 数据库系统的结构有:
      • 单用户结构
      • 主从式结构
      • 分布式结构
      • 客户-服务器
      • 游览器-应用服务器 / 数据库服务器
  • 模式(schema)

    • 是对数据库逻辑结构和特征的描述
    • 是型的描述,不涉及具体值
    • 模式是相对稳定的
  • 实例(Instance)

    • 数据库某一时刻的状态——模式的一个具体值
    • 同一个模型可以有很多实例
    • 实例随数据库中的数据的更新而变动
  • 三级模式

    • 模式(也称逻辑模式)
      • 数据库中全体数据的逻辑结构和特征的描述。
      • 所有用户的公共数据视图
    • 一般,某个应用的数据库有一个模式
    • 模式是数据库系统模式结构的中心
      • 与数据的物理存储细节和硬件环境无关
      • 与具体的警用程序、开发工具及高级程序设计语言无关
    • 定义模式
      • DDL定义数据的逻辑结构,以某种数据模型为基础数据记录由哪些数据项构成,数据项的名字、类型、取值范围等
      • 定义数据之间的联系
      • 定义与数据有关的安全性、完整性要求
  • 外模式

    • 外模式(也称子模式或用户模式)
      • 数据库用户使用的局部数据的逻辑结构和特征的描述
      • 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
    • 外模式与模式的关系
      • 外模式通常是模式的子集、一个模式可以由多个外模式,反映了不同用户的应用需求、看待数据的方式、对数据保密的要求
      • 对模式中某一数据,在不同的外模式中结构、类型、长度、保密级别都可以不同
    • 外模式与应用的关系
      • 一个外模式可以为多个应用系统所使用,一个应用系统只能使用一个外模式
    • 外模式的用途
      • 每个用户只能看见和访问所对应的外模式中的数据,简化用户视图
      • 保证数据库安全性的一个有力措施
  • 内模式

    • 也称存储模式
      • 是数据物理结构和存储方式的描述
      • 是数据在数据库内部的表示方式
        • 记录的存储方式(例如:顺序存储,堆存储,hash)
        • 索引的组织方式(B+树,bitmap,Hash)
        • 数据是否压缩存储
        • 数据是否加密
        • 数据存储记录结构的规定——如定长/边长,记录是否可以跨页存放等
    • 一个数据库只有一个内模式
  • 数据库的二级映像功能与数据独立性

    • 三级映像是对数据的三个抽象级别
    • 数据库管理系统内部提供两级映像
      • 外模式/模式映像
        • 对每一个外模式 ,有一个外模式/模式映像
          • 定义外模式与模式之间的对应关系
          • 映像定义通常包含在各模式的描述中
        • 保证数据的逻辑独立性
          • 当模式改变时,数据库管理员对外模式/模式映像相应改变,使外模式保持不变
          • 应用程序时依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
      • 模式/内模式映像
        • 定义了数据全局逻辑结构与存储结构之间的对应关系。如,说明某个逻辑记录对应克重存储结构。
        • 数据库中模式/内模式映像时唯一的
          • 该映像定义通常包含在模式描述中
        • 保证数据的物理独立性
          • 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映像,使模式保持不变。
          • 模式不变,则应用程序不变。保证了数据与程序的物理独立性,建成数据的物理独立性。
      • 保证了应用程序的稳定性: 除非应用需求本身发生了变化,否则应用程序一般不需要修改
      • 从程序为中心——发展为以数据为中心:具有了数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去
      • 数据的存取由数据库管理系统
        • 简化了应用程序的编制
        • 大大减少了应用程序的维护和修改

P8、数据库系统的组成

  • 数据库系统的组成

    • 数据库
    • 数据库管理系统
    • 应用程序
    • 数据库管理员
  • 1、硬件平台及数据库

    • 数据库系统对硬件资源的要求
      • 足够大的内存
      • 足够的磁盘或磁盘阵列等外部设备
      • 较高的通道能力,提高数据传送率
  • 2 、 软件

    • 数据库管理系统
    • 支持数据库管理系统运行的操作系统
    • 与数据库接口的高级语言及其编译系统
    • 以数据库管理系统为核心的应用开发工具
    • 为特定应用环境的数据库应用系统
  • 3、人员

    • 数据库管理员
    • 系统分析员和数据库设计人员
    • 应用程序员
    • 最终用户
    • 不同人员设计不同的数据抽象级别,具有不同的数据视图
    • 在这里插入图片描述
  • 数据库管理员(DBA)

    • 职责
      • 参与确定数据库中的信息内容和结构
      • 参与数据库的存储结构和存取策略的设计
      • 参与确定数据安全性要求和完整性约束条件
      • 监控数据库的使用和运行
        • 周期性转储数据库
          • 数据文件
          • 日志文件
        • 系统故障恢复
        • 介质故障恢复
        • 坚实审计文件
      • 数据库的改进和重组
        • 性能监控和调优
        • 定期对数据空进行重组织,以提高系统的性能
        • 需求增加和改变时,数据库需要重构造
  • 系统分析员

    • 负责应用系统的需求分析和规范说明
    • 与用户及数据库管理员结合,确定系统的硬软件配置
    • 参与数据空系统的概要设计
  • 数据库设计人员

    • 参与用户需求调查和系统分析
    • 确定数据库中的数据
    • 设计数据库各级模式
  • 应用程序员

    • 设计和编写应用系统的程序模块
    • 进行调试和安装
  • 用户 : 是指最终用户(End User)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值