1. 資料庫安全性和資料庫完整性的區別是什麼
一、不同點
1、內容不同
資料庫完整性是指數據的正確性和相容性。
資料庫安全性是指保護資料庫粗模,以旁野防止不合法的使用造成的數據泄密、更改或破壞。
2、對象不同
資料庫安全性的防範對象是非法的操作和未授權的用戶。
資料庫完整性的防範對象是不符合語義的數據。
二、相運凳喊同點是兩者都是對資料庫中的數據進行控制,各自所實現的功能目標不同。
(1)資料庫的是指數據的正確性和相容性擴展閱讀
資料庫系統安全主要利用在系統級控制資料庫的存取和使用的機制,包含:
(1) 系統的安全設置及管理,包括法律法規、政策制度、實體安全等;
(2) 資料庫的訪問控制和許可權管理;
(3) 用戶的資源限制,包括訪問、使用、存取、維護與管理等;
(4) 系統運行安全及用戶可執行的系統操作;
(5) 資料庫審計有效性;
(6) 用戶對象可用的磁碟空間及數量。
2. 問題:什麼是資料庫的完整性
答:資料庫的完整性是指數據的正確性和相容性。 問題:資料庫的完整性概念與資料庫的安全性概念有什麼區別和聯系?答: 資料庫的完整性是指數據的正確性和相容性、資料庫的安全性是指保護資料庫.以防止不合法的使用造成的數據泄密、更改或破壞。其相同點是兩者都是對資料庫中的數據進行控制.各自所實現的功能目標不同。問題:什麼是資料庫的完整性約束條件?可分為哪幾類?答: 數據完整性約束是為了保證進入資料庫中的數據的有效性而定義的數據規則、它可以分為以下兩類. ①針對不同的對象可以分為表級約束、元塑級約束和屬性級約束(也稱列約束);表級約束是若干元組間、關系中及關系之間的約束:元組級約束則是元組中的欄位組和欄位間聯系的約束;屬性級約束主要是針對列的類型、取值范圍、精度、排序等而制定的約束條件。②針對數據對象的狀態可以分為靜態約束和動態約束:靜態約束是指資料庫每一確定狀態時的數據對象所應滿足的約束條件.它是反映資料庫狀態穩定時的約束.動態約束是指資料庫從一種狀態轉變為另一種狀態時.新、舊值之間所應滿足的約束條件.它是反映資料庫狀態變遷的約束。 問題: DBMS的完整性控制應具有哪些功能? 答;①定義和存儲完整性功能.②檢查完整性功能;③控制完整性功能。 問題:RDBMS在實現參照完整性時需要考慮哪些方面?答: ①外碼能夠接受空值的問題. ②在被參照關系中刪除元組時.採用級聯刪除、受限刪除或置生值刪除的方法處理參照關系; ③在參照關系中插入元組時.可以使用受限插入、遞歸插入兩種方法處理參照關系. ④修改關系的主碼時 可以採用不允許修改主碼、或允許修改關系主碼.但必須保證主碼的惟一性和非空性方法處理參照關系; ⑤修改被參照關系時,可以採用級聯修改、拒絕修改和置空值修改方法處理參照關系。問題:假設有下面兩個關系模式: 職工(職工號,姓名,年齡,職務,工資,部門號),其中職工號為主碼; 部門(部門號,名稱,經理名,電話),其中部門號為主碼.用SQL語言定義這兩個關系模式.要求在模式中完成以下完整性約束條件的定義: 1)定義每個模式的主碼。 2)定義參照完整性。3)定義職工年齡不得超過60歲。 答: CREATE TABLE職工(職工號 CHAR(5)PRIMARY KEY, 姓名CHAR(8)NOT NULL, 年齡SMALLINT. 職務CHAR(10), 工資DECIMAL(7,2), 部門號CHAR(5)。 CONSTRAINT CI CHECK(年齡 <60). CONSTRAIN C2 FOREIGN KEY(部門號) REFEENCES部門(部門號)); CREAT TABLE部門(部門號CHAR(5)PRIMARY KEY. 名稱CHAR(l). 經理名 CHAR(8). 電話 CHAR(8). CONSTRAINT C3 FOREIGN KEY(經理名) REFERECES職工(姓名));問題:在資料庫中為什麼要並發控制?答; 資料庫的井發控制就是為了控制資料庫,防止多用戶並發使用資料庫時造成數據錯誤和程序運行錯誤,保證數據的完整性。問題:並發操作可能會產生哪幾類數據不一致?用什麼方法能避免這些不一致的情況?答. 井發操作可能會產生丟失修改、不可重復讀和讀「臟」數據的數據不一致問題。用封鎖的方法能避免這些不一致的情況。問題:什麼是封鎖?答. 封鎖是使事務對它要操作的數據有一定的控制能力。封鎖具有三個環節.第一個環節是申請加鎖.第二個環節是獲得鎖;第三個環節是釋放鎖。問題:基本的封鎖類型有幾種?試述它們的含義。 答. 基本的封鎖類型有兩種:排它鎖(簡稱X鎖)和共享鎖(簡稱S鎖)。 排它鎖也稱為獨占或寫鎖、一旦事務T對數據對象A加上排它鎖.則只允許T讀取和修改A.其他任何事務既不能讀取和修改A,也不能再對A加任何類型的鎖 直到T釋放A上的鎖為止。 共享鎖又稱讀鎖、如果事務T對數據對象A加上共享鎖,其他事務只能再對A加S鎖,不能加X鎖,知道事務T釋放A上的S鎖為止。問題:如何用封鎖機制保證數據的一致性?答: 封鎖機製作為井發控制的重要手段.利用封鎖的特性和封鎖協議,它在井發操作保證事務的隔離性.用正確的方式調度並發操作.是一個用戶事務的執行不受其他事務的干擾.從而避免造成數據的不一致性。問題:什麼是封鎖協議?不同級別的封鎖協議的主要區別是什麼? 答. 在對數據對象加鎖時,還需要約定一些規則 這些規則稱為封鎖協議。 一級封鎖協議:是事務T在修改數據之前必須先對其加X鎖.直到事務結束才釋放。一級封鎖協議可有效地防止丟失修改並能夠保證事務T的可恢復性、一級封鎖由於沒有對數據進行加鎖,所以不能保證可重復讀和不讀「贓」數據。 二級封鎖協議;是事務T對要修改的數據必須先加X鎖.直到事務結束才釋放X鎖;要讀取的數據必須先加S鎖.讀完後即可釋放S鎖。M級封鎖協議不但能夠防止丟失修改,還可進一步防止讀「臟」數據。 三級封鎖協議:是事務T在讀取數據之前必須先對其加S鎖.在要修改數據之前必須先對其加X鎖.直到事務結束後才釋放所有鎖、由於三級封鎖協議強調即使事務讀完數據A之後也不釋放S鎖 從而使得別的事務無法更改數據A、三級封鎖協議不但防止了丟失修改和不讀「臟」數據,而且防止了不可重復的隊問題:不同封鎖協議與系統一致性級別的關系是什麼?答: 一級封鎖協議可有效地防止丟失修改,並能夠保證事務T的可恢復性。一級封鎖由於沒有對數據進行加鎖,所以不能保證可重復讀和不讀「臟』數據。 二級封鎖協議不但能夠防止丟失修改.還可進一步防u讀「臟」數據。 由於三級封鎖協議強調即使事務讀完數據A之後也不釋放S鎖,從而使別的事務無法更改數據A。三級封鎖協議不但防止了丟失修改和不讀「勝數據.而且防u了不可重復讀。問題:什麼是活鎖?什麼是死鎖?答; 在多個事務請求對同一數據封鎖時,總是使某一用戶等待的情況稱為活鎖;多事務交錯等待的僵持局面稱為死鎖。問題:試述活鎖的產生原因和解決方法。答; 活鎖是封鎖的無序造成的、解決方法是採用先來先服務的方法,即對要求封鎖數據的事務排隊.使前面的事務先獲得數據的封鎖權。問題:請給出預防死鎖的若干方法。 答: 預防死鎖通常有以下兩種方法; ①一次封鎖法.就是要求每個事務必須一次將所有要使用的數據全部加鎖.否則該事務不能繼續執行. ②順序封鎖法.是預先對數據對象規定一個封鎖順序.所有事務都按這個順序實行封鎖。問題:請給出檢測死鎖發生的一種方法,當發生死鎖後如何解除死鎖?答: 檢測死鎖發生的一種方法是選擇一個處理死鎖代價最小的事務,將其撤銷,釋放此事務持有的所有鎖.使其他事務得以繼續運行下去。 解除死鎖問題有兩類方法:一類方法是採用一定措施來預防死鎖的發生.另一類方法是允許發生死鎖.然後採用一定手段定期診斷系統中有無死鎖.若有則解除之。問題:什麼樣的並發調度是正確的調度?答. 如果一個事務運行過程中沒有其他事務同時運行,即沒有受到其他事務的干擾,那麼就可以認為該事務的運行結果是正常的,可串列性是井發事務正確性的准則 為了保證並發操作的正確性.DBMS的並發控制機制必須提供一定的手段來保證調度是可串列化的。問題:試述兩段鎖協議的概念。 答: 所謂兩段鎖協議是指所有事務必須分兩個階段對數據項進行加鎖和解鎖. ①在對任何數據進行讀、寫操作之前.首先要申請並獲得對該數據的封鎖. ②在釋放一個封鎖之後,事務不再申請並獲得對該數據的封鎖。 即每個事務分成兩個階段,第一階段是申請和獲得封鎖,也稱為擴展階段。在這階段.事務可以申請獲得任何數據項上的任何類型的鎖,但是不能釋放任何鎖。第二階段是釋放到鎖.也稱為收縮階段。在這階段,事務可以釋放任何數據項上的任何類型的鎖。但是不能再申請任何鎖。問題:為什麼要引進意向鎖?意向鎖的含義是什麼?答: 事務 T要對關系 RI加 X鎖時,系統只需檢查根結點資料庫和關系 RI是否已加了不相容的鎖.而不再需要搜索和檢查RI中的每一個元組是否加了X鎖.對任一元組加鎖.必須先對它所在的關系加意向鎖。 意向鎖的含義是.如果對一個結點加意向鎖。則說明該給點的下層結點正在被加銷:對任何一結加鎖時.必須先對它的上層結點加意向鎖。問題:理解並解釋下列術語的含義:封鎖、活鎖、死鎖、排它鎖、共享鎖、並發事務的調度、可串列化的調度、兩段鎖協議。答: ①封鎖.封鎖是使事務對它要操作的數據有一定的控制能力。 ③活鎖:這種在多個事務請求對同一數據封鎖時.總是使某一用戶等待的情況稱為活鎖。 ③死鎖.這種多事務交錯等待的僵持局面稱為死鎖。 ④排它鎖.排名鎖也稱為獨占或寫鎖、一旦事務T對數據對象A加上排它鎖,則只允許T讀取和修改A.其他任何事務既不能讀取和修改A.也不能再對A加任何類型的鎖.直到T釋放A上的鎖為止。 ⑤共享鎖:共享鎖又稱讀鎖、如果事務T對數據對象A加上共享鎖.其他事務只能再對A加S鎖.不能加X鎖.知道事務T釋放A上的S鎖為上。 ③井發事務的調度.多個事務並發執行調度策略稱為並發事務的調度。 ①可串列化的調度:如果多個事務並發執行的結果與按串列執行的結果相同 這種調度策略稱為可串列化的調度。③兩段鎖協議.所謂兩段鎖協議是指所有事務必須分兩個階段對數據項進行加鎖和解鎖。 問題:什麼是資料庫的安全性?答.資料庫的安全性是指保護資料庫.以防止不合法的使用數據泄密、更改或破壞。 問題:資料庫安全性和計算機系統的安全性有什麼關系? 答: 資料庫安全性是計算機系統的安全性的一個部分.資料庫系統不僅要利用計算機系統的安全性保證自己系統的安全性.同時還會提供專門的手段和方法,使安全性能更好。例如在用戶要求進入計算機系統時.系統首先根據用戶輸入的用戶標識進行身份鑒定,只有合法的用戶才准許進入計算機系統:對已進入的用戶 ***S還要進行存取控制,只允許用戶執行合法操作:操作系統也會提供相應的保護措施;數據最後還可以以密碼形式存儲到資料庫中。 問題:試述實現資料庫安全性控制的常用方法和技術。答. ①用戶標識與鑒別:②存取控制:③自主存取控制方法.④強制存取控制方法:⑤視圖機制;③審計.o數據加密。 問題:SQL 語言中提供了哪些數據控制(自主存取控制)的語句?請試舉幾例說明它們的使用方法。答. ①GRANT(授權)語句 例:GRANT SELECTINSRRT ON學生 TO張勇 WITH GRANT OPTION; ②REVOKE(收回)語句 例:REVOKE INSERT ON學生 FROM張勇; 問題:今有兩個關系模式: 職工(職工號,姓名,年齡,職務,工資,部門號); 部門(部門號,名稱,經理名,地址,電話)。 請田SQL 的GRANT和REVOKE語句(加上視圖機制),完成以下授權定義或存取控制功能。 1)用戶王明對兩個表有SELECT權力。 2)用戶李勇對兩個表有INSERT和DELETE權力。 3)用戶劉星對職工表有SELECT權利,對工資欄位具有更新權力。 4)用戶張新具有修改這兩個表的結構的權力。 5)用戶周平具有對兩個表的所有權力(讀、插、改、刪數據),並具有給其他用戶授權的權利。
3. 資料庫的完整性是指
資料庫埋基的完整性是指資料庫中數據在邏輯上的一致性、正確性、有效性和相容性。它是衡量資料庫數據質鉛檔量的好壞的一種標志,是確保資料庫中數據的一致性、正確性以及符合企業規則的一種思想。它使無序的數據變得條理化,是確保正確的數據被存放在正確的位置的一種手段。因此可以說資料庫的完整性設計就是資料庫完整性約束的設計。
4. 資料庫設計的基本步驟
資料庫設計的基本步驟
1、需求分析階段
進行資料庫設計首先必須准確了解與分析用戶需求(包括數據與處理)。需求分析是整個設計過程的基礎,是最困難和最耗費時間的一步。作為「地基」的需求分析是否做得充分與准確,決定了在其上構建資料庫「大廈」的速度與質量。需求分析做的不好,可能會導致整個資料庫設計返工重做。
2、概念結構設計階段
概念結構設計階段是整個資料庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體資料庫管理系統的概念模型。
3、邏輯結構設計階段
邏輯結構設計是將概念結構轉換為某個資料庫管理系統所支持的數據模型,並對其進行優化。
4、物理設計階段
物理結構設計師為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方式)。
5、資料庫實施階段
在資料庫實施階段,設計人員運用資料庫管理系統提供資料庫語言及其宿主語言,根據邏輯設計和物理設計的結果建立資料庫,編寫與調試應用程序,組織數據入庫,並進行測試運行。
6、資料庫運行和維護階段
資料庫應用系統經過試運行後即可投入正式運行,在資料庫系統運行過程中必須不斷對其進行評估、調整與修改。
資料庫設計的基本原則
1、一致性原則:對數據來源進行統一、系統的分析與設計,協調好各種數據源,保證數據的一致性和有效性。
2、完整性原則:資料庫的完整性是指數據的正確性和相容性。要防止合法用戶使用資料庫時向資料庫加入不合語義的數據。對輸入到資料庫中的數據要有審核和約束機制。
3、安全性原則:資料庫的安全性是指保護數據,防止非法用戶使用資料庫或合法用戶非法使用資料庫造成數據泄露、更改或破壞。要有認證和授權機制。
4、可伸縮性與可擴展性原則:資料庫結構的設計應充分考慮發展的需要、移植的需要,具有良好的擴展性、伸縮性和適度冗餘。
5、規范化原則:資料庫的設計應遵循規范化理論。規范化的資料庫設計,可以減少資料庫插入、刪除、修改等操作時的異常和錯誤,降低數據冗餘度等。
5. 資料庫中 什麼是數據完整性
資料庫中的數據是從外界輸入的,而數據的輸入由於種種原因,會發生輸入無效或錯誤信息。保證輸入的數據符合規定,成為了資料庫系統,尤其是多用戶的關系資料庫系統首要關注的問題。數據完整性因此而提出。本章將講述數據完整性的概念及其在SQL Server 中的實現方法。
數據完整性(Data Integrity)是指數據的精確性(Accuracy) 和可靠性(Reliability)。它是應防止資料庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。
資料庫採用多種方法來保證數據完整性,包括外鍵、約束、規則和觸發器。系統很好地處理了這四者的關系,並針對不同的具體情況用不同的方法進行,相互交叉使用,相補缺點。
(5)資料庫的是指數據的正確性和相容性擴展閱讀:
數據完整性分為以下3類:
1、域完整性:
是指一個列的輸入有效性,是否允許為空值。強制域完整性的方法有:限制類型(通過設定列的數據類型)、格式(通過CHECK約束和規則)或可能值的范圍(通過FOREIGN KEY約束、CHECK約束、DEFAULT定義、NOT NULL定義和規則)。
2、實體完整性:
是指保證表中所有的行唯一。實體完整性要求表中的所有行都有一個唯一標識符。這個唯一標識符可能是一列,也可能是幾列的組合,稱為主鍵。
3、參照完整性:
是指保證主關鍵字(被引用表)和外部關鍵字(引用表)之間的參照關系。它涉及兩個或兩個以上表數據的一致性維護。外鍵值將引用表中包含此外鍵的記錄和被引用表中主鍵與外鍵相匹配的記錄關聯起來。
6. 資料庫系統的安全性和完整性有什麼區別和聯系
一、不同點
1、內容不同
資料庫完整性是指數據的正確性和相容性。
資料庫安全性是指保護資料庫,以防止不合法的使用造成的數據泄密、更改或破壞。
2、對象不同
資料庫安全性的防範對象是非法的操作和未授權的用戶。
資料庫完整性的防範對象是不符合語義的數據。
二、相同點是兩者都是對資料庫中的數據進行控制,各自所實現的功能目標不同。
(6)資料庫的是指數據的正確性和相容性擴展閱讀
資料庫系統安全主要利用在系統級控制資料庫的存取和使用的機制,包含:
(1) 系統的安全設置及管理,包括法律法規、政策制度、實體安全等;
(2) 資料庫的訪問控制和許可權管理;
(3) 用戶的資源限制,包括訪問、使用、存取、維護與管理等;
(4) 系統運行安全及用戶可執行的系統操作;
(5) 資料庫審計有效性;
(6) 用戶對象可用的磁碟空間及數量。
7. 什麼是數據一致性和完整性,如何保證
數據一致性通常指關聯數據之間的邏輯關系是否正確和完整。而數據存儲的一致性模型則可以認為是存儲系統和數據使用者之間的一種約定。如果使用者遵循這種約定,則可以得到系統所承諾的訪問結果常用的一致性模型有: a、嚴格一致性(linearizability, strict/atomic Consistency):讀出的數據始終為最近寫入的數據。這種一致性只有全局時鍾存在時才有可能,在分布式網路環境不可能實現。 b、順序一致性(sequential consistency):所有使用者以同樣的順序看到對同一數據的操作,但是該順序不一定是實時的。 c、因果一致性(嫌沖causal consistency):只有存在因果關系的寫操作才要求所有使用者以相同的次序看到,對於無因果關系的寫入則並行進行,無次序保證。因果一致性可以看做對順序一致性性能的一種優化,但在實現時必須建立與維護因果依賴圖,是相當困難的。 d、管道一致性(PRAM/FIFO consistency):在因果一致性模型上的進一步弱化,要求由某一個使用者完成的寫操作可以被其他所有的使用者按照順序的感知到,而從不同使用者中來的寫操作則無需保證順序,就像一個一個的管道一樣。 相對來說比較容易實現。 e、弱一致性(weak consistency):只要求對共享數據結構的訪問保證順序一致性。對於同步變數的操作具有順序一致性,是全局可見的,且只有當沒有寫操作等待處理時才可進行,以保證對於臨界區域的訪問順序進行。在同步時點,所有使用者可以看到相同的數據。 f、 釋放一致性(release consistency):弱一致性無法區分使用者是要進入臨界區還是要出臨界區, 釋放一致性使用兩個不同的操作語句進行了區分。需要寫入時使用者acquire該對象,寫完後release,acquire-release之間形成了一個臨界區,提供 釋放一致性也就意味著當release操作發生後,所有使用者應該可以看到該操作。 g、最終一致性(eventual consistency):當沒有新更新的情況下,更新最終會通過網路傳播到所有副本點,所有副本點最終會一致,也就是說使用者在最終某個時間點前的中間過程中無法保證看到的是新寫入的數據。可以採用最終一致性模型有一個關鍵要求:讀出陳舊數據是可以接受的。 h、delta consistency:系統會在delta時間內達到一致。這段時間內會存在一個不一致的窗口,該窗口可能是因為log shipping的過程導致。這是書上的原話。。我也搞不很清楚。。資料庫完整性(Database Integrity)是指資料庫中數據的正確性和相容性。資料庫完整性由各種各樣的完整性約束來保證,因此可以說數談銀據庫完整性設計就是數據含者宴庫完整性約束的設計。包括實體完整性。域完整性。參照完整性。用戶定義完整性。可以主鍵。check約束。外鍵來一一實現。這個使用較多。
8. 資料庫的完整性包含哪些完整性約束
數據完整性約束指的是為了防止不符合規范的數據進入資料庫,在用戶對數據進行插入、修改、刪除等操作時,DBMS自動按照一定的約束條件對數據進行監測,使不符合規范的數據不能進入資料庫,以確保資料庫中存儲的數據正確、有效、相容。
資料庫的完整性約束包含以下類型:
1) 與表有關的約束:是表中定義的一種約束。可在列定義時定義該約束,此時稱為列約束,也可以在表定義時定義約束,此時稱為表約束。
2) 域(Domain)約束:在域定義中被定義的一種約束,它與在特定域中定義的任何列都有關系。
3) 斷言(Assertion):在斷言定義時定義的一種約束,它可以與一個或多個表進行關聯。
(8)資料庫的是指數據的正確性和相容性擴展閱讀:
數據的完整性
分為以下四類:
1) 實體完整性:規定表的每一行在表中是惟一的實體。
2) 域完整性:是指表中的列必須滿足某種特定的數據類型約束,其中約束又包括取值范圍、精度等規定。
3) 參照完整性:是指兩個表的主關鍵字和外關鍵字的數據應一致,保證了表之間的數據的一致性,防止了數據丟失或無意義的數據在資料庫中擴散。
4) 用戶定義的完整性:不同的關系資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個特定關系資料庫的約束條件,它反映某一具體應用必須滿足的語義要求。
9. 資料庫設計原則
本系統中資料庫的設計,要考慮和遵循下列資料庫設計的基本原則,以建立穩定、安全、可靠的資料庫。
1)一致性原則:對數據來源進行統一、系統的分析與設計,協調好各種數據源,保證數據的一致性和有效性。
2)完整性原則:資料庫的完整性是指數據的正確性和相容性。要防止合法用戶使用資料庫時向資料庫加入不合語義的數據。對輸入到資料庫中的數據要有審核和約束機制。
3)安全性原則:資料庫的安全性是指保護數據,防止非法用戶使用資料庫或合法用戶非法使用資料庫造成數據泄露、更改或破壞。要有認證和授權機制。
4)可伸縮性與可擴展性原則:資料庫結構的設計應充分考慮發展的需要、移植的需要,具有良好的擴展性、伸縮性和適度冗餘。
5)規范化:資料庫的設計應遵循規范化理論。規范化的資料庫設計,可以減少資料庫插入、刪除、修改等操作時的異常和錯誤,降低數據冗餘度等。
10. 什麼是資料庫的關系完整性
存儲在資料庫中的所有數據值均正確的狀態。如果資料庫中存儲有不正確的數據值,則該數姿派據庫稱為已喪失數據完整性。數據完整性(Data
Integrity)是指數據的精確性(Accuracy)
和可靠性(Reliability)。它是應防止資料庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。數據完整性分為四類:實體完整性(Entity
Integrity)、域完整性(Domain
Integrity)、參照完整性(Referential
Integrity)、用戶定義的完整性(User-definedIntegrity)。
資料庫採用多種方法來保證數據完整性,包括外鍵、束約、規則和觸發器。系統很好地處理了這四者的關系,並針對不同的具體情況用不同的方法進行,相互交叉使用,相補缺點跡沒賀。
通俗的說就是比如員工表有部門欄位,那麼要麼這個部門欄位需要外鍵約束,來保證部門編號永遠是出自於部門表,如果沒有外鍵約束,那麼有程序員胡亂插入不存在於部門表的部門編號,那麼數據的准確性就被破壞了,同時也喪失了數據的察野完整性