中国社会科学院大学因学生在短时间内批量下载了2578篇文献而被数据库商永久封禁了IP,不仅影响了学校师生正常的学习和科研,还让学校的声誉受到了损失。而学校对于学生的处罚并不是特别的严重,只是在全校范围内对该生给予通报批评,向图书馆提交书面形式的检讨和陈述,然后做一个保证,让学校放心。可能学校也不明白学生为什么要下这么多的文献,究竟有没有使用特殊的方式,但学生可能就是为了科研,所以也不能进行很严重的处罚,不然就会寒了学生的心。
在读大学的时候,相信很多人都用过学校内网去中国知网上下载论文,而有一些学校的学生在使用数据的时后会登录一些小型的网站,这些网站是小而精的只提供专业性的数据。学校会与这些网站建立合作关系,签订购买协议,在一定的时间内就能让学生去获取最权威的数据和文献,可以进行有效的研究。但这位2018级的博士研究生却做出了让人震惊的事情,就是批量下载了大量的文献,也是很多人不理解的。不过学校的处罚力度确实是比较轻的,没有让学生被开除或者退学。
为了研究去下载论文,当然是值得学习的,表明这个学生是很有科研精神的,下了知识的论文肯定也是能够看完的。还有人称这名学生可能是想研究论文的发布趋势以及相关的问题,所以才会两次下载如此多的文献。从这件事情中也希望学生可以吸取到一些经验教训,比如不要滥用学校的数据库,可以一天下载十几篇,这样就是够看的。
大型数据库的经营确实是比较难的,没有太过于强有力的保护,就会对下载的数量进行约定,不然数据库可能就会被他人窃取。
最近在进行UML学习过程中,突然忘记了大学时关于数据库理论中概念模型、逻辑模型、物理模型之间的区别。随机复习上网并复习,并在此记录一下,数据库建模是对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构。
1、概念模型:就是从现实世界到信息世界的第一层抽象,确定领域实体属性关系等,使用E-R图表示,E-R图主要是由实体、属性和联系三个要素构成的。
2、逻辑模型:是将概念模型转化为具体的数据模型的过程,即按照概念结构设计阶段建立的基本E-R图,按选定的管理系统软件支持的数据模型(层次、网状、
关系、面向对象),转换成相应的逻辑模型。这种转换要符合关系数据模型的原则。目前最流行就是关系模型(也就是对应的关系数据库)
E-R图向关系模型的转换是要解决如何将实体和实体间的联系转换为关系,并确定这些关系的属性和码。这种转换一般按下面的原则进行:
(1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。
(2)一个联系也转换为一个关系,联系的属性及联系所连接的实体的码都转换为关系的属性,但是关系的码会根据联系的类型变化,如果是:
1:1联系,两端实体的码都成为关系的候选码。
1:n联系,n端实体的码成为关系的码。
m:n联系,两端实体码的组合成为关系的码。
3、物理模型就是根据逻辑模型对应到具体的数据模型的机器实现。物理模型是对真实数据库的描述。如关系数据库中的一些对象为表、视图、字段、数据类型、长度、主键、外键、索引、约束、是否可为空、默认值。
首先你要理解SQL并写一个SQL的编译器。本来tokenizer和parser两部分就可以够程序员撕逼了,你还需要写一个你不知道文法(别看了,那书里绝对没有文法)的编译器。这块如果你没学过编译原理,我很好奇你需要怎么实现,甚至怎么寻找或设计文法到实现编译器的前端。
第二,你需要了解关系模型,并实现关系模型的存储。你需要对数据结构,其中最核心的是B+树索引和Hash索引,重点是实现他们在磁盘上的版本。由于磁盘的存储方式和内存不一样,你需要针对磁盘的存储进行特殊的处理。
第三,你需要实现查询引擎。查询引擎的原理是将SQL转换成一系列关系代数 *** 作符组成的 *** 作树。之前你已经实现了这个查询引擎,也就是SQL编译器的前端。现在你需要理解关系代数,并实现关系代数 *** 作符。并实现一个类似于解释器,或者叫调度器的工具,将关系 *** 作树给依次执行。其中关系代数 *** 作符里最麻烦的就是join *** 作,因为join *** 作有好几种join算法。如果需要的话,你还需要实现查询优化引擎。查询优化引擎姑且算是一个抽象的黑盒子,里面需要用到一些启发式的高级算法,需要你对动态规划和树遍历等等算法有了解。同时在cost estimation的部分需要从历史数据中估算cost,往大了说还是统计学和机器学习呢。
第四,你需要实现事务和恢复(回滚)机制,这是数据库最重要的功能之一。事务的话需要各种锁的机制实现,而回滚需要有完善的日志系统。这两部分需要大量的工作量和对 *** 作系统有深入的了解。
第五,你最好还要实现一个api。这就是把socket通信封个包的苦力了。
我很好奇150天中你要各分配给上面的东西多少天。举个例子,阿里一堆“大神”做oceanbase,当然transaction和存储复杂多了,用了四年。今年图灵奖得主michael stonebraker的学生做的voltdb的原型,接近十个人做一年。
我本科并没有实现一个数据库就毕业了。当时也是看着大神们说什么撸一个数据库感到各种膜拜。现在我回过头来反思,一个人撸一个数据库到底是不是一件很有意义的事情,而且也完不成。几个人一起分工各做一部分姑且能勉强完成任务。诚然,如上文所讲,还不完全(我没撸过数据库,所以上面讲的并不能如数家珍),数据库作为一个计算机软件是包含了计算机科学里许多模块的一个十分综合的软件系统。对数据库的学习可以延展到对算法与数据结构,编译器,计算理论, *** 作系统等等方方面面的学习,是非常好的一件事。同时做一个数据库一定需要对这些多方面的知识有着十分详细的了解才能做到游刃有余。这些绝对不是,也没必要是,一个大学低年级同学应该做到的。甚至不是大部分工程师应该做到的。因为工程师的业务绝大部分人涉及不到这么多方面,尤其是编译器部分。
以上就是关于学生下载2578篇文献,社科大IP遭数据库商封禁,该学生会被如何处罚全部的内容,包括:学生下载2578篇文献,社科大IP遭数据库商封禁,该学生会被如何处罚、SQL建表概念模型和物理模型的例子(sql数据模型)、大学生如何实现一个数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)