6.Oracle6

1. 补 约束:

  • not null

  • default(不是约束)

  • unique: 名字

  • primary key: not null + unique

  • foreign key

  • check : 检查约束

    alter table student add constraint Check_STUNAME_LENGTH check (length(stuname) > 2);
    
    delete from student where length(stuname) <= 2;
    
    insert into student values(1000, 'X', 2);
    

2 DB设计:

2.1 自关联: 无限父子:

EMP:empno mgr; 菜单

2.2 主外:

一个学生只有一个唯一的学号-主键
一个学生有一个班号—外键

2.3 多对多(1)

  • 课程和学生是多对多关系
    • 通过中间表的1N和N:1解决
      在这里插入图片描述

2.4. 多对多(2)

在学生表中加一个复合的状态管理列:1;2;3 基本补修改的业务
在这里插入图片描述

2.5. 一对多(2)

  • 一个工作多个员工。不用主键

在这里插入图片描述

2.6. 冗余列

  • 场景:经常用到dname, 做一个冗余的列。
    • 冗余CUD的时候要修改两张表

在这里插入图片描述

2.7. 冗余表:1:1场景

列特多又不常用:

在这里插入图片描述

2.8 备份表:历史记录表:比原表多几个列

2.9 逻辑删除:删除flg字段: 0代表在职1代表离职2.离休。。。

2.8 备份表:历史记录表:比原表多几个列

2.9 逻辑删除:删除flg字段: 0代表在职1代表离职2.离休。。。

posted @ 2021-05-16 11:32  剑心空明  阅读(3)  评论(0编辑  收藏  举报  来源