数据库中,一对多的时候外键设置在多的那张表吗?如果一对一的时候,外键应该设置在哪里?多对多的时候
生活随笔
收集整理的這篇文章主要介紹了
数据库中,一对多的时候外键设置在多的那张表吗?如果一对一的时候,外键应该设置在哪里?多对多的时候
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先你得題目和你的補(bǔ)充內(nèi)容不一致,呵呵!你題目的內(nèi)容別人已經(jīng)回答過了。補(bǔ)充內(nèi)容中的問題,是可以實(shí)現(xiàn)的,現(xiàn)在大多數(shù)數(shù)據(jù)庫都支持列的類型為復(fù)合數(shù)據(jù)類型,這樣可以在一列中存儲(chǔ)一張表或者一個(gè)數(shù)組。比如:oracle支持對(duì)象類型、嵌套表、數(shù)組等復(fù)合數(shù)據(jù)類型。你問題中的表在oracle中可以這樣設(shè)計(jì):1:定義一個(gè)學(xué)生的對(duì)象類型2:教室表中的students字段的類型定義為學(xué)生對(duì)象類型就可以了題主如果問的是一對(duì)多關(guān)系是否可以用外鍵表示,答案是肯定的,因?yàn)橐话銓?shí)體之間的關(guān)系有一對(duì)一,一對(duì)多,多對(duì)多,一對(duì)多的關(guān)系外鍵一般在多的一方便可維護(hù)它們之間的關(guān)系。題主如果問的是一個(gè)外鍵是否可以被多張表引用,答案也是肯定的,不沖突。其它網(wǎng)友回答:首先,外鍵引用的那個(gè)列在主表中必須是主鍵列或者唯一列。所以1:n的肯定把外鍵建立在n的那張表上。1:1,一般要看誰是主表,誰是附屬表,外鍵當(dāng)然建立在附屬表中。n:m的情況,需要建立一個(gè)關(guān)系表,兩個(gè)原表和其關(guān)系分別是1:n,1:m
總結(jié)
以上是生活随笔為你收集整理的数据库中,一对多的时候外键设置在多的那张表吗?如果一对一的时候,外键应该设置在哪里?多对多的时候的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京师大珠海分校(北京师大)
- 下一篇: 淳淳教导的意思(淳淳教导)