1. 程式人生 > >數據庫設計心得

數據庫設計心得

行數 多人 而是 高級 基本 父親 裏的 多表 外鍵

若兩個實體之間存在多對多的關系,則應消除這種關系。消除的辦法是,在兩者之間增加第三個實體。這樣,原來一個多對多的關系,現在變為兩個 一對多的關系。要將原來兩個實體的屬性合理地分配到三個實體中去。這裏的第三個實體,實質上是一個較復雜的關系,它對應一張基本表。一般來講,數據庫設計 工具不能識別多對多的關系,但能處理多對多的關系。

在數據庫學習中也學到了許多的數據庫的規則。一般而言,一個實體不能既無主鍵又無外鍵。處於葉子部位的實體, 可以定義主鍵,也可以不定義主鍵(因為它無子孫), 但必須要有外鍵(因為它有父親)。 主鍵與外鍵的設計,在全局數據庫的設計中,占有重要地位。當全局數據庫的設計完成以後,有個美國數據庫設計專家說:“鍵,到處都是鍵,除了鍵之外,什麽也 沒有”,這就是他的數據庫設計經驗之談,也反映了他對信息系統核心(數據模型)的高度抽象思想。因為:主鍵是實體的高度抽象,主鍵與外鍵的配對,表示實體 之間的連接。

主鍵與外鍵在多表中的重復出現,不屬於數據冗余,這個概念必須清楚,事實上有許多人還不清楚。非鍵字段的重復出現,才是數據冗余!而且是一種低級冗余,即重復性的冗余。高級冗余不是字段的重復出現,而是字段的派生出現。

在進行數據庫設計時,都要考慮數據的完整性,一般用約束或者商務規則來實現。約束是數據庫設計中使用的概念,它涉及字段的唯一性、關系等等,而商規則則是實際編程中在代碼裏對能輸入的內容進行限制以達到相應的目的。

數據庫設計心得