00:00
好,下面呢,我们是进入到这个菜单维护的这个部分,诶大家可以从页面上看到我们这个菜单呢,它长得就是这个样子啊,这就是我们菜单的这个树形结构的一种显示方式。那这个树形结构我们要去开发的话,和我们以前的单表的那种啊,顺序排列的,历史的显示的这个就完全不一样了啊,这个tree啊,就是就是这样一种结构。所以说呢,我们首先呢,得先去了解这样一个结构啊,呃,树形结构呢。它是你看像就像是类似于这样一个形状,好像是一棵颠倒过来的一棵树啊,最上面这个我们管它叫做根节点。哎,我们把这部分给截个图啊。哎,这个是。呃,这个我们需要来这个PPT里边,我们去去指一下啊给大家。
01:01
因为他在这儿还有一些个名词。最上边这个呢,叫做根节点。然后呢,我们。像中间的这个啊,这个叫做分支节点。啊,这都是一些个相关的概念。啊,一些个名词啊,哎,这几个,你看这个资质管理啊,流程管理什么啊,这一级的同一级的都叫做分支节点。然后呢?最下边哈,就是我们所谓的你看上去像是这个第三层这个啊,这个叫叶,叶子节点,叶树叶的叶啊,叶子节点就像树叶的那个叶子一样,树的那个叶子一样啊,它叫叶子节点。
02:14
哎,这是我们先了解一下啊,这个分支节点呢,有的有子节点,有的没有子节点啊,他们每个节点呢,都有这个跟其他节点有父子的关系啊,你像这个我们的。根节点就没有父节点啊,它的下边有分支节点,是它的子节点,分支节点下边呢是叶子节点是它的子节点。然后呢,分支节点有的有,子节点有的没有啊,这是他们的一个关系。来,我们把它粘到笔记里。哎,我们是先介绍一下树形结构的基础知识。
03:10
哎,咱们先认识一下节点的类型。把刚才那个图粘过来。哎,这些概念大家要熟悉一下啊,不然的话,后边我们在做具体功能的时候呢,这边大家。可能呃,这个概念不熟悉,会就会比较费劲哈。呃,这里边儿有一个约定哈,整个树形结构节点的层次呢。最多只能有三层。啊,这个如果说这个。超过三层,或者说我们层次太复杂,或者说你没有限制这个层次的话,这个操作起来就会很,就会复杂很多了啊,就会变得非常复杂了。那么下边我们来看这样一个很重要的问题啊,就是我们在数据库里边怎么去表示树形结构。
04:04
啊,这个在数据库的数据库表里面哈,这个记录之间如果没办法建立起来这个父子关系的话,我们在页面上要显示这个数形结构也没有依据啊,所以说这个数据库表里边,看看我们怎么去去显示。数据库表里面的记录呢,它只能是一行一行的啊,每一行的有若干列,那这个时候他们怎么去建立这个父子关系呢?我咋咋能知道某一条记录?呃,它的负负节点是另外一条记录,这个怎么能知道啊?哎,我们看一下我们菜单的这个数据库表。看一下它有哪些个字段哈,不用看它的值,看一下它这个字段就可以了。
05:07
来,我们搜索一下key me。哎,这是它的建表的语句啊,我们看这个方便一点,刚才那个是插入数据的啊,那个看着不是很方便。哎,就是我们先把创建数据库表的这个建表语句给他拿过来。创建菜单的数据汇表。好,下边我们把这个数据给它插进去啊。用我们刚才的那个插入数据的那个思考。找一下。哎,就是我们这边这个啊,一组这个insert语句,把它们都给粘过来。大家也是用这个语句去插入数据哈。啊,这个数据你自己敲就不现实了啊,所以说这边我们建表连这个插入数据咱们就一锅端了啊,把它们全部都给它整进去。
06:06
哎,好,然后我们执行一下啊。然后刷新一下,看一下我们建的T这个表。打开表,哎,这个数据就进来了哈。当然我们还是没有回答刚才那个问题啊,这个记录之间是怎么建立起来这个父子关系的呢?我们这里边你看到有一些个常规的字段哈,你像这个内幕是吧,这些属于常规的字段哎。然后呢?呃。这一组就是这个菜单的这个节点对吧?诶。然后还有什么呢。下边我们看ID和PID这两个字段。那ID呢?就是当前这条记录他自己的一个主见。那PID呢,它就是最关键的字段了啊。这个PID它表示的是负节点的ID啊,那么你看我们这个二和三这两条记录哈,它们的负节点都是一。
07:07
啊,所以说你看没错,控制面板和权限管理,他们的附节点就是权限系统,权限菜单。这个我们跟页面上看到的也是一样的啊。然后呢,我们再看。用户维护,角色维护,菜单维护,他们的这个负节点啊,都是三,都是我们这个权限管理。所以说呢,他们三个又成了权限管理这个节点的子节点。哎,从这我们就能看出来啊,数据库表里边呢,就是通过这个PID啊,去维护我们这个父子之间的关系的。哎,Pig里边的这个P呢,它就是这个parent的这个意思。好,下面我们来笔记里总结一下啊,这个。关联关系,关联方式是怎么建立起来的呢?哎,子节点啊,通过它的PID这个字段。
08:04
关联到哎,它的负节点的这条记录啊,关联到负节点的ID。然后呢,去建立我们的这个父子关系节点之间的父子关系。哎,那么我们如果画图的话,就是这样一个效果啊,PID指向它的ID。哎,他在自己这个表的内部啊,去建立了这样一种关联关系,所以说这个呢,也叫自关联啊,自己的自自己跟自己关联。诶,那还有一个问题,就是我们怎么识别根节点呢?谁是根节点呢?哎,这个根节点的特征哈,就是它的PID文档啊,它自己就再没有父节点了啊,像孙悟空一样从石头缝里蹦出来的,没爹没娘,哎,这样的话就是父节点。
我来说两句