[CMU 数据库系统] Lecture #01: Relational Model & Relational Algebra
2022-07-31 04:42:36 # 数据库 # CMU # 翻译

本文是卡内基梅隆大学(CMU)的公开课 《Database System》的课件的翻译
第一课:关系模型与关系代数
原文链接:https://15445.courses.cs.cmu.edu/fall2021/notes/01-introduction.pdf
课程视频:https://www.youtube.com/watch?v=v4bU6n97Vr8&list=PLSE8ODhjZXjZaHA6QcxDfJ0SIWBzQFKEG

1 Databases

数据库 (database) 是一个有组织的相互关联的数据集合,它用于对现实世界进行建模,例如建立学生与班级的关系模型,或者是一个数字音乐商店。我们口头上的叫法通常不会区分 “数据库” 与 “数据库管理系统 (database management system)” 之间的差别,实际上我们常用的数据库软件都应该被称作 “数据库管理系统”,而不是 “数据库”,这些软件有 MySQL、Oracle 和 MongoDB 等等,它们都是用来管理数据库的软件。

思考一下如何建模一个数字音乐商店,在数据库中存放艺人和这些艺人发布的专辑。

2 Flat File Strawman

先假设数据库管理系统里的数据库都是以 CSV 文件的形式存储的,每一个实体都存在他自己的文件里(实体是客观存在的事物,例如一个学生或者是一个教室,都是实体)。应用程序每次想要读取或者是更新时,都要解析整个文件。每一个实体可以拥有多个属性,因此在 CSV 文件中,每一行记录代表一个实体,而每一个记录中对应的属性使用逗号进行分隔。

继续电子音乐商店的例子,它需要两个数据库文件,一个存艺人信息,另一个存专辑信息。一位艺人拥有名字、年龄和国籍等属性,而一张专辑拥有名字、艺人和发行日期等属性。

TODO: 提供点 CSV 表格的例子

CSV 文件作为数据库需要思考的问题

  • 数据完整性
  • 如何使用
  • 可靠性

3 Database Management System

4 Relational Model

5 Data Manipulation Languages (DMLs)

6 Relational Algebra

Observation

(●’◡’●)