數(shù)據(jù)庫中多對多的關(guān)系設(shè)計_第1頁
數(shù)據(jù)庫中多對多的關(guān)系設(shè)計_第2頁
數(shù)據(jù)庫中多對多的關(guān)系設(shè)計_第3頁
數(shù)據(jù)庫中多對多的關(guān)系設(shè)計_第4頁
數(shù)據(jù)庫中多對多的關(guān)系設(shè)計_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫中多對多的關(guān)系設(shè)計數(shù)據(jù)庫設(shè)計多對多關(guān)系的幾種形態(tài)前言:多對多關(guān)系至少需要3個表,我們把一個表叫做主表,一個叫做關(guān)系表,另外一個叫做字典表或者副表(字典表是紀(jì)錄比較少,而且基本穩(wěn)定的,例如:版塊名稱;副表是內(nèi)容比較多,內(nèi)容變化的,例如)。按照數(shù)據(jù)庫的增刪查改操作,多對多關(guān)系的查找都可以用inner join或者select * from 主表 where id in (select 主表id from 關(guān)系表)1,角色任命型特點(diǎn):關(guān)系表兩外鍵組合無重復(fù)紀(jì)錄,關(guān)系表一般不需要時間字段和主鍵,有一個表是字典類型的表。界面特點(diǎn):顯示主表,用checkbox或多選select設(shè)置多選關(guān)系。例如:任

2、命版主(用戶表-關(guān)系表-版塊名稱表),角色權(quán)限控制等,用戶是5個版塊版主,只要關(guān)系表5行紀(jì)錄就可以確立,關(guān)系表的兩個外鍵具有聯(lián)合主鍵性質(zhì)。增加關(guān)系:如果沒有組合紀(jì)錄,insert之。刪除關(guān)系:如果有組合紀(jì)錄,刪除之。2,集合分組型特點(diǎn):同角色任命型類似,關(guān)系表兩外鍵組合無重復(fù)紀(jì)錄,關(guān)系表一般不需要時間字段和主鍵。區(qū)別是主副表都不是字典表,可能都很大不固定。界面特點(diǎn):顯示主表,用搜索代替簡單的checkbox或多選select,或者一條一條的添加。例如:歌曲專集(專集表-關(guān)系表-歌曲表)。手機(jī)分組(分組表-關(guān)系表-手機(jī)表)。用戶圈子(圈子表-關(guān)系表-用戶表)。文章標(biāo)簽(文章表-關(guān)系表-標(biāo)簽表)增

3、加關(guān)系:同版主任命型。刪除關(guān)系:同版主任命型。3,明細(xì)帳型特點(diǎn):關(guān)系表可以有重復(fù)紀(jì)錄,關(guān)系表一般有時間字段,有主鍵,可能還有文字型的字段用來說明每次發(fā)生關(guān)系的原因(消費(fèi))。界面特點(diǎn):顯示關(guān)系表,用radio或下拉設(shè)置單選關(guān)系。例如:現(xiàn)金消費(fèi)明細(xì)帳或訂單(用戶表-訂單表-消費(fèi)原因表),用戶可能多次在同一事情上重復(fù)消費(fèi)。積分變化紀(jì)錄也屬于這類。增加關(guān)系:不管有沒有組合紀(jì)錄,insert之,紀(jì)錄時間。刪除關(guān)系:根據(jù)關(guān)系表PK刪除。4,評論回復(fù)型特點(diǎn):同明細(xì)帳型關(guān)系表一般有時間字段,有主鍵,區(qū)別是重點(diǎn)在文字型的字段用來說明每次發(fā)生關(guān)系的內(nèi)容(評論回復(fù))。界面特點(diǎn):回復(fù)文本框。例如:論壇回復(fù)(用戶表-回

4、復(fù)表-帖子表),用戶可能多次在不同帖子上評論回復(fù)費(fèi)。增加關(guān)系:不管有沒有組合紀(jì)錄,insert之,紀(jì)錄時間和文字。刪除關(guān)系:根據(jù)關(guān)系表(回復(fù)表)PK刪除。5,站內(nèi)短信型特點(diǎn):主副表是同一個,關(guān)系表一般有時間字段,有主鍵,重點(diǎn)在關(guān)系表文字型的字段用來說明每次發(fā)生關(guān)系的內(nèi)容(消息)或者其他標(biāo)記位來表示文字已讀狀態(tài)時間等。界面特點(diǎn):回復(fù)文本框。例如:站內(nèi)短信(用戶表-短信表-用戶表),用戶可能給用戶群發(fā)或者單發(fā),有標(biāo)記位來表示文字已讀狀態(tài)時間等。增加關(guān)系:不管有沒有組合紀(jì)錄,insert之,紀(jì)錄時間和文字。刪除關(guān)系:根據(jù)關(guān)系表(回復(fù)表)PK刪除。6,用戶好友型特點(diǎn):主副表是同一個,同集合分組型,關(guān)系

5、表兩外鍵組合無重復(fù)紀(jì)錄,關(guān)系表一般不需要時間字段和主鍵。界面特點(diǎn):同集合分組型,顯示主表,用搜索代替簡單的checkbox或多選select,或者一條一條的添加。例如:下載站點(diǎn)的文件,(文件表-關(guān)系表-文件表)可以被軟件工具打開,軟件工具本身也是一種文件,可以被下載。用戶的好友,也是用戶(用戶表-好友關(guān)系表-用戶表)增加關(guān)系:同版主任命型。刪除關(guān)系:同版主任命型。7,未知屬性型特點(diǎn):在設(shè)計初期,主表的某些字段類型和名稱是不確定的時候,關(guān)系表實際上是主表的可擴(kuò)展字段,一個主表(ID),一個屬性名稱表(屬性ID.屬性名稱),一個屬性值表,包括3個字段: 屬性值(屬性Value varchar(50

6、0) 主表ID 屬性ID這樣可以作到最小冗余度。(和常見的多對多關(guān)系不同的是:值統(tǒng)一用varchar來存儲,因為這類型的值一般不會用來計算)。比如:軍隊的數(shù)據(jù)庫設(shè)計中有種物資叫做“戰(zhàn)繳物資”,就是打仗的時候繳獲的,軍隊自己都不知道這些物資有什么屬性。比如繳獲的化學(xué)品有化學(xué)名,通用名,是否有輻射,計量單位,包裝規(guī)格,數(shù)量等等,或者不是化學(xué)品是其他任何未知的東西。這樣?xùn)|西就可以某奇怪東西.屬性集合某某奇怪屬性名=某某奇怪值;某變態(tài)東西.屬性集合某某變態(tài)屬性名=某某變態(tài)值;這樣存儲。再比如:手機(jī)型號有幾千種,除了共同屬性外還有不同屬性有幾百個,屬性名和值類型都不一樣,有的手機(jī)有這屬性,有的沒有。對于這樣的“多態(tài)”,我們就采用上面的設(shè)計結(jié)構(gòu)。其效

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論