回覆列表
  • 1 # 傑2222222

    外來鍵約束畢竟是一個約束,只是保證資料完整性的一個手段。資料庫系統本身約束手段是更可靠的。對於開發來說,可能覺得建立外來鍵關係沒必要,但是到了以後維護階段,或升級階段,如果沒有這個關係,可能不利維護工作的提升。表關係的建立,也闡述著具體的業務邏輯關係,增加了可讀性。在邏輯性,關聯性比較強的時候不妨新增。其他時候簡單的外來鍵約束也是可以的,不需要一有關係就新增,但是要有其他機制保證資料完整性,畢竟外來鍵對於開發有時候還是有限制。總的來說前期開發可以不管,後期維護儘量轉移到資料庫本身的約束來建立關係。

  • 2 # 使用者6369109692826

    比較清楚Oracle 的,其它的資料庫也差不多。

    A、not null(非空)

    如果在列上定義了not null,那麼當插入資料時,必須為列提供資料。

    B、unique(唯一)

    當定義了唯一約束後,該列值是不能重複的,但是可以為null。

    C、primary key(主鍵)

    用於唯一的標識錶行的資料,當定義主鍵約束後,該列不但不能重複而且不能為NULL。一張表最多隻能有一個主鍵,但是可以由多個unique約束。

    D、foreign key(外來鍵)

    用於定義主表和從表之間的關係,外來鍵約束要定義在從表上,主要則必須具有主鍵約束或是unique約束,當定義外來鍵約束後,要求外來鍵列資料必須在主表的主鍵列存在或是為NULL。

    E、check

    用於強制行資料必須滿足的條件,假定在sal列上定義了check約束,並要求sal列值在1000~2000之間,如果不在1000~2000之間就會提示出錯。

  • 中秋節和大豐收的關聯?
  • 簡述《紅樓夢》中“木石前盟”的故事?