Очень хороший вопрос был задан, и к сожалению домены и подтипы задачу полностью не решают.
например у меня есть список улиц (или слой улиц) а также есть слой зданий и сооружений, адрес которых на прямую связан с названием улиц. И если, например, одна из улиц по каким то причинам меняет свое название, то и здания относящиеся к этой улице тоже должны сменить свой адрес.
это бы обеспечило целостность данных а также внесло дополнительную проверку вводимых данных (если нет улицы, значит и не может быть здание с адресом не существующей улицы).
а пользоватся доменом в данном случае не удобно потому как внести более 2000 улиц весьма трудоемко, и в добавок при изменении названия улицы опять же придется переписывать значение в домене, что доставляет дополнительные неудобства в процессе контроля целостности данных