主分区:是标记为由
操作系统使用的一部分物理磁盘。一个磁盘最多可有4个主分区(或者如果有1个扩展分区,则最多有3个主分区)。
1.
主分区和
逻辑驱动器主分区的特性是在任何时刻只能有一个是活动的,当一个主分区被激活以后,同一
硬盘上的其他主分区就不能再被访问。所以一个主分区中的
操作系统不能再访问同一物理硬盘上其他主分区上的文件。而逻辑驱动器并不属于某个操作系统,只要它的
文件系统与启动的操作系统兼容,则该操作系统就能访问它。主分区和逻辑驱动器的一个重要区别是:每个逻辑驱动器分配唯一的驱动器名(
盘符),而在同一硬盘上的所有主分区共享同一个驱动器名,因为某一时刻只能有一个主分区是活动的。这就意味着某一时刻只能用共享驱动器名访问活动的那个主分区。 2.驱动器名的分配 启动系统时,
活动分区上的
操作系统将执行一个称为驱动器映像的过程,它给
主分区和
逻辑驱动器分配驱动器名。所有的主分区首先被映像,而逻辑驱动器用后续的字母指定。例如,假定
硬盘活动分区的操作系统的文件系统与所有的逻辑驱动器文件系统兼容,但如果逻辑驱动器文件系统与启动的操作系统的文件系统不兼容,该逻辑驱动器将被忽略。例如上图所示的分区中,若第二逻辑驱动器属于这种情况,则映像将如下图: 如果你的PC有两个
硬盘,则每个硬盘可以被分为1—4个分区,它们可以有各自的主分区和扩充分区。如果
文件系统兼容,操作系统将如上图那样分配驱动器名。
微软视窗的标准分区机制是创建一个分区 C:,其中
操作系统、数据和程序都在这个分区上。然而,它推荐创建不同的分区或者使用不同的
硬盘,其中一个分区上存储操作系统;而其它分区或者驱动器,则供
应用程序或者数据使用。如果可能的话,在不包含操作系统的硬盘上,为交换文件建立一个单独的分区,尽管这并不意味着两个硬盘都不会断电。在进行一点儿预分区工作之后,很容易就可实现操作系统不存储在 C 分区上甚至是 C 分区根本就不存在。这样做有一些益处,一些设计拙劣的
病毒或者
特洛伊木马将不能覆盖关键的
系统文件或者控制系统。“
我的文档”文件夹、“
特殊文件夹”主目录可以加载到一个独立分区上以利用所有空闲空间。
对于基于
UNIX或者如
Linux这样类似于
Unix的
操作系统来说,分区系统创建了 /、/boot、/home、/tmp、/usr、/var、/opt和
交换分区。这就保证了如果其中一个
文件系统损坏,其它的数据(其它的文件系统)不受影响,这样就减少了数据丢失。这样做的一个缺点是将整个
驱动器划分成固定大小的小分区,例如,一个用户可能会填满 /home 分区并且用完可用
硬盘空间,即使其它分区上还有充足的空闲空间。良好的实现方法要求用户预测每个分区可能需要的空间;有时这是一项困难的工作。典型的
桌面系统使用另外一种约定;“/”(
根目录)分区包含整个文件系统和独立的交换分区。 /home 分区对于桌面应用来说是一个有用的分区,因为它允许在不破坏数据的前提下干净地重新安装(或者另外一个
Linux发行版的更新安装)。
数据库分区是一种物理数据库设计技术,DBA和
数据库建模人员对其相当熟悉。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。
水平分区(Horizontal Partitioning)
这种形式分区是对表的行进行分区,通过这样的方式不同分组里面的物理列分割的数据集得以组合,从而进行个体分割(单分区)或集体分割(1个或多个分区)。所有在表中定义的列在每个数据集中都能找到,所以表的特性依然得以保持。
举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。(朋奕注:这里具体使用的分区方式我们后面再说,可以先说一点,一定要通过某个属性列来分割,譬如这里使用的列就是年份)
举个简单例子:一个包含了大text和
BLOB列的表,这些text和BLOB列又不经常被访问,这时候就要把这些不经常使用的text和BLOB了划分到另一个分区,在保证它们数据相关性的同时还能提高访问速度。
在数据库供应商开始在他们的数据库引擎中建立分区(主要是
水平分区)时,DBA和建模者必须设计好表的
物理分区结构,不要保存冗余的数据(不同表中同时都包含父表中的数据)或相互联结成一个逻辑父对象(通常是视图)。这种做法会使水平分区的大部分功能失效,有时候也会对
垂直分区产生影响。