Załóżmy, że mam sytuację, w której projektuję stronę internetową dla sprzedawcy butów. Mają różne marki i rodzaje obuwia i oczywiście chcą naprawdę dobrej funkcji wyszukiwania.
Istnieją więc różne właściwości, które mogą mieć buty. Mogą mieć wyłączne właściwości, takie jak rozmiar, szerokość, płeć oraz dzieci / dorośli ”. Mogą też mieć niewyłączne właściwości, takie jak kolor (na bucie mogą znajdować się dwa lub więcej kolorów). Niektóre kategorie mogą kolidować z niektórymi innymi, na przykład „sukienka” i „codzienna” (but nie może być zarówno butem wieczorowym, jak i butem tenisowym (ignorując buty „komfortowe” w przypadku tego przykładu)), podczas gdy nie są jeszcze w konflikcie z inne, takie jak „sukienka” i „but” (but może być butem wieczorowym). Ekskluzywne właściwości są łatwe do modelowania, ale co z potencjalnie sprzecznymi właściwościami? Czy byłby to problem dla teorii mnogości?
Jak ogólnie nazywa się ten rodzaj informatyki stosowanej? Modelowanie danych, czy coś bardziej szczegółowego? Chcę zająć się bardziej abstrakcyjnymi zasadami filozoficznymi, takimi jak właściwości wyłączne i niewyłączne, i zobaczyć, jak zasady te są implementowane w kodzie, strukturach danych i schematach baz danych.
Dobrym przykładem tego, o czym mówię, byłby zmodyfikowany algorytm przechodzenia drzewa przedpremierowego . To świetny sposób na stworzenie zagnieżdżonego hierarchicznego systemu kategoryzacji. Masz więc rzeczywisty problem organizacyjny: kategorie, a następnie masz strukturę danych, która modeluje ten problem.
Gdzie mogę dowiedzieć się więcej o tego typu rzeczach?