powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема с взаимосвязями
16 сообщений из 16, страница 1 из 1
Проблема с взаимосвязями
    #39399719
fallen_falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь придумать логически правильную БД для следующей ситуации:

Есть таблицы "Университет", "Аудитория" и "Преподаватель".

Аудитории имеют внешние ключи от "Университета".

Если мы попытаемся составить таблицу "Расписание преподавателей" с внешними ключами от "аудиторий" и "преподавателей", то мы теряем явную зависимость от "Университета", и можем обьединить аудитории и преподавателей разных университетов.

Что необходимо исправить?
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39399790
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fallen_falconПытаюсь придумать логически правильную БД для следующей ситуации:

Есть таблицы "Университет", "Аудитория" и "Преподаватель".

Аудитории имеют внешние ключи от "Университета".

Если мы попытаемся составить таблицу "Расписание преподавателей" с внешними ключами от "аудиторий" и "преподавателей", то мы теряем явную зависимость от "Университета", и можем обьединить аудитории и преподавателей разных университетов.

Что необходимо исправить?

А никак.
У вас связи нет.

Вообще-то "преподаватель" работает на "кафедре" "деканата", который входит в состав "университета".
За "кафедрой" и "деканатом" закреплен "аудиторный фонд".
Но есть еще "общие/потоковые" аудитории, они относятся либо к "деканату", либо к "университету".
Это если очень приближенно говорить. На самом деле там еще сложнее. Т.к. могут быть замены преподавателей.
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39399791
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно включить универ в первичный ключ и аудитории и преподавателя, тогда в расписании одно поле университет будет задействовано в двух внешних ключах (на аудиторию и преподавателя).
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39399950
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fallen_falconПытаюсь придумать логически правильную БД для следующей ситуации:

Есть таблицы "Университет", "Аудитория" и "Преподаватель".

Аудитории имеют внешние ключи от "Университета".

Если мы попытаемся составить таблицу "Расписание преподавателей" с внешними ключами от "аудиторий" и "преподавателей", то мы теряем явную зависимость от "Университета", и можем обьединить аудитории и преподавателей разных университетов.

Что необходимо исправить?

А что тут исправлять? Преподаватель вполне имеет право работать в разных университетах, и одну лекцию прочитать в аудитории А-210 политеха, а другую - в аудитории М-315 медицинского.

У нас в политехе, например, правоведение читал преподаватель из института МВД, специально приезжал к нам на лекцию каждый раз.

Так что сама структура БД у вас верная, а свои бизнес-ограничения реализуйте как-то иначе.
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39399964
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если вы все же вообразите, что преподаватели привязаны к университету неразрывно и единственно (ну там цепями прикованы или как), можно добавить ссылку "Университет" в таблицу "Преподаватели".

Но это будет ошибкой, потому что тогда случайно залетевший дятел вышеупомянутый преподаватель правоведения разрушит информационную систему.
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39399986
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat Fisher
Но это будет ошибкой, потому что тогда случайно залетевший дятел вышеупомянутый преподаватель правоведения разрушит информационную систему.

"Преподаватель" - это все-таки скорее функция, чем индивидуум. Поэтому никакого разрушения информационной системы не будет - будет несколько записей "преподаватель" в разных университетах для одного человека (возможно, ссылающихся на одну и ту же запись "индивидуум").
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39400036
fallen_falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cane Cat FisherА что тут исправлять? Преподаватель вполне имеет право работать в разных университетах, и одну лекцию прочитать в аудитории А-210 политеха, а другую - в аудитории М-315 медицинского.

У нас в политехе, например, правоведение читал преподаватель из института МВД, специально приезжал к нам на лекцию каждый раз.

Так что сама структура БД у вас верная, а свои бизнес-ограничения реализуйте как-то иначе.

Значит, прийдется проверять целостность запросами.
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39400092
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fallen_falcon, не хватает времени. Мир не статичная замершая в сейчас картинка.
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39400166
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что такое name в lecture_teacher и lecture_student?
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39400191
fallen_falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинА что такое name в lecture_teacher и lecture_student?

Это абстрактная задача. Что должны представлять эти поля- придумаю задним числом хД


О времени в таблице надо будет подумать)
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39400713
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскин"Преподаватель" - это все-таки скорее функция, чем индивидуум. Поэтому никакого разрушения информационной системы не будет - будет несколько записей "преподаватель" в разных университетах для одного человека (возможно, ссылающихся на одну и ту же запись "индивидуум").

Предлагаю определение:

В.И.Ленин"Преподаватель" есть функция индивидуума, данная нам в ощущениях лекции

Разумеется, если задумывать некую над-университетскую систему, то в ней будет отдельно сущность "физ.лицо", и к ней один-ко-многим - сущность "Сотрудник", привязанная к организации (университету).

И тогда для составления Большого Всеобщего Расписания нужно будет учесть, что если несколько Сотрудников представлены одним Физ.лицом, то расписание для них должно быть последовательное - чтобы в политехе и МВД не оказались лекции по праву в одно и то же время.

Только вот никак не могу представить, что же это будет за организация, составляющая Всеобщее Расписание Всего.
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39401292
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fallen_falcon
О времени в таблице надо будет подумать)

А чего думать-смело в ключ добавляйте
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39401297
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat Fisher
Разумеется, если задумывать некую над-университетскую систему, то в ней будет отдельно сущность "физ.лицо", и к ней один-ко-многим - сущность "Сотрудник", привязанная к организации (университету).

И тогда для составления Большого Всеобщего Расписания нужно будет учесть, что если несколько Сотрудников представлены одним Физ.лицом, то расписание для них должно быть последовательное - чтобы в политехе и МВД не оказались лекции по праву в одно и то же время.

Только вот никак не могу представить, что же это будет за организация, составляющая Всеобщее Расписание Всего.
Собственно, если рассматриваем расписание одного-единственного университета, то там тем более не возникнет никаких проблем с оным преподавателем правоведения - он будет нормально заведен в базе как преподаватель данного университета, а что он там где-то еще преподает и что у него записано в трудовой книжке как первичное место работы - нам-то что за печаль?
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39401432
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинСобственно, если рассматриваем расписание одного-единственного университета

Как раз нет. Проблема-то у человека, что университетов у него много.

fallen_falcon...и можем обьединить аудитории и преподавателей разных университетов. Что необходимо исправить?
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39401476
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherКот МатроскинСобственно, если рассматриваем расписание одного-единственного университета

Как раз нет. Проблема-то у человека, что университетов у него много.

Так если Вы согласны, что университетов много и система - "над-университетская", то к чему было 20192031 ?
...
Рейтинг: 0 / 0
Проблема с взаимосвязями
    #39401519
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинCane Cat Fisherпропущено...


Как раз нет. Проблема-то у человека, что университетов у него много.

Так если Вы согласны, что университетов много и система - "над-университетская", то к чему было 20192031 ?

С одной стороны, забавно обсуждать структуру БД сферической "над-университетской" системы в вакууме, раз уж заданы конкретные вопросы. Просто как упражнение в логике. С другой - таких систем не встречал, и представить не могу.

Так что это из области головоломок "Если все улитки - паровозы, то..."
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема с взаимосвязями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]