《数据库原理》第一章——从零理解数据库系统

一、 为什么学习数据库?------课程定位与目标
  • 核心地位:数据库技术是计算机科学中发展最快、应用最广的领域之一,是现代信息系统的核心和基础。它的重要性在大数据、云计算时代愈发凸显。
  • 课程目标:本课程旨在让学生系统掌握数据库的基本原理与技术,熟练使用SQL语言进行操作,并具备设计数据库模式及开发应用系统的能力。
  • 实践导向:课程强调理论与实践结合,以上机实验(如MySQL)为核心,涵盖数据定义、查询、事务、存储过程等关键技能。
二、 数据库世界的基石------四大基本概念

理解数据库,首先要厘清四个层层递进的核心概念:

  1. 数据 (Data):描述事物的符号记录,其含义(语义)与形式不可分割。
  2. 数据库 (DB):长期存储在计算机内、有组织、可共享的大量数据集合。其特点是冗余度小、独立性高、易扩展。
  3. 数据库管理系统 (DBMS):位于用户与操作系统之间的核心软件。它负责科学地组织、存储、高效地获取和维护数据,并提供安全性、完整性、并发控制和恢复等关键功能。
  4. 数据库系统 (DBS):引入数据库后的完整计算机系统,由数据库、DBMS、应用程序和数据库管理员(DBA)共同构成。
三、 数据管理的进化史------从人工到数据库系统

PPT通过对比三个阶段,清晰地展示了数据管理技术的飞跃:

  • 人工管理阶段:数据不保存、不共享、完全依赖程序,效率极低。
  • 文件系统阶段:数据可长期保存,但共享性差、冗余度大、独立性差,程序与数据紧密耦合。
  • 数据库系统阶段:由DBMS统一管理,实现了数据的高度共享、结构化、高独立性(物理与逻辑),并由系统统一控制安全、完整、并发与恢复。
四、 如何建模现实世界?------数据模型详解

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

  • 两类模型 :
    • 概念模型(信息模型) :从用户视角出发,用于数据库设计。E-R模型(实体-联系模型) 是其主流表示方法,用矩形(实体)、椭圆(属性)、菱形(联系)来描绘现实世界。
    • 逻辑/物理模型:从计算机系统视角出发,用于DBMS实现。
  • 三大经典数据模型 :
    • 层次模型:树形结构,一对多关系直观,但难以表示多对多关系。
    • 网状模型:图结构,能更直接地描述复杂关系,但结构复杂,用户不易掌握。
    • 关系模型 :当前最主流的模型 。数据以二维表的形式组织,概念单一、清晰,建立在严格的数学基础上,存取路径对用户透明,大大简化了开发工作。
五、 数据库系统的内部架构------三级模式与二级映像

这是保证数据库数据独立性的关键机制。

  • 三级模式 :
    • 模式(逻辑模式):全体数据的全局逻辑结构和特征描述,是所有用户的公共视图。
    • 外模式(子模式):用户或应用程序看到的局部数据视图,是模式的子集,保障了数据安全性。
    • 内模式(存储模式):数据的物理存储结构和方式。
  • 二级映像 :
    • 外模式/模式映像 :保证了逻辑独立性。当全局逻辑结构(模式)改变时,只需调整此映像,外模式和应用程序可不变。
    • 模式/内模式映像 :保证了物理独立性。当存储结构(内模式)改变时,只需调整此映像,模式和应用程序可不变。
六、 谁在参与?------数据库系统的组成

一个完整的数据库系统离不开以下要素:

  • 硬件:需要足够内存、外存和高通道能力。
  • 软件:核心是DBMS,还包括操作系统、开发工具和应用系统。
  • 人员 :包括数据库管理员(DBA)(负责全局管理、维护、优化)、系统分析员、数据库设计人员、应用程序员和最终用户。
相关推荐
Zan14 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
这个DBA有点耶15 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
SelectDB16 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹17 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen17 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶18 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
测试界的小码农19 小时前
【图数据库实战进阶(01):从零认识 Neo4j,搭建第一个图数据库项目】
数据库·neo4j
x_SpiderMan20 小时前
搭建Oracle RAC 集群
数据库·oracle
测试界的小码农20 小时前
【图数据库实战进阶(03):Neo4j 图数据建模实战——节点、关系与属性应该怎么设计?】
数据库·oracle·neo4j