數(shù)據(jù)庫的參照完整性 解釋什么是關(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中元組的主代碼值。事實上,這個概念非常模糊。事實上,要簡單一點(diǎn)。例如,在選課關(guān)系中,學(xué)生號是學(xué)生表的主鍵,課程號是課程表的主鍵,學(xué)生號和課程號共同構(gòu)成選課表的主鍵。這些都是實體完整性約束。在選課表中,單個學(xué)生號是外鍵,它是指學(xué)生表中的學(xué)生號;單個班級號是外鍵,它是指課程表中的課程號。這些都是引用完整性約束。例如,課程編號的值僅為1,但如果在課程選擇表中采用的值不是1,則會出錯并違反引用完整性。
舉例說明什么是實體完整性和參照完整性?
實體完整性實例:房屋建成后即可水電,室內(nèi)外裝修完成,新機(jī)器安裝調(diào)試后即可使用。
比如:房子年久失修,第一棟房子的東角已經(jīng)破損,墻壁有縫隙,第二棟房子的墻壁有縫隙,而且下水道容易堵塞,所以第二棟房子和第一棟房子相比比較完整。
確保數(shù)據(jù)庫的實體完整性與參照完整性有什么作用?
實體是指主鍵不能為空
引用是指不存在的實體不能被引用
不明白下面的問題
這個簡單的例子是學(xué)生表(學(xué)號、姓名、地址)選課表(課程名稱、選課學(xué)生)
實體。例如,student表中的主鍵是student number。則學(xué)號不能為空。這也與生活有關(guān)。你可以想象。你沒有學(xué)生號嗎?或者你沒有名字?因此,它不能為空。
參照完整性
如果使用學(xué)號在學(xué)生表和選修課之間建立關(guān)聯(lián),則學(xué)生表是主表,選修課是從表,然后在從表中輸入新記錄時,系統(tǒng)應(yīng)檢查新記錄的學(xué)號是否已存在于主表中。如果存在,則允許輸入操作,否則拒絕輸入,這是引用完整性