00:00
好,我们继续,呃,在上一节我们提到了两个建模理论啊,一个是关系建模,一个是维度建模啊,当然在我们这个数仓当中,我们需要重点学习的是维度建模啊,呃,但是关系建模我们也有必要去了解一下啊。在关系建模当中,有一个非常非常重要的概念。啊,叫做范式啊,我们要想呃了解关系建模这个范式理论是必须得掌握的,好,那接下来我们就先来看一下这个范式啊,这个概念啊,那什么叫做范式呢?来我们一起看一下。那数据建模必须遵循一定的规则啊,在关系建模当中,那这个规则就是范式,嗨,其实说白了,所谓的范式是不是就是我们在进行关系建模的时候需要遵循的一套规则呀,对吧?啊,那这套规则那它有什么样的作用啊,以及这个具体的规则是什么?哎,我们逐个去说啊,现在我们先来看一下这个,呃,范式的这个最主要的一个作用是什么,也是它的目的是什么啊,OK,来看一下。
01:01
那其实范式的主要作用就是降低数据的冗余性。啊,那什么叫做数据的冗余性呢?啊,其实很简单啊,假如在我们的一个关型数据库里边啊,呃,一条相同的信息存储了多份,呃,我们就说这条数据它冗余了啊,就是这就冗余的概念啊,那我们为什么要去降低这个数据的冗余性呢?那肯定是数据冗余之后,它会带来一系列的问题,对吧,那会带来什么样的问题呢?呃,我们一个一个看啊,首先第一个你数据冗余了,那占用的存储空间是不是就肯定就多了呀,对吧?是这样的啊,那在我们这个关系型数据库诞生的那个年代啊,首先第一个磁盘相对来说比较贵的,也是存储代价是比较高的,那所以说我们为了降低存储成本,应该尽量的去节省存储空间啊,对吧?啊,这是第一个啊,那我们继续啊,在关型数据库诞生的那个年代呢,是没有像咱们现在这样这么多的数据的。所以说当时的这个数据库系统啊,都是单机版的,那单机版的系统有什么问题呢?啊,它的扩展性是有限的,对吧?啊,它扩展起来是比较麻烦的,而且是有一定的限度的啊,那所以说呃,我们是不是也应该尽量的去节省存储空间呀,对吧?也就是说应该尽量的去降低这个数据的冗余。
02:21
啊,那当然这里边还有一个最最重要的一个原因,那是什么呢?就是数据冗余,呃之后呢,呃会对我们这个数据的一致性带来一些问题啊举个简单例子啊,我有一条数据,那我重复存储了多份,那只要我改信息,那是不是就得去把每一条或者每一份儿数据都改一下啊对吧?那这时候如果说我们呃有一条数据没有改成功,那这就会导致我们这个数据不一致。啊,是这样的啊,那也就是说我们这个数据的冗余会带来,呃,刚才我们提到这样一个问题啊,第一个就是呃,会占用更多的存储空间啊,但是当时存储代价比较高,那再一个呢,诶,当时的关于数据库,我们扩展性能有限,扩展性有限啊对吧?那再有一个主要的问题就是什么啊,就是数据冗余之后,我们的数据一致性那就不是那么好保证了。
03:12
啊,这是数据,诶冗余所带来的问题,那既然它有这样的问题,所以我们应该是干啥,是不是尽量的去消除这个数据的冗余啊,对吧?那怎么消除,就用我们现在提到的这个范式去进行消除啊,是这样的啊,那范式具体的规则我们后续再说啊,后续再说啊,啊,那范式我们刚才也看到了,它有一个非常重要的一个作用,就是降低数据的冗余性,对吧?那数据的冗余性降低之后啊,其实它还会带来另外的问题。什么问题呢?后边大家大家就能发现啊呃,如果我们对这个数据进行这个规范化,那OK,你会发现这个数据呢,我们会被拆到不同的表里边啊,那这会带来什么问题呢?就是我们的表结构会变得诶比较复杂啊,那除此之外呢,我们后续在查询数据的时候呢。
04:01
我我们还得怎么样,是不是还可能会用到这个join操作呀,对吧,那这样一来实际上是会对我们的这个查询啊,这个性能带来一定的影响的。这就是范式啊,它的这个作用以及它所带来的问题。啊,是这样的啊好,那现在这个范式的规则都有哪些呢?我们简单先看一下啊,目前业界呃所使用的这个范式规则有第一范式,第二范式,第三范式,巴斯科德范式,第四和第五范式。啊,那这些范式我们在遵遵循的时候呢,需要满足这样一个条件啊,什么条件啊,我们必须得逐个遵守,啥意思呢?也就是我们必须得先遵循第一范式,在遵循第一范式的基础之上,再去遵循第二范式啊,依次类推啊那我们通常情况下,呃,遵循这个范式的时候呢,就遵循到第三范式就OK了啊是这样的,所以说我们常常通翅听见呃一个术语叫做三范式,对吧?啊,其实所谓的三范式呢,就是我们遵循第一,第二和第三范式。
05:02
OK,那这个呢,就是我们对呃关系建模当中啊一个非常重要的概念范式的一个简单介绍啊,那后边呢,我们会详细的给大家去讲解这个呃三范式,每个范式的规则是什么啊好,我把视频先停一下。
我来说两句