|
|
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Пытаюсь придумать логически правильную БД для следующей ситуации: Есть таблицы "Университет", "Аудитория" и "Преподаватель". Аудитории имеют внешние ключи от "Университета". Если мы попытаемся составить таблицу "Расписание преподавателей" с внешними ключами от "аудиторий" и "преподавателей", то мы теряем явную зависимость от "Университета", и можем обьединить аудитории и преподавателей разных университетов. Что необходимо исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 00:27 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
fallen_falconПытаюсь придумать логически правильную БД для следующей ситуации: Есть таблицы "Университет", "Аудитория" и "Преподаватель". Аудитории имеют внешние ключи от "Университета". Если мы попытаемся составить таблицу "Расписание преподавателей" с внешними ключами от "аудиторий" и "преподавателей", то мы теряем явную зависимость от "Университета", и можем обьединить аудитории и преподавателей разных университетов. Что необходимо исправить? А никак. У вас связи нет. Вообще-то "преподаватель" работает на "кафедре" "деканата", который входит в состав "университета". За "кафедрой" и "деканатом" закреплен "аудиторный фонд". Но есть еще "общие/потоковые" аудитории, они относятся либо к "деканату", либо к "университету". Это если очень приближенно говорить. На самом деле там еще сложнее. Т.к. могут быть замены преподавателей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 09:02 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Можно включить универ в первичный ключ и аудитории и преподавателя, тогда в расписании одно поле университет будет задействовано в двух внешних ключах (на аудиторию и преподавателя). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 09:03 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
fallen_falconПытаюсь придумать логически правильную БД для следующей ситуации: Есть таблицы "Университет", "Аудитория" и "Преподаватель". Аудитории имеют внешние ключи от "Университета". Если мы попытаемся составить таблицу "Расписание преподавателей" с внешними ключами от "аудиторий" и "преподавателей", то мы теряем явную зависимость от "Университета", и можем обьединить аудитории и преподавателей разных университетов. Что необходимо исправить? А что тут исправлять? Преподаватель вполне имеет право работать в разных университетах, и одну лекцию прочитать в аудитории А-210 политеха, а другую - в аудитории М-315 медицинского. У нас в политехе, например, правоведение читал преподаватель из института МВД, специально приезжал к нам на лекцию каждый раз. Так что сама структура БД у вас верная, а свои бизнес-ограничения реализуйте как-то иначе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 12:31 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
А если вы все же вообразите, что преподаватели привязаны к университету неразрывно и единственно (ну там цепями прикованы или как), можно добавить ссылку "Университет" в таблицу "Преподаватели". Но это будет ошибкой, потому что тогда случайно залетевший дятел вышеупомянутый преподаватель правоведения разрушит информационную систему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 12:38 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Cane Cat Fisher Но это будет ошибкой, потому что тогда случайно залетевший дятел вышеупомянутый преподаватель правоведения разрушит информационную систему. "Преподаватель" - это все-таки скорее функция, чем индивидуум. Поэтому никакого разрушения информационной системы не будет - будет несколько записей "преподаватель" в разных университетах для одного человека (возможно, ссылающихся на одну и ту же запись "индивидуум"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 12:59 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherА что тут исправлять? Преподаватель вполне имеет право работать в разных университетах, и одну лекцию прочитать в аудитории А-210 политеха, а другую - в аудитории М-315 медицинского. У нас в политехе, например, правоведение читал преподаватель из института МВД, специально приезжал к нам на лекцию каждый раз. Так что сама структура БД у вас верная, а свои бизнес-ограничения реализуйте как-то иначе. Значит, прийдется проверять целостность запросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:25 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
fallen_falcon, не хватает времени. Мир не статичная замершая в сейчас картинка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:55 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
А что такое name в lecture_teacher и lecture_student? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:54 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинА что такое name в lecture_teacher и lecture_student? Это абстрактная задача. Что должны представлять эти поля- придумаю задним числом хД О времени в таблице надо будет подумать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 15:14 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин"Преподаватель" - это все-таки скорее функция, чем индивидуум. Поэтому никакого разрушения информационной системы не будет - будет несколько записей "преподаватель" в разных университетах для одного человека (возможно, ссылающихся на одну и ту же запись "индивидуум"). Предлагаю определение: В.И.Ленин"Преподаватель" есть функция индивидуума, данная нам в ощущениях лекции Разумеется, если задумывать некую над-университетскую систему, то в ней будет отдельно сущность "физ.лицо", и к ней один-ко-многим - сущность "Сотрудник", привязанная к организации (университету). И тогда для составления Большого Всеобщего Расписания нужно будет учесть, что если несколько Сотрудников представлены одним Физ.лицом, то расписание для них должно быть последовательное - чтобы в политехе и МВД не оказались лекции по праву в одно и то же время. Только вот никак не могу представить, что же это будет за организация, составляющая Всеобщее Расписание Всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2017, 11:34 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
fallen_falcon О времени в таблице надо будет подумать) А чего думать-смело в ключ добавляйте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2017, 22:53 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Cane Cat Fisher Разумеется, если задумывать некую над-университетскую систему, то в ней будет отдельно сущность "физ.лицо", и к ней один-ко-многим - сущность "Сотрудник", привязанная к организации (университету). И тогда для составления Большого Всеобщего Расписания нужно будет учесть, что если несколько Сотрудников представлены одним Физ.лицом, то расписание для них должно быть последовательное - чтобы в политехе и МВД не оказались лекции по праву в одно и то же время. Только вот никак не могу представить, что же это будет за организация, составляющая Всеобщее Расписание Всего. Собственно, если рассматриваем расписание одного-единственного университета, то там тем более не возникнет никаких проблем с оным преподавателем правоведения - он будет нормально заведен в базе как преподаватель данного университета, а что он там где-то еще преподает и что у него записано в трудовой книжке как первичное место работы - нам-то что за печаль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2017, 23:07 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинСобственно, если рассматриваем расписание одного-единственного университета Как раз нет. Проблема-то у человека, что университетов у него много. fallen_falcon...и можем обьединить аудитории и преподавателей разных университетов. Что необходимо исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2017, 10:25 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherКот МатроскинСобственно, если рассматриваем расписание одного-единственного университета Как раз нет. Проблема-то у человека, что университетов у него много. Так если Вы согласны, что университетов много и система - "над-университетская", то к чему было 20192031 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2017, 11:28 |
|
||
|
Проблема с взаимосвязями
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинCane Cat Fisherпропущено... Как раз нет. Проблема-то у человека, что университетов у него много. Так если Вы согласны, что университетов много и система - "над-университетская", то к чему было 20192031 ? С одной стороны, забавно обсуждать структуру БД сферической "над-университетской" системы в вакууме, раз уж заданы конкретные вопросы. Просто как упражнение в логике. С другой - таких систем не встречал, и представить не могу. Так что это из области головоломок "Если все улитки - паровозы, то..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2017, 12:32 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39400092&tid=1540209]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 175ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...