数据表的创建(一对多,多对多)
前言
项目开发过程中,数据库表会出现很多映射关系,不只有一对多,还有一对多,多对多。则数据库实体间有三种对应关系:一对一,一对多,多对多。
一、实例
一对一关系实例:
一个学生对应一个学号。
一对多关系实例:
一个学生只属于一个班,但是一个班级有多名学生。
多对多关系实例:
一个学生可以选择多门课,一门课也有多名学生。
二、关系处理:
1.一对一:
一对一关系是最好理解的一种关系,在数据库建表的时候可以将学生表的主键放置与学号表里面,也可以将学号表的主键放置于学生表里面。
2.一对多:
班级是1端,学生是多端,结合面向对象的思想,1端是父亲,多端是儿子,所以多端具有1端的属性,也就是说多端里面应该放置1端的主键,那么学生表里面应该放置班级表里面的主键,则只需在 学生表 中多添加一个班级号的ID。
3.多对多:
对于多对多关系,需要转换成1对多关系,那么就需要一张中间表来转换,这张中间表里面需要存放学生表里面的主键和课程表里面的主键,此时学生与中间表示1对多关系,课程与中间表是1对多关系,学生与课程是多对多关系;所以对于多对多表,通过关系表就建立起了两张表的联系!多对多表时建立主外键后,要先删除约束表内容再删除主表内容。
简单来来说就是在两张表之间建立关系表:
数据表的创建(一对多,多对多)相关推荐
- 7. MyBatis多表查询 - 一对一 - 一对多 - 多对多
7. MyBatis多表查询 - 一对一 - 一对多 - 多对多 前言 在前面的篇章,我们已经熟悉了单表查询,下面我们来看看如何进行 多表查询. 数据准备 create database if not ...
- python数据库建表_mysql数据表如何创建
在 MySQL 中,可以使用 CREATE TABLE 语句创建表.其语法格式为:CREATE TABLE <表名> ([表定义选项])[表选项][分区选项]; 其中,[表定义选项]的格式 ...
- SQLServer数据表的创建
文章目录 1 SQLServer数据表的创建 1.1 创建数据表的语法 1.2 标识列的特殊说明 1.3 建表举例 1 SQLServer数据表的创建 1.1 创建数据表的语法 create tabl ...
- Python框架篇之Django(Models数据表的创建、数据库配置)
文章目录 一.数据库的配置 二.Models数据表的创建 三.在Pycharm中显示 一.数据库的配置 1. django默认支持 sqlite,mysql, oracle,postgresql数据库 ...
- 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面
原文:学习ASP.NET Core Razor 编程系列三--创建数据表及创建项目基本页面 学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 ...
- MySQL数据库与数据表的创建
MySQL数据库与数据表的创建 文章目录 MySQL数据库与数据表的创建 前言 一.创建数据库 二.使用数据库 三.创建数据表 前言 MySQL的介绍 什么叫数据库: 作用:存储数据,能够长期保存(断 ...
- Mysql数据库和数据表的创建和信息更改的常用指令
文章目录 数据库和数据表的创建和信息更改 后续小实验做准备 一. 关于数据库和数据表的其它操作 1)数据库 ①创建数据库 ②显示目前所有的数据库 ③数据库重命名 2.1 先创建新库: 2.2 使用`R ...
- MySQL数据表的创建、查看、插入
数据表:数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础. 1.首先我们打开一个数据库(这里我打开的是新创建的一个aaa数据库). 打开数据库:use + 数据库名; 2.开始创建一个表 ...
- mysql数据表的创建-数据类型
库建好了,开始要建表了 >建表的语句 一个库中可以存在多个表 具体来看每一张表的情况 以表格为例子 >表格 >主键 一行信息的唯一标识 特点: 非空 唯一 >数据类型 总的分三 ...
- SQL基础:数据表的创建
1. 先选择创建表所在的数据库 2. 创建表 3. 查看表是否创建成功 4. 主键:要求主键列的数据唯一,且不允许为空.主键能够唯一的标识表中的每一条记录,可以结合外键来定义不同数据表之间的关系,并且 ...
最新文章
- “高龄”员工如何给家庭保障
- R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(添加均值、中位数)实战
- Handler消息机制(七):Message的数据结构是什么样子
- 异常详细信息: System.Runtime.InteropServices.COMException: 无效的类别字符串
- adf435编程_动态ADF列车:以编程方式添加列车停靠点
- python 按条件选择行和列数据_小白学数据结构-排序算法Python(冒泡、选择、快速、希尔等等)...
- php如何控制用户对图片的访问 PHP禁止图片盗链
- python发送邮件-实操记录-发送一封普通的邮箱
- Linux系统基础知识
- fireFox模拟 post请求、上传插件,火狐浏览器中文postman插件
- go学习笔记-包处理
- stochastic noise and deterministic noise
- 单片机段式LCD驱动教程
- 【RSLogix5000】—(1.1)—厂房ControlLogix系统介绍(硬件介绍)——原理
- 中兴ZXD2400电源电路图图纸 图纸 线路图不是PCB图
- python识别文字坐标_python识别图片上的文字并返回文字在图片中的坐标
- 1688图片批量采集技巧
- 德国43000人汇聚线上黑客马拉松,齐愿合力干趴病毒
- plt.imshow与plt.show区别之交互与阻塞模式
- 台式计算机系统错误,联想台式电脑开机提示Error 1962无法正常开机进入系统
热门文章
- java 各种数据库连接_JAVA连接各种数据库
- import java文件,java 文件夹操作,java文件夹,import java.
- 计算机系统高级设置在哪里,Win7系统高级设置在哪里
- 第四单元和课程总结:简单的架构设计意识
- fetch移动端浏览器兼容问题
- linux中 ls |wc -l
- CF935D Fafa and Ancient Alphabet 概率dp(递推)
- sql 中 ALTER 和 UPDATE 的区别
- [转载] 使用异步 I/O 大大提高应用程序的性能
- poj3264Balanced Lineup(RMQ)