mysql简单介绍一对一,一对多,多对多关系处理办法
2017-06-12 17:32
260 查看
一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。
一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生。
多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。
这三种关系在数据库中逻辑结构处理分析:
1.一对多关系处理:
我们以学生和班级之间的关系来说明一对多的关系处理方法。
假设现有基本表学生表(学号,姓名,……),班级表(班级号,备注信息,……)。
方法一:
新增一个关系表,用来表示学生与班级的属于关系,该关系表包含字段(学生号,班级号)。通过学生号与班级号的对应关系表示学生属于的班级。
方法二:
在学生表中新增字段(班级号),该字段作为学生表的外键与班级表中的班级号关联。每一个学生实体在班级号字段的值,表示该学生属于的班级。
小结:一般情况下,一对多关系采用方法二来处理。一对多的两个实体间,在“多”的实体表中新增一个字段,该字段是“一”实体表的主键。
2.多对多关系处理:
在多对多关系中,我们要新增加一个关系表。如在上面示例中,在学生表和课程表的基础上增加选课表来表示学生与课程之间的多对多关系。在选课表中,必须含有的属性有学生号和课程号。(学生号,课程号)这个属性集刚好也就是选课表的关键字。
转载http://blog.csdn.net/lm709409753/article/details/48440401
一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生。
多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。
这三种关系在数据库中逻辑结构处理分析:
1.一对多关系处理:
我们以学生和班级之间的关系来说明一对多的关系处理方法。
假设现有基本表学生表(学号,姓名,……),班级表(班级号,备注信息,……)。
方法一:
新增一个关系表,用来表示学生与班级的属于关系,该关系表包含字段(学生号,班级号)。通过学生号与班级号的对应关系表示学生属于的班级。
方法二:
在学生表中新增字段(班级号),该字段作为学生表的外键与班级表中的班级号关联。每一个学生实体在班级号字段的值,表示该学生属于的班级。
小结:一般情况下,一对多关系采用方法二来处理。一对多的两个实体间,在“多”的实体表中新增一个字段,该字段是“一”实体表的主键。
2.多对多关系处理:
在多对多关系中,我们要新增加一个关系表。如在上面示例中,在学生表和课程表的基础上增加选课表来表示学生与课程之间的多对多关系。在选课表中,必须含有的属性有学生号和课程号。(学生号,课程号)这个属性集刚好也就是选课表的关键字。
转载http://blog.csdn.net/lm709409753/article/details/48440401
相关文章推荐
- mysql插表简单处理办法
- 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效
- 简单介绍ubuntu server与desktop关系以及解决ubuntu server下的mysql无法被远程连接
- mysql密码过期了用bat简单处理办法
- phalcon 模型关系的处理 一对一,一对多,多对多
- java从0单排(3)-经验(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver异常处理办法)
- Mybatis(2、关系映射一对一、一对多、多对多)
- mysql清除binlog二进制日志的最简单办法reset master
- MySQL 5.0.16 乱码问题处理办法
- Hibernate中表与表之间关系的处理(一对多)
- Hibernate 关系配置(一对一,一对多)
- Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)
- ARM第一部分-ARM的异常处理方式简单介绍
- MySQL 5.0.16 乱码问题处理办法
- 用JDBC处理一对一的关系
- android Handler及消息处理机制的简单介绍
- PD 15.1 安装 破解 , 简单使用 (一对多,多对多关系生成sql脚本) , CDM 和 PDM 的区别;PD15.1 生成sql2008 无FK外键约束的解决方法
- maven搭建项目--实现mybatis增删改差、一对多及一对一关系
- 详细介绍mysql-bin.000001文件的来源及处理方法
- 数字图像处理 简单介绍