Ở cấp độ cơ bản, bạn sẽ có một bảng cho từng loại "thứ" trong ứng dụng của mình. Trong trường hợp này, một bảng cho Bài đăng và một bảng cho Nhận xét. Một cái gì đó đơn giản như sau:
Post
--------
Id
Content
User
DatePosted
Comment
--------
Id
PostId
Content
User
DatePosted
Điều này sẽ tạo ra mối quan hệ được gọi là một-nhiều (hoặc thực tế là không-nhiều) giữa Bài đăng và Nhận xét, theo đó mỗi Bài đăng có thể có không hoặc nhiều Pomments được liên kết nhưng mỗi Nhận xét chỉ có thể được liên kết với một Bài đăng.
Trong mã của bạn (hoàn toàn là một chủ đề hoàn toàn khác), để hiển thị một Bài đăng và các Nhận xét liên quan của nó, bạn có thể làm một số điều. Giả sử bạn có Id
làm đầu vào của Bài đăng bạn muốn, bạn có thể lấy Bài đăng đó và Nhận xét về bài đăng đó:
SELECT `Content`, `User`, `DatePosted` FROM `Post` WHERE `Id` = ?Id
SELECT `Id`, `Content`, `User`, `DatePosted` FROM `Comment` WHERE `PostId` = ?Id
Những gì bạn làm với dữ liệu kết quả đó là tùy thuộc vào bạn và cách bạn muốn sử dụng nó trong ứng dụng của mình. Nó sẽ trở lại dưới dạng hai kết quả bảng, kết quả đầu tiên có một bản ghi (nếu Bài đăng tồn tại) và kết quả sau không có hoặc nhiều bản ghi. Đương nhiên, bạn sẽ muốn kiểm tra xem mọi thứ có tồn tại hay không trước khi cố gắng sử dụng chúng, v.v. (Vì vậy, nếu truy vấn đầu tiên không trả về kết quả, đừng cố tiếp tục hiển thị Bài đăng. Chỉ hiển thị phản hồi mặc định hoặc lỗi.)