EzyPlatform có 25 bảng core và có thể được bổ sung trong tương lai có thể được bổ sung thêm. Các bảng này sẽ phục vụ cho những nghiệp vụ đơn giản nhất mà phần mềm nào cũng có. Tuy nhiên EzyPlatform cũng sẽ không nhồi nhét nhiều bảng nhất có thể vào core, thay vào đó nó sẽ nhường cho các plugin để đảm bảo nguyên tắc Open/Close.

Danh sách các bảng và ý nghĩa

  1. ezy_admin_activity_histories: Theo dõi lịch sử hoạt động của quản trị viên, bao gồm các thao tác trên URI, phương thức (GET/POST/...), tính năng liên quan, và thời gian thực hiện.
  2. ezy_admin_meta: Quản lý các thông tin bổ sung (metadata) liên quan đến quản trị viên, Ví dụ bạn cần bổ sung thêm địa chỉ của admin bạn có thể lưu dữ liệu vào bảng này.
  3. ezy_admin_projects: Dùng để lưu thông tin về các plugin được cài.
  4. ezy_admin_role_names: Danh sách các vai trò của quản trị viên với tên vai trò, tên hiển thị, và mức độ ưu tiên.
  5. ezy_admin_roles: Liên kết giữa quản trị viên và các vai trò mà họ được gán.
  6. ezy_admin_access_tokens: Lưu trữ access token của quản trị viên, trạng thái và thời gian hết hạn.
  7. ezy_admins: Lưu thông tin quản trị viên, bao gồm username, email, số điện thoại, trạng thái, ảnh đại diện, v.v.
  8. ezy_content_templates: Quản lý các mẫu nội dung (content templates), bao gồm tiêu đề, nội dung, trạng thái, và thông tin người tạo.
  9. ezy_data_indices: Chứa dữ liệu chỉ số (index) cho các loại dữ liệu khác nhau, hỗ trợ tìm kiếm và sắp xếp theo từ khóa, mức độ ưu tiên, và thời gian.
  10. ezy_data_meta: Quản lý metadata liên quan đến dữ liệu, bao gồm các cặp giá trị meta_keymeta_value, hỗ trợ cho các nhà phát triển có thể lưu thông tin bổ sung của một dữ liệu nào đó nếu bảng bị thiếu trường và nhà phát triển không muốn alter bảng.
  11. ezy_letter_receivers: Quản lý thông tin người nhận thư, trạng thái thư (đã gửi, đã nhận, đã đọc), và mức độ quan trọng.
  12. ezy_letters: Lưu trữ thông tin thư, bao gồm loại thư, tiêu đề, nội dung, người gửi, trạng thái, và thời gian tạo.
  13. ezy_links: Lưu trữ các liên kết (URI), bao gồm thông tin nguồn, hình ảnh liên kết, và mô tả chi tiết. Bảng này sẽ rất có ích cho SEO.
  14. ezy_medias: Quản lý dữ liệu phương tiện (media) như hình ảnh, video, với thông tin về người tải lên, loại file, và các thuộc tính khác.
  15. ezy_notification_receivers: Lưu thông tin về người nhận thông báo, trạng thái (đã gửi, nhận, hoặc đọc), mức độ tin cậy, và mức độ quan trọng.
  16. ezy_notifications: Quản lý các thông báo gửi đến người dùng hoặc quản trị viên, bao gồm tiêu đề, nội dung, và trạng thái thông báo.
  17. ezy_role_features: Định nghĩa các quyền và tính năng (feature) mà mỗi vai trò được phép sử dụng.
  18. ezy_run_script_histories: Lưu trữ lịch sử chạy SQL script của các module, bao gồm tên module, loại module, tên script, và thời gian chạy để đảm bảo mỗi script của cả EzyPlatform và các plugin chỉ được chạy 1 lần.
  19. ezy_settings: Quản lý các thiết lập hệ thống, bao gồm tên thiết lập, kiểu dữ liệu, và giá trị thiết lập.
  20. ezy_user_access_tokens: Lưu trữ token truy cập của người dùng, trạng thái và thời gian hết hạn.
  21. ezy_user_keywords: Lưu trữ các từ khóa liên quan đến người dùng, với mức độ ưu tiên và ngày tạo.
  22. ezy_user_meta: Quản lý các thông tin bổ sung (metadata) của người dùng.
  23. ezy_user_role_names: Danh sách vai trò người dùng, bao gồm tên vai trò và mức độ ưu tiên.
  24. ezy_user_roles: Liên kết giữa người dùng và các vai trò của họ.
  25. ezy_users: Lưu trữ thông tin người dùng, bao gồm username, email, mật khẩu, trạng thái tài khoản, v.v.

Sơ đồ liên kết các bảng

EzyPlatform mặc định không tạo liên kết khoá ngoại cho các bảng vì nó không biết điều này có phù hợp với mọi dự án phần mềm hay không, tuy nhiên mình cũng sẽ cố gắng vẽ một vài liên kết giữa các bảng như sau:

Các bảng của EzyPlatform.png

Nếu bạn cảm thấy cần phải tạo khoá ngoại để ràng buộc dữ liệu chặt chẽ hơn, bạn hoàn toàn có thể nghiên cứu các mối liên kết giữa các bảng và tạo khoá ngoại. EzyPlatform sẽ chỉ khởi tạo cơ sở dữ liệu 1 lần vậy nên bạn không cần lo lắng rằng tạo khoá ngoại rồi lại bị xoá sau mỗi lẫn nâng cấp.

Tổng kết

Các bảng core của EzyPlatform tương đối nhiều tuy nhiên bạn cũng không cần quá lo lắng khi EzyPlatform tự tạo các bảng này cho bạn khi bạn cài đặt. Nếu bạn thấy rằng các bảng này là chưa đủ, bạn hoàn toàn có thể cài đặt và sử dụng các bảng của các plugin có trên chợ hoặc do bạn tự tạo ra nhé.