• Авторизация


Оцените схему данных 21-01-2008 18:24 к комментариям - к полной версии - понравилось!


Такая проблема, препод в универе ни в какую не хочет принимать работу, говорит что не правильно, но что именно не говорит, (ну бывают инфантилы) так вот прошу оценить такую схему? Рисунок в аттаче.

Эта база должна уметь выписывать билеты для кинотеатра.
Цена билета у меня зависит от фильма, от времени, и от места.
Причем зависимость от времени реализуется уже при формировании билета, с помощью условий.

Подскажите если что не правильно.
Как бы вы решали поставленную задачу?

Спасибо.
[516x286]
вверх^ к полной версии понравилось! в evernote
Комментарии (11):
21-01-2008-19:03 удалить
это модификаторы, итоговая цена получается из соотношения

(базовая цена за время)*модификатор1*модификатор2

Это нужно для того чтобы реализовать vip и обычные зоны в залах и повышенные цены на блокбастеры
Nortsx 21-01-2008-19:46 удалить
EBCEu4, ага врубился. На чем реализована СУБД?
21-01-2008-20:00 удалить
Microsoft Office Access 2003

если надо могу кинуть .db
aDolphin 21-01-2008-20:02 удалить
Почему бы не создать отдельную таблицу цен?
В ней помимо ID_цены будут поля ID_фильма, ID_времени, ID_места, ну и самой цены соответственно.

Цена, то есть запись в таблице цен будет определяться путём накладки на неё релевантного фильтра, а именно вышеперечисленных полей.

Кроме того, на мой взгляд, это будет более экономично, чем твоя существующая модель связей..

Пожалуйста.. )

Или нарисовать?
21-01-2008-20:10 удалить
То есть мы получим такую штуку.
Когда надо будет добавить новый фильм мы должны будем прощитать все цены заранее на все места на все времена когда этот фильм будет идти? Это же тонна инфы, или я чето не понял?
Nortsx 21-01-2008-20:15 удалить
livenebo, эм, я тож не вполне врубился. Если 4 раздела со связями между ними не приняты преподом то единая таблица цен уж точно не будет оценена)
21-01-2008-20:20 удалить
Тут подкинули идейку здравую запоминать цену для билетов. Просто вдруг мы в процессе использования поменяем модификаторы у мест, или фильмов, тогда мы не сможем восстановить ту цену за которую был продан наш билет.

Поэтому добавляем новый атрибут билетам – Цена. Тут будет итоговая цена.

Цена = мод_Цена1* мод_Цена2*(Цена за время)
[538x330]

Может еще есть идеи?

Как вам в целом эта схема?
Она вроде как даже нормализована до 3НФ. Если я чет не упустил.
aDolphin 21-01-2008-23:37 удалить
Исходное сообщение EBCEu4:
Цена билета у меня зависит от фильма
Исходное сообщение EBCEu4:
То есть мы получим такую штуку.
Когда надо будет добавить новый фильм мы должны будем прощитать все цены заранее на все места на все времена когда этот фильм будет идти? Это же тонна инфы, или я чето не понял?


Значит не зависит у тебя цена от фильма раз ты так говоришь..

22-01-2008-01:22 удалить
Нарисуй если не трудно
ToSHiC 22-01-2008-11:40 удалить
цена зависит от времени, дня недели (будни-викэнд), зала, зоны в зале и фильма. + возможность получения скидки на фильм по дисконтной карте. я бы эту информацию поместил в отдельную табличку.
соответственно, обе колонки мод_цена выкинуть, в таблице Места добавить зону (вип - не_вип - ещё_какая_то)


Комментарии (11): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Оцените схему данных | community_coding - Сообщество программистов | Лента друзей community_coding / Полная версия Добавить в друзья Страницы: раньше»