Например, если у города есть руководитель мэрии, и председатель обкома партии:
SCITY - справочник городов
cityid
manid_mer
FK sman - люди
manid_partyboss
FK sman- люди
...
то это можно выразить иначе:
SCITY- справочник городов
cityid
...
SBOSS - справочник начальников (один город - много начальников)
bossid
cityid
FK scity
bstypeid
FK cbstype - виды начальников
manid
FK sman - люди
и дополнительный справочник, отражающий, в сущности, понятия _mer и_partyboss первоначального варианта:
CBSTYPE - виды начальников
bstypeid
bstypename
Название (мэр, партийный лидер и т.д.)
Когда же разумно применять такое преобразование? Например, трудно представить себе, что у вектора появится третья вершина, или что у бухгалтерской проводки появится что-то кроме дебета и кредита - следовательно, таблица 1-N не нужна. А вот новые начальники в городе могут появиться запросто - например, военный комендант, если произойдет военный переворот, и командир партизанского военного округа, возглавляющий ему сопротивление. Баррикады, стрельба, переделка структуры БД... А с 1-N таблицей нам и структуру базы данных менять не надо, только дополнить справочник CBSTYPE!