数据库原理(H)

(于仕琪)CS2132024秋 2023秋  
2024秋 2023秋
7.0(7人评价)
  • 课程难度
    中等
  • 作业多少
    很多
  • 给分好坏
    一般
  • 收获大小
    一般
选课类别:专业任务 教学语言:双语
课程类别:专业基础课 开课单位:计算机科学与工程系
课程层次:本科 获得学分:3.0
课程主页:暂无(如果你知道,请点右上角“编辑课程信息”添加!)
课程简介(教工部数据)
本课程通过讲授数据库系统的基本概念和原理,让学生了解数据库系统的目的、基本工作原理、系统结构、使用维护、应用领域等,并熟练掌握数据库设计和SQL语言用法;此外,学生应该对关系数据库系统底层设计具有较深入的理解。本课程让学生掌握从一个数据库应用系统的立项、系统需求分析和定义、数据需求分析和定义、数据模型设计、数据库概念(逻辑)模式设计、数据库视图(外部)模式设计、 数据库物理(内部)模式设计、数据库开发、数据库应用系统开发和维护。学生还应该掌握数据库系统的整体架构,深入理解数据库系统设计的基本原理。


The course is toteach students the basic concepts and principles of database systems, so thatthey can understand the purpose, basic working principles, system architecture,database maintenance and application fields. The students should masterdatabase design and SQL language, and understand the design principles ofdatabase systems. The learning outcomes of the course are: Students can masterthe project establishment for a database application system, system requirementanalysis and definition, data requirement analysis and definition, data modeldesign, database conceptual (logic) schema design, database view (external)schema design, database physical (internal) schema design, databasedevelopment, database application development, and actual operation andmaintenance of the developed database application system. Students can alsomaster the architecture of database systems, and fully understand theprinciples in database systems.
点评写点评
排序学期
评分评分7条点评
user avatar   匿名用户     2024秋
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:没有

这门课程是值得打十分的优质课程。

从课程难度上来看,个人觉得难度还是过于简单了,不太符合荣誉课程的定位。首先对于 project,我认为没有评分标准才应该是常态,因为一旦公开了评分标准,就会让很多同学浅尝辄止。而不公开评分标准才会让同学们在对 project 进行深度研究的过程中真真切切地收获到知识。

而其他同学提到的 project2,其实难度并不大。对于没有 C++ 基础的同学来说,一天之内获得 370 分并不是什么特别困难的事(满分 510 分,只要获得 200 分就能够得到 project 满分)。至于某位声称自己做了两周的信息竞赛银牌选手,一定是他水平太低导致的。/ruo/ruo/ruo

至于占比 40% 的期末考试,有 3/4 的内容是手写 SQL,只要对 SQL 语言稍加了解就能全部做对。尤其是对于图灵班的同学来说,既然要成为未来图灵奖得主,就应该先成为一个人肉计算机,所以这样的考试是十分合理的。

还有最后的给分问题,相比起隔壁普通班的数据库原理的总评加四分,于老师的给分可谓是非常公正的,基于事实给分。而普通班肆意篡改成绩调整得分分布的行为,对学生未来的发展百害而无一利,让大家拿着较高的绩点却没有任何收获,其心可诛。

user avatar   匿名用户     2024秋
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:一般

如果你是大二图班的同学,在开课之前想来了解一下即将参与的课程,不要看

不过,

如果你是大一的同学,想要考入图灵班,且恰好刷到这条评价,那么恭喜你刷对了帖子

你现在有两种选择。

  1. 在大一学完普通班数据库,度过平淡而无趣的学习时光
  2. 在大二体验一门极其有收获和挑战性的计系课程,享受熬夜自我怀疑和努力后终于得到了低绩点的释然

我当然推荐第二种。原因有六。

其一,没有人不喜欢挑战。有压力才有动力,大二绩点高了岂不是大三就不会努力?

其二,根据我在两边听课的体验(我经受不住同学宣传的诱惑,旁听过一节中秋老师的课程),于老师讲课的质量的确高于王老师。

其三,于老师会在开学时说有两个project,令人惊喜的是这两个project实现的过程中几乎不需要用到课上学习的内容,极其有利于图灵班的同学训练个人能力。且其中的第二个是将一个C++数据库项目由半成品完善的过程,对于信息竞赛银牌的同学大约只需要一周半时间,非常轻松。

其四,在临近学期末,为防止同学们久疏战阵髀肉复生,本课程会临时增加第三个project,在期末复习的时光中添加一丝与数据库和环境配置相伴的乐趣,真可谓与天斗其乐无穷

其五,在三个简单有趣的project之外,本课程还有令人喜悦的占比40%的期末考试,且在于老师的贴心安排下发生在期末周的第一周以防止大家忘记学习内容。期末考试的内容非常基础,就连图灵班不学无术的同学们都能考到71.5的平均分和73的中位数。

其六,本课程在最终打分时会忠于事实,在普通班给每个人增加四分的情况下对图灵班的同学们原分输入系统,让同学们在大学阶段能鲜活的体验到“有法必究,执法必严”的时代精神,可以说是春风化雨了。

热衷于挑战的同学们,快来参与这场轻松愉快的数据库之旅叭~

user avatar   匿名用户     2024秋
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:没有

这课上完能忍住不上 nces 打一分的都是这个 👍

 

分数构成

  • 10% 签到
  • 20% lab 课上作业
  • 10% project1
  • 10% project2
  • 10% project3
  • 40% 期末考试

签到与课上作业都是送分。

project

ysq project 的一大特点就是没有评分标准,评分全凭个人感觉和你同学的 project。

project 1

认真完成明确写在要求中的部分能获得 80 分,认真探索并实验,并写出详细的报告能获得 89 到 90 分,写出惊人的 138 页报告的同学也只拿到了 90 出头,我不知道剩下的分是给谁拿的。

project 2

这是我有生以来见过的最逆天的作业,具体要求是要参加一个数据库比赛的初赛,并在满分 490 分中获得 200 分。

这个比赛是要对一个使用 C++ 编写的数据库项目进行修改,增加功能以实现数据库命令。

什么?你说你没学过 C++,不要紧,ysq 会温柔地告诉你 C++ 的语法和你学过的 java 很像。

什么?你说这个 project 需要大量的使用 C++ 的指针(甚至智能指针)和 STL 库,ysq 并不知道这件事。

什么?你说这个 project 需要修改和添加语法解析(parser),要使用没学过的 lec 和 yacc,ysq 并不知道这件事,他甚至还会在这个 project 结束后的某节课上问同学们知不知道什么是 parser。

什么?你说这个 project 需要学习数据库的结构(parser,optimizer,executor等)。对不起,这节课虽然叫数据库原理,但是我们只教 sql,至于原理,这个 project 不就是让你自学原理吗?

什么?你说这个数据库比赛在网上有开源仓库,直接抄下来就能获得 370 分,并且已经有同学实践了?······

总结一下,这个 project 有以下几个特点:

  • 难度极高,绝大部分同学得分在一半以下,较多同学得分非常低。
  • 耗时极长,据我所知,取得满分的同学普遍用了超过两周的时间,其中夜里写到凌晨三四点更是家常便饭。对于我(0 工程经验)来讲,开发环境配置就花了我一周时间。
  • 作弊难度极低,如上所述,这个比赛的开源仓库随处可见。
  • ysq 本人对这个初赛具体内容几乎毫无了解。

光是这个 project 就足以让我给这门课打一分了,但是这门课的折磨远未结束。

project 3

喜欢我期末前放 project 吗。

要求极为模糊,工作量巨大,得分普遍低,高分只有 85 左右。

需要会使用 Linux 服务器。

期末考试

逆天的 20 道不定项选择,若干道手写 select 语句并手写得到的结果,加上一道手写 trigger。

时间很紧,难度很高,均分 71.5。

总评不调分。ysq 老师直言不讳地点评 wzq 老师给数据库原理每个人加四分的做法是篡改成绩,不屑与其同流合污。

总结

这门课的唯一收获是 project2 学到的 C++。而正如我前面所说,这个 project 是参加一个数据库比赛,而这个比赛和 ysq 毫无关系,同时 ysq 也并不知道这个比赛的具体内容。

除此之外,这门课完全满足 “耗时最长,收获最少,得分最低” 这三个“优秀课程”的基本要求。另外,ysq 并不会因为学生的不满而做出改变,如果你有机会避开这门课,请一定不要选


teacher avatar

于仕琪

计算机科学与工程系

教师主页

其他老师的「数据库原理(H)」课

于仕琪老师的其他课