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

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

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

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

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

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

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

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

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

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

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

  • 硬件:需要足够内存、外存和高通道能力。
  • 软件:核心是DBMS,还包括操作系统、开发工具和应用系统。
  • 人员 :包括数据库管理员(DBA)(负责全局管理、维护、优化)、系统分析员、数据库设计人员、应用程序员和最终用户。
相关推荐
Yupureki2 小时前
《MySQL数据库基础》8.复合查询
linux·运维·服务器·网络·数据库·mysql
方芯半导体2 小时前
ST系列MCU EtherCAT协议栈框架结构详解
服务器·网络·数据库·网络协议·机器人·自动化·工业以太网
许彰午2 小时前
开发转兼职DBA(五):从救火到防火——参数、内存、监控、备份
数据库·dba
草木红2 小时前
Redis 语法基础入门
数据库·redis·缓存
枫叶林FYL3 小时前
项目十:事件溯源仓储管理系统(WMS)
jvm·数据库·oracle
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题 第78题】【Mysql篇】第8题:解释下最左前缀原则?
java·开发语言·数据库·mysql·面试
霸道流氓气质3 小时前
MyBatis 分页查询 + Feign 数据补充实战指南
数据库·oracle·mybatis
一起逃去看海吧3 小时前
对接LangSmith
java·前端·数据库
wyhwust3 小时前
web应用技术-第一次课后作业
java·前端·数据库