MySQL触发器里的流程控制语句 case when .. then else ... end;组合+继承;高级数据库复习

146 阅读2分钟

MySQL触发器里的流程控制语句
实际上就是if 与 if else
我们的流程控制语句可以在业务实现类实现判断
也可以通过数据库MySQL触发器来实现流程控制语句
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

组合+继承

组合+继承
代码

package com.thjava.chap8;
class Cat{
    Cat(){
        System.out.println("Cat eat fish");
    }
}
class IPeople{
    IPeople(){
        System.out.println("People is running");
    }
}
class IStaff extends IPeople{
    IStaff(){
        System.out.println("Staff is working");
    }

}
class IEngineer extends IStaff{
    IEngineer(){
        System.out.println("Emgineer is writing code");
    }
}
class JavaEngineer extends IEngineer{
    Cat c = new Cat();
    IPeople p = new IPeople();
    IStaff s = new IStaff();
    IEngineer e = new IEngineer();
    public JavaEngineer(){
        System.out.println("------------");
        System.out.println("JavaEng is writing Java");
    }
    public static void main(String[] args) {
        System.out.println("------------");
        JavaEngineer err = new JavaEngineer();
        System.out.println("------------");
    }
}



结果

------------
People is running
Staff is working
Emgineer is writing code
Cat eat fish
People is running
People is running
Staff is working
People is running
Staff is working
Emgineer is writing code
------------
JavaEng is writing Java
------------


级数据库复习

一、索引
1、什么是索引?
一种tree的数据结构
可以理解它的原理就像查字典一样
2、数据结构
Hash、 B Tree树、B+ Tree树 (需要单独详细掌握)
深入点
官方定义的是 是帮助高校获取mysql的数据库
因为是树形结构
查询快
插入, 删除,更新比较慢
所以不是索引越多越好
要看实际需要的
同样索引列也是占用内存的

3、常见索引结构
Btree同时支持InnDB引擎等其它常见的引擎

Btree结构
树中每个节点最多包含m个孩子
除根结点与叶子节点外,每个节点至少有ceil(m/2)个孩子
若跟节点不是叶子节点,那么至少有两个孩子
所有的叶子节点都在同一层
每个非叶子节点都在同一层
每个非叶子节点由n个key与n+1个指针组成
在这里插入图片描述

4、一个有趣的SQL优化
在这里插入图片描述

二、视图

三、存储过程

文章知识点与官方知识档案匹配,可进一步学习相关知识

本文使用 文章同步助手 同步