Course information
The objective of the course is to present an introduction to database management systems, with an emphasis on how to organize, maintain and retrieve information from a Database management system (DBMS). This will help students to develop and design software systems utilizing databases, and equip students with the knowledge of managing large-scale data. Moreover, this should be understood by current and future business leaders so that they can offer strategic guidance based on an informed understanding of database business capabilities. This course provides the basis for achieving this goal.
2022F courses (TA: Bongwon Lee, Seongyun Jeong)
Midterm (statistics), Final (statistics)
2023F courses (TA: Song Kim, Sunghyun Yang, Seongyun Jeong)
No midterm, Final (statistics)
Tentative Outline for the Courses
Database System concepts and architecture - Introduction to the fundamental concepts of database systems, including data models, schemas, and architectures.
ER-diagram - Study of Entity-Relationship diagrams used to visually represent data models and relationships between data entities.
Relational data model and relational database constraints - Exploration of the relational data model, including tables, attributes, and keys, and the constraints that maintain data integrity.
Relational database design by ER mapping - Techniques for converting ER diagrams into relational database schemas.
Basic SQL - Introduction to Structured Query Language (SQL) for querying and manipulating relational databases.
Advanced SQL - Advanced SQL techniques including joins, subqueries, and transaction control.
Relational Algebra - Theoretical foundation of SQL, using relational algebra to describe operations on relations.
Functional dependencies - Analysis of functional dependencies and their role in database normalization.
Normalisation - Process of organizing data to minimize redundancy and dependency using normal forms.
B-Tree - Study of B-Tree data structures used in database indexing for efficient data retrieval.
Transactions and concurrency controls - Concepts of database transactions and methods to ensure consistency in concurrent operations.
Vector database - Introduction to vector databases, focusing on handling and querying vector data efficiently.
MySQL references
W3 School: https://www.w3schools.com/MySQL/default.asp
Code Academy: https://www.codecademy.com/catalog/language/sql
Tools
ER-diagram: https://draw.io/
Relational database tools: http://raymondcho.net/RelationalDatabaseTools/RelationalDatabaseTools.html
Decomposition calculator: http://functionaldependencycalculator.ml/algorithm/7
Related textbook & lecture
With highest honor
2022F: Junwha Hong
2023F: Woocheol Shin