Database Management Systems(数据库系统原理总结)- 第二章
物理层(Physical Layer)
Each Column has a data type associated with it
- Not exactly the same as the data types from other languages...
数据类型(Data Types)
- int
- char
- varchar
char和varchar的区别是什么?
例子:char(8)和varchar(8)的区别
- char(8)是固定长度的,如果给了一个6位的字符串,那么后两位会用空格补位
- varchar(8)不是固定长度,如果给了一个6位的字符串,那么实际存到硬盘上的就是6位
记录(records)
- 想要了解数据是如何存储的,我们就需要了解数据的结构
- 什么会影响我们数据(records)的大小?
- 数据类型(metadata)
- 所有的记录(records)的大小在同一个表(table)下是否都一样?
- 可能,因为有一些数据类型的长度是固定的,有一些数据类型的长度是不固定的,所以不一定所有的记录都一样长
- 什么会影响我们数据(records)的大小?
操作(Operations)
- 增(Insert)
- 删(Delete)
- 查(Find)
- 改(Update)
堆文件(Heap Files)
- 如何让数据库更快的进行增删查改的操作呢?
- 数据库中的表有存储多少数据的限制么?没有
- 将数据存在什么地方?
在考虑这些问题的前提下,我们需要考虑如何设计堆文件(Heap Files)
物理页(Heap Pages)
- 含有:
- Header(代表哪些位置的Tuples是被使用的)
- Tuples
- 物理页通常是固定大小的
- 管理对于Tuples的增删
架构关系
每一个表(Table)对应一个堆文件(Heap Files)
数据库(Database)管理哪个表对应哪个堆文件(Heap Files)
堆文件(Heap Files)管理物理页(Heap Pages)
每一个物理页(Heap Pages)都有头(Header)和数据(Tuples)
(未完待续...)