參照完整性的定義 解釋什么是關(guān)系模式中的實體完整性、參照完整性?
解釋什么是關(guān)系模式中的實體完整性、參照完整性?實體完整性:實體完整性要求每個表中的主鍵字段不能為空或重復(fù)。實體完整性是指表中行的完整性。表中的所有行都需要有一個唯一的標(biāo)識符,稱為主鍵。是否可以修改主鍵
解釋什么是關(guān)系模式中的實體完整性、參照完整性?
實體完整性:實體完整性要求每個表中的主鍵字段不能為空或重復(fù)。
實體完整性是指表中行的完整性。表中的所有行都需要有一個唯一的標(biāo)識符,稱為主鍵。是否可以修改主鍵或是否可以刪除整個列取決于主鍵和其他表之間所需的完整性。實體完整性規(guī)則:基本關(guān)系所有主關(guān)鍵字對應(yīng)的主屬性不能為空。例如,在學(xué)生選課關(guān)系的選課(學(xué)號、課程號、年級)中,如果學(xué)號和課程號共同構(gòu)成主關(guān)鍵字,則學(xué)號和課程號兩個屬性不能為空。因為沒有學(xué)生號或課程號,所以沒有結(jié)果。參照完整性:在現(xiàn)實世界中,實體之間往往存在某種關(guān)系。在關(guān)系模型中,實體和實體之間的關(guān)系用關(guān)系來描述。這樣,關(guān)系之間自然就有了參照。一個引用完整性連接兩個表中相應(yīng)的元組。引用完整性規(guī)則:如果屬性(或?qū)傩越M)f是基本關(guān)系R的外部代碼,對應(yīng)于基本關(guān)系s的主代碼KS,那么f上R的每個元組的值必須是:或空(f中的每個屬性都是空的),或者等于s中元組的主代碼值。事實上,這個概念非常模糊。事實上,要簡單一點。例如,在選課關(guān)系中,學(xué)生號是學(xué)生表的主鍵,課程號是課程表的主鍵,學(xué)生號和課程號共同構(gòu)成選課表的主鍵。這些都是實體完整性約束。在選課表中,單個學(xué)生號是外鍵,它是指學(xué)生表中的學(xué)生號;單個班級號是外鍵,它是指課程表中的課程號。這些都是引用完整性約束。例如,課程編號的值僅為1,但如果在課程選擇表中采用的值不是1,則會出錯并違反引用完整性。
參照完整性的含義?
引用完整性規(guī)則:需要通過定義外部關(guān)鍵字和主關(guān)鍵字之間的引用規(guī)則來約束兩個關(guān)系之間的關(guān)系。此規(guī)則要求“不引用不存在的實體”。它的形式定義如下:如果屬性集K是關(guān)系模式R1的主鍵,K也是關(guān)系模式R2的外鍵,那么R2的關(guān)系中K的值只有兩種可能,要么為null,要么等于R1關(guān)系中的主鍵值。引用完整性,簡而言之,就是表之間主鍵和外鍵的關(guān)系。引用完整性是表間規(guī)則。當(dāng)更新、插入或刪除具有永久關(guān)系的相關(guān)表中的記錄時,如果只更改其中一個而不更改另一個,則會影響數(shù)據(jù)的完整性。例如,修改了父表中的鍵值后,子表中的鍵值沒有相應(yīng)的改變;刪除了父表中的一條記錄后,子表中相應(yīng)的記錄沒有被刪除,導(dǎo)致這些記錄被稱為孤立記錄;插入子表中的記錄,子表中的鍵值被稱為孤立記錄子表沒有相應(yīng)更改,父表中沒有具有相應(yīng)關(guān)鍵字值的記錄;以此類推。這些設(shè)計表之間的數(shù)據(jù)完整性稱為引用完整性。最重要的功能是防止數(shù)據(jù)不一致
引用完整性是兩個關(guān)聯(lián)表之間的約束。具體來說,從表中每條記錄的外鍵值必須存在于主表中。因此,如果在兩個表之間建立關(guān)聯(lián)關(guān)系,則一個關(guān)系的操作將影響另一個表中的記錄。例如,如果學(xué)生號用于在學(xué)生表和選修課之間建立關(guān)聯(lián),學(xué)生表是主表,選修課是從表,那么在從表中輸入新記錄時,系統(tǒng)應(yīng)檢查主表中是否已存在新記錄的學(xué)號。如果存在,則允許輸入操作,否則拒絕輸入,這是引用完整性。引用完整性還反映在主表的刪除和修改中。例如,刪除主表中的一條記錄時,表中外鍵值與主表中主鍵值相同的所有記錄將同時被刪除,這稱為級聯(lián)刪除;修改主表中主鍵值時,表中相應(yīng)記錄的外鍵值將被刪除也會被修改,這就是所謂的級聯(lián)刪除。
什么是參照完整性?
實體完整性實例:房屋建成后即可水電,室內(nèi)外裝修完成,新機器安裝調(diào)試后即可使用。
比如:房子年久失修,第一棟房子的東角已經(jīng)破損,墻壁有縫隙,第二棟房子的墻壁有縫隙,而且下水道容易堵塞,所以第二棟房子和第一棟房子相比比較完整。