據(jù)庫系統(tǒng)概論考點(diǎn)全解:函數(shù)依賴、候選碼與范式分解實(shí)戰(zhàn)指南)
簡介數(shù)據(jù)庫系統(tǒng)概論期末考試試題完整版面向計(jì)算機(jī)相關(guān)專業(yè)學(xué)生和數(shù)據(jù)庫備考者用于檢驗(yàn)數(shù)據(jù)庫基礎(chǔ)、關(guān)系模型、SQL語言、事務(wù)處理與并發(fā)控制等核心知識(shí)的掌握情況。壓縮包內(nèi)含一個(gè)Word文檔整體大小僅為170KB下載后可直接打印或在線查看。目前已有3502人學(xué)習(xí)使用是期末復(fù)習(xí)與自測的熱門資料。試題涵蓋選擇題、填空題、判斷題、簡答題和應(yīng)用題等常見題型知識(shí)點(diǎn)涉及物理數(shù)據(jù)獨(dú)立性、數(shù)據(jù)庫系統(tǒng)特點(diǎn)、關(guān)系代數(shù)運(yùn)算、數(shù)據(jù)庫設(shè)計(jì)步驟、數(shù)據(jù)庫管理系統(tǒng)的功能、數(shù)據(jù)安全性、事務(wù)的原子性、一致性、隔離性與持久性、封鎖機(jī)制以及數(shù)據(jù)庫恢復(fù)方法等部分題目附有解析或參考答案方便讀者對照查漏補(bǔ)缺。無論用于考前沖刺、日常練習(xí)還是教師組卷參考都具有較高的實(shí)用價(jià)值。1. 數(shù)據(jù)庫系統(tǒng)概論期末考什么從一道反直覺的判斷題說起這套「完整word版」期末試題在互聯(lián)網(wǎng)上流傳很廣但多數(shù)人拿它當(dāng)題庫刷沒看懂命題套路。開篇先看一道幾乎人人都錯(cuò)的判斷題「如果屬性X在函數(shù)依賴的左右都不出現(xiàn)則候選碼中必不包含X」結(jié)論是錯(cuò)誤——X反而必須包含在候選碼里。第一直覺就把你帶溝里這正是期末卷的風(fēng)格選擇填空考概念辨析簡答考定義準(zhǔn)確度應(yīng)用和綜合題集中考閉包計(jì)算、候選碼、范式分解、ER圖轉(zhuǎn)關(guān)系模型和SQL。分值分布很穩(wěn)定選擇填空占30到40分判斷簡答15分左右剩下45分全壓在大題上。誰適合背這份題期末考前突擊、專升本專業(yè)課、考研復(fù)試機(jī)上問答照這份真題摸清規(guī)律都能拿到保底分。2. 關(guān)系代數(shù)與SQL三大高頻題型與答題模板2.1 投影選擇連接關(guān)系代數(shù)表達(dá)式的書寫順序關(guān)系代數(shù)的專門運(yùn)算幾乎每年必考。原題選擇題直接問取出滿足條件的屬性是投影選出滿足條件的元組是選擇按共同屬性值連接兩個(gè)關(guān)系是連接。概念分清只是入門大題真正考的是組合寫法。真題讓檢索「選修了程軍老師所授課程之一的學(xué)生姓名」標(biāo)準(zhǔn)答案長這樣∏SNAME(S ? SC ? σTEACHER程軍(C))答題順序有講究先寫選擇把條件落在具體關(guān)系上再寫自然連接把三張表串起來最后投影出目標(biāo)列。最容易翻車的寫法是先投影再連接把連接屬性S#、C#丟掉了后面根本串不上。還有一種等價(jià)寫法是先做笛卡爾積再選擇形式上對但閱卷通常默認(rèn)自然連接更標(biāo)準(zhǔn)。書寫時(shí)注意選擇和投影的希臘字母要寫對選擇是σ、投影是∏混淆了整個(gè)式子就廢了。2.2 嵌套子查詢與分組聚合SQL真題的固定套路SQL部分是送分題但每次都有大批人栽在子查詢和分組上。先看兩道原題都是最經(jīng)典的考法-- 檢索所有比“王華”年齡大的學(xué)生姓名、年齡和性別 SELECT SN, AGE, SEX FROM S WHERE AGE (SELECT AGE FROM S WHERE SN 王華); -- 檢索選修課程“C2”的學(xué)生中成績最高的學(xué)生的學(xué)號(hào) SELECT S# FROM SC WHERE C# C2 AND GRADE (SELECT MAX(GRADE) FROM SC WHERE C# C2);這種題的內(nèi)層子查詢先執(zhí)行外層再拿結(jié)果去比較。比年齡那題注意子查詢必須返回單值所以條件寫AGE (...)而不是AGE ANY(...)成績最高那題則是「先定課程再套MAX」兩個(gè)條件一個(gè)都不能少。再看兩道易錯(cuò)的分組題-- 檢索學(xué)生姓名、選修課程號(hào)和成績 SELECT SN, C#, GRADE FROM S, SC WHERE S.S# SC.S#; -- 檢索選修四門課程的學(xué)生總成績 SELECT S#, SUM(GRADE) FROM SC GROUP BY S# HAVING COUNT(C#) 4;第一道是多表連接題目給了別名就用別名沒有別名也要寫上表名前綴S.S#SC.S#就是連接條件。第二道是分組題GROUP BY之后過濾組要用HAVING COUNT(C#)4寫成WHERE COUNT(C#)4直接報(bào)錯(cuò)。記住SUM、COUNT這類聚合函數(shù)只能出現(xiàn)在SELECT或HAVING里WHERE行過濾發(fā)生在分組之前HAVING組過濾發(fā)生在分組之后。2.3 等值連接與自然連接簡答題的標(biāo)準(zhǔn)答法這是簡答題里的??驮}問「等值連接與自然連接的區(qū)別和聯(lián)系」。直接背這個(gè)框架就能拿滿第一自然連接一定是等值連接但等值連接不一定是自然連接第二等值連接要求相等的分量不一定是公共屬性自然連接要求相等的分量必須是公共屬性第三等值連接不除去重復(fù)屬性自然連接要除去重復(fù)屬性。答題時(shí)先給兩者的表達(dá)式寫法等值連接寫R?S加條件自然連接寫R?S然后按上述三點(diǎn)逐條展開。面試官最想聽的就是「自然連接是去掉重復(fù)屬性的等值連接」這一句核心后面全是在解釋它。2.4 元組關(guān)系演算不會(huì)也要能寫出框架元組關(guān)系演算是很多人的盲區(qū)其實(shí)套模板就能拿分。原題要求用元組關(guān)系演算檢索選修了程軍老師課程的學(xué)生姓名和學(xué)號(hào){T(1) | (?U)(?V)(?W)(S(U) ∧ SC(V) ∧ C(W) ∧ T[1]U[1] ∧ U[1]V[1] ∧ V[2]W[1] ∧ W[3]程軍)}框架分四段目標(biāo)屬性聲明T(1)存在量詞遍歷涉及的關(guān)系連接條件用屬性序號(hào)對齊最后是選擇條件。檢索學(xué)號(hào)時(shí)只需要SC和C兩個(gè)關(guān)系因?yàn)閷W(xué)號(hào)就在SC表里檢索姓名才必須多一個(gè)S關(guān)系把學(xué)號(hào)換成姓名。考場上一緊張容易漏量詞或漏連接條件我的習(xí)慣是先寫量詞清單再逐條寫等值條件最后補(bǔ)選擇條件順序不會(huì)亂。3. 閉包、候選碼與范式分解從計(jì)算到BCNF的完整鏈條3.1 屬性閉包迭代三步考場不丟分閉包計(jì)算是函數(shù)依賴部分的地基候碼判斷、范式分解全依賴它。原題給過一組典型的函數(shù)依賴集F{D→GC→ACD→EA→B}求D、(AC)和(ACD)。標(biāo)準(zhǔn)算法是迭代初始令X等于給定屬性集掃描F中每條函數(shù)依賴若左邊屬性已經(jīng)在當(dāng)前閉包里就把右邊屬性加進(jìn)去重復(fù)掃描直到閉包不再變化。用代碼表達(dá)更清楚def closure(attrs, fds): result set(attrs) changed True while changed: changed False for lhs, rhs in fds: if set(lhs).issubset(result) and not set(rhs).issubset(result): result | set(rhs) changed True return result # 原題驗(yàn)證 fds [(D,G), (C,A), (CD,E), (A,B)] print(closure(D, fds)) # DG print(closure(AC, fds)) # ABC print(closure(ACD, fds)) # ABCDEG關(guān)鍵在迭代順序算(ACD)時(shí)第一輪先由D→G得到ABCDG第二輪才輪到CD→E因?yàn)楝F(xiàn)在C、D、G都在閉包里CD作為左邊成立得到E最終ABCDEG。很多人在第一輪就急著找CD→E發(fā)現(xiàn)C在但D不在就跳過但閉包計(jì)算本來就是多輪過程一輪沒變化才停。寫完閉包最好反查一遍每個(gè)被加入的屬性都能找到對應(yīng)的函數(shù)依賴否則就是漏了。3.2 候選碼求解L/R/LR/N四類屬性判斷法候選碼大題是期末和面試的雙重高頻點(diǎn)。先把屬性分四類只在函數(shù)依賴左邊出現(xiàn)的叫L類只在右邊出現(xiàn)的叫R類左右都出現(xiàn)的叫LR類左右都不出現(xiàn)的叫N類。規(guī)則直接背L類和N類屬性必須進(jìn)入候選碼R類屬性必不進(jìn)候選碼LR類屬性需要逐一代入閉包驗(yàn)證。原題那道判斷題說的就是N類X在左右都不出現(xiàn)沒有任何依賴能函數(shù)決定它它只能靠自己所以候選碼必含X。真題求解U{A,B,C,D,E}F{A→BCCD→EB→DE→A}。分好類后逐個(gè)算閉包AABCDE成立EABCDE成立組合BC的計(jì)算(BC)先得BD再由CD→E得E由E→A得A再加A→BC閉包也是ABCDECD同理。最終候選碼是A、BC、CD、E四個(gè)。計(jì)算組合閉包時(shí)最容易漏的是鏈路BC→B→D→CD→E→A這條鏈一旦走通就全通了。驗(yàn)證LR類屬性時(shí)只要有一個(gè)組合閉包能覆蓋全集這個(gè)組合就是一個(gè)候選碼但要注意子集不能再是候選碼BC成立了單B和單C都不成立才合格。3.3 范式分解消滅部分依賴再消滅傳遞依賴范式題占綜合題半壁江山原題給了完整的日產(chǎn)量例子。關(guān)系R職工編號(hào)日期日產(chǎn)量車間編號(hào)車間主任規(guī)定每個(gè)職工每天只有一個(gè)日產(chǎn)量、每個(gè)職工只屬一個(gè)車間、每個(gè)車間只有一個(gè)主任。先寫函數(shù)依賴職工編號(hào)日期→ 日產(chǎn)量 職工編號(hào) → 車間編號(hào) 車間編號(hào) → 車間主任關(guān)鍵碼是職工編號(hào)日期。判斷范式從1NF開始逐級(jí)查這里非主屬性車間編號(hào)、車間主任對碼是部分依賴因?yàn)閱为?dú)職工編號(hào)就能決定它們所以R只是1NF不是2NF。分解成2NF要消除部分依賴拆成R1職工編號(hào)車間編號(hào)車間主任和R2職工編號(hào)日期日產(chǎn)量。注意R1里的主碼變成職工編號(hào)R2的主碼還是職工編號(hào)日期外鍵職工編號(hào)維系聯(lián)系。再進(jìn)3NF檢查R1職工編號(hào)→車間編號(hào)→車間主任存在傳遞依賴所以R1不是3NF繼續(xù)拆成R11職工編號(hào)車間編號(hào)和R12車間編號(hào)車間主任。到這里全部模式都是3NF而且決定因素都是候選碼也滿足BCNF。整個(gè)分解過程就是先拆部分依賴、再拆傳遞依賴每拆一步重寫一遍函數(shù)依賴集別在原關(guān)系上跳步。3.4 Armstrong公理證明合并規(guī)則的推導(dǎo)模板綜合題偶爾會(huì)直接考證明原題讓證明合并規(guī)則若X→Z且X→Y則X→YZ。Armstrong公理只用增廣律和傳遞律就能完成因?yàn)?X→Y對兩邊同時(shí)增廣X得 X→XY 因?yàn)?X→Z對兩邊同時(shí)增廣Y得 XY→YZ 由 X→XY 和 XY→YZ根據(jù)傳遞律得 X→YZ證明題的關(guān)鍵是寫清每一步用了哪條公理括號(hào)標(biāo)注是采分點(diǎn)。增廣的對象要選對第一步兩邊增廣X第二步兩邊增廣Y這樣才能讓XY作為中間橋梁。這類證明題型還有自合規(guī)則、分解規(guī)則本質(zhì)都是增廣和傳遞的組合。答題時(shí)先寫已知條件再寫每一步推導(dǎo)和依據(jù)最后落結(jié)論。4. ER圖轉(zhuǎn)關(guān)系模型主鍵外鍵一次數(shù)清4.1 實(shí)體轉(zhuǎn)模式七個(gè)實(shí)體對應(yīng)七個(gè)關(guān)系ER圖轉(zhuǎn)關(guān)系模型送分也容易丟分核心就三條規(guī)則實(shí)體各轉(zhuǎn)一個(gè)關(guān)系模式屬性照搬1:N聯(lián)系在N端實(shí)體轉(zhuǎn)出的模式里加外鍵M:N聯(lián)系單獨(dú)轉(zhuǎn)一個(gè)模式主鍵是兩端實(shí)體主鍵的組合。規(guī)則看著簡單考場上栽在細(xì)節(jié)一是聯(lián)系上的屬性不能丟要并入單獨(dú)轉(zhuǎn)出的聯(lián)系模式里二是外鍵標(biāo)在哪個(gè)表里要想明白。原題里有一個(gè)經(jīng)典的復(fù)雜案例七個(gè)實(shí)體加八個(gè)聯(lián)系轉(zhuǎn)換后正好十個(gè)關(guān)系模式。七個(gè)實(shí)體本身就轉(zhuǎn)出七個(gè)模式剩下三個(gè)來自M:N和M:N:P聯(lián)系。4.2 聯(lián)系轉(zhuǎn)模式1:N、M:N、M:N:P的三種處理把聯(lián)系分類是第一步。1:N聯(lián)系里「1」端的主鍵放進(jìn)「N」端模式中做外鍵比如「交通管理大隊(duì)管轄警察」警察模式里加外鍵大隊(duì)編號(hào)。M:N聯(lián)系單獨(dú)建表主鍵是兩端主鍵的組合比如「駕駛員與車輛的違章」「車輛與車主的被盜」。M:N:P三元聯(lián)系同樣單獨(dú)建表主鍵是三個(gè)實(shí)體主鍵的組合聯(lián)系自帶的屬性也放這張表里。原題里違章和事故就是兩個(gè)M:N:P聯(lián)系違章違章編號(hào)時(shí)間地點(diǎn)違章行為處理結(jié)果車輛牌號(hào)駕駛證號(hào)警號(hào)這里主鍵是違章編號(hào)三個(gè)外鍵分別是車輛、駕駛員、警察的主鍵。4.3 真題演練車輛管理系統(tǒng)的10個(gè)模式與13個(gè)外鍵原題完整給出了這個(gè)車輛管理信息系統(tǒng)的轉(zhuǎn)換結(jié)果直接可背制造商制造商編號(hào)名稱地址 交通管理大隊(duì)大隊(duì)編號(hào)地址區(qū)域電話 警察警號(hào)姓名性別出生年月大隊(duì)編號(hào) 車主身份證號(hào)姓名地址電話 車輛車輛牌號(hào)型號(hào)發(fā)動(dòng)機(jī)號(hào)座位數(shù)登記日期制造商編號(hào)保險(xiǎn)公司編號(hào)車主身份證號(hào) 駕駛員駕駛證號(hào)姓名性別地址準(zhǔn)駕車型發(fā)證日期保險(xiǎn)公司編號(hào) 保險(xiǎn)公司保險(xiǎn)公司編號(hào)名稱地址電話 違章違章編號(hào)時(shí)間地點(diǎn)違章行為處理結(jié)果車輛牌號(hào)駕駛證號(hào)警號(hào) 事故事故編號(hào)時(shí)間地點(diǎn)事故簡要處理結(jié)果車輛牌號(hào)駕駛證號(hào)警號(hào) 被盜被盜編號(hào)被盜時(shí)間被盜地點(diǎn)找回時(shí)間找回地點(diǎn)車主身份證號(hào)車輛牌號(hào)主鍵總數(shù)10個(gè)因?yàn)?0個(gè)關(guān)系模式每個(gè)都恰有一個(gè)主鍵。外鍵總數(shù)13個(gè)數(shù)法是看每個(gè)模式里除了主鍵之外、參考了別的表主鍵的屬性警察1個(gè)車輛3個(gè)駕駛員1個(gè)違章3個(gè)事故3個(gè)被盜2個(gè)合計(jì)13。這類題最后總問「主鍵外鍵總數(shù)」做題時(shí)先標(biāo)下劃線再標(biāo)波浪線數(shù)完檢查一遍別漏了車輛表里同時(shí)有三個(gè)外鍵。4.4 局部ER圖合并學(xué)生選課與教師任課的關(guān)系模型另一道ER真題考設(shè)計(jì)流程先畫學(xué)生選課局部ER圖再畫教師任課局部ER圖合并成全局ER圖最后轉(zhuǎn)關(guān)系模型。合并時(shí)最容易丟分的是消除沖突學(xué)生實(shí)體里有「單位」屬性單位又是一個(gè)獨(dú)立實(shí)體這種情況要統(tǒng)一成實(shí)體課程在選課和任課兩個(gè)局部都出現(xiàn)合并后只保留一個(gè)課程實(shí)體。最終關(guān)系模型長這樣單位單位名電話 教師教師號(hào)姓名性別職稱單位名 課程課程編號(hào)課程名單位名 學(xué)生學(xué)號(hào)姓名性別年齡單位名 講授教師號(hào)課程編號(hào) 選修學(xué)號(hào)課程編號(hào)注意這里的聯(lián)系全部下沉成了外鍵教師和課程屬于單位所以單位名分別并入講授和選修是M:N單獨(dú)成表。全局ER圖合并的考察點(diǎn)在「消重」和「統(tǒng)一」答出兩張局部圖的關(guān)鍵實(shí)體和聯(lián)系再說明合并規(guī)則就有大半分?jǐn)?shù)。5. 易錯(cuò)點(diǎn)并發(fā)控制、視圖與閉包的五個(gè)失分題5.1 視圖可串行化與沖突可串行化結(jié)論錯(cuò)反例在哪原題判斷「view可串行化的調(diào)度一定也是conflict可串行化的調(diào)度」很多考生直接判對因?yàn)橛X得視圖可串行化聽起來范圍更小更嚴(yán)格。實(shí)際上恰好相反視圖可串行化比沖突可串行化更寬它只要求在初始讀取、最終讀取和最終寫入上與某個(gè)串行調(diào)度等價(jià)允許盲寫操作存在沖突可串行化要求的是通過交換非沖突操作達(dá)成等價(jià)。所以看法是沖突可串行化一定視圖可串行化反過來不成立。答題模板先寫「結(jié)論錯(cuò)誤」再給出反例說明存在盲寫的調(diào)度就是反例一句話就夠拿分。5.2 S鎖權(quán)限加鎖后能讀不能改封鎖那題的正確選項(xiàng)是事務(wù)T可以對A加S鎖讀A但不能修改A其他事務(wù)只能再對A加S鎖不能加X鎖。錯(cuò)選A的人最多因?yàn)椤腹蚕怼箖蓚€(gè)字讓人以為S鎖也能寫。記住鎖的相容矩陣S鎖與S鎖相容、S鎖與X鎖不相容、X鎖與任何鎖都不相容。T自己對A加了S鎖如果再修改A就要升級(jí)為X鎖但升級(jí)意味著排斥其他S鎖所以不允許。做這類題只要把S理解成「只讀共享」X理解成「獨(dú)占讀寫」永不出錯(cuò)。5.3 無損連接初始表填a還是b_ij無損連接判斷的第一步是構(gòu)造初始二維表規(guī)則是行對應(yīng)分解后的關(guān)系模式列對應(yīng)全體屬性若第j個(gè)屬性屬于第i個(gè)關(guān)系模式填a_j否則填b_ij。很多人把不在當(dāng)前關(guān)系中的屬性也填成a整個(gè)表全a判斷直接失真。真題R(U)分解成R1(A,B,C)、R2(C,D)、R3(D,E)初始表就是三行分別含ABC、CD、DE其余位置填b_ij。然后逐條掃函數(shù)依賴AB→C時(shí)沒有兩行的AB取值相同跳過C→D時(shí)R1和R2的C列都是a3于是把R1的D列從b14改成a4D→E時(shí)R1、R2的D列都是a4把R1的E列改成a5。此時(shí)R1那行全部是a分解就是無損連接。做題時(shí)按「找同左→改右列」的節(jié)奏推進(jìn)最后檢查是否有一行全a。5.4 候選碼判定左右都不出現(xiàn)的屬性必須入碼這道判斷題全場錯(cuò)誤率最高。「屬性X在函數(shù)依賴的左右都不出現(xiàn)」考生的直覺是X跟任何依賴都沒關(guān)系候選碼里可有可無。錯(cuò)就錯(cuò)在正因?yàn)闆]有任何函數(shù)依賴能決定XX的閉包只能從自身開始而候選碼必須能函數(shù)決定全部屬性所以X必須作為候選碼的一部分出現(xiàn)。答題時(shí)按四類屬性法來L類必取、R類必棄、LR類逐個(gè)驗(yàn)、N類必取。原題給的F{AB→CC→DD→E}里沒有N類屬性但換一組依賴后N類就冒出來了審題先做分類。5.5 操作異常插入異常與刪除異常的語義配對規(guī)范化中的異??歼^兩道選擇題刪除操作異常指不該刪除的數(shù)據(jù)被刪除插入操作異常指應(yīng)該插入的數(shù)據(jù)未被插入。錯(cuò)選的同學(xué)把「異?!估斫獬伞覆僮鲌?bào)錯(cuò)」選了「應(yīng)該刪除的數(shù)據(jù)未被刪除」。用例子記一個(gè)關(guān)系里學(xué)生信息和選的課綁在一起刪除選課記錄時(shí)把學(xué)生整個(gè)信息也刪掉了這就是刪除異常新生還沒選課插不進(jìn)關(guān)系里這就是插入異常。答題時(shí)先判斷語義是數(shù)據(jù)沒了還是數(shù)據(jù)進(jìn)不來再對應(yīng)選項(xiàng)能選準(zhǔn)。6. 考場四步法與押題方向大題不慌的答題節(jié)奏6.1 范式大題的完整流程依賴→碼→范式→分解所有范式大題按四步走第一步把題干的業(yè)務(wù)規(guī)則改寫成函數(shù)依賴有傳遞鏈條的拆開寫別合并寫成復(fù)合依賴第二步用四類屬性法求候選碼候選碼不唯一就把所有候選碼都列出來第三步按1NF、2NF、3NF、BCNF逐級(jí)判斷每一級(jí)都要寫依據(jù)存在局部依賴所以不是2NF存在傳遞依賴所以不是3NF第四步分解先消部分依賴再消傳遞依賴每分解一次就把新模式的函數(shù)依賴重寫一遍。SQL題也有一套固定節(jié)奏先確認(rèn)涉及幾張表、連接條件是什么再寫WHERE行過濾最后考慮GROUP BY和HAVING。時(shí)間分配建議選擇填空控在20分鐘簡答15分鐘綜合題優(yōu)先做范式分解和ER轉(zhuǎn)換各留20分鐘SQL最后寫因?yàn)镾QL只要連接條件對就有分。6.2 押題方向與易混對比從這份題看最可能繼續(xù)考的方向有三個(gè)無損連接判斷、BCNF逐步分解、M:N:P三元聯(lián)系轉(zhuǎn)關(guān)系模型。并發(fā)控制部分要會(huì)看圖判斷異常類型兩個(gè)事務(wù)讀同一值后各自修改寫回是丟失修改一個(gè)事務(wù)讀了另一個(gè)事務(wù)回滾前的值是讀臟數(shù)據(jù)同一事務(wù)兩次讀同一數(shù)據(jù)結(jié)果不同是不可重復(fù)讀。原題那份T1讀A100改200后回滾、T2讀200的圖就是讀臟數(shù)據(jù)。安全性部分重點(diǎn)背GRANT句式GRANT SELECT ON TABLE Student TO U1;五個(gè)易混點(diǎn)考前過一遍外碼是被參照表主鍵的副本主鍵是自身表唯一標(biāo)識(shí)視圖只存定義不存數(shù)據(jù)S鎖可讀不可寫物理數(shù)據(jù)獨(dú)立性針對存儲(chǔ)結(jié)構(gòu)改變邏輯數(shù)據(jù)獨(dú)立性針對全局邏輯結(jié)構(gòu)改變應(yīng)用題里如果問應(yīng)用程序要不要改看變的是存儲(chǔ)還是邏輯模式。我自己當(dāng)年考場的血淚經(jīng)驗(yàn)閉包計(jì)算第一輪發(fā)現(xiàn)沒變化太早停手少推一步丟一整道大題。從那以后每道范式題我都強(qiáng)制走一遍「分屬性類→求閉包→找全候選碼→逐級(jí)判范式」的流程閉包每輪都推到循環(huán)條件不成立才停手。這套流程能讓你在考場上少踩一半坑希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取