Câu hỏi này được dự định là phần mềm bất khả tri/nền tảng. Tôi chỉ tìm kiếm mã SQL chung.Cách tốt nhất để lấy cây của các đối tượng được lưu trữ trong RDBMS
xem xét như sau (rất đơn giản vì ví dụ của) bảng:
Table: Authors id | name 1 | Tyson 2 | Gordon 3 | Tony etc Table: Books id | author | title 1 | 1 | Tyson's First Book 2 | 2 | Gordon's Book 3 | 1 | Tyson's Second Book 4 | 3 | Tony's Book etc Table: Stores id | name 1 | Books Overflow 2 | Books Exchange etc Table: Stores_Books id | store | book 1 | 1 | 1 2 | 2 | 4 3 | 1 | 3 4 | 2 | 2
Như bạn thấy, có một mối quan hệ một-nhiều giữa Book
s và Author
s, và nhiều-to- nhiều mối quan hệ giữa Book
s và Store
s.
Câu hỏi một: Truy vấn tốt nhất để mong muốn tải một tác giả và sách của họ (và sách được bán) vào chương trình hướng đối tượng ở đâu mỗi hàng đại diện cho một đối tượng?
Câu hỏi hai: Truy vấn tốt nhất để mong muốn tải toàn bộ cây đối tượng vào một chương trình hướng đối tượng trong đó mỗi hàng đại diện cho một cá thể đối tượng là gì?
Cả hai trường hợp này đều dễ tưởng tượng khi tải chậm. Trong cả hai trường hợp, bạn sẽ tìm nạp tác giả với một truy vấn và sau đó ngay khi bạn cần sách của họ (và những cuốn sách nào bán sách), bạn sẽ sử dụng truy vấn khác để nhận thông tin đó.
Đang tải cách tốt nhất để thực hiện việc này hay tôi nên sử dụng tham gia và phân tích cú pháp kết quả khi tạo cây đối tượng (trong nỗ lực tải dữ liệu mong muốn)? Trong trường hợp này, kết quả đầu ra/đích tối ưu từ cơ sở dữ liệu để làm cho việc phân tích cú pháp đơn giản nhất có thể là bao nhiêu?
Theo như tôi có thể nói, với tải mong muốn, tôi sẽ cần phải quản lý một từ điển hoặc chỉ mục của một số loại của tất cả các đối tượng trong khi tôi đang phân tích dữ liệu. Đây có phải là trường hợp hoặc có cách nào tốt hơn không?
Mã giả của bạn đã cho tôi ý tưởng về phạm vi biến cục bộ bout. Miễn là tôi yêu cầu cơ sở dữ liệu sắp xếp đầu ra dựa trên một tiêu chí đã biết (như tác giả và sau đó cuốn sách, như trong ví dụ của bạn) thì tôi không phải giữ một chỉ mục/từ điển cục bộ của đối tượng vì tôi chỉ có thể tham khảo " currentAuthor ". – KPthunder
Vâng, đó là chính xác. Bạn có lẽ thậm chí không cần phải nói với cơ sở dữ liệu để sắp xếp các cột bởi a.id bởi vì nó sẽ trả về chúng theo thứ tự đó trừ khi bạn yêu cầu nó sắp xếp theo một cách khác. (Tôi không chắc cơ sở dữ liệu đảm bảo rằng hành vi đó, nhưng đó là những gì họ làm.) – ratsbane
Đây là một câu hỏi tiếp theo. Còn nếu 'Book's và' Author's cũng rất nhiều (ngoài 'Book's và' Store ') thì sao? Sau đó tôi sẽ cần một chỉ mục/từ điển ứng dụng, phải không? – KPthunder