建立關(guān)系在開始著手考慮建立關(guān)系表之間的關(guān)系之前,你可能需要對數(shù)據(jù)非常熟悉.只有在熟悉數(shù)據(jù)之后,關(guān)聯(lián)會比你剛開始的時候更明顯.你的數(shù)據(jù)庫系統(tǒng)依賴于在兩個數(shù)據(jù)表中找到的匹配值來建立關(guān)系.如果在數(shù)據(jù)庫系統(tǒng)中發(fā)現(xiàn)了一個匹配值,系統(tǒng)將從兩個數(shù)據(jù)表中提取數(shù)據(jù)并創(chuàng)建一個虛擬的記錄.例如,你可能想要查看某個特定的作者所寫的全部書籍,在本文中,系統(tǒng)將從“books”和“authors”這兩個數(shù)據(jù)表中查找相關(guān)的匹配值.需要注意的是,在大多數(shù)情況下,查詢的結(jié)果是動態(tài)的,這意味著對這條虛擬記錄所做的任何改動都將可能作用到底層的數(shù)據(jù)表上,這一點是非常重要的.
進行匹配的值都是主鍵和外鍵的值.(關(guān)系模型不要求一個關(guān)系必須對應(yīng)的使用一個主鍵來確定.你可以使用數(shù)據(jù)表中的任何備選關(guān)鍵字來建立關(guān)系,但是使用主鍵是大家都已經(jīng)接受的標(biāo)準(zhǔn).)主鍵(primary key)唯一的識別表中的每個記錄.而外鍵(foreign key)只是簡單的將一個數(shù)據(jù)表中的主鍵存放在另外一個數(shù)據(jù)表中.同樣地,對于你來說也不需要做太多的工作——只是簡單地將主鍵加到關(guān)系表中,并將其定義為外鍵.
唯一需要注意的是,外鍵字段的數(shù)據(jù)類型必須和主鍵的數(shù)據(jù)類型相同.但是有些系統(tǒng)可以允許這條規(guī)則有一個例外,它允許在數(shù)字和自動編號(autonumbering)字段(例如在sql服務(wù)器系統(tǒng)中訪問identity和autonumber)之間建立關(guān)系.此外,外鍵的值可以是空(null),盡管強烈建議在沒有特別原因的情況下,不要讓外鍵為空.你有可能永遠都不會有機會來使用需要這項功能的數(shù)據(jù)庫.
現(xiàn)在回到我們的示例關(guān)系表,并開始輸入合適的外鍵.(請繼續(xù)在紙上打草稿——在你的數(shù)據(jù)庫系統(tǒng)中創(chuàng)建真正的數(shù)據(jù)表還為時過早.要知道在紙上糾正錯誤要容易得多.)要記住,你正在把主鍵的值添加到關(guān)系表里.只要調(diào)用實體之間的關(guān)系就行了,而其他的就簡單了:
書籍和分類是有關(guān)系的.
書籍和出版社是有關(guān)系的.
書籍和作者是有關(guān)系的.
作者和郵政編碼(zip)是有關(guān)系的.
郵政編碼和城市是有關(guān)系的.
城市和州是有關(guān)系的.
這一步并不是一成不變的,你可能會發(fā)現(xiàn)在規(guī)范化的過程中加入外鍵會更容易一些.在把字段移動到一個新的數(shù)據(jù)表時,你可能要把這個新數(shù)據(jù)表的主鍵添加到原來的數(shù)據(jù)表里,將其作為外鍵.但是,在你繼續(xù)規(guī)范化剩余數(shù)據(jù)的時候,外鍵常常會發(fā)生改變.你會發(fā)現(xiàn)在所有這些數(shù)據(jù)表被全部規(guī)范化之后,一次添加所有的外鍵,這樣效率會更高.
操作數(shù)據(jù)表現(xiàn)在讓我們一次操作一個數(shù)據(jù)表,就從books數(shù)據(jù)表開始,它在這個時候只有三個字段.
如何定義數(shù)據(jù)庫表之間的關(guān)系(2)
如何定義數(shù)據(jù)庫表之間的關(guān)系(2)
其他人氣:115 ℃時間:2020-04-13 05:33:33
優(yōu)質(zhì)解答
我來回答
類似推薦
- 如何定義數(shù)據(jù)庫表之間的關(guān)系[圖]求解
- 請問在這個題中數(shù)據(jù)庫的關(guān)系是什么意思
- 如果你是一只丑小鴨當(dāng)你變成一只天鵝時你會怎么想
- The girl is playing the piano _the party,填什么?為什么?
- 兩個自然數(shù)的和是99,他們最大公約數(shù)和最小公倍數(shù)的和是231,那么這兩個數(shù)分別是?
- Hermit曲線、Bezier曲線、B樣條曲線有什么關(guān)系?有什么區(qū)別?各自的應(yīng)用范圍?
- 晝夜交替現(xiàn)象可以說明地球是個球體嗎
- 已知a,b為實數(shù),命題甲:ab>b2,命題乙:1b<1a<0,則甲是乙的( ) A.充分不必要條件 B.必要不充分條件 C.充要條件 D.既不充分也不必要條件
- 這條紅領(lǐng)巾讓我找的好苦,差不多把整個房間都找遍了,也沒找到,我打開書包一 看沒想到在這里,真是?一句
- 我市今年計劃植樹約84萬棵,前35天栽了49萬棵.照這樣計算,完成全部任務(wù)要多少天?(用比例解)
- A、B、C是三個素數(shù),A加B等于16,B加C等于24,且A小于B小于C,A、B、C分別是多少?
- 一列隊伍比20人少 小麗的前面和后面人數(shù)一樣多 問這列隊伍最多有多少人 最少有多少人
猜你喜歡
- 1如圖,反比例函數(shù)y=?4x的圖象與直線y=?13x的交點為A,B,過點A作y軸的平行線與過點B作x軸的平行線相交于點C,則△ABC的面積為( ) A.8 B.6 C.4 D.2
- 2keep our streets
- 3(x-y)的平方*(x-y)的立方的立方
- 4(2)如果不對這種高濃度菌液進行稀釋,而是直接進行觀察計數(shù),那么當(dāng)測量其每毫升菌液中所含酵母菌的個數(shù)時,在數(shù)值上會產(chǎn)生什么樣的后果?
- 5平方根、立方根、算術(shù)平方根的區(qū)別是什么
- 6若關(guān)于不等式ax²+bx+1
- 7解釋下列句中的古今意義
- 8“專用”用文言文咋說,誰知道告訴一下,
- 9幫忙解數(shù)學(xué)題,要解題過程.解方程x^2+y^2=1.求x,y的值.
- 10一塊正方體鐵坯棱長2分米,它的體積是多少立方分米?如果1立方分米重7.8千克,這塊鐵坯重多少千克?
- 11我認為你這樣做是不對的 張婕告訴了我一些有趣的事情 英文翻譯
- 126 HE felt very after he watchedthe (frustrate) movie