powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Оцените концептуальную модель
7 сообщений из 7, страница 1 из 1
Оцените концептуальную модель
    #36052204
fair87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Прошу помощи, оцените пожалуйста построенную концептуальную модель медиатеки.
Коротко о предметной области: читателями медиатеки являются студенты, аспиранты, преподаватели и др., они имеют возможность брать диски на дом. Диски различны по своему содержанию, они имеют(но не обязательно) такие атрибуты как: автор, издательство.
Также диски различают по тематике (математика, история, георграфия и т.д.), виду издания (презентация, комп. учебник, электр.журнал и т.д.), назначению(для младших классов, для студентов и т.п.).
Вопросы: 1) правильно ли построена модель БД?(соответствует ли 3-ей НФ) 2) связи указаны верно? 3) нужно ли выводить в отдельную таблицу атрибут "город"?
...
Рейтинг: 0 / 0
Оцените концептуальную модель
    #36052259
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fair87
Вопросы: 1) правильно ли построена модель БД?(соответствует ли 3-ей НФ) 2) связи указаны верно? 3) нужно ли выводить в отдельную таблицу атрибут "город"?В таблице заказов не совсем понятен выбранный основной ключ(PK). Есть подозрение, что поле "Код_заказа" уже само по себе ключ. Либо надо от него совсем отказаться, а в основной ключ включить, например (Инвентарный_№_диска, №_ЧБ, Дата выдачи) или (№_ЧБ, Инвентарный_№_диска, Дата выдачи) в зависимости от наиболее характерных запросов к этой таблице. При этом полагаем, что один и тот же диск не может быть выдан одному и тому же читателю дважды за одну и ту же дату. Если это не так, то вместо поля даты возможно стоило бы использовать поле даты/времени.
Если могут появиться дополнительные таблицы, из которых могут быть ссылки на заказ, то составной ключ наверное лучше сделать альтернативным ключом(ограничением уникальности), а для ссылок пользоваться суррогатным ключом. Возможно тем самым, которым является текущее поле "Код_заказа".
...
Рейтинг: 0 / 0
Оцените концептуальную модель
    #36052322
fair87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал так: главным ключом таблицы "Заказы" сделал "№ ЧБ" из таблицы "Читатели": т.е. сущность "заказы" не может существовать без сущности "читатели". Ещё вывел в отдельную таблицу "Город" , т.к. названия городов практически одни и те же(вроде наз-ся избавлением от избыточности?). Не ругайте сильно, я только учусь проектировать :)
Теперь модель составлена верно ?
...
Рейтинг: 0 / 0
Оцените концептуальную модель
    #36052481
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fair87Сделал так: главным ключом таблицы "Заказы" сделал "№ ЧБ" из таблицы "Читатели": т.е. сущность "заказы" не может существовать без сущности "читатели".
...
Теперь модель составлена верно ?Насколько я понимаю Вашу задачу, то нет, теперь совсем плохо.
Основной ключ(PRIMARY KEY) уникально идентифицирует строку в таблице. В результате Вашей переделки получилось, что каждый читатель может сделать только один-единственный заказ. Вторую строку с тем же кодом читателя Вы добавить не сможете. Что-то мне подсказывает, что Вы не этого добивались.
Ещё раз повторюсь. Уникальность заказа определяется, как минимум, 3 полями: № читателя, № диска и датой выдачи. По описываемой Вами условиям, они все должны быть в составе ключа.
...
Рейтинг: 0 / 0
Оцените концептуальную модель
    #36052711
fair87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. У меня теперь возник такой вопрос: как я понимаю концептуальная модель равна инфологической модели? т.е. это одно и то же? Я не понимаю, обязательно после построения концептуальной модели нужно строить логическую?(это по Конноли), или можно сразу строить физическую модель, т.е на основе выбранной СУБД.
...
Рейтинг: 0 / 0
Оцените концептуальную модель
    #36052816
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fair87как я понимаю концептуальная модель равна инфологической модели? т.е. это одно и то же? Я не понимаю, обязательно после построения концептуальной модели нужно строить логическую?(это по Конноли), или можно сразу строить физическую модель, т.е на основе выбранной СУБД.Ну так это лучше у Конноли и читать. В принципе, здесь пока особо никуда и не отходили от концептуальной модели в его понимании. Разве что, в правой части Вашей модели, где появились справочники. IMHO, на этом уровне в них нет особого смысла, их появлении скорее диктовалось бы на уровне логической модели, когда происходит проверка модели на корректность, нормализацию и прочая. И на этом этапе Вы бы столкнулись с тем, что без этих справочников обойтись нельзя, так как может произойти потеря информации при удалении из таблицы дисков записи с последним диском определённой тематики. Т.е., была бы потеряна информация о соответствующей тематике. Т.о., здесь проблема не в избыточности, как Вы преположили насчет справочника "Города".
Кстати, как раз такая ситуация с полем "Автор". Насколько я понимаю, автор может сделать не один диск, так что вполне можно создать справочник "Авторы". При этом, даже если будут удалены все диски этого автора, информация о нём сохранится и может быть использована позже, когда надо будет добавить новый диск этого автора. Кроме того, надо задать себе вопрос, а один ли автор у диска ? В результате, на логическом уровне добавится не только справочник авторов, но и таблица связи авторов с диском - "Авторы_диска", а из таблицы "Диски" исчезнет поле "Автор".
Как-то так...
...
Рейтинг: 0 / 0
Оцените концептуальную модель
    #36053141
fair87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ChA
Как-то так...
Большое спасибо вам, вы мне очень помогли.
Без подсказок тяжело разобраться во всех тонкостях моделирования, да и у нас в России вроде мало специалистов в этой области, ещё раз спасибо.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Оцените концептуальную модель
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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