Tôi đang viết một số mã để tìm chi tiết khách hàng trùng lặp trong cơ sở dữ liệu. Tôi sẽ sử dụng khoảng cách Levenshtein.Cách lưu trữ các mối quan hệ hai chiều
Tuy nhiên, tôi không chắc chắn cách lưu trữ các mối quan hệ. Tôi sử dụng cơ sở dữ liệu tất cả các thời gian nhưng chưa bao giờ đi qua tình trạng này và tự hỏi nếu ai đó có thể chỉ cho tôi đi đúng hướng.
Điều làm tôi bối rối là cách lưu trữ bản chất hai chiều của mối quan hệ.
Tôi đã bắt đầu đưa một số ví dụ dưới đây, nhưng tự hỏi nếu có một thực hành tốt nhất để lưu trữ kiểu dữ liệu này,
Ví dụ dữ liệu
id, địa chỉ
001, 5 Main Street
002, 5 Main St.
003, 5 Main Str
004, 6 High Street
005, 7 Low đường
006, 7 Low St
Đề xuất 1
customer_id1, customer_id2, relationship_strength
001, 002, 0,74
001, 003, 0,77
002, 003, 0,76 005, 006, 0.77
Không hài lòng với cách tiếp cận này vì nó sắp xếp một mối quan hệ một chiều giữa quyền sở hữu omer_id1 đến customer_id2. Trừ khi tất nhiên tôi bao gồm tất cả các mối quan hệ cả hai cách, nhưng điều đó sẽ tăng gấp đôi số lượng thời gian xử lý và kích thước của các bảng.
ví dụ sẽ cần phải bao gồm: 002, 001, 0,74
Đề xuất 2
customer_id, grouping_id
001, 1
002, 1
003, 1
005, 2
006, 2
Cảm ơn APC. Ma trận đó có ý nghĩa và giúp hình dung nó. Câu lệnh SQL đó cũng thực sự là tay. Cảm ơn. – alj