Cơ sở dữ liệu Cơ bản (Relational & Non-Relational)

Khóa học “Cơ sở dữ liệu Cơ bản” giúp học viên không chuyên về backend hoặc data có được nền tảng vững chắc về các hệ quản trị cơ sở dữ liệu phổ biến như Cơ sở dữ liệu có cấu trúc (Relational) và không cấu trúc (Non-Relational). Học viên sẽ được làm quen với cách lưu trữ, truy vấn và thao tác dữ liệu trong môi trường thực tế, cũng như hiểu khái niệm kết nối giữa ứng dụng và CSDL, nền tảng để học tiếp các nội dung như phân tích dữ liệu, DevOps pipeline, hay triển khai cloud database.

Thời lượng: 30h

Bạn đạt được gì sau khi hoàn thành khóa học

Đối tượng tham gia

Yêu cầu tiên quyết

  • Biết sử dụng dòng lệnh, cài đặt phần mềm 
  • Có hiểu biết cơ bản về cấu trúc dữ liệu, lập trình

Nội dung khóa học

1. Giới thiệu tổng quan về Database
  • Database là gì? So sánh với file văn bản 
  • Hệ quản trị cơ sở dữ liệu (DBMS) phổ biến: MySQL, PostgreSQL, MongoDB, Redis 
  • Phân loại: RDBMS vs NoSQL (Document, Key-Value) 
  • Mô hình client-server trong CSDL 
  • Metadata và Schema: khái niệm, vai trò
2. Làm việc với MySQL – Cơ sở dữ liệu quan hệ
  • Cài đặt MySQL và MySQL Workbench 
  • Kết nối CLI, GUI 
  • Tạo database, bảng, column 
  • Kiểu dữ liệu: INT, FLOAT, CHAR, VARCHAR, DATE, BOOLEAN 
  • Tạo khóa chính (PRIMARY KEY), tự động tăng (AUTO_INCREMENT) 
  • Khóa ngoại (FOREIGN KEY – khái niệm)
3. Thao tác CRUD & Truy vấn dữ liệu
  • INSERT, SELECT, UPDATE, DELETE 
  • Toán tử: LIKE, IN, BETWEEN, IS NULL 
  • Sắp xếp, phân trang: ORDER BY, LIMIT 
  • Lọc nâng cao: AND, OR, NOT
4. JOIN và Tổng hợp dữ liệu
  • INNER JOIN, LEFT JOIN 
  • Tạo mối quan hệ giữa bảng users, orders, products 
  • Aggregate: COUNT, SUM, AVG, MAX, MIN 
  • GROUP BY, HAVING
5. View, Index và Transaction
  • View: CREATE VIEW, DROP VIEW – khái niệm và cách dùng 
  • Index: mục đích, tạo chỉ mục (CREATE INDEX) 
  • Unique Index 
  • Transaction: 
    • START TRANSACTION, COMMIT, ROLLBACK 
    • Khi nào cần dùng Transaction (nhiều truy vấn liên quan) 

ACID là gì? (Atomicity, Consistency, Isolation, Durability)

6. Stored Procedure và Trigger
  • Stored Procedure: 
    • CREATE PROCEDURE, CALL 
    • Truyền tham số IN/OUT 
    • Ứng dụng: gom logic thành khối xử lý 
  • Trigger: 
    • Tự động chạy khi INSERT, UPDATE, DELETE 
    • Dùng để ghi log, kiểm tra dữ liệu 
  • So sánh: Procedure vs Trigger
7. Quản trị người dùng & phân quyền
  • Tạo user: CREATE USER 
  • Phân quyền: GRANT SELECT, UPDATE, ALL PRIVILEGES 
  • Thu hồi quyền: REVOKE 
  • Xem quyền của user hiện tại 
  • Quản trị bảo mật: root, user quản trị, không dùng user mặc định
8. Sao lưu, khôi phục & xuất/nhập dữ liệu
  • mysqldump toàn bộ database 
  • mysql < backup.sql để restore 
  • Export sang CSV: INTO OUTFILE 
  • Import CSV: LOAD DATA INFILE 
  • Giới thiệu công cụ GUI: Workbench Export Wizard
9. Giới thiệu về MongoDB (NoSQL)
  • MongoDB là gì? Tại sao lại dùng NoSQL? 
  • So sánh dữ liệu JSON và Table 
  • Cài MongoDB & Mongo Compass 
  • Thao tác: 
    • insertOne, find, updateOne, deleteMany 
    • Lọc dữ liệu với $and, $or, $regex 
    • Giới thiệu aggregate pipeline cơ bản
10. Cơ sở dữ liệu trong môi trường cloud
  • Giới thiệu các dịch vụ: 
    • Amazon RDS: MySQL, PostgreSQL 
    • DynamoDB: key-value, document 
    • Mongo Atlas: cloud MongoDB 
  • Ưu/nhược điểm khi dùng DB trên cloud 
  • Khái niệm: Snapshot, Auto Backup, High Availability
11. Bài thực hành tổng hợp

Mini Project: Quản lý kho thiết bị nội bộ

  • Thiết kế CSDL gồm: bảng users, devices, device_logs 
  • Viết CRUD bằng SQL cho: 
    • Thêm thiết bị 
    • Cập nhật trạng thái 
    • Ghi nhận lịch sử sử dụng thiết bị 
  • Viết stored procedure để ghi log khi thêm thiết bị mới 
  • Viết view tổng hợp danh sách thiết bị theo nhóm người dùng 
  • Backup database thành .sql 
  • Kết nối với script Python: hiển thị danh sách thiết bị theo user

Bài viết liên quan