likes
comments
collection
share

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发

作者站长头像
站长
· 阅读数 21

最近在写运维平台,发现自己的数据库这块非常薄弱。大学学的啥第一范式第二范式等等都忘记了。于是有了重新在系统学习一下数据库的计划。于是开了一个系列,这也是我第一次写系列文章希望大家留言催更😂。

课程选择

如题目所见我选择了 MIT 6.5830/6.5831: Database Systems 数据库系统这门课。课程链接如下: 6.5830/6.5831: Database Systems (formerly 6.814/6.830) (mit.edu) 为什么选这门课:

  • mit的计算机比较系统完整。

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 先前学过 mit的6.824。对就是那大名鼎鼎的分布式系统🤣。尴尬的哪门课程确实很难我还没学完。但是我被他的完善的评分系统以及详细的指南所折服。国内其实也有一些付费的课程像极客时间的课程都很不错,但是对比下来就是国外大学的公开课有完善的lab和评分标准,还有基本工具使用指南。不要小瞧这一点很多时候我们就是被各种环境报错折磨了心态到时课程学不下去。

  • 其次这门课难度从基础到原理到实操都覆盖了。

作为一个上了三年班的社畜,在学校的理论知识早就丢的一干二净。现在再来回头看看理论更能加深理解。 这是课程的描述,课程定位是零基础的人员。对于我这种菜狗是友好的。课程专注于关系代数和数据模型等基础知识, 架构规范化、查询优化、事务和其他更高级的主题。比较契合日常开发中用到的内容。(我一开始还担心会不会要我手写一个简单数据库🐶)

Description

This course relies on primary readings from the database community to introduce graduate/undergraduate students to the foundations of database systems, focusing on basics such as the relational algebra and data model, schema normalization, query optimization, transactions, and other more advanced topics. No prior database experience is assumed though students who have taken an undergraduate course in databases are encouraged to attend.

Lecture 1

第一章内容比较简单主要是聊数据库的简介以及关系。以及整个课程的安排。课程共15周每周两个课左右。一共5个lab其中最后一个lab 4是研究生课程。

课程安排

该课程有两部分也就是标题中的6.5830和6.5831。其中6.5831是本科生课程6.5830是研究生课程 研究生课程就是多了一个作业Lab 4其他内容都是一样的。所以到时看有没有有时间再决定做不做。

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发

课前准备

该门课程全部使用了golang。这点我非常开心,因为我只会golang和python😂。以前很多课程都是用java或者c++现在引入了python和golang对新手比较友好。课前会建议我们看 “小红书”我觉得可以后续再看。“小红书”对我来说难度有点大。关于go入门,课程推荐go官方入门指南。Go tutorial。课程要求需要前置课程6.006也就是算法导论。我目前先跳过了后续遇到了再看看。当然如果你是一个大学生或者想入门可以按照mit计算机系的路线图来学习。以下是新版的路线图很多课程可能已经换了名称。国外计算机分EE和CS其中MIT CS课程编号是Course 6-3。

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发

什么是数据库系统

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 课程开篇就给了定义:简单的来说从用户视角关注两件事情 数据建模数据查询

数据建模

文中用了一个动物饲养员在指定时间饲养笼子里动物的例子。

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 文中用了一个E-R图直观的展示了 实体和实体之间的关系。有动物和笼子一对多,饲养员和笼子多对多关系,也有饲养员和名称等一对一关系。

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 课上提问上述模型是否还有其他模型? mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 文中提出了层次模型和多表并提到了他们的缺点 数据重复

SQL声明式编程语言

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 SQL是一种声明式语言,声明式好处简洁直观符合人类自觉。如果了解过k8s那一定听过声明式api这也是云原生领域一个最核心的技术趋势之一。

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发

数据库系统小结

关系模型+声明式查询 mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发

关系模型的发展历史

关系模型发展到今天一共经历了三代 从早期的IMS层次模型--->到CODASYL网络模型--->到现在最流行的Relational mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 相关发展历史可以参考该文章 不同类型的数据库 - 概述与示例 (prisma.io) 总结下来关系模型发展到今天解决了以下问题。所以也成了现在最流行的数据库模型。

  • 无冗余的多对多关系
  • 声明式编程
  • 物理数据独立性
  • 逻辑数据独立性

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 文中反复强调 其他模型存在的比较大的问题 数据重复问题

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 第一章基本就这么多内容 主要介绍了数据库系统的定位。以及现在主流关系模型的发展历程

疑惑的点

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发

mit 6.5830/6.5831: Database Systems 学习之旅之Lecture 1最近在写运维平台,发 因为没事最新的视频只有课件这块内容没有看懂。大佬可以在评论区解惑一下。

教学视频

视频目前只有很老的下面两个是油管和bilibili的连接内容都是一样的 课程是从第6课开始讲的因为说前面的录像损坏了🤣。

(4) 6.830/6.814 Lecture 6: Indexing and Access Methods - YouTube

MIT-6.830-Database Systems_哔哩哔哩_bilibili

课程主页

6.5830/6.5831: 2024 年教学大纲 (mit.edu)

转载自:https://juejin.cn/post/7418756597213708288
评论
请登录