Giải pháp có thể mở rộng nhất là chỉ có một bảng "cơ sở" (được kết nối với "lượt thích", thẻ và nhận xét) và "kế thừa" tất cả các bảng khác từ đó. Việc thêm một loại thực thể mới chỉ cần thêm một bảng "kế thừa" mới - bảng này sau đó sẽ tự động kết nối với toàn bộ bộ máy like / tag / comment.
Thuật ngữ mối quan hệ thực thể cho điều này là "danh mục" (xem Hướng dẫn phương pháp ERwin , phần:"Mối quan hệ kiểu phụ"). Ký hiệu danh mục là:
Giả sử người dùng có thể thích nhiều thực thể, một thẻ giống nhau có thể được sử dụng cho nhiều thực thể nhưng một nhận xét là dành riêng cho thực thể, thì mô hình của bạn có thể trông giống như sau:
BTW, có khoảng 3 cách để triển khai "danh mục ER":
- Tất cả các loại trong một bảng.
- Tất cả các loại cụ thể trong các bảng riêng biệt.
- Tất cả các loại cụ thể và trừu tượng trong các bảng riêng biệt.
Trừ khi bạn có các yêu cầu về hiệu suất rất nghiêm ngặt, cách tiếp cận thứ ba có lẽ là tốt nhất (nghĩa là các bảng vật lý khớp với tỷ lệ 1:1 với các thực thể trong sơ đồ trên).