數(shù)據(jù)庫(kù)的參照完整性 解釋什么是關(guān)系模式中的實(shí)體完整性、參照完整性?
解釋什么是關(guān)系模式中的實(shí)體完整性、參照完整性?實(shí)體完整性:實(shí)體完整性要求每個(gè)表中的主鍵字段不能為空或重復(fù)。實(shí)體完整性是指表中行的完整性。表中的所有行都需要有一個(gè)唯一的標(biāo)識(shí)符,稱為主鍵。是否可以修改主鍵
解釋什么是關(guān)系模式中的實(shí)體完整性、參照完整性?
實(shí)體完整性:實(shí)體完整性要求每個(gè)表中的主鍵字段不能為空或重復(fù)。
實(shí)體完整性是指表中行的完整性。表中的所有行都需要有一個(gè)唯一的標(biāo)識(shí)符,稱為主鍵。是否可以修改主鍵或是否可以刪除整個(gè)列取決于主鍵和其他表之間所需的完整性。實(shí)體完整性規(guī)則:基本關(guān)系所有主關(guān)鍵字對(duì)應(yīng)的主屬性不能為空。例如,在學(xué)生選課關(guān)系的選課(學(xué)號(hào)、課程號(hào)、年級(jí))中,如果學(xué)號(hào)和課程號(hào)共同構(gòu)成主關(guān)鍵字,則學(xué)號(hào)和課程號(hào)兩個(gè)屬性不能為空。因?yàn)闆]有學(xué)生號(hào)或課程號(hào),所以沒有結(jié)果。參照完整性:在現(xiàn)實(shí)世界中,實(shí)體之間往往存在某種關(guān)系。在關(guān)系模型中,實(shí)體和實(shí)體之間的關(guān)系用關(guān)系來(lái)描述。這樣,關(guān)系之間自然就有了參照。一個(gè)引用完整性連接兩個(gè)表中相應(yīng)的元組。引用完整性規(guī)則:如果屬性(或?qū)傩越M)f是基本關(guān)系R的外部代碼,對(duì)應(yīng)于基本關(guān)系s的主代碼KS,那么f上R的每個(gè)元組的值必須是:或空(f中的每個(gè)屬性都是空的),或者等于s中元組的主代碼值。事實(shí)上,這個(gè)概念非常模糊。事實(shí)上,要簡(jiǎn)單一點(diǎn)。例如,在選課關(guān)系中,學(xué)生號(hào)是學(xué)生表的主鍵,課程號(hào)是課程表的主鍵,學(xué)生號(hào)和課程號(hào)共同構(gòu)成選課表的主鍵。這些都是實(shí)體完整性約束。在選課表中,單個(gè)學(xué)生號(hào)是外鍵,它是指學(xué)生表中的學(xué)生號(hào);單個(gè)班級(jí)號(hào)是外鍵,它是指課程表中的課程號(hào)。這些都是引用完整性約束。例如,課程編號(hào)的值僅為1,但如果在課程選擇表中采用的值不是1,則會(huì)出錯(cuò)并違反引用完整性。
舉例說(shuō)明什么是實(shí)體完整性和參照完整性?
實(shí)體完整性實(shí)例:房屋建成后即可水電,室內(nèi)外裝修完成,新機(jī)器安裝調(diào)試后即可使用。
比如:房子年久失修,第一棟房子的東角已經(jīng)破損,墻壁有縫隙,第二棟房子的墻壁有縫隙,而且下水道容易堵塞,所以第二棟房子和第一棟房子相比比較完整。
確保數(shù)據(jù)庫(kù)的實(shí)體完整性與參照完整性有什么作用?
實(shí)體是指主鍵不能為空
引用是指不存在的實(shí)體不能被引用
不明白下面的問題
這個(gè)簡(jiǎn)單的例子是學(xué)生表(學(xué)號(hào)、姓名、地址)選課表(課程名稱、選課學(xué)生)
實(shí)體。例如,student表中的主鍵是student number。則學(xué)號(hào)不能為空。這也與生活有關(guān)。你可以想象。你沒有學(xué)生號(hào)嗎?或者你沒有名字?因此,它不能為空。
參照完整性
如果使用學(xué)號(hào)在學(xué)生表和選修課之間建立關(guān)聯(lián),則學(xué)生表是主表,選修課是從表,然后在從表中輸入新記錄時(shí),系統(tǒng)應(yīng)檢查新記錄的學(xué)號(hào)是否已存在于主表中。如果存在,則允許輸入操作,否則拒絕輸入,這是引用完整性