【hibernate框架】关于多对一与一对多关系的剖析
来源:互联网 发布:海洋污染数据 编辑:程序博客网 时间:2024/06/14 17:25
关于一对多,举个例子,一个用户组可以包含多个用户,每个用户只能属于一个用户组。一个人可以有多辆车,每辆车只能属于一个人。这些都是一对多的关系。
打个比方,一个人可以有多辆车,每辆车只能属于一个人。
两张表,一张表Person,一张表Car。关键是他们两个之间在数据库表中怎么设计关联呢?
Person id<int> name<vechar>;
Car id<int> color<vachar>;
错误做法:
1.在一方加冗余
Person id<int> name<vechar> car_id<int>;
Car id<int> color<vachar>;
为什么会产生冗余?如果有一个人id=1,name=zhangsan,他有两辆车,一辆颜色为红色,一辆颜色为黄色,这样就要存两个字段
id=1,name=zhangsan,car_id=1
id=1,name=zhangsan,car_id=2
解决办法:person取消car_id字段,在car一方加一个person_id(因为一辆车只能属于一个人).
即是“在多方加外键”的方式。
三大范式:
1.要有主键,列不可分
2.联合主键的情况不能出现部分依赖
3.不能存在传递依赖
原则:不要让数据产生冗余!同样的数据存一份就可以。
打个比方,一个人可以有多辆车,每辆车只能属于一个人。
两张表,一张表Person,一张表Car。关键是他们两个之间在数据库表中怎么设计关联呢?
Person id<int> name<vechar>;
Car id<int> color<vachar>;
错误做法:
1.在一方加冗余
Person id<int> name<vechar> car_id<int>;
Car id<int> color<vachar>;
为什么会产生冗余?如果有一个人id=1,name=zhangsan,他有两辆车,一辆颜色为红色,一辆颜色为黄色,这样就要存两个字段
id=1,name=zhangsan,car_id=1
id=1,name=zhangsan,car_id=2
解决办法:person取消car_id字段,在car一方加一个person_id(因为一辆车只能属于一个人).
即是“在多方加外键”的方式。
三大范式:
1.要有主键,列不可分
2.联合主键的情况不能出现部分依赖
3.不能存在传递依赖
原则:不要让数据产生冗余!同样的数据存一份就可以。
但老鸟的原则是:具体问题,具体分析,实事求是。
转载请注明出处:http://blog.csdn.net/acmman
0 0
- 【hibernate框架】关于多对一与一对多关系的剖析
- Hibernate的关系映射-------多对一与一对多
- Hibernate 多对一与一对多的关系
- Hibernate关于一对多 多对一 多对多关联关系的设置
- 【hibernate】多对一,一对多关系
- Hibernate一对多、多对一关联关系的使用
- hibernate的一对多和多对一关系映射
- hibernate双边的多对一、一对多关系
- hibernate 一对多 多对一 关系的理解
- Hibernate中一对多、多对一关系的映射
- Hibernate的关系映射-------多对一与一对多的实现举例
- 【04】框架学习—Hibernate中处理一对多关系与多对多关系
- hibernate 一对多与多对一
- Hibernate多对一与一对多
- hibernate一对一,一对多,多对一,多对多关系映射与级联
- Java 框架之Hibernate (三、Hibernate一对多及多对多的关系分析)
- 【Hibernate】的一对多与多对一映射
- Hibernate实体关系映射——双边的多对一、一对多关系
- [Android Groovy]第二讲.编写一个Hello Groovy!的Android项目!!!
- clientWidth,clientHeight与offsetWidth,offsetHeight的区别
- 用VS2013+VELT-0.1.4 进行Hi3516 Makefile应用程序 的开发
- [LeetCode] Max Points on a Line
- SzNOI c016 : 寻找第K大数
- 【hibernate框架】关于多对一与一对多关系的剖析
- 类和对象占多少空储空间?
- 由三张图说业务、技术和实施的差别
- ubuntu 14.04 安装搜狗输入法
- FNV哈希算法
- 写出高质量的PHP程序
- 【hibernate框架】多对一单向关联(XML实现)
- 杭电ACM2092--整数解
- HDU 2037 今年暑假不AC(贪心)