刚刚考完高级数据库,这里有多高级等后面考完组合数学和算法再细聊。试卷在往年基础上改进了部分题目(貌似有人知道新题目的来源,如查询优化树),也可能是两份试卷交叉年份考。总之会的还是会,没看过的当然不会只能乱写,另外会与不会都说明不了什么问题。

努力回忆一下试卷结构,"方便"后来人。


一 问答

  1. 解释分布式数据库4层体系结构
  2. 解释分段的意义和原则
  3. 解释可靠性协议
  4. 解释多级安全访问控制和强制访问控制和区别
  5. 解释分布式设计和4层透明性

二 简答

  1. 给出一个调度S,问调度S是否可串,如果可串给出等价的串行调度S’
  2. 给出S对应的undo log,并分析在S中某个位置出现故障时undo操作
  3. 根据2PL协议将Commit Abort Lock Unlock加入调度S,并给出执行序列

三 时间戳调度

给出一系列读写申请,描述动作发生情况。基本时间戳调度,见复习材料。

四 画出执行查询的查询树

  1. 三表连接查询
  2. 含有count(*)聚集函数的嵌套查询

五 语句含义

面向对象部分语义解释,共五句话,见复习材料。


总结

总的来说,课程分为分布式数据库和面向对象数据库两块。分布式数据库介绍了分布式数据库的方方面面,包括数据库系统的设计、查询处理优化、事务管理和恢复、并发控制、可靠性、安全性与目录管理等。面向对象数据库基本上回顾了OO的方方面面,只是结合数据库的背景进行详细分析,无特别之处。Project基本就是搞笑的,题目也不知道用了多少年从古至今(据说最早01年就开始用这个题目,不知真假但至少有六七年历史)。而Versant数据库这个题目本身就是结合OO思想设计表结构,将表结构持久化到Versant数据库,然后结合B/S架构(JSP写前台,Versant数据库,Java写逻辑)处理方式,从数据库中读取数据(增删改查),写数据到数据库,无他。迫于还有两门课(组合数学和算法设计分析)复习压力,后面想办法再解决Project报告。

课程本身枯燥无味(其实某些算法还是挺有意思,像基本时间戳调度、多版本时间戳调度、2PC、2PL、3PC和SDD-1半连接优化计算),只是从上课内容没看出任何高级的地方。不止一次在朋友圈吐槽了这门课(其实是这类),连自己都快麻木。在讲者赶时间赶进度、做任务(几乎不与听者沟通交流)式的教学方式下,本身就很枯燥的课程更让听者反感至极。讲者高高在上,一味争取完成填鸭式教学任务而忽略课程体系结构本身以及背景的探讨、介绍(根本无视课程背景介绍的重要性以及听者的学习感受,开始-结束-开始-结束-…)。讲者不是心有余而力不足(有意识传道授业但方法和讲课技巧能力有限),而是彻底走自己的路,听者爱听不听。这些导致的结果是听者囫囵吞枣,讲者完成任务,大部分概念都只是在几天里突击被记了个皮毛,而得不到深入理解更不谈具体应用,我相信忘得肯定比记的快。

有一种似曾相似的感觉,为了考试死记硬背,为了下一门考试再清空记忆,再重头开始然后循环。我甚至相信没在课上学过这些会更好1,至少我不会讨厌这类课。这是种糟糕并且被我痛恶的感觉,我只是希望目前的教育方式2能有所改观,我只是希望能学以致用。我在试着改变自己,更深的体会后面再细聊或者参考链接。

"高级"数据库小结的更多相关文章

  1. 高级数据库及一步一步搭建versant数据库

    总的来说,高级数据库课程分为分布式数据库和面向对象数据库两块.分布式数据库介绍了分布式数据库的方方面面,包括数据库系统的设计.查询处理优化.事务管理和恢复.并发控制.可靠性.安全性与目录管理等.面向对 ...

  2. MySQL常用数据库小结

    SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRAN ...

  3. Mysql数据库小结

    1. 基础概念 1.1 数据 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 在计算机中描述一个事 ...

  4. 阿里三面46题:java高级+数据库+网络+架构设计!含答案大赠送!

    阿里一面 自我介绍 链表,数组的优缺点,应用场景,查找元素的复杂度 二叉树怎么实现的 Java中都有哪些锁 可重入锁的设计思路是什么 乐观锁和悲观锁 synchronized机制 hashmap原理, ...

  5. sqlserver 连接远程数据库小结

    A,B两个数据库,不在同一台服务器实例 当需要通过sqlserver语句来实现对远程数据库操作(OPENDATASOURCE): select * from -- 操作类型 OPENDATASOURC ...

  6. 在项目中使用SQLite数据库小结

    ------------------------------------------------------------------------推荐: - VS2012 使用 1.0.84 版的库 - ...

  7. JavaScript高级编程小结

    Undefined 对未初始化的变量执行typeof操作符会返回undefined值,而对未声明的变量执行typeof操作符同样也会返回undefined var message; console.l ...

  8. C#高级编程小结

    小结 这几章主要介绍了如何使用新的dynamic类型,还讨论了编译器在遇到dynamic类型时会做什么.还讨论了DLP,可以把它包含在简单的应用程序中.并通过Pythin使用DLR,执行Python脚 ...

  9. 转载C#操作数据库小结

    1.常用的T-Sql语句      查询:SELECT * FROM tb_test WHERE ID='1' AND name='xia'                SELECT * FROM ...

随机推荐

  1. Hibernate(十五)注解

    一.Hibernate注解 使用注解的方式来注释类和属性,从而完成对象和关系的映射 二.步骤 三.注解标签 四.查询

  2. Electron 调用系统工具记事本、计算器等

    const child = require('child_process').exec; child('notepad', function(err, data) {});//打开记事本 child( ...

  3. ThinkPHP的A方法,R方法,M方法,D方法区别

    在Thinkphp中,实例化对象有这么几种方法,如果是类,有A和R方法,区别是A方法只是对象的实例化,而R方法是可以同时实例化对象里面的方法的,这里需要去指定,如下面的实例代码: <?php n ...

  4. mysql 创建表单

    1.表名:Customer 属性: ID   字符型  最大10个字符   ——顾客编号 NAME   字符型  最大16个字符   ——顾客姓名 SEX     字符型  最大2个字符   ——性别 ...

  5. 开源 免费 java CMS - FreeCMS1.9 移动APP管理 网站配置

    项目地址:http://www.freeteam.cn/ 网站配置 管理员能够在这里设置当前管理网站是否同意移动app訪问,是否默认移动APP网站.首页的布局,首页数据最多载入页数. 从左側管理菜单点 ...

  6. 批处理文件:将目录下所有的jar文件都加到CLASSPATH

    简便写法如下: 代码 : @echo off SetLocal EnableDelayedExpansion FOR %%i IN ("XXX\lib\*.jar") DO SET ...

  7. Tomcat SSL配置 Connector attribute SSLCertificateFile must be defined when using SSL with APR解决

    原文地址:http://blog.csdn.net/kissliux/article/details/17392003 Tomcat 6版本配置SSL过程有两步: 1.用JDK自带的keytool.e ...

  8. java操作hdfs到数据库或者缓存

    使用hadoop工具将数据分析出来以后,须要做入库处理或者存到缓存中.不然就没了意义 一下是使用javaAPI操作hdfs存入缓存的代码: <span style="font-fami ...

  9. awk打印倒数第2列

    cat 1-iplist.txt | awk '{ print $(NF-2) }'|wc 实际示例: 打印nginx日志中 变量request_time超过3秒的日志信息 [root@datalin ...

  10. 戴尔大力宣传Ubuntu 对比与Windows的差异

    2010-06-18 10:58:36   11175 人阅读   作者:萧萧 编辑:萧萧[爆料]  评论(46)   戴尔近日上线了一个新的网页,对比Linux开源系统(主要是Ubuntu)与Win ...