精品欧美无遮挡一区二区三区在线观看,中文字幕一区二区日韩欧美,久久久久国色αv免费观看,亚洲熟女乱综合一区二区三区

        ? 首頁 ? 百科知識 ?理解關(guān)系模型的表

        理解關(guān)系模型的表

        時間:2023-06-20 百科知識 版權(quán)反饋
        【摘要】:2.2.2 理解關(guān)系模型的表假如某個企業(yè)需要用數(shù)據(jù)庫保存生產(chǎn)中所用到的零件的信息、提供零件的供應(yīng)商的信息,以及零件的庫存數(shù)量。方案一是將所有相關(guān)的信息放在一個“大表”中,如圖2-8所示。既然大表相比于小表有此查詢的優(yōu)勢,為什么在關(guān)系數(shù)據(jù)庫中還是采用的小表而不是大表呢?由于小表可以克服大表存在的“增、刪、改”異常的弊端,因此,關(guān)系數(shù)據(jù)模型的小表應(yīng)當(dāng)是圖2-9中“小表”的形式。

        2.2.2 理解關(guān)系模型的表

        假如某個企業(yè)需要用數(shù)據(jù)庫保存生產(chǎn)中所用到的零件的信息、提供零件的供應(yīng)商的信息,以及零件的庫存數(shù)量。為了實現(xiàn)這一目標(biāo),我們有兩種方案。方案一是將所有相關(guān)的信息放在一個“大表”中,如圖2-8所示。方案2則是采用三個小表,分別存儲供應(yīng)商、零件以及零件的庫存數(shù)量,如圖2-9所示。下面,我們來分析一下哪種方案好?

        圖2-7 關(guān)系模型的概念

        我們知道,數(shù)據(jù)庫的主要操作有查詢和增刪改,下面分別從這兩個角度來對上述兩種方案進(jìn)行比較。

        現(xiàn)在,管理人員想知道從北京機(jī)床廠購買了哪些零件,這是一個查詢。當(dāng)采用圖2-8的方案時,管理人員如果需要知道從北京機(jī)床廠購買了哪些零件,只需要輸入“生產(chǎn)廠家=機(jī)床配件廠,城市=北京”就馬上可以看到查詢結(jié)果??梢?,大表的查詢效率很高。

        圖2-8 使用“大表”存儲數(shù)據(jù)

        如圖2-9所示,假如采用了小表的方案的話,管理人員首先從“供應(yīng)商表”中找到了“北京機(jī)床廠”;然后,通過公共字段“代號”,在“零件供應(yīng)表”中找到了在“北京機(jī)床廠”所購買零件的編號;接下來,通過公共字段“編號”,管理人員在“零件表”中,找到了從“北京機(jī)床廠”所購買的零件信息,即規(guī)格為12的銅質(zhì)螺絲帽和規(guī)格為17的銅質(zhì)螺栓。由于管理人員需要的是完整的信息,因此,最后你還需要把這三個表中的數(shù)據(jù)組合起來,形成圖2-8中陰影部分的形式。

        圖2-9 關(guān)系數(shù)據(jù)庫中的“小表”

        可見,小表的方案同樣能夠滿足查詢的需求,但是查詢起來很麻煩、效率較低。既然大表相比于小表有此查詢的優(yōu)勢,為什么在關(guān)系數(shù)據(jù)庫中還是采用的小表而不是大表呢?我們還需要看看這兩種方案在增加、更新、刪除記錄方面效果如何。

        首先,大表中存在著大量的冗余數(shù)據(jù),例如廠家的基本信息、零件的基本信息都可能出現(xiàn)多次。其次,大表還存在著很多缺陷,主要表現(xiàn)在數(shù)據(jù)“增、刪、改”的異常上。

        插入異常。假如現(xiàn)在要添加一個新的零件的信息,由于在圖2-8這張大表中,關(guān)鍵字是“代號+編號”,根據(jù)關(guān)鍵字不能為空的原則,新的零件信息將由于缺乏進(jìn)貨廠家信息(代號)而不能成功地添加。這就是插入異常。

        刪除異常。假如零件P1以后不再從北京機(jī)床配件廠進(jìn)貨,因此需要刪掉二者的關(guān)聯(lián)關(guān)系。但是,在刪除該進(jìn)貨零件與供應(yīng)商的關(guān)聯(lián)關(guān)系的同時,也把零件的基本信息以及庫存數(shù)量刪除了。這就是刪除異常。

        更新異常。我們可以發(fā)現(xiàn),圖2-8中,同一生產(chǎn)廠家、同一零件的信息可能會出現(xiàn)多次,這就造成了冗余。冗余不但浪費存儲空間,更嚴(yán)重的是會造成數(shù)據(jù)的不一致。例如,由于誤操作,表中第三行的規(guī)格改成了19,這樣,同一零件就存在著兩種規(guī)格,將無法確定該零件的規(guī)格到底是多少。這就是更新異常。

        小表雖然查詢比較繁瑣,但是,對數(shù)據(jù)庫來講,準(zhǔn)確的存儲數(shù)據(jù)是第一要務(wù)。由于小表可以克服大表存在的“增、刪、改”異常的弊端,因此,關(guān)系數(shù)據(jù)模型的小表應(yīng)當(dāng)是圖2-9中“小表”的形式。

        進(jìn)一步觀察圖2-9中的三個表,可以發(fā)現(xiàn),供應(yīng)商表和零件表都是表示單一類型的實體,即這兩個表中的每一個字段分別對應(yīng)著實體的一個屬性。而零件供應(yīng)表則有些特殊,代號、編號分別是供應(yīng)商和零件這兩類實體的一個屬性。也就是說,這個表將供應(yīng)商和零件這兩類實體聯(lián)系起來。

        這樣,我們就得到了2.2.1結(jié)束時提出的問題的答案:在關(guān)系模型中,實體之間的聯(lián)系也是通過表來實現(xiàn)的。在2.5節(jié),你將進(jìn)一步了解到,不同種類聯(lián)系的實現(xiàn)方法是有所差別的。m∶n的聯(lián)系通過表示為一個單獨的二維表,就如同圖2-9一樣,而對于其他兩種類型的聯(lián)系,則只是把聯(lián)系體現(xiàn)在實體所對應(yīng)的表中即可。

        免責(zé)聲明:以上內(nèi)容源自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。

        我要反饋