Course Information(課程資訊)
Introduction(課程介紹)
Database systems are at the heart of almost all modern information systems. Any organization/company with a need to process large volume of data can't survive without database technologies. It is now one of the essential capabilities for computer science students to learn and practice. At the age of big data, Internet of Things(IoT), and Artificial Intelligence(AI), large data sets processing and analysis technologies are considered key indicators of competitiveness for any organization, enterprise, and even country. The main purposes of this course are to introduce the core concepts and key technologies of database systems, as well as current trends in data science. Students will learn how to construct effective database systems for domain of interest. Students will also learn how to build software systems for supporting the efficient manipulation of data in database systems. More specifically, we will discuss the following topics during the semester.
(資料庫系統技術經過多年的發展,已經廣泛應用在絕大多數現代資訊系統中。隨著大數據、物聯網、和人工智慧時代的來臨,大量資料不斷的產生與累積,資料庫系統和資料分析技術已經成為現代企業、機關組織、甚至國家維繫競爭力所不可或缺的重要能力。本課程介紹資料庫系統的理論基礎與實務應用,同時討論當前和未來資料庫技術趨勢。內容可以分為基礎部分和進階議題討論(依時間允許),分別敘述如下。)
Fundamentals(基礎部分)
- Database system concepts and history(資料庫系統基本概念與發展歷史回顧)
- Conceptual data modeling(概念資料模型)、Entity Relationship(ER)/Enhanced Entity Relationship(EER) data model(ER/EER資料模型)and database design(資料庫設計)
- Relational data model(關聯式資料模型)、Structured Query Language SQL(結構查詢語言SQL)、relational algebra/calculus(關聯式代數與計算) and relational database design(關聯式資料庫設計)
- Open source DBMS and application design: PHP/MySQL, Python/PostgreSQL(開源資料庫管理系統與應用設計: PHP/MySQL, Python/PostgreSQL)
- Database design theory(資料庫設計理論)、functional dependencies(函數相依) and normalization(正規劃)
- Database management system DBMS design(資料庫管理系統設計)、storage structure(儲存架構)、indexing methods(索引方法)
- Query processing(查詢處理)、query optimization(查詢最佳化)
- Transaction processing(交易處理)、concurrency control(並行控制) and recovery(回復)
- Big data processing(大數據處理)、NoSQL/NewSQL/Distributed SQL databases(NoSQL/NewSQL/Distributed SQL資料庫) and cloud data management(雲端資料管理)
Advanced topics(進階部分):will be covered if time permits(依時間允許)
- IoT data management(物聯網資管理)
- Database for AI(人工智慧資料管理與智慧分析)
- Object-oriented databases(物件導向資料庫)、XML and semi-structure data processing(XML與半結構資料處理)
- Object-oriented databases(物件導向資料庫)、XML and semi-structure data processing(XML與半結構資料處理)
- Parallel and distributed databases(平行與分散式資料庫)
- Active databases(主動式資料庫)
- Temporal databases(時間資料庫)
- Spatial databases(空間資料庫)
- Multimedia databases(多媒體資料庫)
- Logic and deductive databases(邏輯與推導式資料庫)
- Data mining(資料探勘) and data warehousing(資料倉儲)
- Mobile data management(行動資料管理)
- Streaming data management(串流資料管理)
We will use open source DBMS such as MySQL, PostgreSQL as examples to practice database application design. (在實務練習方面,我們將採用開放式資料庫管理系統像是MySQL、PostgreSQL等,同時討論如何設計建構資料庫應用程式。)
If time permits, we will also cover NoSQL, NewSQL and Distributed SQL databases such as HBase, MongoDB and Spanner for big data processing. (如果時間允許,我們將介紹大數據處理之NoSQL/NewSQL/Distributed SQL資料庫如 HBase, MongoDB, 與Spanner等。)
Visit the syllabus page for detail information about the lecture schedule. (課程內容綱要與時程,請參考教學大綱網頁。 )
Administrative Data(課表資訊)
Grading Policy(評分方式): (may change if necessary)
-
Assignments(作業) 25% (no late submission)
-
Midterm Exam(期中考) 25%
-
Final Exam(期末考) 25%
-
Term Project(學期計畫) 25%