牛腩新聞發佈系統——主外鍵關係的設置方法


以前在接觸數據庫的時候,理論知識也沒有學習過,做【學生信息管理系統】時是直接去做些簡單的操作,後來看了《數據庫系統原理》這本書,那個艱深晦澀就不說了,看了幾遍之後,終於有些明白。時隔一年多結合現在正在做的【牛腩新聞發佈系統】再去翻看的時候,明瞭許多。


下圖是主外鍵的區別:

                            

 主鍵使用原則:

 1.應當是對用戶沒有意義的

 2.永遠也不要更新主鍵

 3.不應包含動態變化的數據,如創建時間列

 4.應當由計算機自動生成


     外鍵使用原則:

      1、 爲關聯字段創建外鍵

2、 所有的鍵都必須唯一

  3、避免使用複合鍵

  4、外鍵總是關聯唯一的鍵字段


結合【新聞發佈系統】實例,根據主外鍵的使用原則,可以設置如下:

建立主外鍵的好處:

SQL中的主外鍵就是對錶與表之間進行約束,主鍵保證了數據的唯一性,外鍵保證的是數據的完整性。

就拿【新聞發佈系統】來說,<category>類別表指的是新聞的類別,<news>新聞表指的是各個類別下的新聞,<comment>評論表指的是各條新聞的評論,這裏需要指出的是,一個新聞類別下可以有多條新聞,一條新聞下可以有多條評論。如果要刪除一個類別的話,需要把這個類別下的多條新聞同時刪除,同樣,如果要刪除一條新聞的話,需要把這條新聞下的多條評論同時刪除,這裏需要指出的是:類別表和新聞表、新聞表和評論表都是一對多的關係,這就是傳說中的級聯刪除。如果不設置主外鍵的話,刪除一個新聞類別,只能刪除一個新聞類別,而這個類別的所有新聞並沒有刪除,而我們希望的是刪除一個類別之後,其下的所有新聞都刪除,方便快捷。

步驟一: 在外鍵表上右擊,選擇“關係”:


步驟二:外鍵關係對話框中,點擊“添加”,在“表和列規範”項的右側的小按鈕:

                  

步驟三:在“表和列”對話框中,在主鍵表下方選擇外鍵列所在的表和該外鍵列:

          

    步驟四:在外鍵表下方,只要選擇表中與主鍵表的列相對應的列就可以:

             

    步驟五:如果還有外鍵關係需要建立,繼續點擊外鍵關係表裏的“添加即可。

          

    


    【總結】其實,最關鍵的還是要弄清哪個是主表,哪個是外鍵表,然後直接在外鍵表上右擊,選擇關係即可建立兩表的主外鍵關係,當然,可根據需要,一個表中可以有多個外鍵。剛開始碰到兩表之間建立主外鍵關係的時候,建了好幾次都沒有成功,通過幾次操作之後,就輕車熟路了。不建立主外鍵的好處就是數據可以隨意寫入或刪除,但這樣的同時會造成數據容易出現錯誤,造成數據冗餘;建立主外鍵關係既可以保證數據的唯一性和完整性,又可以增加ER圖的可讀性,所以要合理利用好主外鍵關係。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章