mysql数据表的一对多 多对多
我想请问下数据表的简单设计
一个一对多 为何要在多表添加字段 而不在1表添加 请举例
多对多 为什么要把形成第三个表 形成一对多 而不在他们的表各添加一个字段呢?
我要详细的解释
回复内容:
我想请问下数据表的简单设计
一个一对多 为何要在多表添加字段 而不在1表添加 请举例
多对多 为什么要把形成第三个表 形成一对多 而不在他们的表各添加一个字段呢?
我要详细的解释
我终于看到了一个傻逼问题,你和几个人喝一杯饮料,一杯饮料对多个人,也就是一对多,难道不是每个人拿个管子插到那杯饮料里面去?也就是每个人有一个字段存储上面关联的饮料。
好了,多对多,假设两个表都有一个字段来存储关系,那么每新增一个对应关系你就需要在当前数据列新增一个关联数据到那个字段对吧?你以逗号分隔还是以什么分隔这个Id我不管,但是结构够清晰么?怎么想都不太符合常规逻辑啊。这个我懒得解释了。
编辑了半天,最后总结一下算了。
百度一下:第三范式
为了减少数据冗余
问题一:一对多在多表加字段仅仅是因为 ‘这个时候一是主表多是辅表,所以外键放在多上’,这个是业务需求定的,你完全可以放在一上,那样的话多是主表,一是辅表,外键在一上。
问题二:你说的那样是可行的,但是,成本过高(开发成本和维护成本),开发难度相对增大,维护成本增大。多对多普遍惯例就是新增一个第三方表。
官方着回答就是(这种反范式化设计)

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

CakePHP 是 PHP 的開源框架。它旨在使應用程式的開發、部署和維護變得更加容易。 CakePHP 基於類似 MVC 的架構,功能強大且易於掌握。模型、視圖和控制器 gu

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

CakePHP 是一個開源MVC 框架。它使應用程式的開發、部署和維護變得更加容易。 CakePHP 有許多函式庫可以減少大多數常見任務的過載。

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲
