日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

找工作筆試面試那些事兒(11)---數(shù)據(jù)庫(kù)知識(shí)總結(jié)(

系統(tǒng) 1992 0

?一、相關(guān)概念和知識(shí)點(diǎn)

? ? ? ?1. 數(shù)據(jù)依賴 :反映一個(gè)關(guān)系內(nèi)部屬性與屬性之間的約束關(guān)系,是現(xiàn)實(shí)世界屬性間相互聯(lián)系的抽象,屬于數(shù)據(jù)內(nèi)在的性質(zhì)和語(yǔ)義的體現(xiàn)。
? ? ? ? 2. 規(guī)范化理論 :是用來(lái)設(shè)計(jì)良好的關(guān)系模式的基本理論。它通過(guò)分解關(guān)系模式來(lái)消除其中不合適的數(shù)據(jù)依賴,以解決插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問(wèn)題。
? ? ? ? 3. 函數(shù)依賴 :簡(jiǎn)單地說(shuō),對(duì)于關(guān)系模式的兩個(gè)屬性子集X和Y,若X的任一取值能唯一確定Y的值,則稱Y函數(shù)依賴于X,記作X Y。
? ? ? ? 4. 非平凡函數(shù)依賴 :對(duì)于關(guān)系模式的兩個(gè)屬性子集X和Y,如果X→Y,但Y!?X,則稱X→Y為非平凡函數(shù)依賴;如果X→Y,但Y?X,則稱X→Y為非平凡函數(shù)依賴。
? ? ? ? 5. 完全函數(shù)依賴 :對(duì)于關(guān)系模式的兩個(gè)屬性子集X和Y,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X',都沒(méi)有X'→Y,則稱Y對(duì)X完全函數(shù)依賴。
? ? ? ? 6. 范式 :指符合某一種級(jí)別的關(guān)系模式的集合。在設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)時(shí),根據(jù)滿足依賴關(guān)系要求的不同定義為不同的范式。
? ? ? ? 7. 規(guī)范化 :指將一個(gè)低一級(jí)范式的關(guān)系模式,通過(guò)模式分解轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合的過(guò)程。
? ? ? ? 8. 1NF :若關(guān)系模式的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則該關(guān)系模式屬于1NF。
? ? ? ? 9. 2NF :1NF關(guān)系模式如果同時(shí)滿足每一個(gè)非主屬性完全函數(shù)依賴于碼,則該關(guān)系模式屬于2NF。
? ? ? ? 10. 3NF :若關(guān)系模式的每一個(gè)非主屬性既不部分依賴于碼也不傳遞依賴于碼,則該關(guān)系模式屬于3NF。
? ? ? ? 11. BCNF :若一個(gè)關(guān)系模式的每一個(gè)決定因素都包含碼,則該關(guān)系模式屬于BCNF。
? ? ? ? 12. 數(shù)據(jù)庫(kù)設(shè)計(jì) :是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造優(yōu)化的數(shù)據(jù)庫(kù)邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。
? ? ? ? 13. 數(shù)據(jù)庫(kù)設(shè)計(jì)的6個(gè)基本步驟: 需求分析,概念結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì),物理結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)庫(kù)實(shí)施,數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)
? ? ? ? 14. 概念結(jié)構(gòu)設(shè)計(jì) :指將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過(guò)程。也就是通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。
? ? ? ? 15. 邏輯結(jié)構(gòu)設(shè)計(jì) :將概念結(jié)構(gòu)模型(基本E-R圖)轉(zhuǎn)換為某個(gè)DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu),并對(duì)其進(jìn)行優(yōu)化。
? ? ? ? 16. 物理結(jié)構(gòu)設(shè)計(jì) :指為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過(guò)程。包括設(shè)計(jì)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)與存取方法。
? ? ? ? 17. 抽象 :指對(duì)實(shí)際的人、物、事和概念進(jìn)行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。

? ? ? ?18.?數(shù)據(jù)庫(kù)設(shè)計(jì)必須遵循 結(jié)構(gòu)設(shè)計(jì)和行為設(shè)計(jì) 相結(jié)合的原則。

? ? ? ?19.?數(shù)據(jù)字典主要包括 數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過(guò)程 五個(gè)部分。
? ? ? ?20. 三種常用抽象方法是 分類、聚集和概括
? ? ? ?21. 局部 E-R 圖之間的沖突主要表現(xiàn)在 屬性沖突、命名沖突和結(jié)構(gòu)沖突 三個(gè)方面。

? ? ? ?22. 數(shù)據(jù)庫(kù)常用的存取方法包括 索引方法、聚簇方法和 HASH 方法三種。
? ? ? ?23. 確定數(shù)據(jù)存放位置和存儲(chǔ)結(jié)構(gòu)需要考慮的因素主要有: 存取時(shí)間、 存儲(chǔ)空間利用率和維護(hù)代價(jià) 等。

二、細(xì)說(shuō)數(shù)據(jù)庫(kù)三范式

?

2.1?第一范式(1NF)無(wú)重復(fù)的列

? ? ? ?第一范式(1NF)中 數(shù)據(jù)庫(kù)表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng)
? ? ? ?同一列中不能有多個(gè)值
? ? ? ?即實(shí)體中的某個(gè)屬性不能有多個(gè)值或者不能有重復(fù)的屬性。
? ? ? ?簡(jiǎn)而言之,第一范式就是無(wú)重復(fù)的列。

?

? ? ? ?在任何一個(gè)關(guān)系數(shù)據(jù)庫(kù)中,第一范式(1NF)是對(duì)關(guān)系模式的基本要求,不滿足第一范式(1NF)的數(shù)據(jù)庫(kù)就不是關(guān)系數(shù)據(jù)庫(kù)。

?

2.2?第二范式(2NF)屬性完全依賴于主鍵[消除部分子函數(shù)依賴]

? ? ? 滿足第二范式(2NF)必須先滿足第一范式(1NF)。

? ? ? 第二范式(2NF)要求數(shù)據(jù)庫(kù)表中的每個(gè)實(shí)例或行必須可以被惟一地區(qū)分。

? ? ? 為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列,以存儲(chǔ)各個(gè)實(shí)例的惟一標(biāo)識(shí)。?
? ? ? 第二范式(2NF)要求實(shí)體的屬性完全依賴于主關(guān)鍵字。所謂完全依賴是指不能存在僅依賴主關(guān)鍵字一部分的屬性,如果存在,那么這個(gè)屬性和主關(guān)鍵字的這一部分應(yīng)該分離出來(lái)形成一個(gè)新的實(shí)體,新實(shí)體與原實(shí)體之間是一對(duì)多的關(guān)系。為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列,以存儲(chǔ)各個(gè)實(shí)例的惟一標(biāo)識(shí)。簡(jiǎn)而言之,第二范式就是屬性完全依賴于主鍵。
2.3?第三范式(3NF)屬性不依賴于其它非主屬性[消除傳遞依賴]

? ? ? 滿足第三范式(3NF)必須先滿足第二范式(2NF)。

? ? ? 簡(jiǎn)而言之,第三范式(3NF)要求一個(gè)數(shù)據(jù)庫(kù)表中不包含已在其它表中已包含的非主關(guān)鍵字信息。

? ? ? 例如,存在一個(gè)部門信息表,其中每個(gè)部門有部門編號(hào)(dept_id)、部門名稱、部門簡(jiǎn)介等信息。那么在的員工信息表中列出部門編號(hào)后就不能再將部門名稱、部門簡(jiǎn)介等與部門有關(guān)的信息再加入員工信息表中。如果不存在部門信息表,則根據(jù)第三范式(3NF)也應(yīng)該構(gòu)建它,否則就會(huì)有大量的數(shù)據(jù)冗余。簡(jiǎn)而言之,第三范式就是屬性不依賴于其它非主屬性。

2.4 具體實(shí)例剖析

?

? ? ? 下面列舉一個(gè)學(xué)校的學(xué)生系統(tǒng)的實(shí)例,以示幾個(gè)范式的應(yīng)用。

? ? ? ?在設(shè)計(jì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)之前,我們先確定一下要設(shè)計(jì)的內(nèi)容包括那些。學(xué)號(hào)、學(xué)生姓名、年齡、性別、課程、課程學(xué)分、系別、學(xué)科成績(jī),系辦地址、系辦電話等信息。為了簡(jiǎn)單我們暫時(shí)只考慮這些字段信息。我們對(duì)于這些信息,說(shuō)關(guān)心的問(wèn)題有如下幾個(gè)方面。

? ? ? ?1)學(xué)生有那些基本信息?
? ? ? ?2)學(xué)生選了那些課,成績(jī)是什么?
? ? ? ?3)每個(gè)課的學(xué)分是多少?
? ? ? ?4)學(xué)生屬于那個(gè)系,系的基本信息是什么。

? ? ? ? 首先第一范式(1NF) :數(shù)據(jù)庫(kù)表中的字段都是單一屬性的,不可再分。這個(gè)單一屬性由基本類型構(gòu)成,包括整型、實(shí)數(shù)、字符型、邏輯型、日期型等。在當(dāng)前的任何關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)中, 不允許你把數(shù)據(jù)庫(kù)表的一列再分成二列或多列,因此做出的都是 符合第一范式的數(shù)據(jù)庫(kù)。?

?

? ? ? ? 我們?cè)倏紤]第二范式 ,把所有這些信息放到一個(gè)表中(學(xué)號(hào),學(xué)生姓名、年齡、性別、課程、課程學(xué)分、系別、學(xué)科成績(jī),系辦地址、系辦電話)下面存在如下的依賴關(guān)系。?
? ? ? ?1)(學(xué)號(hào))→?(姓名,?年齡,性別,系別,系辦地址、系辦電話)?
? ? ? ?2) (課程名稱)?→?(學(xué)分)?
? ? ? ?3)(學(xué)號(hào),課程)→?(學(xué)科成績(jī))

根據(jù)依賴關(guān)系我們可以把選課關(guān)系表SelectCourse改為如下三個(gè)表:?

? ? ? ?學(xué)生:Student(學(xué)號(hào),姓名,?年齡,性別,系別,系辦地址、系辦電話);?
? ? ? ?課程:Course(課程名稱,?學(xué)分);?
? ? ? ?選課關(guān)系:SelectCourse(學(xué)號(hào),?課程名稱,?成績(jī))。

?

? ? ? ?事實(shí)上,對(duì)照第二范式的要求,這就是滿足第二范式的數(shù)據(jù)庫(kù)表,若不滿足第二范式,會(huì)產(chǎn)生如下問(wèn)題?
數(shù)據(jù)冗余 :?同一門課程由n個(gè)學(xué)生選修,"學(xué)分"就重復(fù)n-1次;同一個(gè)學(xué)生選修了m門課程,姓名和年齡就重復(fù)了m-1次。

更新異常 :?1)若調(diào)整了某門課程的學(xué)分,數(shù)據(jù)表中所有行的"學(xué)分"值都要更新,否則會(huì)出現(xiàn)同一門課程學(xué)分不同的情況。?
? ? ? ? ? ? ? ? ?2)假設(shè)要開設(shè)一門新的課程,暫時(shí)還沒(méi)有人選修。這樣,由于還沒(méi)有"學(xué)號(hào)"關(guān)鍵字,課程名稱和學(xué)分也無(wú)法記錄入數(shù)據(jù)庫(kù)。

刪除異常 ?:?假設(shè)一批學(xué)生已經(jīng)完成課程的選修,這些選修記錄就應(yīng)該從數(shù)據(jù)庫(kù)表中刪除。但是,與此同時(shí),課程名稱和學(xué)分信息也被刪除了。很顯然,這也會(huì)導(dǎo)致插入異常。

? ? ? ? 我們?cè)倏紤]如何將其改成滿足第三范式的數(shù)據(jù)庫(kù)表 ,接著看上面的學(xué)生表Student(學(xué)號(hào),姓名,?年齡,性別,系別,系辦地址、系辦電話),關(guān)鍵字為單一關(guān)鍵字"學(xué)號(hào)",因?yàn)榇嬖谌缦聸Q定關(guān)系:

? ? ? (學(xué)號(hào))→?(姓名,?年齡,性別,系別,系辦地址、系辦電話)?
但是還存在下面的決定關(guān)系?
? ? ? ?(學(xué)號(hào))?→?(所在學(xué)院)→(學(xué)院地點(diǎn),?學(xué)院電話)?
? ? ? ? 即存在非關(guān)鍵字段"學(xué)院地點(diǎn)"、"學(xué)院電話"對(duì)關(guān)鍵字段"學(xué)號(hào)"的傳遞函數(shù)依賴。?
? ? ? ?它也會(huì)存在數(shù)據(jù)冗余、更新異常、插入異常和刪除異常的情況(這里就不具體分析了,參照第二范式中的分析)。根據(jù)第三范式把學(xué)生關(guān)系表分為如下兩個(gè)表就可以滿足第三范式了:

? ? ? ?學(xué)生:(學(xué)號(hào),?姓名,?年齡,?性別,系別);?
? ? ? ?系別:(系別,?系辦地址、系辦電話)。





找工作筆試面試那些事兒(11)---數(shù)據(jù)庫(kù)知識(shí)總結(jié)(2)范式


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 吉林市| 通渭县| 肥城市| 三门峡市| 如皋市| 卓尼县| 西宁市| 大丰市| 承德市| 拉萨市| 什邡市| 拜泉县| 芮城县| 新蔡县| 石林| 哈尔滨市| 基隆市| 清流县| 镇康县| 德清县| 通山县| 于田县| 岫岩| 健康| 博乐市| 娱乐| 张掖市| 晋城| 秀山| 德钦县| 仙桃市| 万年县| 新安县| 海盐县| 伊宁县| 乐昌市| 通榆县| 稷山县| 鹤峰县| 搜索| 赤壁市|