IT3290E Database Lab
Thực hành Cơ sở dữ liệu
- Credits: 2
- Prerequisite: IT3010(E) or IT3011(E) — Data Structures and Algorithms
- Preliminary course: IT3292(E) — Cơ sở dữ liệu (Database)
- Language of instruction: English (IT3290E)
- Semester: 4
Objectives: This course provides hands-on skills with relational databases and how DBMSs work in practice: using SQL, database design, indexing, writing and optimizing queries, and choosing strategies for transaction management. It also develops teamwork, critical thinking, and problem-solving through exercises, group discussion, and project work.
Mục tiêu: Sử dụng thành thạo SQL, thiết kế CSDL và chỉ mục, tối ưu truy vấn, quản trị giao dịch; rèn kỹ năng làm việc nhóm và phản biện qua bài tập và dự án.
Learning outcomes (CLOs)
| Code | Outcome |
|---|---|
| CLO1 | Use a DBMS to manage a relational database |
| CLO2 | Design a relational database for an IT application |
| CLO3 | Understand DBMS mechanisms and use tools to optimize database performance |
| CLO4 | Demonstrate critical thinking |
| CLO5 | Work effectively in a team |
Schedule (course content)
| Week | Content |
|---|---|
| 1 | Environment preparation and DBMS implementation |
| 2 | Understanding a sample database (e.g. Dellstore2); CREATE and ALTER TABLE |
| 3 | Basic SELECT statement (project, filter, sort) |
| 4 | Advanced SQL (multi-table, JOINs) |
| 5 | Present project ideas |
| 6 | Aggregate functions and GROUP BY |
| 7 | Nested queries (subqueries) |
| 8 | Mid-term assessment / DB design presentation for project |
| 9 | Functions (string, date, time) |
| 10 | DB connection (ODBC, JDBC) |
| 11 | Transaction management |
| 12 | Performance monitoring and tuning |
| 13 | Review |
| 14–15 | Capstone project / Project presentation |
Capstone project (Bài tập lớn)
The capstone has 3 submission phases and 1 defense session. Complete them in order and meet each requirement below.
Phase 1: Problem description and system requirements
Submit:
- Problem description: Domain (application area), main entities to manage, core business processes.
- System requirements: Required functions, data to store, business constraints (if any).
Requirement: The description must be clear and form the basis for the DB design in Phase 2 and the queries in Phase 3.
Phase 2: Database schema design
Tasks:
- Based on the problem and system requirements from Phase 1, design the database schema (tables, primary keys, foreign keys, constraints).
Submit:
- ERD (or equivalent): list of tables, columns, and relationships.
- Optionally include CREATE TABLE script (MySQL/MariaDB or the DBMS used in the course).
Requirement: The schema must match the problem and requirements from Phase 1. This schema is shared by the group and used in Phase 3 and the defense.
Phase 3: Final report — 20 queries
Tasks:
- Each student (in the group) writes 20 queries on the group’s designed schema.
- Queries must be diverse: basic SELECT, WHERE, JOIN, GROUP BY, aggregate functions, subqueries, etc.
- Prefer queries that reflect real use of the problem (business logic, lookups, reports).
Submit:
- Final report with 20 queries (short description per query + SQL).
- Include a
.sqlfile and (if available) sample run results for verification.
Requirement: All queries must run on a database that implements the schema submitted in Phase 2.
Defense — Individual assessment
- After the group presentation (problem, schema, system/query demo), each student is assessed individually.
- Each student must write 3 queries related to the 20 queries in the report (e.g. variants, extra conditions, or queries of similar level on the same schema).
- The instructor gives requirements orally (e.g. “List … under condition …”, “Summarize … by …”); the student writes SQL on the group’s schema, may refer to the 20 submitted queries but must not copy them verbatim for these 3.
Note: This part confirms that each student understands the schema and can write queries. Students should know the 20 queries and the group schema well so they can write related queries during the defense.
Summary
| Phase | What to do | Submit |
|---|---|---|
| 1 | Problem description and system requirements | Written document |
| 2 | DB schema design from Phase 1 | ERD + (optional) CREATE TABLE script |
| 3 | Each student: 20 diverse, realistic queries on group schema | Final report + 20 queries (+ .sql file) |
| Defense | Group presentation; each student writes 3 queries related to the 20 | Presentation + on-site writing |
Submission deadlines and format are announced by the instructor on the LMS.
Learning materials
- Course materials: Google Drive folder
- Lab & exercises (GitHub): IT3290_database_lab — databases, exercises, lecture outlines, notebook-labs
- Reference: Garcia-Molina, H., Ullman, J. D., Widom, J. Database Systems: The Complete Book (2nd ed.). Prentice Hall, 2008.