Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД / 8 сообщений из 8, страница 1 из 1
20.12.2012, 18:06
    #38087239
emaximus93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
Здравствуйте. Требуется помощь по следующему вопросу. Конкретизировать все задание не буду, важен лишь нижеописанный момент.
Имеется БД, для структуризации расписания сессии университета. В этой БД есть справочник аудиторий. В нем есть только одно поле, которое и является его первичным ключом - номер аудитории (и мне не хотелось бы менять его первичный ключ, довольно много кода в формах на него привязано) Необходимо обустроить механизм, который будет гарантировать выполнение условия "В одной аудитории не может быть больше одного экзамена за конкретный день". Каким способом это лучше всего реализовать? Читал о составных ключах, ключах-кандидатах, думал о проверке на уровне интерфейса, но так и не пришел к окончательному пониманию реализации. Готов уточнить любую недосказанную информацию.
...
Рейтинг: 0 / 0
20.12.2012, 18:28
    #38087255
emaximus93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
Пришло решение обустроить это следующим образом. Прошу одобрить/покритиковать.

...
Рейтинг: 0 / 0
20.12.2012, 18:37
    #38087270
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
emaximus93,

нет,отдельная сущность "Дата" в Вашем случае - это перебор.
Должна быть аналогичная связующая табдица аудиторий и экзаменов, в этой связующей таблице - атрибут "дата", и ограничение уникальности (НомерАудитории, IDЭкзамена, дата).
...
Рейтинг: 0 / 0
20.12.2012, 19:53
    #38087342
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
Кот МатроскинДолжна быть аналогичная связующая табдица аудиторий и экзаменов, в этой связующей таблице - атрибут "дата", и ограничение уникальности (НомерАудитории, IDЭкзамена, дата).
Только чуть не так.

1. Уникальность на (НомерАудитории, ДатаБезВремени)
2. Уникальность на (IDэкзамена)
...
Рейтинг: 0 / 0
20.12.2012, 19:55
    #38087346
emaximus93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
Кот Матроскин,

Извините, но не совсем понимаю значение слова "атрибут" в данном контексте и, собственно, как будет реализовано это самое ограничение уникальности.

Спасибо за ответ.
...
Рейтинг: 0 / 0
20.12.2012, 23:40
    #38087549
emaximus93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
softwarerКот МатроскинДолжна быть аналогичная связующая табдица аудиторий и экзаменов, в этой связующей таблице - атрибут "дата", и ограничение уникальности (НомерАудитории, IDЭкзамена, дата).
Только чуть не так.

1. Уникальность на (НомерАудитории, ДатаБезВремени)
2. Уникальность на (IDэкзамена)

Прошу прощения, но не могли бы Вы немного более подробно описать то, что вы имеете в виду? К сожалению, на моем понимании ваших слов сказываются слабые знания, как в проектировании БД, так и недружелюбном vfp в целом. А сроки поджимают.
Спасибо за внимание.
...
Рейтинг: 0 / 0
21.12.2012, 08:00
    #38087681
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
emaximus93, боюсь, мои знания в фокспро на уровне "никогда не видел" :) В целом - при проектировании таблиц стоит обращать внимание на такую штуку как альтернативные ключи. На физическом уровне для них создаются unique constraint либо unique index.
...
Рейтинг: 0 / 0
21.12.2012, 12:06
    #38087954
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
softwarer,

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


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