Когда две таблицы очень похожи, когда они должны быть объединены?

Первый ответ - Схема. Это слишком широко не используется, но определенно походит на твердый язык для использования, особенно рассматривая устойчивость DrScheme (который на самом деле компилирует программы Схемы в собственный двоичный код).

После этого - Haskell невероятно интересен. Это - язык, который делает отложенные вычисления правильно, и последствия невероятны (включая такие вещи как короткое определение последовательности fibonnaci).

более основное Движение, Python действительно широко все еще не принят в деловых кругах, но это определенно должно быть к настоящему времени...

6
задан scottm 25 September 2009 в 18:05
поделиться

4 ответа

Comments, PhotoComments, and EventComments are related in a pattern called "generalization specialization". This pattern is handled by simple inheritance in object oriented languages. It's a little more intricate to set up a schema of tables that will capture the same pattern.

But it's well understood. A quick google search on "generalization specialization relational modeling" will give you several good articles on the subject.

9
ответ дан 8 December 2019 в 16:05
поделиться

Если вы объедините их, это испортит структуру ключей. Вы должны иметь внешние ключи, допускающие значение NULL, или структуру «программных» клавиш, состоящую из ключа и типа. Я бы держал их отдельно.

4
ответ дан 8 December 2019 в 16:05
поделиться

Вы можете объединить их и добавить поле, которое указывает, для фотографии это или для события.

Вам понадобятся два внешних ключа; один для фотографий и один для событий, но, имея их в одной таблице, вы можете написать единый набор кода для обработки всех комментариев.

Но я разорван. Будет чище, если вы будете держать их отдельно, при условии, что вам никогда не придется смешивать два типа комментариев в одном списке (что потребует UNION).

1
ответ дан 8 December 2019 в 16:05
поделиться

Моим личным стилем дизайна было бы объединить их, а затем добавить целочисленный флаг, чтобы указать, для чего предназначен комментарий. Это также даст мне масштабируемость на тот случай, если я захочу добавить что-нибудь позже.

1
ответ дан 8 December 2019 в 16:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: