SQL SERVER 2005中的資料參照完整性

iSQlServer發表於2009-02-02

因為工作的關係,最近用上了SQL SERVER 2005

但為了設定兩個表間的資料參照完整性,著實費了一些工夫。變化真是太大了,變得真不敢相信這還是微軟的SQL SERVER。以前,有多少人是因為SQL SERVER的簡單易用,傻瓜式操作而使用它的呢?也許功能是強大了好多,可也不至於要改得面目全非吧。當初,SQL SERVER2000是多麼的好用啊。

2005,設定兩個表間的資料參照完整性是這樣的:

1、                SQL SERVER MANAGEMENT STUDIO中(企業管理器沒有了),選中要新增外來鍵的表,右擊,選“修改”。注意要選哪個表。假如表A刪了一條記錄,表B也要刪一條對應的記錄,這時候應該在表B上設定關係,A是主表,B是從表;

2、                開啟該表後,按照幫助的指示,去找“關係”按扭,沒有,找不到,這時要右擊,在彈出選單中選“關係”;

3、                選“表和列規範”,這時右邊變魔術般出現了一個按扭,示意可以點選瀏覽(如果不點呢,對不起,按扭就一直隱藏著,呆上千萬年,在漫長的時光流逝中,靜靜地等待閣下用滑鼠去點選那個看起來好象不可編輯的文字行,以圖被喚醒而魔術般地出現,給你一個絕對的驚喜——喔,好浪漫哦!)

4、                選好關聯表後,回來,開啟摺疊的“INSERTUPDATE規範”,這時其下有子節點:更新操作,刪除操作。刪除操作有四個選項:無操作、層疊、設定空,設定預設值。它們是什麼意思?誰能告訴我?查幫助,輸入“INSERTUPDATE規範”是沒有的,輸入“層疊”,也是沒有的。裡面的幫助很有意思,A頁面說了沒兩句,下面就有一個連結,說如果要看更詳細的幫助,可以點B頁面,然後到了B頁面,說了兩句,又推薦你回到A頁面,跳來跳去,上面的幫助全是狗屁。

以前有個傢伙開著直升機迷路了,於是打著一個條幅掛在飛機上,上寫:我在哪裡?結果一幢大廈裡的人看見了,也打出一個條幅,上寫:你在飛機上。最後得知,這幢大廈的人是微軟公司的幫助文件小組。

幫助沒有什麼幫助性,在網上尋尋覓覓也沒有結果,只好逐個試了。最後發現刪除規範裡選“層疊”可以實現兩個表的資料參照完整性,即兩個表的記錄一起被刪除。開始時選了“設定預設值”,結果只將對應表中的外來鍵值置為NULL

我現在對SQL SERVER2005還很不熟悉,覺得它很難用,怎麼看怎麼彆扭,太複雜了,SQL SERVER2000之前的優點幾乎喪失殆盡。查詢分析器也沒有了。微軟好象走進了一個死衚衕,做的一切,似乎在自掘墳墓。

個人感覺而已。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-545028/,如需轉載,請註明出處,否則將追究法律責任。

相關文章