数据库实验心得体会

哈,你的训练总结很详细,也确实抓住了一些要点。
说说你遇到的情况吧。
标题可能有点偏离,但我想知道这个问题是否普遍。

上周,一位客户与我聊天,抱怨他们在开发系统时对系统的要求不清楚。
结果,他们不得不反复修改,工期也很长。
你提到你的团队有1 4 个人,沟通非常混乱。
我很明白这一点。
我之前领导过一个 2 0 人的项目,当时真的很匆忙。
当有人来找你时,你正忙着与防守者联系。
当有人向您发送消息时,您看不到它。
最后,你只能在微信群里喊。

后来,你们团队聘请了三位团队领导。
我认为这个方法有效。
但说实话,我有一个朋友。
在他的团队选出一位领导者后,事情变得更加复杂。
下面的人感觉群主“传话筒”,提出的所有意见都被群主驳回。
最终,问题变得更大了。
最主要的是队长的能力查看。
如果组长本身不懂技术,那是不行的。

你提到的数据库有很多表,3 0多个表。
这是正常的。
我自己遇到的坑是一开始就试图解决问题,设计表格时没有理解其中的关系。
结果,后来我写关系代码的时候,SQL语句就长成了一个trick。
您指定是选择字符串还是数字属性类型。
你需要非常仔细地考虑这一点。
我有一个项目,后来我发现使用数值更好。
因此,我必须先转换所有用户输入的字符串,然后才能将它们用作数字。
这导致逻辑层中有大量转换代码,从而增加了很多错误。

你的详细设计水平非常快。
这也很常见。
在我从事的项目中,详细设计只是一个随机模式表,但程序员直接开始编写它。
写完后发现模块之间的接口不正确,必须更改代码和架构。
我很头疼。
你提到的操作界面很难集成,而且界面风格很多。
这是正常的结果。

但是你说最终学到的是整个软件工程流程和团队沟通,这是最大的收获。
我曾经有一个实习生,技术上手很快,但当被要求向别人传达自己的需求时,他直接说:“不用问,我明白了”。
结果他生产出来的东西并不是消费者想要的。
你提到的大学知识联系也很重要。
许多学生学习技术多年,但当涉及到实际项目时,他们发现自己没有运用在学校学到的知识或如何整合它来解决现实问题。

其实这个月你遇到的所有事情都是你在真正的开发中会遇到的问题。
不要认为你的团队特别倒霉。
关键是如何解决这些问题。
无论你选择哪种方案,先进行基本操作;把任务分成模块,指定组长,我认为方向是对的。
这些计划具体如何实施取决于个人。

但是,你经历了这个过程,遇到了所有的问题。
这是一次宝贵的经验。
它在未来如何优化取决于您。
这个问题如何让团队沟通顺畅我还在思考如何控制需求的变化……

2022 CMU-15445 全总结

CMU-1 5 4 4 5 2 02 2 课程内容深入,实验项目富有挑战性。
p0树同时生长,持续2 天。
必须掌握C++智能指针、互斥锁等,了解并发控制。
p1 BufferPoolManager,花了4 天,参考Lecture6 ,掌握shared_mutex等线程锁,了解可扩展hash。
p2 B+树索引,花了1 3 天,参考第8 &9 讲,需要C++灵活数组、互斥锁等,使用GDB和perf进行调试。
p3 SQL层的实施花了6 天时间。
参考第1 0-1 4 课掌握火山模型、优化Filterpushdown等。
p4 ConcurrencyControl,需要3 天,参考Lecture1 6 &1 7 ,掌握C++库和《算法导论》第2 2 章,帮助解决死锁。
自学很难,但通过实验可以获得知识。
感谢Andy Daniel和TA,博主的文章也非常有帮助。
未来我会继续学习分布式数据库、安全以及参与开源项目。