проектируя мое текущее приложение, я столкнулся с проблемой: пользователь предоставил следующее требование:
Для каждого предприятия (скажем, есть таблица предприятия с ключом enterprise_id в качестве ключа) существует фиксированный набор данных, структурированный более или менее так:
| Income | Declared | Expenses | Normalized | Whatever | etc
-------------+--------+----------+----------+------------+----------+-...
Short term |
Medium term |
Long term |
Unspecified |
Unknown |
Ключевым моментом является то, что (концептуально) столбцы фиксированы, а строки фиксированы. И под фиксированным, я имею в виду, что это написано в моей стране! Так что это не изменится в краткосрочной перспективе.
Я сомневаюсь: каждый экземпляр «пользовательской» таблицы (с ее фиксированными M столбцами и N строками) для меня выглядит как строка БД (есть соответствие 1: 1 с enterprise_id, все данные будут сохранены / извлекается как один блок каждый раз и т. д.). С другой стороны, это много столбцов (MxN может быть сотней в моем реальном приложении), и, честно говоря, смотреть на них некрасиво, так что меня это беспокоит.
Итак, я должен создать таблицу для этих пользовательских данных со столбцами (MxN) (плюс одна для внешнего ключа enterprise_id) или я должен пойти по пути создания двух таблиц, одна с возможными строками "пользователя" («краткосрочный» и т. д.), а другой - только со столбцами («доход» и т. д.), каждая из которых в данном случае является строкой (enterprise_id, возможных_rows_id, доход, объявленный_инком и др.).
Заранее спасибо!