Я очень новичок в проектировании баз данных, и я практиковался с таким количеством вопросов, как только мог. Я случайно наткнулся на приведенный ниже вопрос (нет, это не мое задание!), и, насколько я понял, я создал прилагаемую концептуальную модель. В модели отсутствует некоторая информация, потому что из требований мне было непонятно, куда их следует добавить. Я выделил строки, в которых у меня есть сомнения.
Вам было поручено разработать схему базы данных, в которой будет храниться информация, необходимая для службы обзора объектов для туристов, для таких объектов, как размещение, рестораны и запланированные поездки. Что касается размещения, то сервис хранит информацию о названии, адресе, типе размещения. Тип размещения может быть гостиница, общежитие или кровать и завтрак. Нам также нужны имя и адрес. Есть также необязательный набор удобств (которые должны быть перечислены отдельно), такие как тип номера (одноместный, двухместный или многоместный), наличие телевизора в номере, ванная комната и т.д.< /em> К одному и тому же месту может быть применимо несколько объектов. Существует также стоимость за ночь, которая может быть указана либо на человека (в общежитиях), либо на номер (в гостиницах, ночлег и завтрак, следовательно, в зависимости от типа размещения). strong>
Для мест, где можно поесть, у нас есть название и адрес (уникальный и всегда доступный). Это могут быть рестораны, бары, пабы, таверны и точки самообслуживания. Должен быть указан вид кухни, средняя стоимость одного приема пищи (разделенная на 4 возможных уровня стоимости), ежедневное расписание (составленное по часам открытия и закрытия) и, возможно, дни остановки в течение недели. (один или несколько дней). Что касается поездки, мы хотим указать список названий достопримечательностей (и соответствующий адрес, если он есть). Для каждой туристической достопримечательности у нас есть интервал дат, в который ее посещают туристы. Каждый клиент может оставить отзыв в произвольной форме для каждого места (проживание или место, где можно поесть, но не для туристических поездок), указав свой никнейм (уникальный для всех клиентов), дату посещения (или, как вариант, календарный интервал указывается двумя датами) и целым числом баллов (от 0 до 5). Каждый клиент мог посетить и оставить отзыв более одного раза для одного и того же места. Нарисуйте диаграмму ER для концептуального проекта базы данных.
Вот что я придумал: Концептуальная модель
На изображении есть модель, о которой я мог думать. Мои сомнения:
1) Правилен ли мой подход, чтобы использовать так много обобщений? Есть ли другой способ?
2) В приведенном выше описании первое предложение, выделенное курсивом и жирным шрифтом, говорит о том, что существует определенный «необязательный набор средств». Должны ли эти атрибуты быть добавлены к объекту «Отель», «Хостел» и «B&B» или к обобщенному объекту «Размещение»?
3) Во втором предложении, которое выделено, следует ли добавить стоимость отеля, общежития и пансиона, как это сделал я? В противном случае, как я должен действовать в моделировании этого?
4) В третьем выделенном предложении следует перечислить указанные атрибуты под каждым типом закусочной или их следует добавить к обобщенному объекту Закусочная?
Большое спасибо за помощь заранее!