mysql n 识别_mysql – 不能有“不识别”的N:M关系吗?
我的數(shù)據(jù)庫ERM(實(shí)體關(guān)系模型)有一個(gè)TEACHER實(shí)體類型,它與SUBJECT_MODULE實(shí)體類型相關(guān)(因?yàn)槊總€(gè)主題中的不同模塊由不同的教師講授,對(duì)于某些模塊,甚至每個(gè)模塊中的不同章節(jié)都可以通過不同的教師)通過TEACH關(guān)系類型.
這是一種N:M的關(guān)系,因?yàn)槊總€(gè)教師都可以教授許多學(xué)科模塊,每個(gè)模塊都可以由幾位老師教授.
但在我看來,這不是一種識(shí)別關(guān)系,因?yàn)橹黝}模塊不依賴于教師的獨(dú)特識(shí)別;如果您不同意這一點(diǎn),請(qǐng)說出來.
但是從this tutorial開始(雖然它只是說,“識(shí)別關(guān)系通常用于從多對(duì)多關(guān)系創(chuàng)建的連接表.”),并發(fā)現(xiàn)MySQL Workbench的ERD建模工具只包含一個(gè)工具來建模M:N關(guān)系,用于“識(shí)別N:M關(guān)系”,至少工具提示是這樣的……我想知道N:M關(guān)系是否總是或者不總是識(shí)別關(guān)系.請(qǐng)澄清一下.謝謝.
解決方法:
I wonder if an N:M relationship is always or is not always an identifying relationship.
M:N關(guān)系本身永遠(yuǎn)不會(huì)“識(shí)別”(或“非識(shí)別”),但可以包括識(shí)別或不識(shí)別1:N關(guān)系.
這不是關(guān)于識(shí)別任何端點(diǎn)(教師和主題模塊),而是識(shí)別它們之間的連接.在這種情況下,它看起來從端點(diǎn)表遷移的密鑰組合標(biāo)識(shí)了連接(通過成為連接密鑰的一部分):
因此,雖然M:N關(guān)系本身不是“識(shí)別”,但是由它組成的1:N關(guān)系是.
(您引用的工具UI可能只使用術(shù)語“識(shí)別M:N”作為上述簡寫.)
話雖這么說,你可以在這些遷移的密鑰之上沒有密鑰的情況下離開連接:
它在技術(shù)上仍然是M:N,但現(xiàn)在允許重復(fù)連接(即同一個(gè)教師多次連接到相同的主題模塊),在這種情況下,上面的1:N關(guān)系將不再是“識(shí)別”.
標(biāo)簽:mysql,database,database-design,erd
來源: https://codeday.me/bug/20190703/1364970.html
總結(jié)
以上是生活随笔為你收集整理的mysql n 识别_mysql – 不能有“不识别”的N:M关系吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java compare equla_J
- 下一篇: mysql 表 类型_mysql表类型