设计范式

数据库设计的范式--表之间的关系(Java设计模式--类之间的关系)

	设计数据库时,遵循的不同规范,这些规范统称为范式
	范式的目的是为了减少数据库中的冗余,
	管理表格的时候变得容易(修改 删除)
	查询的时候可能就涉及到表格联合的问题(性能)

	Normal Form(标准化形式--普通范式)

	创建一张表格
	用来记录学校里面不同楼宇项目的一些信息
	
	项目表格Project
	项目编号  项目名称
	      A         教学楼
	      B         餐饮楼
	      C         宿舍楼

	项目_工程师中间表
	项目编号   工程师编号
	       A               1
	       A               2
	       A               3
	       A               4
	       B               1
	       B               5
	       B               6
	       C               2
	       C               7

	工程师表格Engineer
	工程师编号   工程师名字    职称编号
	        1              赵一一             1
                          2              钱二二             1
	        3              孙三三             2
                          4              李四四             3
                          5              周五五             1
                          6              吴六六             2
                          7              郑七七             3

	职称表格Rank
	职称编号   职称名称  小时工资
	       1            高工        300
	       2            普工        200
	       3            助工          50
	
	1.已经不遵循1NF   原子性可以保证  表格内没有主键
		设定联合主键(项目编号--工程师编号)
	2.产生了非主键列受到主键或主键的部分影响
		----将数据拆开存储在两张表格里
	3.产生了非主键列受到非主键列的影响
		----将没有关系的数据拆开单独存放在表格里

	1NF
	       要求数据保证原子性
	       每一个表格的没一个列都是不可分割  (行列交叉点的单元格内只存储一个数据)
	       每一个表格必须有主键约束  (快速查询某一行记录)
	2NF
	       在满足第一范式的前提下
	       不允许出现部分依赖性
	        (非主键列不能受到主键列或主键的一部分影响)	
	3NF
	       在满足前两个范式的前提下
	       不允许出现传递依赖性
	       (非主键列不能受到非主键列或非主键的一部分影响)

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页