新手入門學習 MySQL資料庫中如何定義外鍵

來源:互聯網
上載者:User

定義資料表

  假如某個電腦生產商,它的資料庫中儲存著整機和配件的產品資訊。用來儲存整機產品資訊的表叫做 Pc;用來儲存配件供貨資訊的表叫做Parts。

  在Pc表中有一個欄位,用來描述這款電腦所使用的CPU型號;

  在Parts 表中相應有一個欄位,描述的正是CPU的型號,我們可以把它想成是全部CPU的型號列表。

  很顯然,這個廠家生產的電腦,其使用的CPU一定是供貨資訊表(parts)中存在的型號。這時,兩個表中就存在一種約束關係(constraint)——Pc表中的CPU型號受到Parts 表中型號的約束。

  首先我們來建立 parts 表:

  CREATE TABLE parts (
   ... 欄位定義 ...,
   model VARCHAR(20) NOT NULL,
   ... 欄位定義 ...
  );

  接下來是Pc表:

  CREATE TABLE pc (
   ... 欄位定義 ...,
   cpumodel VARCHAR(20) NOT NULL,
   ... 欄位定義 ...
  };

  設定索引

  若要設定外鍵,在參照表(referencing table,即Pc表) 和被參照表 (referenced table,即parts表) 中,相對應的兩個欄位必須都設定索引(index)。

  對Parts表:

  ALTER TABLE parts ADD INDEX idx_model (model);

  這句話的意思是,為 parts 表增加一個索引,索引建立在 model 欄位上,給這個索引起個名字叫idx_model。

  對Pc表也類似:

  ALTER TABLE pc ADD INDEX idx_cpumodel (cpumodel);

  事實上這兩個索引可以在建立表的時候就設定。這裡只是為了突出其必要性。

  • 1
  • 2
  • 下一頁
【內容導航】
第1頁:新手入門學習 MySQL資料庫中如何定義外鍵 第2頁:新手入門學習 MySQL資料庫中如何定義外鍵

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.