• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 知識大全 > 知識百科 > 百科知識 > 外鍵如何使用

    外鍵如何使用

    時間: 謝君787 分享

    外鍵如何使用

      外鍵表示了兩個關系之間的相關聯系。以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。以下是由學習啦小編整理關于什么是外鍵的內容,希望大家喜歡!

      外鍵的定義

      設F是基本關系R的一個或一組屬性,但不是關系的鍵,Ks是基本關系S的主鍵。如果F與Ks相對應,則稱F是R的外鍵,并稱基本關系R為參照關系,基本關系S為被參照關系或目標關系。

      換而言之,如果關系模式R中的某屬性集不是R的主鍵,而是另一個關系R1的主鍵則該屬性集是關系模式R的外鍵,通常在數據庫設計中縮寫為FK。

      在實際操作中,將一個表的值放入第二個表來表示關聯,所使用的值是第一個表的主鍵值(在必要時可包括復合主鍵值)。此時,第二個表中保存這些值的屬性稱為外鍵(foreign key)。

      注意

      顯然目標關系的主碼和參照關系的外碼必須定義在一個或同一組的域上。

      關系R和S不一定是不同的關系,即外鍵不一定要與相應的主鍵同名。如在學生(學號,姓名,性別,專業號,年齡,班長)關系中,“學號”是主鍵,“班長”屬性表示該學生所在編輯的班長的學號,它引用了本關系中“學號”屬性,因此“班長”是外鍵,這里學生關系既是參照關系也是被參照關系。不過在實際應用中為了便于識別,當主鍵與相應的外鍵屬于不同關系時,往往取相同的名字。

      作用

      保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值或使用空值。

      如果不使用外鍵,表2的學號字段插了一個值(比如20140999999),但是這個值在表1中并沒有,這個時候,數據庫允許插入,并不會對插入的數據做關系檢查。然而在設置外鍵的情況下,你插入表2學號字段的值必須要求在表1的學號字段能找到。 同時,如果你要刪除表1的某個學號字段,必須保證表2中沒有引用該字段值的列,否則就沒法刪除。這就是所謂的保持數據的一致性和完整性。如右圖,如果表2還引用表1的某個學號,你卻把表1中的這個學號刪了,表2就不知道這個學號對應的學生是哪個學生。

      外鍵的使用方法

      主鍵表和外建表:

      使用設計界面創建外鍵時,出現主鍵表和外建表問題,上述使個人理解有誤:

      CREATE TABLE TABLE1

      (

      [ID] INT IDENTITY(1,1) PRIMARY KEY

      )

      GO

      CREATE TABLE TABLE2

      (

      [ID] INT NOT NULL,

      FOREIGN KEY ([ID]) REFERENCES [TABLE1]([ID])

      )

      GO

      TABLE2 中引用了TABLE1,在此TABLE1為主鍵表,而TABLE2 為外鍵表。

      總結:主鍵表是被引用的表,外鍵表是引用其他表的表。

      外鍵的有效性

      有很多時候,程序員會發現字段缺少、多余問題或者是創建外鍵以后就不能添加沒有受約束的行[特殊情況下是有必要的],這個時候不想對表結構進行操作,就可以使用約束失效。

      以 Northwind 為例:想給產品表【Products表】添加一條不受種類表【Categories表】限制的數據。可以使產品表中的 Categories 約束失效。

      寫法:ALTER TABLE dbo.Products NOCHECKCONSTRAINT FK_Products_Categories

      添加完成后再使其有效:

      ALTER TABLE dbo.Products CHECK CONSTRAINT FK_Products_Categories

      這樣就完成不受某表約束的數據添加了。

      還有一個好處是:如上述例子。修改 Categories 表時 添加字段時 要把所有引用 Categories 表的外鍵給失效。等給 Categories 表添加字段完成后再使所有應用 Categories 表的外鍵恢復有效性即可。
    看過“外鍵如何使用”的人還看了:

    1.數據庫中外鍵的用法

    2.信息管理信息系統專業論文

    3.CCNA專業語匯中英對照

    4.餐飲管理系統設計論文

    5.c語言string的用法

    2119402 主站蜘蛛池模板: 一本大道一卡2卡三卡4卡麻豆| 娇小性色xxxxx中文| 最近2019中文字幕mv免费看| 欧美成人性动漫在线观看| 波多野结衣教师诱惑| 特级无码毛片免费视频尤物| 真正全免费视频a毛片| 看Aⅴ免费毛片手机播放| 精品一区二区AV天堂| 精品一区精品二区制服| 秋霞免费理论片在线观看午夜| 精品成人AV一区二区三区| 美女激情视频网站| 精品女同一区二区三区免费站 | 国产成人yy免费视频| 国产欧美va欧美va香蕉在| 国产日韩精品一区二区三区在线 | 国产你懂的在线| 国产一区二区三区不卡在线观看| 四虎AV永久在线精品免费观看 | 四个美女大学被十七个txt| 四虎影视精品永久免费网站| 农民人伦一区二区三区| 免费国产a国产片高清| 亚洲网站视频在线观看| 亚洲毛片一级带毛片基地| 亚洲国产欧洲综合997久久| 亚洲av无码久久寂寞少妇| 久久久噜噜噜久久中文字幕色伊伊 | 无码日韩精品一区二区免费| 成人午夜app| 国语性猛交xxxx乱大交| 国产精品99久久久久久宅男| 国产乱码一区二区三区| 免费少妇a级毛片人成网| 亚洲欧美自拍另类图片色| 久久精品国产精油按摩| 一级做a爰片久久毛片16| 91精品啪在线观看国产18| 香蕉久久夜色精品升级完成| 精品久久久久久无码免费|