SQL数据库:Oracle/MySQL

1.没有数据库之前

Excle的数据的确很方便,但是对于企业来说就不一样了。一个公司里面可能有成千上万的Excel表格,还在不同的电脑上,而他们的员工和客户需要实时看到企业给他们提供的所有数据,这种文件管理的方法就很麻烦,总不能每分钟都把一个新的巨大无比的Excel文件发给所有客户呀。

数据库呢,就是存储数据的地方,就像冰箱是存储食物的地方一样。正是因为有了数据库后,所有人可以直接在这个系统上查找数据和修改数据。例如你每天使用余额宝查看自己的账户收益,就是从后台数据库读取数据后给你的。
链接:https://www.jianshu.com/p/7b55d958860b

2.数据库与EXCEL

数据库通常包含一个或多个表组成。如果你用过Excel,就会知道Excel是一张一张的二维表。每个表都是由列和行组成的,其中每一列都用名字来标识出来。同样的,数据库里存放的也是一张一张的表,只不过各个表之间是有联系的。所以,简单来说:

数据库=多张表+各表之间的关系

其实数据库是逻辑上的概念,它是一堆互相关联的数据,放在物理实体上,是一堆写在磁盘上的文件,文件中有数据。这些最基础的数据组成了表(table)。

 

3. 理解数据库

3.1 表结构

表的结构是指要了解数据库每张表长什么样。数据库中每个表由一个名字标识。表包含带有列名的列,和记录数据的行。

3.2 ID

ID是数据库中重要的概念,叫做唯一标识符或者主键,用来表示数据的唯一性。

3.3 表关系

数据库中,如果你要关联其他表,一般会以「表名_ID」作为联接。

联系就是数据能够对应匹配,在数据库中正式名称叫联接,对应的操作叫做join。

4.数据库和SQL是什么关系?

数据库里面放着数据,而SQL是用来操作数据库里数据的语言(工具)。

例如有一碗米饭(碗就是mysql,里面放的米是数据),你要吃碗里的米饭,拿什么吃?拿筷子(sql)。用筷子(sql)操作碗里(mysql)的米饭(数据)

https://blog.csdn.net/alex_xfboy/article/details/82818753 mysql索引底层原理分析

5 磁盘读写原理,文件系统与数据库

写文件:

系统将文件存储到磁盘上时,按柱面、磁头、扇区的方式进行,即最先是第1磁道的第一磁头下的所有扇区,然后是同一柱面的下一个磁头,一个柱面存储满后就推进到下一个柱面,直到把文件内容全部写入磁盘。

读文件:

系统也以相同的顺序读出数据,读出数据时通过告诉磁盘控制器要读出扇区所在柱面号、磁头号和扇区号(物理地址的三个组成部分)进行。

I/O的预读,页管理

预读的长度一般为页(在许多操作系统中,页的大小通常为 4k)的整数倍。操作系统以内存页为单位管理内存,内存页的大小对系统性能有影响。当程序要读取的数据不在主存中时,会触发一个缺页异常,此时系统会向磁盘发出读盘信息,磁盘会找到数据的起始位置并向后连续读取一页或几页的数据载入内存中(系统从磁盘读取数据时是以磁盘块为基本单位的,位于同一磁盘块中的数据会被一次性读取出来,而不是按需读取),然后异常返回,程序继续运行。

 

就是块可以包含若干页,页可以包含若干簇,簇可以包含若干扇区。这里“若干”一般是二的方次。例如:一簇等于128扇区,一页等于64簇,一块等于4页,那么一块就等于4x64x128扇区

文件系统:负责为用户建立文件,存入、读出、修改文件的存取。

除了硬盘分区中的第一块作为引导块所保留,不受Ext3文件系统管理以外,其余部分分成块组(blockgroup),每个快组的分布下图所示,由于内核尽可能把属于一个文件的数据块存放在同一块中,所以组块减少了文件碎片。

2.推理并拆解普通查询语句
select * from talbe_name where id=1

step1:找到数据文件

step2:读取数据文件

step3:读取id=1的数据

理论上是这样的,索引是一种用来实现高效获取数据的数据结构,建索引的目的是为了查找的优化,特别是当数据很庞大的时候,非常重要。一般的查找算法有顺序查找、折半查找、快速查找等,但是每种查找算法只能应用于特定的数据结构,例如顺序查找依赖于顺序结构,折半查找通过二叉查找树或红黑树实现二分搜索。因此在数据之外,数据库系统还维护着满足特定查找算法的数据结构,它以某种方式引用数据。
3.为什么要用B+Tree实现
目前大多数数据库系统及文件系统都采用 B-Tree 或其变种 B+Tree 作为索引结构。B+ 树中的 B (balance)代表平衡,而不是二叉。B+ 树是从最早的平衡二叉树演化而来的。B+ 树是由二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree)逐步优化而来。

 

https://www.cnblogs.com/tcicy/p/8456170.html 块存储,文件存储,对象存储的层次关系

https://blog.csdn.net/u012317833/article/details/24537265 深入理解ext2/ext3文件系统真相

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值