Chuyển đổi truy vấn bằng từ thành đại số quan hệ


8

Tôi có một câu hỏi tiếp theo cho một câu hỏi mà tôi đã hỏi trước đây về SO.

Thay vì truy vấn từ câu hỏi ban đầu của tôi, tôi muốn chuyển đổi sau đây thành đại số quan hệ:

Liệt kê tên và số điện thoại của các nhà thầu không phải lúc nào cũng bị ảnh hưởng bởi đấu thầu kép.

Lưu ý: Đặt giá thầu kép xảy ra khi hai nhà thầu khác nhau trả giá như nhau trên cùng một mặt hàng chính xác.

Tôi có một số ý tưởng về cách tiến hành:

  • Tìm tất cả các nhà thầu có giá thầu gấp đôi (1)
  • Tìm tất cả các nhà thầu có giá thầu không đấu thầu hai lần (2)
  • Tìm tất cả các nhà thầu chưa bao giờ đặt giá thầu hai lần (3)

Từ đây, tôi có thể lấy giao điểm của (1) và (2) và thêm (3) vào giao lộ này để có câu trả lời cuối cùng. (Đó là quá trình suy nghĩ của tôi, xin vui lòng sửa cho tôi nếu tôi sai)

Tôi không có vấn đề gì trong việc tìm kiếm tất cả các nhà thầu đã đặt giá thầu gấp đôi, nhưng các ý tưởng hậu quả đang làm tôi bối rối khá nhiều. Đây là những gì tôi có cho "tất cả các nhà thầu có giá thầu gấp đôi":

  • BIDITEM - (Q1)

  • Q1 ⨝ giá thầu → giá thầu ', iid → iid', giá → giá ' (Q1) - (Q2)

  • Giá thầu π (σ giá thầu! = Giá thầu ' (Q2) price = price' (Q2) iid = iid ' (Q2)) - (Q3)

Làm cách nào để sử dụng điều này để tìm các nhà thầu không phải lúc nào cũng bị ảnh hưởng bởi đấu thầu kép?

Nhân tiện, văn bản in đậm chỉ đơn thuần cho mục đích ghi nhãn và không phải là một phần của câu trả lời.


1
"Các nhà thầu không phải lúc nào cũng bị ảnh hưởng bởi đấu thầu kép", đó không phải là giao điểm giữa (1) và (2) sao?
Lennart

với mọi xp không tồn tại x không p. Thật không hữu ích khi nói "tất cả xs ở đâu ..." thay vì chỉ "xs ở đâu ..." bởi vì "tất cả" không liên quan gì đến "cho tất cả" hoặc "ở đâu" - mọi truy vấn (phụ) biểu thức trả về "tất cả" các hàng / thực thể làm cho một số tiêu chí đúng. "Trong đó tất cả" theo nghĩa "xs liên quan đến tất cả các y" tức là "xs trong đó cho tất cả y" liên quan đến phân chia quan hệ. Nhưng trường hợp đặc biệt của "các xs có ít nhất n ys" là "xs trong đó tồn tại y1, y2, ..." sử dụng phép chiếu & n tham gia.
philipxy

Câu trả lời:


0

Tôi nghĩ rằng điểm quan trọng ở đây là thực tế là đại số quan hệ loại bỏ các bản sao khỏi kết quả của nó. Vì vậy, nếu bạn sử dụng toán tử Dự án để chỉ nhận iid và giá, nó sẽ cung cấp cho bạn danh sách các giá thầu không bao gồm các giá thầu trùng lặp. Nếu bạn trừ danh sách này khỏi toàn bộ giá thầu, bạn sẽ nhận được giá thầu trùng lặp ..

Tôi không chắc chắn mặc dù .. Bạn có thể nhận xét về cách bạn cảm nhận về phương pháp này?

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.