数据库知识点总结

1.1 数据管理技术的进展

1.1.1 基本概念

  • 信息:以物理介质为载体,传递和反映世界各种事物存在方式和运动状态的表征。
  • 数据:描述现实世界的各种信息(事物)的符号记录。数据的表现形式:数字、文字、图形、图像、声音、语言等。
  • 信息和数据是两个既有联系又有区别的概念,数据是信息的载体,信息是数据的内涵。
  • 数据处理:指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
  • 数据管理:指对数据进行分类、组织、编码、存储、检索和维护操作。

1.1.2 数据管理技术的进展

  • 人工管理阶段
    • 数据不长期保存在计算机中
    • 数据是面向应用的
    • 数据与程序不具有独立性
    • 无法实现数据共享
    • 数据冗余度大
  • 文件系统阶段
    • 数据能够长期保存。
    • 由专门软件对数据进行管理
    • 数据共享性差
    • 数据冗余度大
    • 数据独立性较差
    • 可实现以文件为单位的共享
  • 数据库系统阶段
    • 数据结构化
    • 数据共享性高
    • 数据冗余度低
    • 数据易于扩充
    • 数据独立性高
    • 数据统一管理与控制

1.2 理解数据库系统

1.2.1 什么是数据库系统

  • 数据库:长期存储在计算机内、有组织、可共享的数据集合。
  • 数据库系统:引入数据库之后的计算机系统。
  • 数据库管理系统:专门用于管理数据库的系统软件

1.2.1.1 数据库系统的组成

数据库、数据库管理系统、应用开发工具、数据库管理员、数据库应用系统、用户

1.2.1.2 数据库特点

  • 数据结构化
    • 整体数据的结构化是数据库的主要特征。
    • 数据的结构用数据模型描述,无需程序定义和解释。
  • 数据共享性
    • 降低数据的冗余度,节省存储空间
    • 避免数据间的不一致性
    • 使系统易于扩充
  • 数据独立性
    • 物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。
    • 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。
  • 数据库管理系统对数据的统一控制
    • 数据的安全性保护:使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。
    • 数据的完整性检查:将数据控制在有效的范围内,或保证数据之间满足一定的关系。
    • 并发控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
    • 数据库恢复:将数据库从错误状态恢复到某一已知的正确状态。

1.3 数据库系统结构

型:对某一类数据的结构和属性的说明
值:是型的一个具体赋值

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

三级模式结构:外模式、模式、内模式

  • 模式(也称逻辑模式):
    • 数据库中全体数据的逻辑结构和特征的描述
    • 一个数据库只有一个模式
    • 是数据库系统模式结构的中间层
    • 与数据的物理存储细节和硬件环境无关
    • 与具体的应用程序、开发工具及高级程序设计语言无关
    • 所有用户的公共数据视图,综合了所有用户的需求
    • 数据的逻辑结构(数据项名、类型、取值范围等)
    • 数据之间的联系
    • 数据有关的安全性、完整性要求
  • 外模式(也称子模式或用户模式):
    • 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
    • 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
    • 外模式的地位:介于模式与应用之间
    • 模式与外模式的关系:一对多
    • 外模式通常是模式的子集
    • 一个数据库可有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求
    • 对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同
  • 内模式(也称存储模式)
    • 是数据物理结构和存储方式的描述
    • 是数据在数据库内部的表示方
    • 一个数据库只有一个内模式

1.3.2 数据库系统的二级映像

数据库系统的二级映像是指外模式与模式之间、模式与内模式之间的映像关系 。

  • 外模式/模式映像:
    • 定义外模式与模式之间的对应关系
    • 每个外模式都对应一个外模式/模式映象
    • 映象定义通常包含在各自外模式的描述中
    • 外模式/模式映象的用途:保证数据的逻辑独立性
    • 当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变。
    • 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。
  • 模式/内模式映象
    • 定义了数据全局逻辑结构与存储结构之间的对应关系。
    • 数据库中模式/内模式映象是唯一的
    • 其定义通常包含在模式描述中
    • 模式/内模式映象的用途:保证数据的物理独立性
    • 当数据库的存储结构改变了,数据库管理员修改模式/内模式映象,使模式保持不变;
    • 应用程序不受影响,保证了数据与程序的物理独立性。
  • 三级模式与二级映像结构的优点:
    • 保证数据独立性:将外模式与模式分开,保证了数据的逻辑独立性;将内模式与模式分开,保证了数据的物理独立性。
    • 有利于数据共享,减少数据冗余。
    • 有利于数据的安全性:不同的用户在各自的外模式下根据要求操作数据,只能对限定的数据进行操作。
    • 简化了用户接口:用户按照外模式编写应用程序或输入命令,而无须了解数据库全局逻辑结构和内部存储结构,方便用户使用。

1.3.3 数据库管理系统

数据库管理系统(DBMS)是对数据进行统一管理与控制的专门系统软件
主要功能:

  • 数据定义功能
  • 数据操纵功能
  • 数据控制功能
  • 数据库的建立和维护功能
  • 数据组织、存储和管理

1.3.4 数据库系统所需人员

  • 开发、管理和使用数据库系统的人员主要包括:
    • 数据库管理员
    • 系统分析员
    • 数据库设计人员
    • 应用程序员
    • 最终用户

1.3.4.1 数据库管理员

  • 是指对数据库和DBMS进行管理的一个或一组人员,负责全面管理和控制数据库系统。
  • 其具体职责包括:
    • 参与数据库设计。
    • 数据完整性和安全性管理。
    • 数据库运行维护和性能评价。
    • 数据库改进和重构。

1.3.4.2 系统分析员

负责应用系统的需求分析和规格说明,要和用户及DBA协商,确定系统的软/硬件配置,并参与数据库系统的概要设计。

1.3.4.3 数据库设计人员

  • 是数据库设计的核心人员,负责数据库中数据内容及结构的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调研和系统分析,然后进行数据库设计。
  • 通常情况下,数据库设计人员是由DBA或系统分析员担任的

1.3.4.4 应用程序员

负责设计和开发数据库应用程序,并负责进行调试和安装。

1.3.4.5 最终用户

  • 偶然用户:不确定的或很少使用系统的人员
  • 简单用户:使用应用系统访问数据库的人员(如,银行的职员、机票预定人员、旅馆总台服务员等)
  • 复杂用户:直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序(如,工程师、科学家、经济学家、科技工作者等)

1.4 数据模型

1.4.1 数据模型的概念

  • 模型:是对现实世界的模拟和抽象。
  • 数据模型:是现实世界中数据特征的抽象。
  • 数据模型的作用:用来抽象、表示和处理现实世界中的数据和信息。
  • 数据模型的定义:数据的组织结构称为数据模型,它决定了数据及其之间联系的表达方式。
  • 数据模型应满足三方面要求
    • “模拟逼真”:能较真实地模拟现实世界
    • “易理解”:容易为人所理解
    • “易实现”:便于在计算机上实现
  • 现实世界中的客观对象抽象为概念模型;
  • 把概念模型转换为某一DBMS支持的数据模型。

1.4.2 概念数据模型

  • 概念数据模型事现实世界到信息世界的抽象
  • 概念模型与DBMS无关
  • 概念模型的用途
    • 用于信息世界的建模
    • 是现实世界到机器世界的一个中间层次
    • 数据库设计人员和用户之间进行交流
  • 对概念模型的基本要求:。
    • 较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识
    • 简单、清晰、易于用户理解

1.4.2.1 概念模型的表示方法

  • 实体-联系(Entity-Relationship)方法(E-R方法):用E-R图来描述现实世界的概念模型

1.4.2.2 E-R模型的三要素

  • 实体(Entity)
    • 实体是指客观存在并可相互区别的事物。实体可以是人、事或物,也可以是抽象的概念。例如,一件商品、一个客户、一份订单等都是实体。
  • 属性(Attribute)
    • 实体通常有若干特征,每个特征称为实体的一个属性。属性刻画了实体在某方面的特性。例如,商品实体的属性可以有商品编号、商品类别、商品名称、生产商等。
  • 联系(Relationship)
    • 现实世界中事物之间的联系反映在E-R模型中就是实体间的联系。例如,订单就是客户和商品之间的联系。

1.4.2.3 实体型和实体值

实体型(Entity Type)是指对某一类数据结构和特征的描述。通常实体型由实体名和属性名的集合来抽象和刻画同类实体。
例如,商品(商品编号,商品类别,商品名称,生产商,单价,库存量,保质期)是一个实体型。
实体值(Entity Value)是实体型的内容,由描述实体的各个属性值组成。
例如,(50020005,体育用品,足球,美好体育用品公司,120,20,2012-1-1)是实体值。

1.4.2.4 两个实体型间联系的类型

  • 1:1 联系
    • 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。
    • 实例:班级与班长之间的联系(一个班级只有一个正班长,一个班长只在一个班中任职)
  • 1:n 联系
    • 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系;记为1:n
    • 实例:班级与学生之间的联系(一个班级中有若干名学生,每个学生只在一个班级中学习)
  • m:n 联系
    • 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n
    • 实例:课程与学生之间的联系(一门课程同时有若干个学生选修,一个学生可以同时选修多门课程)

1.4.2.5 两个以上的实体型之间的联系

两个以上的实体型内的各实体之间也可以存在一对一,一对多,多对多的联系 。

1.4.2.6 单个实体型内的联系

同一个实体型内的各实体之间也可以存在一对一,一对多,多对多的联系 。

1.4.2.7 E-R模型的表示—E-R图

  • 实体型的表示
    • 矩形表示,矩形框内写明实体名。
  • 属性
    • 椭圆形表示,并用无向边将其与相应的实体连接起来。
  • 联系
    • 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。
    • 联系的属性:联系也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。
      【例】客户订购某类商品均有数量,则实体型“客户”与实体型“商品”之间的联系就具有属性“数量”,其E-R图表示如下。

1.4.3 逻辑数据模型

  • 是信息模型(概念模型)的数据化,从计算机角度出发,提供表示和组织数据的方法。
  • 三要素:
    • 数据结构:记录间的组织形式。静态
    • 数据操纵:建立在特定结构下的操纵实现。动态
    • 数据完整性约束:完整性约束是数据的一组完整性规则的集合,是对记录内部及记录间的限定。
  • 逻辑数据模型的分类
    • 层次模型
    • 网状模型
    • 关系模型

1.4.4 关系模型

  • 1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出。
  • 数据结构 – 实体、联系均用二维表:关系模型中基本的数据结构是表格,关系模型使用二维表来表示实体及其联系。
  • 数据操作 – 集合操作,存取路径透明:关系数据操作具有两个显著特点:一是关系操作是集合操作,即操作的对象和结果均为集合;二是关系模型将操作中的存取路径向用户屏蔽起来,用户只要说明做什么,而不必指出怎样做。
  • 数据完整性约束:关系完整性约束规则包括三类:实体完整性、参照完整性和用户定义完整性。
  • 关系模型的特点:
    • 优点
      • 建立在严格的数学概念的基础上
      • 概念单一
      • 存取路径对用户透明
    • 缺点
      • 查询效率往往不如非关系数据模型
      • 增加了开发DBMS的难度

1.5 数据库系统的发展

1.5.1 数据库系统的发展阶段

  • 第一代数据库系统

    • 20世纪70年代,层次和网状数据库系统
    • 代表:层次模型数据库系统的典型代表是IBM公司的IMS;网状模型的规范是DBTG,实际系统有:HP公司的IMAGE、Honeywell公司的IDS/2等。
  • 第二代数据库系统

    • 20世纪70年代后期以后,关系数据库系统
    • 代表:Oracle、SQL Server、Sybase、DB2、Informix等。
  • 第三代数据库系统

    • 数据库技术和其他学科内容相结合(分布式数据库、工程数据库、演绎数据库、知识数据库、时态数据库、空间数据库等)

1.5.2 数据库系统主要研究领域

  • 数据库管理系统软件的研制
    • DBMS核心
    • 一组相互联系的软件系统
      • 工具软件
      • 中间件
  • 数据库设计
    • 数据库设计理论、方法
    • 设计工具
    • 数据模型和数据建模
  • 数据库理论
    • 关系数据模型
    • 关系规范化理论
    • 新的数据模型等

本章小结

  • 数据库系统概述
    • 数据库的基本概念
      • 信息、数据、数据处理、数据管理、数据库、数据库系统、数据库管理系统
    • 数据管理的发展过程
      • 手工管理、文件系统、数据库系统
    • 数据库系统的特点
      • 结构化、共享性、独立型、统一管理与控制
  • 数据模型
    • 数据模型的概念:对数据特征的抽象描述
    • 概念模型,E-R模型(三种实体型联系,ER图)
    • 逻辑数据模型
      • 层次模型、网状模型、关系模型
  • 数据库系统的体系结构
    • 数据库系统三级模式结构
      • 模式、外模式、内模式
    • 数据库系统的二级映像
      • 模式/外模式映像、模式/内模式映像
  • 数据库系统的组成
    • 数据库、数据库管理系统、应用开发工具、数据库管理员DBA、数据库应用系统、用户
原文地址:https://www.cnblogs.com/shy-/p/9038732.html