Я ищу для создания базы данных для покупок в магазине. Поездки имеют Location
, a Mode
и Preferences
. (Все они являются сущностями или классами). Предположим теперь, что у каждого Trip
может быть только один Preferences
, а Preferences
может быть частью нескольких поездок.«Настройки поездки», дизайн базы данных
Теперь я смоделировал его таким образом:
Trips(id, attr1, attr2, ..., prefs);
Preferences(id, pref1, pref2, pref3);
Где 'префы' является FK (и pref1, pref2 и pref3 являются булевыми типами).
Хорошо, когда я храню поездку (с идентификатором = 1) с pref1, pref2 и pref3 к истине, и другая поездка (с ID = 2) с теми же значениями предпочтения, у меня будет что-то вроде этого:
+------+----+-------+-----+---------------+
| Trip | id | attr1 | ... | prefs |
+------+----+-------+-----+---------------+
| | 1 | X | ... | 10 |
+------+----+-------+-----+---------------+
| | 2 | X | ... | 20 |
+------+----+-------+-----+---------------+
+-------------+------+-------+-------+---------+
| Preferences | id | pref1 | pref2 | pref3 |
+-------------+------+---------------+---------+
| | 10 | True | True | True |
+-------------+------+---------------+---------+
| | 20 | True | True | True |
+-------------+------+---------------+---------+
И вопросы: нет ли избыточной избыточности? Предположим, что я храню 100 поездок с одинаковыми значениями предпочтений, тогда у меня будет 100 строк в таблице Preferences
с теми же значениями.
Возможно, проблема связана с моим приложением, а не с моим дизайном базы данных?
Спасибо.
(Извините за мой основной английский).
Спасибо! Я думаю, что ваш дизайн в порядке. –