черт побери
какой ключ
расписываешь: "у меня есть объекты А, Б и В"
объект А бывает синий, зеленый и черный
объект Б — мягкий или твердый
В — круглый, квадратный, треугольный или многоугольный
грубо говоря
рисуются на бумажке все варианты
к ним рисуются стрелочки, что да как связывается
а потом задается вопрос "у меня есть ла-ла-ла с такими-то характеристиками, как мне составить запрос к таблицам, в которых это ла-ла-ла хранится, для того, чтобы получить ба-ба-ба в таком-то виде".
и все.