資料庫中多對多關係的中間表的命名規則
在關係資料庫中,除了一對一,一對多外,還有一個多對多關係.前兩個關係都只需要兩個表本身就能表達清楚他們之間的關係,而多對多關係則需要第三張中間表來表達清楚兩張表之間的關係.
中間表在一般情況下是由三個欄位組成:
1、中間表本身的自增主鍵
2、兩張表各自的主鍵。
這時候命名就成為了一個問題,而採用雙下劃線就能解決這個問題。
舉個例子:一本書有多個作者,一個作者會寫多本書。
這就是典型的多對多的關係。假設書和作者的表名分別為:shu,zuo_zhe。那麼他們的中間表的名稱就是shu__zuo_zhe。這樣的表示方法完全通用,適用於任何情況的中間表的命名,至於到底是shu__zuo_zhe,還是zuo_zhe__shu。這個區別不大我個人傾向於shu__zuo_zhe,因為常用或者更主要的表名字在前,更方便記憶。
(注:主要內容轉載自他人,但是格式以及部分內容為我後補充的。)
相關推薦
資料庫中多對多關係的中間表的命名規則
在關係資料庫中,除了一對一,一對多外,還有一個多對多關係.前兩個關係都只需要兩個表本身就能表達清楚他們之間的關係,而多對多關係則需要第三張中間表來表達清楚兩張表之間的關係. 中間表在一般情況下是由三個欄位組成:
JDBC上關於資料庫中多表操作一對多關係和多對多關係的實現方法--轉
原文地址---- https://www.cnblogs.com/pangguoming/p/7028322.html 黑馬程式設計師 我們知道,在設計一個Java bean的時候,要把這些BEAN 的資料存放在資料庫中的表結構,然而這些資料庫中的表直接又有些特殊
JPA中多對多表關係的刪除操作,如何刪除放棄維護關聯關係的一方和中間表的紀錄
資料庫中的表 使用者表:在配置實體類的時候放棄了維護關聯關係的權利 角色表: 中間表: 需求:刪除t_user表中的user_id 為1的使用者,並刪除相關的中間表紀錄。 程式碼: @Test public
JPA中多對多表關係的刪除操作,如何只刪除一方和中間表的紀錄
資料庫中的表 使用者表: 角色表: 中間表: 需求:刪除t_user表中的user_id 為1的使用者,並刪除相關的中間表紀錄。 程式碼: @Test public void testRemove() {
Hibernate 學習心得1: 多對多關係中,中間表無法插入資料。
Hibernate 學習心得之一 多對多關係中,中間表無法插入資料。最近學習 spring4+hibernate4,學習中遇到了很多坑。在這裡我來說說我遇到的坑,這裡就不介紹如何spring如何整合hibernate。目前學習過程中,我遇到的兩個問題1.為何在hibernat
Django - ORM 多對多關係 - 中間關係表的建立方式探討
目錄 多對多關係 - 三種中間表的建立方式 - 優劣總結 方式一、手動建立第三張表 方式二、自動建立第三張表 - MandyToManyField 方式三、半自動建立第三張表 -- 手動建立第三張表+ManyToMany建立關係(推薦使用) 多對多關係 - 三種中間表
Django中資料庫的資料關係:一對一,一對多,多對多
一對一: 一對一的關係極為一個數據僅對應一個數據,用下圖的結構圖可以幫助理解: 下面用程式碼實現一下,首先要建立工程專案如下: 接著,我們定義模型: 來到models.py檔案,建立兩個模型: from django.db import models #
資料庫中表與表之間建立關係(一對多、多對多)
一、一對多的關係 例:公司與員工的關係,公司為一,公司員工為多,需要在多方建立外來鍵指向一方的主鍵。 一對多讓兩個實體類之間相互表示 (1)一個公司裡面有多個員工。 private Set<yuangong> yuangongSet=new HashSet
Hibernate 多對多之拆分中間表增加有多個關係欄位
Hibernate多對多關係中間表有其他屬性的配置方式 一、需求原因 在我做系統架構時遇到情況是這樣:資源選單實體類(Resource)和角色實體類(Role)是多對多關係,需要各個角色可以個性化自己的資源選單順序。 二、設計理念 多對多的關係拆分為兩個一對
Hibernate中多對多的annotation的寫法(中間表可以有多個欄位)
一般情況下,多對多的關聯關係是需要中間表的; 情況一:如果中間表僅僅是做關聯用的,它裡面僅有2個外來鍵做聯合主鍵,則使用ManyToMany(不用寫中間表的Model,只需要寫出兩張主表的model即可) 學生表 @Entity@Table(name = "T_STUDENT")@SequenceGener
on_delete=models.CASCADE 級聯刪除 多對一關係中使用刪除主表中資料,從表跟著刪除
經過篩查,在建立多對一的關係的,需要在Foreign的第二引數中加入on_delete=models.CASCADE 主外關係鍵中,級聯刪除,也就是當刪除主表的資料時候從表中的資料也隨著一起刪除 這是資料庫外來鍵定義的一個可選項,用來設定當主鍵表中的被參考列的資料發生變化時,外來鍵表中響
資料庫的關係表:一對多、多對多例項
一個專案對應多個學生 一個學生對應多個專案(多對多關係) 專案表 學生表 專案號(主) 學生號(主) 學生-專案表 專案號(外) 學生號(外) 實現多對多關係,必須要第三表來操作,且它們都屬於外來鍵。 一個導師對應多個專案 一個專案對應一個老師(一對多關係)
flask中資料庫表的多對多模型的建立
多對多關係描述有一個唯一的點就是:需要新增一張單獨的表去記錄兩張表之間的對應關係 ,然後在任意一個模型中增加關係引用即可。 聯合主鍵:多個欄位合在一起當主鍵以下是程式碼部分:from flask import Flask from flask_sqlalchemy impo
Hibernate中的表的多對多關係及操作
表的多對多關係及操作 多對多的表關係表達 表:使用中間表,分別引用兩方的ID物件: 兩方都使用集合表達配置:<set name="courses" table="t_student_cours
資料庫設計中,多對多關係使用使用逗號分割關聯討論
進公司一個月,發現公司很多人喜歡用逗號分割,去儲存其它表的主鍵,做多對多關聯,但存在很多亂用現象。這裡對這種方式做了下總結。 在傳統資料庫設計中,多對多關係儲存通常都是用一張中間表來簡歷兩張表的關係。例如使用者和角色,一個使用者有多個角色,而一個角色下
sql中1對多關係,將子表name組合追加到主表中
1,其中YJ_reports關聯多個YJ_check_items,現在需將item的name組合起來追加在reports後面SELECTreport.*, (SELECTgroup_concat(items. NAME)FROMYJ_check_items AS itemsW
Hibernate中多對多的annotation的寫法(中間表可以有多個額外新增的欄位)
方案一 中間表聯合主鍵,自動生成 一般情況下,多對多的關聯關係是需要中間表的; 情況一:如果中間表僅僅是做關聯用的,它裡面僅有2個外來鍵做聯合主鍵,則使用ManyToMany(不用寫中間表的Model,只需要寫出兩張主表的model即可) 學生表 @Entity@Table(name = "T_STUD
資料庫在一對一、一對多、多對多怎麼設計表關係
開發十年,就只剩下這套架構體系了! >>>
Hibernate學習筆記(五) --- 創建基於中間關聯表的多對多映射關系
mys 兩個 override pac tid 一對多 main ber different 多對多映射是在實際數據庫表關系之間比較常見的一種,仍然以電影為例,一部電影可以有多個演員,一個演員也可以參演多部電影,電影表和演員表之間就是“多對多”的關系 針對多對多的映射關系,
ef core中如何實現多對多的表映射關系
uil set ring one int 實現 log ons lB 文檔:https://docs.microsoft.com/en-us/ef/core/modeling/relationships class MyContext : DbContext {