1.Future of Database
希望能夠進一步解決大數據、復雜語言邏輯情形的數據處理問題,提升查詢的速度。
現行的RDBMS主要用于處理簡單清晰的數據,只適合于結構化的邏輯和數據。對于不確定的數據和模糊查詢支持性很差,無法處理大數據。
進一步提升的方法:或者改進relational model,添加新的數據類型和查詢操作,或者發展新的面向對象的數據庫管理系統。
對于大數據的處理思路是分布式,通過多節點的協同工作來完成大數據的數據庫功能。
2.New Technology
(1)Information Retrival:RDBMS擅長精確結構化查詢,但實際工作中更多存在的是模糊化檢索
(2)Multimedia Data:如何存儲查詢文本之外的信息,比如圖片和視頻
(3)Stream Management System:RDBMS只能進行fixed query,SDBMS針對的是對變化數據的query,是對RDBMS的擴展。
3.Final Exam
考點:
(1)Data modeling and database design
--Entity-relationship (ER) design, relational data model
--Relational theory (algebra, dependencies, normalisation)
(2)Database application development
--SQL for querying, data definition and modification (PostgreSQL's version)
--Extending SQL Queries, Functions, Aggregates, Triggers
--PostgreSQL, psql (an SQL shell), PLpgSQL (procedural SQL)
形式:
滿分60,24 final及格,加上3個assignment,50課程及格。
2h,閉卷,5 questions,12分/題
答題必須要用pen,畫圖可以用pensil + eraser。
考試時帶好鉛筆、橡皮、水性筆或其他不可擦除的筆
考題:
Q1: ER Diagram
需要了解如何根據文字描述畫ER圖,要使用課堂的notation,同時注意自己添加limitation
Q2: Relational Mapping and SQL Schema
需要掌握如何將ER圖轉換為relational model,如何用sql表達relational model。注意:沒有foreign key的table應該放在前面。
Q3: Relational Algebra and SQL Queries
需要熟悉如何用relational algebra書寫query,用sql書寫query
Q4: PL/SQL (SQL Procedural Language)
重點了解如何寫function和trigger
Q5: Functional Dependency and Normalization
了解functional dependency,candidate keys以及各種范式(1NF, 2NF, 3NF, BCNF, 3NF, 5NF)
4.Revision
4.1 sample exam
只提供考試難度參考,和考試范圍和出題形式無關。
第1題的ODL和substring不考察;
第2題的a不考察,b很重要;
第3題很重要;
第4題不考察;
第5題很重要。
4.2 06S2 exam
和考試的題型比較接近,相似度更高,幾乎沒有超綱題目。
4.3 BCNF decomposition
4.3.1 例1
R = PAWNSMC
candidate key = PWN
FDs = {P-->A, S-->MC, PW-->S}
(1) P-->A violate BCNF
因為A不是P的子集,且P不是candidate key。拆解R為PA和PWNSMC。
(2)PA檢驗
PA的key變為P,任何兩個attributes都符合BCNF,所以PA是最后結果的一部分。
(3)PWNSMC檢驗
PWNSMC的FDs變成S-->MC, PW-->S,基于此新的candiate key是PWN。
(4)S-->MC violate BCNF
因為MC不是S的子集,且S不是candidate key。拆解為SMC和PWNS。
(5)SMC檢驗
SMC的key是S,S-->MC是key推出其他項,符合BCNF,所以SMC是最后結果的一部分。
(6)PWNS檢驗
PWNS的FDs是PW-->S,基于此新的candidate key是PWN(注意,此處千萬不要漏掉N)。
(7)PW-->S violate BCNF
因為S不是PW的子集,且PW不是candidate key。拆解為PWS和PWN。
(8)PWS檢驗
PW-->S的key是PW,符合BCNF,所以PWS是最后結果的一部分。
(9)PWN檢驗
新的FDs為空,所以全體PWN作為key,符合BCNF。
因此,最終BCNF的拆解結果為PA, SMC, PWS, PWN。
4.3.2 例2
R = ABCDEEF
candidate key = ACEF, BCEF
FDs = {AD-->B, C-->D, BC-->A, B-->D}
(1) AD--> B violates BCNF
R decomposes to ADB and ACDEF
(2)ADB check
AD-->B, B-->D, key is AD.
(3)B-->D viloates BCNF
ADB decomposes to BD and AB
(4)BD check
B-->D, key is B, it is BCNF
(5)AB check
AB only have 2 attributes, it is BCNF
(3)ACDEF check
C-->D, key is ACEF
(4)C-->D violates BCNF
ACDEF decomposes to CD and ACEF
(5)CD check
CD only have 2 attributes, it is BCNF
(6)ACEF check
no FDs, key = ACEF, it is BCNF
Final decomposition is BD, AB, CD, ACEF