Zamiast mieć zbyt wiele kolumn z tylko wartością true/false, proponuję mieć kolumnę typu integer o nazwie „some_status”, aby zastąpić niektóre właściwości tą samą kategorią. Na przykład some_status =10 oznacza aktywne, some_status =20 oznacza nieaktywne, some_status =30 oznacza oczekujące itd. Prawdopodobnie pomoże to zmniejszyć niektóre kolumny.
SUGESTIA 2
Jak wspomniałeś, będziesz regularnie dodawać właściwości binarne, więc sugeruję zaprojektowanie bazy danych tak, jak poniżej, abyś mógł aktualizować tabelę Binary_property w dowolnym momencie.
A w sytuacji, w której tylko kilka właściwości binarnych będzie prawdziwych, możesz rozważyć dodanie tych właściwości binarnych w tabeli Entry_Binary_properties tylko wtedy, gdy jest to prawda. Później po wybraniu, jeśli właściwość Binary nie znajduje się w tabeli Entry_Binary_properties, domyślnie będzie miała wartość false.
Mam nadzieję, że to pomoże. =)