как правильно делать

droit74

Постоялец
Регистрация
20 Сен 2009
Сообщения
55
Реакции
0
есть таблица в ней список преподавателей, к каждому преподавателю относится несколько предметов.
1. делать 2 таблицы в первой список преподавателей во второй настройки каждого из них. пример:
PHP:
teachers:
idt |  teachers 
1   | Васильевна
teachers_settings:
PHP:
idt | subject
1   | математический анализ
1   | теория вероятности 
1   | линейная алгебра
2. делать одну таблицу ???
PHP:
idt | teachers   | subject
1   | Васильевна | ???????
как правильно формулировать поле subject ?
 
Таблица 1
PHP:
id | teacher_name
1  | Васильева

Таблица 2
PHP:
id | teacher_id | subject_name
1  | 1          | Математика

ИМХО
 
artcosmic но вопрос был не в этом...
 
artcosmic но вопрос был не в этом...

Вопрос я понял так: как правильно реализовать архитектуру БД - в одной или в двух таблицах?
Я на него ответил - в двух таблицах - и заодно подсказал структуру, как бы я сделал (точнее, я так обычно и делаю).
Или я не правильно понял вопрос?
 
зачем уникальный идентификатор
А затем, что в случае /редактирования/удаления/изменеия_принадлежности_к_ругому_teacher и еще 100500 вариантов серверу БД будет "легко" искать конкретную запись.
А с в случае редактирования будет, как в рекламе: "ведь это все, что у нее осталось своего".
 
droit74 не сопративляйтесь, комрад horpah все верно говорит, внимайте и учитесь.

только не teacher_id, а id_teacher. _id это для внутренних связей конвенция.
 
гы, тут же связь многие ко многим ... какие 2 таблицы могут быть? или вы уже денормализацию на лету делаете?

по правилам проектирования реляционных БД, должно быть так как на диаграмме ( если это для реляционной БД спрашивается )
такая модель гарантирует целостность данных + нет избыточности
 

Вложения

  • 1.png
    1.png
    12,1 KB · Просмотры: 10
chang пересмотрел свою БД именно так у меня и сделано. но всё ровно спасибо.
 
Назад
Сверху