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