【数据库系统原理与设计】(一)数据库系统概论

写在前面:
 
近来比较浮躁(浮躁的很),打算自己整理一些数据库相关知识点静静心,水平有限,诸君可当个消遣看看,参考教材如下:
不要挂科!不要挂科!不要挂科!阿弥陀佛

 


 

一. 数据库系统概论

(本章主要是理论,可考前抱佛脚)

 

1.1 数据库系统的作用

1.1.1 数据与数据管理

1. 数据:描述事物的符号记录

               可以用二维表格结构来表达逻辑的称为 结构化数据 (表)

               对应着有 非结构化数据 (文档、文本、图片、视音频、HTML ...)

               和介于他们之间的 半结构化数据(XML文档、数据混内容等)

2. 数据管理

 

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

1. 人工管理阶段:一个程序管一个数据集,易数据冗余

2. 文件系统阶段:技术成熟了但没完全成熟,有”按文件名访问,按记录存取“的管理技术,但数据共享性差、独立性差、获取困难

 

 

 3. 数据库管理系统阶段:数据库管理系统(Database Management System,DBMS)

         ♦ 特点:① 数据结构化

                      ② 数据共享度高、冗余度低、易扩充

                      ③ 数据独立性高(物理独立性、逻辑独立性)

                      ④ 数据由数据库管理系统统一管理控制(安全性保护、完整性检查、并发控制、数据库恢复)

 

1.1.3 数据库应用

嗯,应用很广...

 

1.2 数据模型

1.2.1 数据模型的分层

分为3层:

1. 概念模型:是现实世界的第一层抽象,用于数据库设计

                    ( 实体-联系模型 E-R模型 , 面向对象模型 OO模型 )

2. 逻辑模型:是数据抽象的中间层,用于描述数据库数据的整体逻辑结构

                    ( 层次模型 , 网状模型 , 关系模型;面向对象模型 , XML模型; 对象关系模型 )

3. 物理模型:是数据抽象的最低层,用来描述数据的物理存储结构和存取方法

                    ( 物理数据模型 )

 

1.2.2 数据模型的组成要素

1. 数据结构:是对系统静态特性的描述,是所描述的对象类型的集合

2. 数据操作:主要有 查询更新(含插入、删除、修改) 两大类操作

3. 数据完整性约束:包括 数据结构完整性规则 数据操作完整性规则

 

1.2.3 层次模型

1. 用树状结构来表示各类实体及实体间的联系

2. 满足如下两个条件:

      ① 有且仅有一个 根结点 没有双亲结点;

      ② 根以外的其他结点有且只有一个双亲节点。

3. 缺点:

      ① 表示多对多联系时,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据结构(引入虚拟结点)来解决;

      ② 对插入、删除的限制较多,编写复杂;

      ③ 查询孩子结点必须通过双亲结点;

      ④ 结构严密,层次命令趋于程序化。

 

 

 1.2.4 网状模型

1. 网状数据模型的典型代表是DBTG系统(CODASYL系统)

2. 满足如下两个条件:

      ① 允许一个以上的 结点 无双亲;

      ② 一个结点可以有多个双亲。

3. 缺点:

      ① 结构复杂,且越用越复杂;

      ② 操作语言也复杂。

 

1.2.5 关系模型

1. 关系数据模型的数据结构:

       ① 关系(Relation):一个关系对应一张二维表(关系名)

       ② 元组(Tuple):表中一行为一个元组

       ③ 属性(Attribute):表中一列为一个属性(属性名)

       ④ (Key):可以唯一地标识表中某个属性或属性组

       ⑤ (Domain)属性的取值范围

       ⑥ 分量(Component):元组中的一个属性值

       ⑦ 外码(Foreign Key):用来描述元组间关系的表中某个属性或属性组

       ⑧ 关系模式(Relational Schema):一般形式为 关系名(属性名1,属性名2,...,属性名n)

 2. 关系数据模型的操作与完整性约束:

  • 数据操作:查询、更新(插入、删除、修改)

  • 数据完整性约束:实体完整性、参照完整性、用户自定义完整性

3. 关系数据模型的优缺点

 

1.3 数据抽象与数据库三级模式

1.3.1 数据抽象

物理层 >> 逻辑层 >> 视图层

 

1.3.2 数据库三级模式结构及两层映像

1. 数据库的三级模式结构:指数据库管理系统提供的外模式、内模式、模式,3个不同抽象级别观察数据库中数据的角度

  • 内模式:存储模式,对应物理层数据抽象;
  • 模式:逻辑模式,对应逻辑层数据抽象;
  • 外模式:子模式/用户模式,对应视图层数据抽象。

 

 

2. 数据库的两层映像与数据独立性

  • 为了能够在DBMS内部实现上述3个抽象层次的联系和转换,DBMS在这三级模式间提供了两层映像:
    • 外模式 / 模式映像
    • 模式 / 内模式映像
  • 设计数据库模式结构时,应首先确定数据库的逻辑模式

 

1.3.3 数据库三级模式与三层模型的联系与区别

三级模式是DBMS的体系结构;三层模型是数据库设计的工具和方法

 

 

1.4 数据库系统

数据库系统(Database System,DBS):是计算机系统中引入数据库后的系统

 

1.4.1 数据库系统组成

1. 数据库中包含4类数据:

  • 用户数据:结构化关系(二维表)组织的所有业务数据集合;
  • 元数据(数据字典):描述数据、统计数据;
  • 索引:加强访问性的附加数据;
  • 应用元数据:是用户窗体、报表、查询和其他形式的应用组件。

 

 

1.4.2 数据库管理系统(DBMS)

1. DBMS 的功能:

  • 数据定义
  • 数据组织、存储、管理
  • 数据操纵
  • 数据库的事务管理和运行管理
  • 数据库的建立和维护
  • 其他功能(通信...)

2. DBMS 的组成:

 

3. DBMS 的查询处理器

  • 查询处理器是 DBMS 中的一个部件集合,它将用户的查询和更新命令转换为数据库上的操作序列,并执行

4. DBMS 的存储管理器

  • DBMS 直接控制磁盘存储器
  • 存储管理器负责将 SQL 的多元组操作转化为底层的单元组操作

 

5. DBMS 的事务管理系统

  • 事务被正确执行时的 ACID 特性是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)
  • 封锁管理、事务管理、日志管理

 

1.4.3 数据库系统的相关人员

1. 开发、管理、使用数据库系统的人员主要有:

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

 

posted @   哟吼--小文文公主  阅读(450)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示