数据库四种设计模式
2018-03-27 21:29
211 查看
常见的四种数据库设计模式1.主扩展模式: 一般应用于提取不同类型的对象的共同特征。比如学校当中,对于上课而言分为
老师和学生,但对于食堂大妈或者门卫大爷而言,就看你是不是校内人员。这是一种包含
关系。即校内人员包括 学生、老师、其他工作人员。如果做一个签到系统,就设定校内
人员为user表,老师、学生之类的单独成表,但是都维护同样的userid同时作为二者的主键。使之称为1对1的关系。这种模式就是主扩展模式。 扩展表的主键既是扩展表的主键也是主表的外键 2.主从模式
主从模式的应用场景最多。是典型的一对多的关系。比如贴吧的实现,整个
吧就是一个主表。而贴吧有许多的从表就是不同楼主发的帖子,而每个帖子有用很多从表
那就是每个楼所对应的信息。 3.名值关系
主要处理系统设计阶段还不能完全确定的属性的对象。这些对象的属性在系统运
行时会有很大的变更,或者是多个对象之间的属性存在很大的差异。
比如说一个学生的表,记录了一些学生必须有的属性:年龄身高体重姓名什么的。但是突然有
一天有一个人穿越了,他就需要一个剑术值的数据。通常需要额外两个表来存储这种不确定是否
会用会有的属性。 首先需要一个属性模版表,就是不管这个属性属于谁,属于何物,何时,
我只是证明有这么一条额外属性而存在。那么上述的例子当中,属性模板表当中就
需要添加一条属性:(属性代码一般给属性分类用) ID 1 属性代码 1001 属性名称 剑术值
但是具体剑术值是多少,这个表不去讨论。存储数据的表称为额外属性表,这个
表存储的字段分别标识
1.这条数据属于哪个人、物(角色id)
2.这条数据是什么属性 (属性模板ID)
3.属性的具体值是多少 (data) 4.多对多关系
多对多模式,也是比较常见的一种数据库设计模式,它所描述的两个对象不分主
次、地位对等、互为一对多的关系。对于A表来说,一条记录对应着B表的多条记录,反过
来对于B表来说,一条记录也对应着A表的多条记录,这种情况就是“多对多模式”。
这个主要可以细分成两种情况。取决于关联表有没有业务需求。
老师和学生,但对于食堂大妈或者门卫大爷而言,就看你是不是校内人员。这是一种包含
关系。即校内人员包括 学生、老师、其他工作人员。如果做一个签到系统,就设定校内
人员为user表,老师、学生之类的单独成表,但是都维护同样的userid同时作为二者的主键。使之称为1对1的关系。这种模式就是主扩展模式。 扩展表的主键既是扩展表的主键也是主表的外键 2.主从模式
主从模式的应用场景最多。是典型的一对多的关系。比如贴吧的实现,整个
吧就是一个主表。而贴吧有许多的从表就是不同楼主发的帖子,而每个帖子有用很多从表
那就是每个楼所对应的信息。 3.名值关系
主要处理系统设计阶段还不能完全确定的属性的对象。这些对象的属性在系统运
行时会有很大的变更,或者是多个对象之间的属性存在很大的差异。
比如说一个学生的表,记录了一些学生必须有的属性:年龄身高体重姓名什么的。但是突然有
一天有一个人穿越了,他就需要一个剑术值的数据。通常需要额外两个表来存储这种不确定是否
会用会有的属性。 首先需要一个属性模版表,就是不管这个属性属于谁,属于何物,何时,
我只是证明有这么一条额外属性而存在。那么上述的例子当中,属性模板表当中就
需要添加一条属性:(属性代码一般给属性分类用) ID 1 属性代码 1001 属性名称 剑术值
但是具体剑术值是多少,这个表不去讨论。存储数据的表称为额外属性表,这个
表存储的字段分别标识
1.这条数据属于哪个人、物(角色id)
2.这条数据是什么属性 (属性模板ID)
3.属性的具体值是多少 (data) 4.多对多关系
多对多模式,也是比较常见的一种数据库设计模式,它所描述的两个对象不分主
次、地位对等、互为一对多的关系。对于A表来说,一条记录对应着B表的多条记录,反过
来对于B表来说,一条记录也对应着A表的多条记录,这种情况就是“多对多模式”。
这个主要可以细分成两种情况。取决于关联表有没有业务需求。
相关文章推荐
- 数据库设计--使用上述四种模式的一般原则(转)
- 数据库----四种设计模式
- 数据库四种设计模式
- 数据库四种设计模式
- JAVA中数据库操作的各种方式与设计模式的应用
- 数据库设计模式
- 对数据库数据操作,工厂方法设计模式(Factory Method)
- Java四种单例设计模式
- 数据库设计--继承模式
- 代理模式设计只能内网访问线上数据库
- 简明的数据库设计模式
- 设计模式:单例模式的数据库连接
- 数据库设计--名值模式(转)
- JAVA操作数据库方式与设计模式应用
- PHP设计模式之单例模式(数据库访问)
- 用三层架构与设计模式思想部署企业级数据库业务系统开发(转)
- jdbc 通过模板的设计模式 封装基本数据库操作
- Android 中关于 【Cursor】 类的介绍、数据库和设计模式
- android数据库SQLite的设计模式
- 用设计模式开发通用数据库访问器