Royman.Chen

My DBA + Programmer 成长路 ...

导航

** 读书笔记: 我所理解的三范式 **

稍微补了点理论知识:

关于建表:从实体和联系中一般会总结出基本的表结构 建表其实跟写OOP程序思维基本一致 规划出“属性表” 与 “方法表”, 属性表则是表示某一Object所关联的自身属性 方法表则是通过多表主键建立关系的关系表 一般的属性表用于通过关系表查询进一步信息 而关系表应是“状态”,“结果”等字段,一般直接第一次被程序调用 .. (PS: 科学理论中没有我这样的解释 我的笔记只是方便我记忆而已 .. )

范式: 以前总是不听课 终于自己花时间补回了这些课程。。 范式就是能规范你建表的一种思维方法论 用于验证自己刚建立的表结构应该是最有用的,虽然暂不知道老外有没有这套方法论 反正中国人就是聪明。。

I  范式: 一个关系(表)的每个属性(字段)都是不可再分的基本数据项 . 成立,则为 是1范式 否则 非1范式.. 实际检验中就是要检验为正则通过.. 往下走..    **** 主要检测字段是否可用 ***

II 范式:I 范式前提下,关系(表)中每一个非主属性(非主键字段)完全依赖于主关键字(主键), 则II范式成立 成立则往下走

非II范式的处理方法:若发现有部分函数依赖(主键有两个以上的字段,而非主键只依赖其中一个而不关联另外的),另和关联的一主键起数据表;完成后则称为符合II范式     

  若发现有无任何依赖关系的字段,找与自己关联的非主键 另起一数据表,完成后则称为符合III范式

*****  三范式的思维确实听起来比较烦人 但是确实能帮助你建立表格时消除冗余与数据不一致 的情况发生****

所以大家在学校里还是要听课 :)

posted on 2006-01-05 08:33  Royman.Chen  阅读(674)  评论(1编辑  收藏  举报