DB sống và ERD DBeaver
Trang này dùng khi cần đưa bằng chứng từ DBeaver hoặc DB đang chạy. Nội dung chỉ dựa trên metadata/schema, không đưa mật khẩu, connection string, email người dùng hoặc dữ liệu cá nhân vào tài liệu.
Tóm tắt để nói với thầy
78bảng nghiệp vụ trong schema
public2materialized views phục vụ thống kê
107file Flyway migration SQL trong repo
V135migration mới nhất đã chạy thành công
Theo DB sống kiểm tra ngày 14/06/2026, migration mới nhất là
V135__video_storage_governance.sql. Nếu DBeaver hiển thị thêmflyway_schema_history, đó là bảng quản trị của Flyway, không tính vào 78 bảng nghiệp vụ LMS.
Ảnh ERD tổng từ DBeaver
Bản đồ domain dễ học
Row estimate từ DB sống
PostgreSQL có hai kiểu số lượng hay bị nhầm:
- Số bảng: số object dạng table trong schema, dùng để trả lời “database có bao nhiêu bảng”.
- Row estimate: ước lượng số dòng từ thống kê PostgreSQL, dùng để biết bảng nào đang lớn hơn. Đây không phải
COUNT(*)tuyệt đối.
| Bảng | Row estimate | Indexes | Foreign keys | Ý nghĩa khi trình bày |
|---|---|---|---|---|
audit_log |
58,103 | 4 | 0 | Log hệ thống lớn nhất vì ghi nhiều sự kiện quản trị/vận hành. |
question_options |
8,541 | 2 | 2 | Nhiều option vì mỗi câu hỏi có nhiều lựa chọn. |
course_review_events |
5,301 | 3 | 2 | Lịch sử review/approval của khóa học. |
learning_events |
4,637 | 4 | 1 | Event học tập dùng cho analytics/progress. |
course_publications |
2,649 | 4 | 1 | Snapshot learner-facing sau khi course được duyệt. |
lessons |
2,592 | 5 | 2 | Bài học; rich content nằm trong cột JSONB content_blocks. |
questions |
2,143 | 11 | 5 | Ngân hàng câu hỏi và metadata đánh giá. |
quiz_questions |
2,114 | 3 | 4 | Bảng nối quiz với question. |
student_lesson_progress |
1,007 | 5 | 4 | Tiến độ học theo lesson. |
chapters |
847 | 4 | 2 | Chương trong course. |
course_embedded_tags |
845 | 1 | 1 | Tag nhúng trong course/content. |
quizzes |
516 | 6 | 2 | Quiz gắn với course/lesson. |
enrollments |
453 | 8 | 4 | Ghi danh học viên. |
file_attachments |
338 | 8 | 1 | Metadata file upload/attachment. |
announcement_reads |
321 | 2 | 2 | Trạng thái đã đọc thông báo. |
Cách nói cho đúng
Nên nói
“Theo Flyway và DB sống hiện tại, schema
public có 78 bảng nghiệp vụ, 2 materialized views; migration mới nhất đã chạy là V135__video_storage_governance.sql.”
Không nên nói
“Database có 88, 108 hay 135 bảng” nếu chưa nói rõ cách đếm. Những số đó dễ nhầm giữa table, migration file, Flyway version và object phụ.
Khi mở DBeaver để demo
- Mở connection qua SSH tunnel, nhưng không chiếu password hoặc file key.
- Vào database
lms, schemapublic. - Nếu cần chứng minh tổng quan, mở tab
Diagramhoặc ảnh ERD tổng. - Nếu thầy hỏi bảng cụ thể, chuyển sang SQL schema catalog để tra cột, index và migration nguồn.
- Khi nói số bảng nghiệp vụ, bỏ qua
flyway_schema_historyvì đó là bảng kỹ thuật của Flyway.
Query kiểm chứng đã dùng
Truy vấn chỉ đọc metadata từ pg_class, pg_namespace, pg_stat_user_tables, pg_index, pg_constraint và flyway_schema_history. Không đọc dữ liệu người dùng hoặc nội dung học tập.
-- Ý tưởng kiểm tra: đếm table/view và lấy row estimate từ catalog PostgreSQL.
SELECT relname, n_live_tup
FROM pg_stat_user_tables
ORDER BY n_live_tup DESC;