Database Cơ bản & Mô hình ER
Quảng cáo • Advertisement
📢 Sponsor Ad
Google AdSense
lesson.content.title
lesson.content.subtitle
🎯 Mục tiêu bài học
Sau bài này, bạn sẽ hiểu Database là gì, phân biệt RDBMS vs NoSQL, và vẽ được sơ đồ ER — kiến thức chắc chắn ra thi FE.
1. Database là gì?
🏠 Ví dụ: Database giống như tủ hồ sơ văn phòng
Tủ hồ sơ = Database: nơi lưu trữ có tổ chức.
Ngăn kéo = Table (Bảng): mỗi ngăn chứa 1 loại hồ sơ (nhân viên, khách hàng...).
Tờ hồ sơ = Record (Bản ghi): thông tin của 1 người/vật cụ thể.
Mục trên tờ = Field (Trường): tên, tuổi, địa chỉ...
2. RDBMS vs NoSQL
| Đặc điểm | RDBMS | NoSQL |
|---|---|---|
| Cấu trúc | Bảng (Table) có cột cố định | Linh hoạt (Document, Key-Value...) |
| Ngôn ngữ | SQL | Tùy loại (MongoDB Query...) |
| Quan hệ | ✅ Liên kết bảng (JOIN) | ❌ Thường không JOIN |
| ACID | ✅ Đảm bảo | Tùy loại (thường BASE) |
| Ví dụ | MySQL, PostgreSQL, Oracle | MongoDB, Redis, DynamoDB |
| Dùng khi | Dữ liệu có cấu trúc rõ ràng | Dữ liệu lớn, linh hoạt |
⚠️ Thi FE tập trung vào RDBMS!
Hầu hết câu hỏi FE exam liên quan đến Relational Database (SQL, chuẩn hóa, ER). NoSQL chỉ cần biết khái niệm cơ bản.
3. Sơ đồ ER (Entity-Relationship) — HAY RA THI! 🔥
Sơ đồ ER mô tả quan hệ giữa các thực thể trong database:
| Thành phần | Ký hiệu | Ý nghĩa | Ví dụ |
|---|---|---|---|
| Entity | ⬜ Hình chữ nhật | Đối tượng cần lưu | Sinh viên, Môn học |
| Attribute | ⚪ Hình elip | Thuộc tính của Entity | Tên, Tuổi, Mã SV |
| Relationship | ◇ Hình thoi | Quan hệ giữa 2 Entity | "đăng ký", "thuộc về" |
| Primary Key | Gạch chân | Thuộc tính định danh duy nhất | MaSV, MaMH |
📌 Các loại quan hệ (Cardinality)
| Quan hệ | Ký hiệu | Ví dụ |
|---|---|---|
| 1:1 | 1 — 1 | 1 Người → 1 CMND |
| 1:N | 1 — * | 1 Lớp → Nhiều Sinh viên |
| M:N | * — * | Sinh viên ↔ Môn học (đăng ký nhiều) |
💡 Quan hệ M:N cần bảng trung gian!
Ví dụ: SinhVien ↔ MonHoc → cần bảng DangKy(MaSV, MaMH, Diem). Đây là cách "phá" quan hệ M:N thành 2 quan hệ 1:N.
📝 Tóm tắt nhanh
- Database = kho dữ liệu có tổ chức, RDBMS dùng bảng + SQL
- ER Diagram: Entity (⬜), Attribute (⚪), Relationship (◇)
- Cardinality: 1:1, 1:N, M:N (cần bảng trung gian)
- Primary Key = định danh duy nhất mỗi record
🎯 Câu hỏi ôn thi FE #1
Hỏi: Quan hệ giữa Sinh viên và Môn học là loại gì? Giải quyết thế nào?
Đáp: Quan hệ M:N. Giải quyết bằng bảng trung gian DangKy(MaSV, MaMH).
🎯 Câu hỏi ôn thi FE #2
Hỏi: Primary Key có thể chứa giá trị NULL không?
Đáp: Không. Primary Key phải unique và NOT NULL.
🎯 Câu hỏi ôn thi FE #3
Hỏi: RDBMS và NoSQL khác nhau ở điểm cốt lõi nào?
Đáp: RDBMS có cấu trúc bảng cố định + đảm bảo ACID. NoSQL linh hoạt cấu trúc, thường dùng BASE.
Quảng cáo • Advertisement
📢 Ad Space
Google AdSense