Tôi sẽ làm điều đó bằng cách tạo bảng tham chiếu chéo.
Ví dụ:
Bảng: Bài viết
Columns: pstkey | userid | postMessage | etc...
pstkey là chìa khóa cho bài cơ thể. userid là người đã tạo bài đăng. postMessage là bài viết thực tế.
Bảng: Bình luận
Columns: comkey | pstkey | userid | commentMessage | etc...
comkey là chìa khóa cho bình luận thực hiện. được tham chiếu đến bài đăng bằng cách sử dụng phím pstkey. userid là người đưa ra nhận xét. và sau đó chú thíchMessage là phần văn bản của nhận xét thực tế.
Bảng: xref_postComm
Columns: xrefkey | pstkey | comkey | comkey2 |
Bây giờ cho các phần thú vị. TẤT CẢ bài đăng đi vào bảng bài. TẤT CẢ nhận xét vào bảng bình luận. Các mối quan hệ được định nghĩa trong Bảng tham chiếu chéo.
Tôi làm tất cả các chương trình của mình theo cách này. Tôi đã được đặc quyền làm việc với một trong những kỹ sư cơ sở dữ liệu của thế giới bests đã nghỉ hưu và ông đã dạy tôi một vài thủ thuật.
Làm thế nào để sử dụng Cross bảng tham khảo:
xrefkey | pstkey | comkey | comkey2
All that you look for is the population of a given field.
xref (Auto Incremented)
pstkey (Contains the pstkey for the post)
comkey (Contains the comkey for the comment post)
comkey2 (Contains the comkey for the comment post)
(but only populate comkey2 if comkey already has a value)
and of course you populate comkey2 with the key of the comment.
SEE, no reason for a 3rd tabel!
With this method you can add as many relationships as you want.
Now or in the future!
comkey2 là trả lời của bạn để trả lời. Trong đó hàng đơn lẻ này chứa .... khóa của bài đăng, khóa của nhận xét và khóa của câu trả lời cho nhận xét trả lời. Tất cả được thực hiện bởi dân số của xref.
EXAMPLE:
PAGES.... Page table
POSTS
pstkey | pageid | user| Post
-------------------------------------
| 1 | 1 | 45 | Went to the store the....|
| 2 | 2 | 18 | Saw an apple on tv.....
COMMENTS
comkey | pstkey | user | Comment
-----------------------------------------------
| 1 | 1 | 9 | Wanted to say thanks...
| 2 | 1 | 7 | Cool I like tha.....
| 3 | 2 | 3 | Great seeing ya....
| 4 | 2 | 6 | Had a great....
| 5 | 2 | 2 | Don't sweat it man...
xref_PostCom
xrefkey | pageid | pstkey | comkey | comkey2 |
----------------------------------------------
| 1 | 1 | 1 | NULL | NULL | Post1 on Page1
| 2 | 1 | 1 | 1 | NULL | Comment1 under Post1
| 3 | 1 | 1 | 2 | NULL | Comment2 under Post1
| 4 | 2 | 2 | NULL | NULL | Post2 on Page2
| 5 | 2 | 2 | 3 | NULL | Comment3 under Post2 on Page2
| 6 | 2 | 2 | 4 | NULL | Comment4 under Post2 on Page2 (a second Comment)
| 7 | 2 | 2 | 4 | 5 | Explained below....
Comment key 5 is matched with comment key 4....under post2 on Page 2
Nếu bạn biết gì về tham gia, còn lại tham gia, phải tham gia, bên trong/bên ngoài join tạo CHỌN của để có được những mảng dữ liệu sử dụng các mối quan hệ, công việc của bạn trở nên dễ dàng hơn nhiều.
Tôi tin rằng cuộc gọi của kỹ sư này về cơ bản là "bản đồ dữ liệu" của các mối quan hệ được xác định. Bí quyết bây giờ là cách bạn truy cập chúng bằng cách sử dụng các mối quan hệ này. Lúc đầu nó cứng đầu, nhưng biết những gì tôi biết, tôi từ chối làm theo cách khác.
Điều gì xảy ra cuối cùng là bạn kết thúc bằng văn bản 1 tập lệnh nói, ok, đi làm uhh, mọi thứ và quay lại. Bạn sẽ kết thúc với 1 cuộc gọi chức năng yêu cầu trang 1. Nó trả về với page1, post 1, comment1 3 và trả lời cho trả lời trong 1 mảng. echo để đầu ra và thực hiện.
CẬP NHẬT CHO BÌNH LUẬN Tôi đã nói chính xác điều tương tự lần đầu tiên nó được hiển thị cho tôi. Trên thực tế nó thực sự khiến tôi phát điên vì lập trình viên cơ sở dữ liệu đã buộc tôi phải làm theo cách này. Nhưng bây giờ tôi nhận được nó. Những lợi thế rất nhiều.
Advantage 1) 1 truy vấn có thể được viết để kéo tất cả trong 1 lần chụp.
2) Câu trả lời trong nhiều truy vấn có thể điền các mảng trong cấu trúc khi in trang vòng lặp trong vòng lặp có thể hiển thị trang.
3) Nâng cấp phần mềm sử dụng phần mềm của bạn có thể hỗ trợ mọi thay đổi thiết kế có thể bạn từng nghĩ đến. Khả năng mở rộng hoàn hảo.
Người đã dạy nó cho tôi là khẩu súng thuê đã thiết kế lại các cơ sở dữ liệu sears và jcpenny. Quay lại khi họ có 9 cuốn sách đi đến cùng một ngôi nhà vì các vấn đề bản ghi trùng lặp.
Bảng tham chiếu chéo ngăn chặn nhiều vấn đề trong thiết kế.
Trái tim của lý thuyết này là, một cột không chỉ có thể chứa dữ liệu mà còn là một câu lệnh đúng hoặc sai cùng một lúc. Đó là tự nó tiết kiệm không gian. Tại sao tìm kiếm 20 bảng khi bạn có thể tìm kiếm một bảng? 1 bảng tham chiếu chéo được lập chỉ mục có thể cho bạn biết mọi thứ bạn cần biết về 20 bảng khác, nội dung, thứ bạn cần, những gì bạn không cần và thậm chí bạn có cần phải mở bảng khác không.
IN NGẮN: 1 Tham chiếu chéo không chứa gì ngoài INT (2/11) cho bạn biết mọi thứ bạn cần biết trước khi mở bảng khác, không chỉ có kết quả tốc độ ánh sáng. Chưa kể đến khả năng ít bản ghi trùng lặp. Đối với bạn và tôi bản ghi trùng lặp có thể không phải là một vấn đề. Nhưng với Sears với 4 tỷ bản ghi ở mức $ 11 một cuốn sách, những sai lầm đã tăng lên.
Chính xác: nhận xét là nhận xét, cho dù họ có trả lời các nhận xét khác hay không. –
Xin lỗi, tôi rất chậm. Tôi đạt được rồi! Cảm ơn. Bây giờ câu hỏi của tôi là làm thế nào để tôi thụt lề các câu trả lời? Tôi có cần phải biết một số loại quan hệ? Chẳng hạn như câu trả lời này là câu trả lời đầu tiên, câu trả lời này là thứ hai để thụt lề x2, câu trả lời này là thứ 3, vì vậy identx3 – jpjp
@jpjp: Tôi sẽ làm điều này ở cấp ứng dụng. Khi bạn xây dựng cây nhận xét, bạn biết nhiều để thụt lề chúng. Chỉ một lần nữa là phụ huynh. –