Tạo không gian cho nhiều người tham gia


10

Tôi đang cố gắng tạo ra thứ mà tôi gọi là tham gia "nhiều người một". Tôi không biết đó có phải là thuật ngữ chính xác hay không. Tôi có một bảng có số tài khoản duy nhất cho nhà di động (ví dụ: M1007970) trên mỗi số tài khoản bưu kiện (R0003285). (Nhiều ngôi nhà di động trên mỗi bưu kiện - nhiều đến một.) Tôi cần tham gia bảng này vào hình dạng bưu kiện của chúng tôi - và vẫn chỉ có một đa giác trên mỗi bưu kiện.

Vì vậy, ví dụ, bảng có thể có ba hàng có số tài khoản nhà di động M1007370 trên một hàng, M1007371 trên một hàng khác và một hàng khác có M1059370, nhưng tất cả đều có cùng số bưu kiện R0032585. Hình dạng bưu kiện của chúng tôi sẽ chỉ có cùng một lĩnh vực R0032585.

Khi tham gia tôi có 12.088 hồ sơ nhà di động và 44.103 bưu kiện. Nếu tôi "giữ tất cả các hồ sơ", tôi có 44.103 hồ sơ chỉ với 7.947 số tài khoản nhà di động (trong số 12.088 ban đầu). Nếu tôi tham gia dựa trên "chỉ giữ các hồ sơ phù hợp", tôi sẽ chỉ có tổng số 7.947 hồ sơ.

Tôi đã thực hiện thành công trong quá khứ và tạo ra một mô hình. Trong mô hình này, tôi sử dụng bảng cho các ngôi nhà di động để tham gia vào lớp bưu kiện (.lyr - cách duy nhất bạn có thể / có thể tham gia trong một mô hình) dựa trên số tài khoản bưu kiện. Tôi sao chép các tính năng chỉ giữ các bản ghi khớp với cơ sở dữ liệu địa lý tệp. Từ tệp cơ sở dữ liệu địa lý, sau đó tôi thêm nó vào hệ thống SDE của chúng tôi. Điều này hiện đang bỏ việc vì những lý do mà tôi không thể hiểu được, vì không có gì thay đổi.

Có lẽ ai đó có thể truyền đạt tốt hơn những gì tôi có thể làm, và nếu nó được gọi là một mối quan hệ khác với nhiều mối quan hệ (tôi không tin đó là một mối quan hệ với nhiều người ...).

Câu trả lời:


9

Đôi khi nó khó hiểu, nhưng đó thực sự là một vấn đề về quan điểm. Xem sơ đồ này (từ chủ đề này ) để tham khảo:

Sơ đồ mối quan hệ

Đây là một ví dụ về năm mối quan hệ (và ba hồng y khác nhau ).

  1. Một-nhiều: Bưu kiện có liên quan đến bảng ParcelToOwner trong mối quan hệ một-nhiều; một bưu kiện có thể có nhiều chủ sở hữu (sở hữu một phần).
  2. Nhiều-một: Bảng ParcelToOwner có liên quan đến Bưu kiện trong mối quan hệ nhiều-một; nhiều chủ sở hữu (ít nhất là một số phần trăm) một bưu kiện.
  3. Nhiều-một: Bảng ParcelToOwner có liên quan đến Chủ sở hữu trong mối quan hệ nhiều-một; nhiều bưu kiện có thể được sở hữu (ít nhất một phần) bởi một chủ sở hữu.
  4. Một-nhiều: Chủ sở hữu có liên quan đến bảng ParcelToOwner trong mối quan hệ một-nhiều; một chủ sở hữu có thể sở hữu nhiều bưu kiện (một lần nữa, ít nhất là một phần)
  5. Nhiều-nhiều: Bưu kiện có liên quan đến Chủ sở hữu trong mối quan hệ nhiều-nhiều; nhiều bưu kiện có thể (ít nhất một phần) thuộc sở hữu của nhiều chủ sở hữu và nhiều chủ sở hữu có thể sở hữu (ít nhất một phần) nhiều bưu kiện. Điều này được thể hiện thông qua bảng ParcelToOwner và các mối quan hệ đã nói ở trên. Hầu hết các DBMS không thể biểu thị mối quan hệ nhiều-nhiều mà không có bảng trung gian ( nguồn ), do đó thiết kế này.

Như bạn có thể thấy, một mối quan hệ là một-nhiều hay nhiều-một tùy thuộc vào cách bạn nhìn vào nó.

Tất cả những gì đang được nói, cách dễ nhất để thực hiện những gì bạn đang tìm kiếm là tạo một bảng truy vấn tạo ra nhiều bưu kiện giống hệt nhau, một bưu kiện cho mỗi ngôi nhà di động. Xem bài đăng trên blog này để biết thêm chi tiết: Mẹo nhanh về cách thực hiện tham gia 1: M

Nếu tất cả dữ liệu của bạn nằm trong cơ sở dữ liệu địa lý doanh nghiệp, bạn cũng có thể sử dụng Lớp truy vấn để thực hiện điều tương tự, một cách nhanh chóng (không có lớp tính năng trung gian).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.