0 数据库系统概论目录
发表于|更新于|数据库
|总字数:219|阅读时长:1分钟|浏览量:
基础篇
主要讲解了关系数据库的理论知识,和作为单个数据库内部的结构。
1. 数据模型和系统结构
2. 关系运算
3. 数据类型说明
4. SQL
5. 完整性约束
6. 安全性
7. 断言和触发器
设计篇
主要讲解了如何设计数据库,在面对具体的问题时,处理问题的过程。
1. 规范化
1NF,2NF,3NF,4NF
2. 设计步骤
需求分析,概念设计,逻辑设计,物理设计
3. 编程(未讲)
系统篇
主要讲解了数据库如何应用。在应用过程中面临的问题和解决的办法。
1. 查询处理和查询优化
2. 并发控制
3. 数据库管理系统(未讲)
新技术篇
1. 数据库发展过程
2. 大数据管理
3. 内存数据库系统
文章作者: Estom
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!
相关推荐

2021-09-07
8.0-chinese
第8章 并发代码设计本章主要内容 线程间划分数据的技术 影响并发代码性能的因素 性能因素是如何影响数据结构的设计 多线程代码中的异常安全 可扩展性 并行算法的实现 之前章节着重于介绍使用C++11中的新工具来写并发代码。在第6、7章中我们了解到,如何使用这些工具来设计可并发访问的基本数据结构。这就好比一个木匠,其不仅要知道如何做一个合页,一个组合柜,或一个桌子;并发的代码的使用,要比使用/设计基本数据结构频繁的多。要将眼界放宽,就需要构建更大的结构,进行高效的工作。我将使用多线程化的C++标准库算法作为例子,不过这里的原则也适用于对其他应用程序的扩展。 认真思考如何进行并发化设计,对于每个编程项目来说都很重要。不过,写多线程代码的时候,需要考虑的因素比写序列化代码多得多。不仅包括一般性因素,例如:封装,耦合和聚合(这些在很多软件设计书籍中有很详细的介绍),还要考虑哪些数据需要共享,如何同步访问数据,哪些线程需要等待哪些线程,等等。 本章将会关注这些问题,从高层(但也是基本的)考虑,如何使用线程,哪些代码应该在哪些线程上执行;以及,这将如何影响代码的清晰度,并从底层细...

2021-09-07
1.5-chinese
1.5 本章总结本章中,提及了并发与多线程的含义,以及在你的应用程序中为什么你会选择使用(或不使用)它。还提及了多线程在C++中的发展历程,从1998标准中完全缺乏支持,经历了各种平台相关的扩展,再到新的C++11标准中具有合适的多线程支持。芯片制造商选择了以多核心的形式,使得更多任务可以同时执行的方式来增加处理能力,而不是增加单个核心的执行速度。在这个趋势下,C++多线程来的正是时候,它使得程序员们可以利用新的CPU,带来的更加强大的硬件并发。 使用1.4节中例子,展示C++标准库中的类和函数有多么的简单。C++中使用多线程并不复杂,复杂的是如何设计代码以实现其预期的行为。 尝试了1.4节的示例后,是时候看看更多实质性的内容了。 第2章中,我们将了解一下用于管理线程的类和函数。

2020-09-26
basics
基础用法本节介绍 Pandas 数据结构的基础用法。下列代码创建上一节用过的示例数据对象: 1234567In [1]: index = pd.date_range('1/1/2000', periods=8)In [2]: s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])In [3]: df = pd.DataFrame(np.random.randn(8, 3), index=index, ...: columns=['A', 'B', 'C']) ...: Head 与 Tailhead() 与 tail() 用于快速预览 Series 与 DataFrame,默认显示 5 条数据,也可以指定显示数据的数量。 1234567891011121314151617In [...

2021-09-07
7.4-chinese
7.4 本章总结从第6章中的基于锁的数据结构起,本章简要的描述了一些无锁数据结构的实现(通过实现栈和队列)。在这个过程中,需要小心使用原子操作的内存序,为了保证无数据竞争,以及让每个线程看到一个预制相关的数据结构。也能了解到,在无锁结构中对内存的管理是越来越难。还有,如何通过帮助线程的方式,来避免忙等待循环。 设计无锁数据结构是一项很困难的任务,并且很容易犯错;不过,这样的数据结构在某些重要情况下可对其性能进行扩展。但愿,通过本章的的一些例子,以及一些指导意见,可以帮助你设计出自己的无锁数据结构,或是实现一份研究报告中的数据结构,或用以发现离职同事代码中的bug。 不管在线程间共享怎么样的数据,你需要考虑数据结构如何使用,并且怎么样在线程间同步数据。通过设计并发访问的数据结构,就能对数据结构的功能进行封装,其他部分的代码就着重于对数据的执行,而非数据的同步。你将会在第8章中看到类似的行为:将并发数据结构转为一般的并发代码。并行算法是使用多线程的方式提高性能,因为算法需要工作线程共享它们的数据,所以对并发数据结构的选择就很关键了。

2020-09-10
3回调函数
2回调函数 在javascript中,一切都是变量,一起都是对象,基本数据类型的变量、函数类型的变量、对象类型的变量。也就是说,变量可以指向,基础数据类型、函数数据类型、对象数据类型等。通过回调函数实现了异步编程。 同步阻塞123456var fs = require("fs");var data = fs.readFileSync('input.txt');console.log(data.toString());console.log("程序执行结束!"); 异步回调12345678var fs = require("fs");fs.readFile('input.txt', function (err, data) { if (err) return console.error(err); console.log(data.toString());});console.log("程序执行结束!");

2021-04-05
z面试问题整理
1 mysql 命令与操作2 数据库索引的形式 B+树索引 前缀索引Tire索引字典树索引? 3 数据库的完整性 实体完整性 参照完整性 自定义完整性 4 数据库规范化 1NF 2NF 3NF 4NF 5 并发控制 事务(ACID automatic consistency isolation durability) 并发一致性的问题。脏读、不可重复读、丢失修改 兵法一致性的方案。读写锁:互斥锁、共享锁。三级封锁协议。 6 性能优化 数据库设计优化: 选择合适的存储引擎 设计合理的表结构(符合3NF) 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] 查询语句优化: 通过show status命令了解各种SQL的执行频率。 定位执行效率较低的SQL语句-(重点select,记录慢查询) 通过explain分析低效率的SQL 查询过程优化 从内存中读取数据 减少磁盘写入操作(更大的写缓存) 提高磁盘读取速度
公告
欢迎参观Estom的小屋
目录



