10/26日记

上午的数据库原理课,重点学习了实体之间的关系映射,一对一、一对多还有多对多。刚开始区分的时候很容易混淆,老师举了不少例子帮我们理解:一对一就像一个学生对应一张校园卡;一对多是一个班级可以包含多名学生;而多对多最麻烦,比如学生和课程,一名学生能选多门课,一门课同时有很多学生选修,这种情况必须引入中间表来拆分。我一边记笔记一边在脑子里画图梳理,突然意识到这些关系设计,不管是做课程里的ERP原型,还是我之前写模组里的经济数据存储,都用得上,一套合理的表关系,能避免后续数据冗余和更新出错。

第二节课接着学离散数学,内容是集合上的关系与闭包。自反闭包、对称闭包、传递闭包,还有关系的细化。闭包的概念理解起来有点抽象,简单来说,就是在原有的关系基础上,补充最少的有序对,让它满足对应的性质。传递闭包尤其绕,练习计算的时候,要反复检查有没有漏掉应该补上的关系。关系的细化,就是在同一个集合上,在原有关系约束之下,构造出新的、更精细的关系。做题的时候,经常一不小心就搞错运算顺序,错了两道题之后,慢慢摸到了规律。

一上午连着两门偏理论、偏抽象的课,脑子运转得很快。数据库偏向工程落地,关心怎么把现实里的事物合理存进表里;离散数学偏向底层逻辑,研究集合、关系本身的数学性质。仔细想想,二者其实是相通的,数据库里的主键、外键关联,本质也是集合元素之间建立的一种关系。

下午没有紧促的课程,我拿出草稿纸复盘上午的知识点,把几种实体关系画成ER图,又自己动手算了几道闭包的练习题巩固。这段时间一边跟着课程啃计算机基础,一边和同学规划MC修仙法宝模组,这些底层知识都在悄悄发挥作用。以后设计法宝、灵材、炼器配方的数据结构时,一样要处理多对多的关联,比如一件法宝可以需要多种灵材,一种灵材又能用来炼制不同法宝。学好这些基础,之后写代码、设计数据结构的时候就能少踩很多坑。

今天收获挺扎实,把之前模糊的关系模型和闭包概念理顺了,理论积累多一点,做项目的时候底气也足一点。

posted on 2026-10-26 20:56  Gear666bro  阅读(5)  评论(0)    收藏  举报