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

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


一 问答

  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. 策略模式(Strategy)简介

    一.策略模式(Strategy)简介 策略模式是行为模式. 行为模式:规定了各个对象应该具备的职责以及对象间的通信模式,它很好的规范了对象间调用和数据传递方式 策略模式适合于算法经常变化的情况 算法的 ...

  2. json(JavaScript Object Natation)学习

    Json必需的包: commons-httpclient-3.1.jar commons-lang-2.4.jar commons-logging-1.1.1.jar json-lib-2.2.3-j ...

  3. python之函数用法all

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法all #all(iterable) #说明:如果iterable的所有元素不为0.' ...

  4. servlet ServletConfig ServletContext

    ServletConfig对象 在Servlet的配置文件中,可以使用一个或者多个<init-param>标签为servlet配置一些初始化参数. 当servlet配置了初始化参数后,we ...

  5. java 内省(Introspector)

    开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性. 当然你也可以用反射来操作JavaB ...

  6. HDUOJ----4509湫湫系列故事——减肥记II

    湫湫系列故事——减肥记II Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tot ...

  7. Extending_and_embedding_php翻译

    http://blog.csdn.net/lgg201 博客翻译了Extending_and_embedding_php

  8. xp 如何打开(进行)远程桌面连接

    http://apps.hi.baidu.com/share/detail/31102654http://help.360.cn/5030804/40072526.htmlhttp://hi.baid ...

  9. C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求

    C# 动态创建SQL数据库(二) 使用Entity Framework  创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...

  10. 使用Apktools反编译apk应用

    使用Apktools反编译apk应用 1.获取APK的classes.dex文件: 得到你想要的应用的apk文件,用解压软件打开apk,从apk中复制出classes.dex文件. 2.classes ...