Course Information
Introduction(課程介紹)
Database systems are at the heart of almost all modern information systems. Any area with a need to process large volume of data can't survive without database technologies. It is now one of the essential capabilities for a computer science students to learn and practice. At the age of big data, data processing and analysis technologies are considered key indicators of competitiveness for any organization or enterprise. The main purposes of this course are to introduce the core concepts and key technologies of database systems, as well as current trends in big data systems and analytics. Students will learn how to construct effective database systems for intended domain. 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:
(資料庫系統技術經過多年的發展,已經廣泛應用在絕大多數現代資訊系統中。隨著各種類型大數據資料(Big Data)不斷的產生與累積,資料庫系統和資料分析技術已經成為現代企業或機關組織維繫競爭力所不可或缺的重要能力。本課程介紹資料庫系統的理論基礎與實務應用,同時討論在大數據時代的最新資料庫技術趨勢。內容可以分為基礎部分和進階議題討論(依時間允許),分別敘述如下。)
Funcamentals(基礎部分)
- 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 databases(NoSQL資料庫) and cloud data management(雲端資料管理)
Advanced topics(進階部分):will be covered if time permits(依時間允許)
- 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(行動資料管理)
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 HBase for big data processing. (如果時間允許,我們將介紹 HBase 與大數據處理。)
Visit the syllabus page for detail information about the lecture schedule.
Administrative Information