cwiki MSSSUG|香港科技大學內地學生學者聯誼會本科部
Cwiki-查看
返回 Cwiki-首頁Cwiki-個人頁面Cwiki-貼文列表Cwiki-課程列表Cwiki-教授列表
Database Management Systems
課程:COMP3311 [原課號:COMP231]
作者:schenan [13级 CSE]
創建於:2016-05-25 22:29:30
更新於:2016-07-02 22:38:53
課程時間:2016年spring季
授課教授:Wilfred Ng
這門課的Grade:Grade神/较好

如果不是将来要走database方向,不推荐上这门课

想知道这门课除了教SQL和Normal Form以外的教学内容,或者觉得这门课too simple, sometimes naive想自学的,强烈推荐这个如果有人问你数据库的原理,叫他看这篇文章
 
先说下在下个人认为的这门课的难度吧。如果有认真学过COMP3711,那么这门课上起来并不会感到很吃力。这门课的主要问题是涉及到的内容之广,比其它课多到不知道哪里去了,于是开卷考midterm和final的时候大部分时间都花在了找到对应的note上(我的print budget啊QAQ),学完了之后,给人一种好像什么都讲了但又什么都没讲的感觉。
 
这门课的内容以Midterm为界可以分成两个部分。Midterm前讲SQL的基础用法,ER Model&Diagram和Normal Form。Midterm后讲数据库实现所需要的知识,比如底层数据结构(b+树,hash)和相关算法,query的处理和优化,以及如何控制多个transaction之间的concurrency,具体可以参考上面的那个链接,水平比lecture note高了好几个华莱士。
 
在下觉得,midterm之前的内容还是值得一学的,就是lecture note的SQL语法实在诡异,既不与Oracle SQL兼容也不与T-SQL兼容,programming assignment时注意点就好。对于没接触过SQL的人来说,在学完midterm之前的内容后,应该足以在使用SQL时让人感叹“你为什么会这么熟练啊?!”。至于PL/SQL,note做得很一般,很多重要的细节没讲清楚,像trigger之类的建议自己看Oracle的Database PL/SQL Language Reference。4个assignment都是基于midterm前的内容,并不难,前两个和ER model有关,后两个写SQL query。
 
至于midterm后的内容,在下只想说两个字:呵呵。midterm之后学的东西也没有什么别的,大概三件事:第一个,底层和上层数据库组件概况;第二个,查询优化过程概况;第三个,事务和缓冲池管理概况。具体内容依旧可以参考上面的那个链接,在下这个鶸就不班门弄斧了。如果3711有认真学的话理解起来应该不难。然而,学了这么多,并没有什么用。为什么会这样呢?因为并没有在programming assignment里实践的机会,除了final,根本就没有机会用到这些知识。在下觉得,这门课增大assignment的权重,增加与底层实现相关的assignment也好,把PL/SQL讲深点,增加用PL/SQL管理数据库的知识也好,为什么非得搞成现在这样呢?然而据教授说这门课SFQ的评分还在持续上升,真是理解不能......
 
如果想拿高分的话,建议认真听tuto然后看强烈推荐这个如果有人问你数据库的原理,叫他看这篇文章。lecture在下觉得不是很重要,而且lecture note上有一些东西的定义(比如b+树的插入和删除)比较模糊,paper checking最好还是去一下,万一因为这些模糊的定义被扣分了还能argue回来。这门课的有一点好,TA数量非常的多,改卷速度比其它课的TA都快。下午考完试晚上就能出分,是在下输了。另外考试时很喜欢用文字游戏坑人,读题时千万要注意了……

以前据说这门课是不拉curve的,不过今年拉curve了,总评92以上就有A+,拿这门课来刷龟也不是不行。但是在下觉得想刷龟的话,如果能组到耿神这种级别的队友或者不在意workload的话可以上COMP4321/4411/5421,在意workload的话可以上COMP3031/4511,为什么非得上这种你一个人的龟啊,当然要靠自我奋斗,但是也要考虑到教授拉不拉curve的课呢?
Comments
[1 L]yzhoubb [14级 SENG] @ 2016-05-26 15:38:47
可能是因为今年的final mean太低了
[2 L]hqi [13级 MATH] @ 2016-05-29 00:15:29
竟然SFQ还在上升啊WTF
Write a comment
請登錄後再評論