powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Логическая модель
18 сообщений из 18, страница 1 из 1
Логическая модель
    #38837559
peter07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер! Эксперты нужен ваш совет, у меня большие сомнения в логической модели, которую я нарисовал, может подскажите, как правильно организовать таблицу Билет? Большое спасибо
...
Рейтинг: 0 / 0
Логическая модель
    #38837565
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peter07у меня большие сомнения в логической модели
Это не логическая модель. Логические модели содержат сущности, атрибуты и связи. Никаких
таблиц. И таки там не только "Билеты" - полный бред, но и добрая половина остальных. Я
даже не могу решить с чего начать критиковать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Логическая модель
    #38837572
peter07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
предложите с чего начать тогда
...
Рейтинг: 0 / 0
Логическая модель
    #38837576
Сцена0123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это что получается одна и таже сцена может одновременно находиться в разных залах? о_0
...
Рейтинг: 0 / 0
Логическая модель
    #38837579
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотря что считать "одной и той же". Если "большую" и "малую", то, наверное, в каждом театре есть.
...
Рейтинг: 0 / 0
Логическая модель
    #38837580
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peter07с чего начать тогда
С изучения предметной области и выделения сущностей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Логическая модель
    #38837583
peter07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
театр, сцена, спектакль, афиша, билет
или что то не так понимаю?
...
Рейтинг: 0 / 0
Логическая модель
    #38837590
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peter07театр, сцена, спектакль, афиша, билет
или что то не так понимаю?
Да много чего вообще-то. "Афиша" обычно "представлением" зовётся, например.
"Сцена" (она же "зал") имеет вместимость и, возможно, список мест. Именно у мест есть
атрибуты "ряд", "номер", и... как бишь это называется... "расположение" что-ли (типа
"галерка", "ложа" и т.п.). У билета есть связи с представлением и местом, но не прочая
описанная у тебя лабуда.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Логическая модель
    #38837596
peter07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
так более правильно?

Модератор: Тема перенесена из форума "Oracle".
...
Рейтинг: 0 / 0
Логическая модель
    #38837855
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peter07Добрый вечер! Эксперты нужен ваш совет, у меня большие сомнения в логической модели, которую я нарисовал, может подскажите, как правильно организовать таблицу Билет? Большое спасибо
В целом, молодец, хорошо сделали. В билете достаточны связи с Афишей и Местом. Для остальных сущностей просто для информации названия, а не ид. (забыли про Жанр, кстати).
...
Рейтинг: 0 / 0
Логическая модель
    #38837889
Mikle83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peter07, по последнему варианту несколько пожеланий:
1. "Афиша" не завязана у вас на сцену. Имхо не верно: по вашей схеме можно продать билет на одно событие из "афиши", но на разные сцены. Зачем связь с театром, если можно сразу связать со сценой?
2. я бы разделил Афишу на две части:
а) описание постановки (какая и на какой сцене),
б) расписание для каждой сцены - даты когда проводятся постановки

3. Билет в таком случае привязывается к конкретному событию в расписании с указанием ИД места.
3.1. В общем случае у "места" в конкретном "расписании" может быть несколько статусов: свободно/забронировано/выкуплено.
3.2. Для учебной БД сойдет, но в реальности есть т.н. тарифы, определяющие ценообразование на каждое место, исходя из: коэффициента места + базовой стоимости + всевозможных наценок и т.п. Думайте - стоит ли вам в это "влазить".
...
Рейтинг: 0 / 0
Логическая модель
    #38837962
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikle83peter07, по последнему варианту несколько пожеланий:
1. "Афиша" не завязана у вас на сцену. Имхо не верно: по вашей схеме можно продать билет на одно событие из "афиши", но на разные сцены. Зачем связь с театром, если можно сразу связать со сценой?

Точно. С местом события (в триаде "что, где, когда") часто такие ошибки встречаются.
...
Рейтинг: 0 / 0
Логическая модель
    #38838579
peter07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikle83, большое спасибо за помощь.
можно еще один вопрос, немного не понял, как устроить афишу с расписанием, разделить на две таблицы?
...
Рейтинг: 0 / 0
Логическая модель
    #38838630
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peter07, как-то всё не так получается....
Билеты продаются на показ какого-либо представления в указанное время (в вашей терминологии это расписание). Для того, чтобы не было скандалов с местами, в билете указываются номера места и ряда(то есть это какое-то уникальное место)
Поэтому билет можно описать так:
Код: plaintext
Билет(id, id_расписание, id_место)
В расписании обычно указано что дают, где дают и когда дают. Но так как что-либо давать могут несколько раз, то напрашивается что и где выделить в отдельную сущность (в вашей схеме - афиша).
Код: plaintext
Афиша(id, id_сцена, id_постановка)
В моём варианте отсутствуют указанные Вами время, дата начала, дата окончания. Потому как эта информация находится в расписании.
Код: plaintext
Расписание(id, id_афиша, время начала)
Сейчас необходимо описать место где дают представление. Это грубо говоря сцена, которая находится в одном из театров
Код: plaintext
Сцена(id, название, id_театр)
Значит, необходимо добавить табличку театров
Код: plaintext
Театр(id, название)

Теперь надо определиться что дают на представлении. Конечно, какую-то постановку пьесы. Глядя на словосочетание "постановка пьесы" приходит ощущение, что Вашу табличку спектакль лучше разделить на две, ибо спектакль есть просто одна из постановок какой-либо пьесы.
Пьеса может быть одна и только одна, а вот различных постановок того же "Вишневого сада" может быть несметное количество. Опустим предположение, что в одном театре несколько режиссёров одновременно ставят один и тот же спектакль, потому в таблице постановка в качестве идентификатора автора пьесы укажем просто труппу какого-либо театра, которая исполняет рассматриваемую постановку.
Код: plaintext
Постановка(id, id_пьеса, id_труппа)
Ну и более общая информация о пьесе выводится в отдельной таблице. Если уж балет "Щелкунчик" написал Чайковский, то при постановке его всякими театрами оперы и балета достаточно указать просто его номер в таблице пьес
Код: plaintext
Пьеса(id, название, автор, id_жанр)
В итоге видно, что нужны справочные таблицы театров и жанров
Код: plaintext
1.
2.
Театр(id, название)
Жанр(id, название)
Справочник театров можно использовать в перечне трупп, которые ставят постановки пьес
Код: plaintext
Труппы(id, обозначение, id_театр)
Хотя конечно этой табличкой можно пренебречь и в таблице постановок указывать просто идентификатор театра. Думаю при этом ничего ужасного не произойдёт.
В итоге с вопросами что? где? когда? разобрались.
Теперь вернёмся к билетам и подумаем, что остался актуальным вопрос куда? Куда надо идти господину купившему наш билет, ибо поле id места, шибко уж специфичное определение для ответа на поставленный вопрос
Конечно места надо описать: около какой сцены искать место(расположение сцен в пространстве нами уже описано), в какой области окрестностей сцены его искать (балкон, партер, бельэтаж, да мало ли куда можно отправить на поиски своего места), ну и понятно номер ряда и номер места в этой области, чтоб уж с максимальной точностью усадить приобретателя билета.
Код: plaintext
Места(id, id_сцена, id_тип, номер ряда, номер места)
Для пущей ясности сделаем справочник всевозможных типов мест
Код: plaintext
Тип места(id, название)
Ну вот собственно и всё. Все люди, имеющие на руках билеты знают что, где, когда они посмотрят и куда при этом им надо будет присеть, чтобы насладиться просмотром.
Хотя, есть один вопрос, напрямую театральных процессов не касающийся, а касающийся организации продажи билетов: сколько. сколько денег взять за билет?
Для того, чтобы максимально возможное количество зрителей смогло посмотреть постановки лучше всего продавать билеты на разные постановки в разное время и разные по удобству просмотра места по разным ценам. Поэтому таблица цен на билеты должна иметь следующий вид:
Код: plaintext
Цена(id, id_расписание, id_группа мест, стоимость)
Постановка и время её показа отображены у нас в таблице расписаний, а идентификатор группы мест как раз отвечает на удобства просмотра
Код: plaintext
Группы мест(id, id_сцена, id_тип, обозначение)
то есть у разных сцен имеющиеся типы могут иметь собственные группы удобств. Так около одной сцены партер можно разбить на две группы (близко, далеко от сцены), около другой на три и более групп (близко, далеко, в центре зала, где то в стороне у стенки и т.д.)
ну и конечно требуется указать какие места принадлежат указанной группе
Код: plaintext
Места в группах(id_группа мест, id_место)

Итого 14 табличек составят основу. У этих таблиц можно насоздавать ещё дополнительных полей, можно добавить ещё таблиц с параметрами указанных сущностей, например, список труппы, контакты театров и т.д.
...
Рейтинг: 0 / 0
Логическая модель
    #38838632
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чё-то я субботним утром разошёлся не на шутку...
...
Рейтинг: 0 / 0
Логическая модель
    #38838796
peter07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr.Fontaine, огромнейшее вам спасибо)
...
Рейтинг: 0 / 0
Логическая модель
    #38839069
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peter07,

1) спектакль может соответствовать нескольким жанрам (думаю такое возможно)- у вас только 1.
2) Я бы сделал "список задействованных лиц" с ролями (актер, режисер и т.д.), для спектакля сделал бы "Роли в спектакле", "Состав актеров" и через связь многие-ко-многим соединил бы актеров с составом с указанием роли (не забудьте, что один актер может играть более одной роли в спектакле)
3) По-моему "афиша" и "расписание" это одно и тоже. На мой взгляд корректнее оставить Расписание, Афиша лишнее.
4) Я бы сделал таблицу "Зрительская зона" (партер, амфитеатр, балкон и т.д.) и связал бы с ней места.
5) При проектировании придерживайтесь какой нибудь нотации ;-). Сейчас у вас какая то самодеятельность.
...
Рейтинг: 0 / 0
Логическая модель
    #38839070
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл написать - в БД важное ключи (Primary, Foreign) - разберитесь с ними, иначе не получится базы
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Логическая модель
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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