.3Các mối quan hệ chung và các mối quan hệ chi tiết

Một phần của tài liệu ĐỒ ÁN Ngôn ngữ mô hình hóa dữ liệu trong CSDL đồ thị (Trang 31 - 32)

Khi thiết kế các loại quan hệ chúng ta nên chú ý tới sự chuyển đổi giữa sử dụng các nhãn quan hệ chi tiết với các mối quan hệ chung đủ điều kiện với các thuộc tính. Đó là sự khác biệt giữa việc sử dụng quan hệ DELIVERY_ADDRESS và HOME_ADDRESS với việc sử dụng quan hệ ADDRESS có thuộc tính {type:’delivery’} và {type:’home’}. Các mối quan hệ là những con đường quan trọng để đi vào đồ thị. Phân biệt bằng các kiểu quan hệ là cách tốt nhất để loại bỏ các mảng lớn của đồ thị từ một giao điểm. Sử dụng một hoặc nhiều giá trị thuộc tính để quyết định có hay khơng theo một mối quan hệ phát sinh thêm thủ tục vào-ra trong lần đầu tiên những thuộc tính đó được truy cập; bởi các thuộc tính nằm trong một tập tin được lưu trữ riêng biệt với các mối quan hệ (tuy nhiên, ở những lần sau thì chúng được lưu vào bộ đệm). Vì thế chúng ta nên sử dụng các mối quan hệ chi tiết khi mà ta có một tập kín các kiểu quan hệ. Và ngược lại, ta sử dụng các quan hệ chung với các thuộc tính trong các đồ thị đánh trọng số và có những yêu cầu như tìm đường đi ngắn nhất và khơng cần thiết phải là một tập kín các quan hệ.

Đơi khi chúng ta có thể có các tập kín của các mối quan hệ, nhưng trong một số trường hợp chúng ta muốn theo dõi các kiểu cụ thể của các mối quan hệ trong tập đó, trong khi mặt khác lại muốn theo dõi tất cả chúng, khơng phân biệt kiểu thì thế nào? Xét ví dụ cụ thể về các địa chỉ (Addresses). Theo ngun tắc của tập kín, chúng ta có thể chọn để tạo các quan hệ HOME_ADDRESS, WORK_ADDRESS và DELIVERY_ADDRESS. Điều này cho phép chúng ta theo dõi các kiểu cụ thể của các quan hệ địa chỉ trong khi bỏ qua tất cả các quan hệ địa chỉ cịn lại. Nhưng sẽ phải làm gì nếu tơi muốn tìm tất cả các địa chỉ cho một user? Có một vài giải pháp như sau. Cách 1, chúng ta có thể mã hóa tất cả các loại quan hệ address lại với nhau thành một loại chung là ADDRESS. Tuy nhiên, cách này sẽ trở nên khó sử dụng khi có nhiều loại mối quan hệ

khác nhau. Cách thứ 2 là chúng ta thêm vào một loại quan hệ ADDRESS vào mơ hình. Tức là mỗi nút đại diện cho một loại địa chỉ và nối với các user bằng 2 mối quan hệ : 1 quan hệ cụ thể (như là DELIVERY_ADDRESS) và 1 quan hệ chung ADDRESS (type: ‘delivery’).

Một phần của tài liệu ĐỒ ÁN Ngôn ngữ mô hình hóa dữ liệu trong CSDL đồ thị (Trang 31 - 32)

Tải bản đầy đủ (DOC)

(69 trang)
w