Ví dụ sơ đồ ERD
Đây là những hệ thống hay gặp nhất trong môn cơ sở dữ liệu. Mỗi hệ thống đi kèm đoạn SQL dựng nên nó. Ở mỗi trang, sơ đồ và từ điển dữ liệu hiện đầy đủ và miễn phí, còn SQL có thể sao chép.
Mới làm quen với ký hiệu? Trang sơ đồ ERD giải thích ý nghĩa của các hộp và đầu đường trước khi bạn sao chép.
- Hệ thống quản lý trường học
Sơ đồ ERD hệ thống quản lý trường học: học sinh, giáo viên, môn học, lớp học phần, ghi danh có điểm và điểm danh – kèm SQL và từ điển dữ liệu.
- Hệ thống quản lý bệnh viện
Sơ đồ ERD hệ thống quản lý bệnh viện: bệnh nhân, bác sĩ, khoa, lịch khám, nhập viện và đơn thuốc – kèm SQL và từ điển dữ liệu.
- Hệ thống quản lý thư viện
Sơ đồ ERD hệ thống quản lý thư viện: sách, tác giả, bản sao, độc giả, mượn và đặt trước – kèm SQL và từ điển dữ liệu.
- Sơ đồ ERD E-commerce Store
Bài học: bảng trung gian có dữ liệu riêng, danh mục tự tham chiếu, giá được giữ cố định lúc mua
- Sơ đồ ERD Blog Platform
Bài học: mọi kiểu quan hệ trong năm bảng, lược đồ nhập môn kinh điển
- Sơ đồ ERD Hotel Management System
Bài học: đặt phòng theo khoảng ngày, và vì sao phòng trống là một truy vấn chứ không phải một cột
- Sơ đồ ERD Banking System
Bài học: hai khóa ngoại cùng trỏ vào một bảng, và sổ cái chỉ được ghi thêm
- Sơ đồ ERD Inventory Management System
Bài học: số tồn hiện tại cùng lịch sử xuất nhập, được đối chiếu với nhau
- Sơ đồ ERD CRM
Bài học: các giai đoạn pipeline lưu thành dữ liệu, và tam giác công ty, người liên hệ, thương vụ
- Sơ đồ ERD Restaurant Management System
Bài học: bảng trung gian định lượng công thức món, và bàn được gán khi khách ngồi chứ không phải khi đặt
- Sơ đồ ERD Northwind Database
Bài học: khóa tự nhiên, sơ đồ tổ chức tự tham chiếu, và một khóa ngoại tên là ship_via
- Sơ đồ ERD AdventureWorks Database
Bài học: một bảng kiểu cha dùng chung cho người, cửa hàng và nhà cung cấp, kèm chú thích cột của chính Microsoft
- Sơ đồ ERD Sakila Database
Bài học: vòng khóa ngoại giữa staff và store, và một bản sao để tìm kiếm được trigger giữ cho khớp
- Sơ đồ ERD Chinook Database
Bài học: hai khóa ngoại cùng trỏ vào một bảng mà tên cột không hề cho biết, và giá được giữ cố định lúc bán
Các ví dụ này mở bằng tiếng Anh. Ba ví dụ đầu tiên đã được dịch.
Câu hỏi trước khi sao chép
Có những loại lược đồ cơ sở dữ liệu chính nào?
Có bốn tên hay gặp. Dạng phẳng: một bảng, không có quan hệ. Dạng phân cấp: cây cha con chặt chẽ. Dạng mạng: một bản ghi có thể có nhiều cha. Dạng quan hệ: các bảng nối với nhau bằng khóa. Mọi ví dụ dưới đây đều là dạng quan hệ, vì PostgreSQL, MySQL, SQL Server và SQLite đều là cơ sở dữ liệu quan hệ. Ba dạng kia phần lớn đã là lịch sử. Hoặc chúng là cách mô tả cơ sở dữ liệu tài liệu và đồ thị, vốn không xây từ bảng.
Tôi có dùng các lược đồ này cho dự án hay bài tập của mình được không?
Được. Mỗi trang có đầy đủ SQL, chạy nguyên trạng trên PostgreSQL. Đây là lược đồ để học, không phải lược đồ chạy thật. Mỗi lược đồ đủ nhỏ để đọc hết trong một lần. Mỗi lược đồ xoay quanh một quyết định thiết kế đáng học theo, hoặc đáng tranh luận. Trong bài tập, tranh luận cũng hữu ích không kém.
Làm sao biến một ví dụ thành sơ đồ cho cơ sở dữ liệu của tôi?
Thay SQL. Xuất lược đồ bằng pg_dump --schema-only hoặc mysqldump --no-data rồi dán đè lên ví dụ. Bạn cũng có thể dán lược đồ Prisma, DBML, Mermaid, PlantUML, hoặc model Django, SQLAlchemy, Sequelize hay TypeORM. Định dạng được nhận biết từ nội dung bạn dán. Không có gì được tải lên, việc phân tích diễn ra trong trình duyệt.
Nên bắt đầu từ ví dụ nào?
Hãy bắt đầu với blog nếu bạn muốn thấy mọi kiểu quan hệ trong năm bảng. Chọn thương mại điện tử nếu bạn cần một bảng trung gian có dữ liệu riêng. Nếu bài toán của bạn thật ra là chuyện thời gian, hãy chọn khách sạn hoặc thư viện. Đặt phòng, mượn sách và phòng trống là chỗ người mới hay biến một truy vấn thành một cột. Nếu cần cơ sở dữ liệu hay gặp trong môn SQL, hãy bắt đầu với Northwind hoặc Chinook. Nếu cần một lược đồ giống công ty thật, hãy chọn AdventureWorks.
Bạn đã có lược đồ riêng? Hãy dán nó ở trang chủ: cùng công cụ, bảng của bạn. Để có tài liệu tham chiếu in được, hãy dùng công cụ tạo từ điển dữ liệu.