Supposons que j'ai une situation où je conçois un site Web pour un revendeur de chaussures. Ils ont différentes marques et types de chaussures et bien sûr, ils veulent une très bonne fonction de recherche.
Il y a donc différentes propriétés que les chaussures peuvent avoir. Ils peuvent avoir des propriétés exclusives, telles que la taille, la largeur, le sexe et les enfants / adultes. Ou ils peuvent avoir des propriétés non exclusives telles que la couleur (il peut y avoir deux couleurs ou plus sur une chaussure). Certaines catégories peuvent entrer en conflit avec d'autres, telles que «habillé» et «décontracté» (une chaussure ne peut pas être à la fois une chaussure habillée et une sneaker (en ignorant les chaussures habillées «confort» pour cet exemple)), alors qu'elles ne sont pas encore en conflit avec d'autres, comme la «robe» et la «botte» (une chaussure peut être une botte habillée). Les propriétés exclusives sont faciles à modéliser, mais qu'en est-il des propriétés potentiellement conflictuelles? Serait-ce un problème pour la théorie des ensembles?
Comment s'appellerait ce genre d'informatique appliquée en général? Modélisation des données, ou quelque chose de plus spécifique? Je veux entrer dans les principes philosophiques plus abstraits, tels que les propriétés exclusives et non exclusives, et voir comment ces principes sont mis en œuvre dans le code, les structures de données et les schémas de base de données.
Un bon exemple de ce dont je parle serait l' algorithme de traversée d'arbre de précommande modifié . C'est un excellent moyen de créer un système de catégorisation hiérarchique imbriqué. Vous avez donc un problème organisationnel réel: les catégories, puis vous avez une structure de données qui modélise ce problème.
Où puis-je en savoir plus sur ce type de choses?