Giả sử tôi có một tình huống trong đó tôi đang thiết kế một trang web cho một đại lý bán giày. Họ có các nhãn hiệu và loại giày khác nhau và tất nhiên, họ muốn có chức năng tìm kiếm thực sự tốt.
Vì vậy, có những tính chất khác nhau mà giày có thể có. Chúng có thể có các thuộc tính độc quyền, chẳng hạn như kích thước, chiều rộng, giới tính và trẻ em / người lớn '. Hoặc chúng có thể có các thuộc tính không độc quyền như màu sắc (có thể có hai hoặc nhiều màu trên giày). Một số danh mục có thể mâu thuẫn với một số loại khác, chẳng hạn như 'váy' và 'giản dị' (giày không thể vừa là giày công sở vừa là giày sneaker (bỏ qua giày công sở "thoải mái" trong ví dụ này)), trong khi chúng không xung đột với một số khác, chẳng hạn như 'váy' và 'boot' (giày có thể là giày boot). Các thuộc tính độc quyền rất dễ mô hình, nhưng làm thế nào về các thuộc tính có khả năng xung đột? Đây sẽ là một vấn đề cho lý thuyết tập hợp?
Nói chung, loại khoa học máy tính ứng dụng này sẽ được gọi là gì? Mô hình dữ liệu, hoặc một cái gì đó cụ thể hơn? Tôi muốn đi sâu vào các nguyên tắc triết học trừu tượng hơn, chẳng hạn như các thuộc tính độc quyền và không độc quyền, và xem cách các nguyên tắc đó được thực hiện trong mã, cấu trúc dữ liệu và lược đồ cơ sở dữ liệu.
Một ví dụ điển hình về những gì tôi đang nói đến sẽ là thuật toán duyệt qua cây tiền đặt hàng được sửa đổi . Đó là một cách tuyệt vời để tạo ra một hệ thống phân loại phân cấp lồng nhau. Vì vậy, bạn có một vấn đề tổ chức thực tế: các danh mục, và sau đó bạn có một cấu trúc dữ liệu mô hình hóa vấn đề đó.
Tôi có thể tìm hiểu thêm về loại công cụ này ở đâu?