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解决
- 通过中间表的1N和N:1解决
2.4. 多对多(2)
在学生表中加一个复合的状态管理列:1;2;3
基本补修改的业务
2.5. 一对多(2)
- 一个工作多个员工。不用主键
2.6. 冗余列
- 场景:经常用到dname, 做一个冗余的列。
- 冗余CUD的时候要修改两张表
2.7. 冗余表:1:1场景
列特多又不常用: