三范式 及 数据库模型

来源:互联网 发布:网络借贷的平台 编辑:程序博客网 时间:2024/04/29 00:03
一、什么是范式?
规则,目的:防止数据冗余。
二、三范式
第一范式:
①要有主键 ②字段要设计的不可再分
第二范式:
如果表中有组合主键的时候,非主键不能依赖于部分主键.
第三范式:
不能有传递依赖
如果emp表中出现dname,loc就有了传递依赖,没有必要为所有雇员写上工作地点,数据冗余。
解决方案:拆分成两张表:emp表和dept表,
dname-->deptno-->loc,每个部门有一个位置
三、数据库模型:
1.层次模型(树形结构)
A老师交学生1、2,B老师也教学生1、2,层次模型缺点:数据冗余
2.网状结构
A老师、B老师共同教学生1、2,写成网状结构,缺点:复杂,层次不分明
3.关系型数据库(E-R图)(目前主流数据库模型)
Entity Relation ship Diagram实体联系图
实体(例:学生、老师)用矩形表示;
实体关系(例:学习)用菱形表示;
实体属性(例:学号、姓名等)用椭圆表示。
1对1(1:1)、1对多(1:n)、多对多(n:m)

4.面向对象数据库
定义:ORDBS是面向对象的数据库模型(Object Oriented Data Model 简称OO模型)和关系型数据模型的结合产物。
 发展方向:
1、以面向对象的程序设计语言为基础,研究持续化的程序设计语言。支持OO模型(Hibernate)
2、建立新的面向对象数据库系统OODBS。支持OO数据模型。
3、以关系数据库和SQL为基础,把面向对象的技术融入到数据库系统的ORDBS

总结:从纯粹的数据库系统模型来说,第三种发展较为显著,他在传统的关系数据库基础上吸收了OO模型的主要思想,同时又保持了关系数据库系统的优点。成功开发了诸如:Postgres、illusta等原型系统。
总范式:数据库表关联越少越好,SQL语句复杂度越低越好。




原创粉丝点击