数据库复习笔记-第1章绪论

  • Author:ZERO-A-ONE
  • Data:2020-12-18

第1章 绪论

1.1 数据库系统概述

1.1.1 数据、数据库、数据库管理系统、数据库系统

  • 数据(Data):数据是数据库中存储的基本对象
  • 数据库(DataBase,简称DB):数据库是长期储存在计算机内组织的,可共享的大量数据的集合。数据库数据具有永久存储,有组织和可共享三个基本特点
  • 数据库管理系统(DataBase Management System,DBMS):
    • 数据库管理系统的主要功能包括:
    • 数据定义功能:
      • DBMS提供数据定义语言(Data Definiton Languages,DDL)用户通过它可以方便地对数据库中的数据对象进行定义
    • 数据组织、存储和管理:
      • DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等
    • 数据操纵功能:
      • DBMS提供数据操纵语言(Data Manipulation Language DML),用户可以使用DML操纵数据,实现对数据库的基本操作,查询、插入、删除和修改等
    • 数据库的事务管理和运行管理
      • 数据库在建立、运用和维护时由数据库管理系统统一管理,统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用,记忆发生故障后的系统恢复
    • 数据库的建立和维护功能
      • 数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等
    • 其他功能
  • 数据库系统(DataBase System,DBS):数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成

1.1.2 数据库管理技术的产生和发展

数据库管理技术经历了人工管理、文件系统、数据库系统3个阶段

1.1.2.1 人工管理阶段

人工管理数据具有如下特点:

  • 数据不保存
  • 应用程序管理数据
  • 数据不共享
  • 数据不具有独立性

缺点:数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,这就加重了程序员的负担

1.2.2.2 文件系统阶段

用文件系统管理数据具有如下特点:

  • 数据可以长期保存
  • 由文件系统管理数据

缺点:

  • 数据共享性差,冗余度大
  • 数据独立性差
1.2.2.3 数据库系统阶段

用数据库系统管理数据具有如下特点:

  • 数据结构化
  • 数据的共享性高,冗余度低,易扩充
  • 数据独立性高
  • 数据由DBMS统一管理和控制

1.2 数据模型

数据模型(Data Model)也是一种模型,它是对现实世界数据特征的抽象。数据模型就是现实世界的模拟

数据模型应满足三方面要求:

  • 能比较真实地模拟现实世界
  • 容易为人所理解
  • 便于在计算机上实现

1.2.1 两类数据模型

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

  • 概念模型:概念模型也称信息模型,它是按用户地观点来对数据和信息建模,主要用于数据库设计
  • 逻辑模型和物理模型:
    • 逻辑模型:主要包括层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relationl Model)、面向对象模型(Object Oriented Model)和对象关系模型(Object Realational Model)等。它是按计算机系统地观点对数据建模,主要用于DBMS的实现
    • 物理模型:是对数据最低层,它描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方式,是面向计算机系统的

1.2.2 数据模型的组成要素

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

  • 数据结构:描述数据库的组成对象以及对象之间的联系。数据结构是所描述的对象类型的集合,是对系统静态特性的描述
  • 数据操作:数据库主要有查询和更新(包括插入、删除、修改)两大类操作。数据操作是对系统动态特性的描述
  • 数据的完整性约束条件:数据的完整性约束条件是一组完整性规则

1.2.3 概念模型

概念模型是现实世界到机器世界的一个中间层次,表现为:

扫描二维码关注公众号,回复: 12536030 查看本文章
  • 概念模型用于信息世界的建模
  • 现实世界到信息世界的第一层抽象
  • 数据库设计人员进行数据库设计的有力工具
  • 数据库设计人员和用户之间进行交流的语言

概念模型要求:

  • 具有较强的语义表达能力
  • 能够方便、直接地表达应用中的各种语义知识
  • 简单、清晰、易于用户理解

信息世界中的基本概念:

  • 实体(Entity):**客观存在并可相互区别的事物称为实体。**实体可以是具体的人、事、物,也可以是抽象的概念

  • 属性(Attribute):**实体所具有的某一特性称为属性。**一个实体可以由若干个属性来刻画

  • 码(Key):唯一标识实体的属性集称为码

  • 域(Domain):域是一组具有相同数据类型的值的集合。属性的取值范围来自某个域

  • 实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型

  • 实体集(Entity Set):同一类型实体的集合称为实体集

  • 联系(Relationship):在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系

1.2.3.1 两个实体型之间的联系
  • 一对一联系(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

  • 实际上,一对一联系是一对多联系的特例,一对多联系又是多对多联系的特例

  • 两个以上的实体型之间也存在着一对一、一对多、多对多联系:若实体型 E 1 , E 2 , . . . , E n E_1,E_2,...,E_n E1,E2,...,En之间存在联系,对于实体型 E i ( j = 1 , 2 , . . , i − 1 , i + 1 , . . . , n ) E_i(j=1,2,..,i-1,i+1,...,n) Ei(j=1,2,..,i1,i+1,...,n)中的给定实体,最多只和 E i E_i Ei中的一个实体相联系,则说 E i E_i Ei E 1 , E 2 , . . . , E i − 1 , E i + 1... , E n E_1,E_2,...,E_i-1,E_i+1...,E_n E1,E2,...,Ei1,Ei+1...,En的关系是一对多的

  • 单个实体型内的联系:同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系

1.2.3.2 概念模型的一种表示方法:实体-联系图(E-R图)

E-R图提供了表示实体型、属性和联系的方法

  • 实体型:用矩形表示,矩形框内写明实体名
  • 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来
  • 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁边上联系的类型(1:1,1:n或m:n)
    • 注意:如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来

1.2.4 最常用得数据模型

目前,数据库领域中最常用的逻辑数据模型有:

  • 层次模型(Hierarchical Model)
  • 网状模型(Network Model)
  • 关系模型(Realtion Model)
  • 面向对象模型(Object Oriented Model)
  • 对象关系模型(Object Relational Model)

1.2.5 关系模型(重点)

1.2.5.1 关系数据模型的数据结构
  • 关系(Relation):一个关系对应通常说的一张

  • 元组(Tuple):表中的一即为一个元组

  • 属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名

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

  • 域(Domain):属性的取值范围

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

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

1.2.5.2 关系数据模型的操纵与完整性约束

关系数据模型的操作主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件,关系的完整性约束条件包括三大类:

  • 实体完整性
  • 参照完整性
  • 用户定义的完整性
1.2.5.3 关系数据模型的优点
  • 关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的
  • 关系模型的概念单一
  • 关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性也简化了程序员的工作和数据库开发建立的工作

1.3 数据库结构

1.3.1 数据库系统模式的概念

模式(Schema)是数据库中全体数据的逻辑结构和特征的描述。同一个模式可以有很多实例

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

数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成

  • 外模式:也称作子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
    • 外模式通常是模式的子集,一个数据库可以有多个外模式
    • 同一外模式也可以为某一用户的多应用系统所使用,但一个应用程序只能使用一个外模式
    • 外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是可不见的
  • 模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的开发工具以及高级程序设计语言无关
  • 内模式:也称作存储模式(storage schema),一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式

1.3.3 数据库的二级映像功能与数据独立性

数据库系统的三级模式是数据的三个抽象级别,它把数据的具体组织方式留给DBMS管理,使得用户可以逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式

数据库系统在这三级模式之间提供了两层映像:

  • 外模式/模式映像
  • 模式/内模式映像

两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性

1.3.3.1 外模式/模式映像

模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构,当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性

1.3.3.2 内模式/模式映像

数据库中只有一个模式,也只有一个内模式,所以模式/内模式的映像是唯一的,他定义了数据全局逻辑结构与存储结构之间的对应关系,当数据库的存储结构发生改变时,应用程序不必修改,保证了数据与程序的物理独立性,简称数据的物理独立性

猜你喜欢

转载自blog.csdn.net/kelxLZ/article/details/111314378
今日推荐