Au lieu d'avoir trop de colonnes avec seulement une valeur vrai/faux, je suggérerais d'avoir une colonne de type entier nommée comme 'some_status' pour remplacer certaines des propriétés avec la même catégorie. Comme par exemple some_status =10 signifie actif, some_status =20 signifie inactif, some_status =30 signifie en attente, etc. Cela aidera probablement à réduire certaines colonnes.
SUGGESTIONS 2
Comme vous l'avez mentionné, vous ajouterez régulièrement des propriétés binaires, je vous suggère donc de concevoir votre base de données comme ci-dessous afin que vous puissiez mettre à jour la table Binary_property à tout moment.
Et pour votre situation où seules quelques propriétés binaires seront vraies, vous pouvez envisager d'ajouter uniquement ces propriétés binaires dans la table Entry_Binary_properties lorsque c'est vrai. Plus tard, lorsque vous sélectionnez, si la propriété Binary n'est pas dans la table Entry_Binary_properties, elle sera fausse par défaut.
J'espère que cela vous aidera. =)