У меня есть 4 стола, суды, отделы, адреса и телефонные номера.sql нормализация
Каждый суд может иметь одно или несколько подразделений, гражданских, уголовных, семейных и т.д. Каждая из этих комбинаций может иметь один или несколько адресов, то есть гражданское подразделение для конкретного суда может или не может иметь иной физический адрес для криминальный суд. То же самое относится к телефонным номерам, они могут быть одинаковыми для каждого подразделения или адреса, или они могут быть разными.
Я рассмотрел несколько подходов к этому, но не знаю, как лучше всего использовать?
a) У меня может быть одна большая таблица, которая бы многократно воспроизводила большую часть данных.
b) Я рассмотрел вопрос о проведении FK суда в таблице деления и FK раздела в таблице адресов. Это означает дублирование значений деления для каждого суда в таблице разделов. Я тогда не уверен, что делать с телефонным столом.
c) Мое последнее, хотя должно было иметь единую таблицу ссылок, содержащую все остальные 4 таблицы FK. Это означало бы отсутствие репликации данных, но это означало бы много соединений, чтобы получить что-либо значимое, и, вероятно, будет громоздким в использовании.
Я уверен, что я не вижу здесь очевидного, но как лучше всего смоделировать эти таблицы?
Доступ к таблицам можно получить через CakePHP, но, возможно, мы оставим это с одной стороны на данный момент.
Есть уже много вопросов SO и интернет-страниц на «noramlisation»! – 2010-11-30 13:39:25
Прошу прощения, хотя люди пришли сюда, когда им нужна была помощь? У меня есть * чтение нормализации, поэтому я пытаюсь создать схему, которая не будет дублировать данные. Возможно, в следующий раз, когда вы зададите вопрос, люди скажут вам, что там уже много страниц! – Dave 2010-11-30 13:50:18