第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

非主鍵的外鍵

非主鍵的外鍵

慕標琳琳 2019-08-16 17:23:28
非主鍵的外鍵我有一個保存數(shù)據(jù)的表,其中一行需要存在于另一個表中。所以,我想要一個外鍵來保持參照完整性。CREATE TABLE table1(    ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,    AnotherID INT NOT NULL,    SomeData VARCHAR(100) NOT NULL)CREATE TABLE table2(    ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,    AnotherID INT NOT NULL,    MoreData VARCHAR(30) NOT NULL,    CONSTRAINT fk_table2_table1 FOREIGN KEY (AnotherID) REFERENCES table1 (AnotherID))但是,正如你所看到的,表我是外鍵,列不是PK。有沒有辦法創(chuàng)建這個外鍵,或者更好的方法來維護這種引用完整性?
查看完整描述

3 回答

?
慕少森

TA貢獻2019條經驗 獲得超9個贊

正如其他人所指出的那樣,理想情況下,外鍵將被創(chuàng)建為對主鍵(通常是IDENTITY列)的引用。但是,我們并不是生活在一個理想的世界中,有時甚至對模式的“小”改變也會對應用程序邏輯產生明顯的連鎖反應。

考慮具有SSN列(和啞主鍵)的Customer表的情況,以及還包含SSN列的Claim表(由Customer數(shù)據(jù)中的業(yè)務邏輯填充,但不存在FK)。該設計存在缺陷,但已經使用了好幾年,并且已經在架構上構建了三種不同的應用程序。顯而易見的是,剝離Claim.SSN并建立真正的PK-FK關系將是理想的,但也將是一次重大的改革。另一方面,對Customer.SSN設置UNIQUE約束,并在Claim.SSN上添加FK,可以提供參照完整性,對應用程序影響很小或沒有影響。

不要誤解我,我都是為了正常化,但有時候實用主義勝過理想主義。如果可以通過創(chuàng)可貼幫助平庸的設計,可以避免手術。


查看完整回答
反對 回復 2019-08-16
  • 3 回答
  • 0 關注
  • 1481 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號