|
|
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Всем добрый день. LSVЮноша, у Вас слишком мало постов, чтоб что-то тут утверждать... :) Дело да же не в постах! Пож-та прислушайтесь совету окружающих .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:14 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
насколько я понял, вы предлагаете сделать товар или услугу (неважно пока) типа "Билет на сеанс 20:00 в кинотеатре "Синема" на фильм "Унесенные ветром""? Вы ничего не поняли. Нет, конечно. В справочнике "товар" будет всего неск. билетов. Как вариант: Полный билет, детский билет, льготный билет. У них будут внятные названия для чека и некие коэф. для умножения цены. В документе реализации будет признак "сеанс" со своими коэф. (например с пом. EAV) При попадании товара в документ согласно коэф. будет формироваться цена. Ряд/место это доп. атрибут строки спецификации (опять таки с пом. EAV). Также могут сработать к-л настройки скидок для постоянных клиентов, владельцев карт и т.д. Если типов билетов может быть несколько (н-р в солярий, выставку или аквапарк), то схема усложнится. Все перечисленное - как один вариант реализации на базе универсального торгового ПО. Навскидку и упрощенно, т.к. тут полно неописанных нюансов. Это обычный прием для торгового процесса. Нет принципиальных проблем тут же реализовать работу супермаркета, бутика и кафе в одном флаконе. Речь не идет про специальное билетное ПО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:20 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
LSVнасколько я понял, вы предлагаете сделать товар или услугу (неважно пока) типа "Билет на сеанс 20:00 в кинотеатре "Синема" на фильм "Унесенные ветром""? Вы ничего не поняли. Нет, конечно. В справочнике "товар" будет всего неск. билетов. Как вариант: Полный билет, детский билет, льготный билет. У них будут внятные названия для чека и некие коэф. для умножения цены. "Я тебе умный вэш скажу, толко ты нэ обижайся"(с) Клиенту нахрен на надо покупать "полный билет" или "детский билет". Если Вы ему покажете каталог с такими позициями, он Вам его засунет в, ээ, деньгоприемник. Клиент, в массе, хочет купить либо "Билет на Гарри Поттера" [в один из кинотеатров, где он идет], либо "Билет в Ролан" [на один из фильмов, который там идет], либо (имхо реже, но не уверен) "Билет на 22.00" [в один из кинотеатров, где есть такие сеансы, на один из фильмов, которые там идут]. И только потом, когда он определится с этими параметрами, начинаются "полный", "детский" и прочее. И итоговую цену он, собака такая, захочет увидеть до того, как будут созданы какие-то документы о реализации. Поэтому каталога товара в классическом понимании тут вообще не нужно, а нужен некий кубик с измерениями "Кинотеатр", "Фильм", "Сеанс" (+, возможно, "категория места" и что-то еще). А что будет в чеке - вообще зависит от учетной политики организации (как выше верно отметили, это может быть не товар, а услуга). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:47 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинПоэтому каталога товара в классическом понимании тут вообще не нужно , а нужен некий кубик с измерениями "Кинотеатр", "Фильм", "Сеанс" (+, возможно, "категория места" и что-то еще). А что будет в чеке - вообще зависит от учетной политики организации (как выше верно отметили, это может быть не товар, а услуга).повторю: В специализированном ПО действительно не нужно. Но мы его и не обсуждаем. Стартовый пост четко упоминает про обычные товары и "билет в кино", т.е. задача реализовать продажу обычных товаров и билетов в кино. Или я не так понял стартовый вопрос ? В моей схеме я не вижу проблем узнать цены на любые сеансы, т.к. они формируются на пересечении Фильм/сеанс. Печатается по актуальным фильмам элементарный отчет и вывешивается перед кассой. :) Более точную цену (с учетом различных скидок, в т.ч. персональных) можно узнать лишь на пересечении ПолитикаСкидок/Фильм/Сеанс. Схема гибкая и позволяет решить практически любые задачи такого класса. Некоторые неудобства есть, но они вызваны универсальностью подхода к задаче и минимумом доработок в готовом функционале. Я предложил вполне рабочую и гибкую схему. Господа оппоненты пока не предложили ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 15:12 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
LSVСтартовый пост четко упоминает про обычные товары и "билет в кино", т.е. задача реализовать продажу обычных товаров и билетов в кино. Или я не так понял стартовый вопрос ? Да, обычных товаров и билетов в кино. И как-то пока получается, что лучше когда "обычные товары" хранятся в одних таблицах по одной схеме, "билеты в кино" - в других по другой. Вы пытаетесь тот самый вопрос, с которого началась дискуссия "хранить вместе или отдельно?" вынести в данность "Раз это не специализированное ПО, то храним вместе по определению". Это не очень адекватно :) LSVСхема гибкая и позволяет решить практически любые задачи такого класса. Практически никакие, Вы хотели сказать ;) Продавать товар (т.е. выстроить удобное для покупателя предложение) - схема не помогает. Получать аналитику по продажам - не помогает. Просто тривиально вести учет чтобы не продать на сеанс билетов больше, чем есть мест в зале - и то не помогает ;) Что помогает? Печатать чеки. LSVЯ предложил вполне рабочую и гибкую схему "гибкость" этой схемы выражается в том что она меняется в каждом сообщении :) То у Вас "Билеты не дотягивают до того чтобы создать отдельную сущность", то "сущность сеанс". То "цены формируются в момент попадания в документ на реализацию", то "цены формируются на пересечении Фильм/сеанс". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 15:54 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
1. Практически никакие, Вы хотели сказать ;) 2. Продавать товар (т.е. выстроить удобное для покупателя предложение) - схема не помогает. 3. Получать аналитику по продажам - не помогает. 4. Просто тривиально вести учет чтобы не продать на сеанс билетов больше, чем есть мест в зале - и то не помогает ;) Что помогает? Печатать чеки. ... 5.То у Вас "Билеты не дотягивают до того чтобы создать отдельную сущность", то "сущность сеанс". 6. То "цены формируются в момент попадания в документ на реализацию", то "цены формируются на пересечении Фильм/сеанс". 1. Все решает. Ваша не решает, потому что ее нет и возможно не будет. :) 2. Что такое удобное предложение ? И о каком товаре речь ? 3. Аналитика как раз прекрасно покажет любые продажи. И по кафе и по кено и по супермаркету. 4. Тут надо просто дописать ф-л на бронирование мест. Где-то отдельно хранить инфу по зал/место/ряд. 5. Да, сущность "сеанс" нужна, причем она сложная (в ней много параметров). 6. Тут нет противоречия. Цена формируется расчетом на пересечении Фильм/сеанс (когда они известны). Конкретно для продажи билетов нужен ряд вспомогательных таблиц по бронированию и сеансам. Они нужны в любом случае. А карточка товара "билет" нужна только одна (или парочку). Чтоб ее вставить в унифицированный документ продажи. В данном случае у карточки товара крайне малая бизнес-нагрузка. Просто наличие строки и ссылки в чеке. Коллега, ну где ваша универсальная схема ??? Чтоб и билет в кено купить и водочки попить в баре... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 16:51 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Здесь я с LSV соглашусь. Одна таблица с товарами, у каждого товара дополнительные поля-атрибуты, которые могут быть отдельными сущностями. Если я правильно понял его мысль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 16:58 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
> Аналитика как раз прекрасно покажет любые продажи. Нет, конечно. Кот уже рассказал вам достаточно, чтобы рассматривать билет как сущность не товарных категорий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 17:23 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Аналитика как раз прекрасно покажет любые продажи. Нет, конечно. Кот уже рассказал вам достаточно, чтобы рассматривать билет как сущность не товарных категорий.Да пофигу, чо там кто рассматривает. Хоть горшком назови. Аналитика построится по документам продажи. Там есть кол-во билетов, суммы и ссылки на "сеанс". Этого достаточно для аналитики. зы: нет никаких билетов, товаров и услуг. А сущности вообще надуманная абстракция. :) Есть таблицы с записями и бизнес-связи между ними. Больше ничего и не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 17:38 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
ScarferNVОдна таблица с товарами, у каждого товара дополнительные поля-атрибуты, которые могут быть отдельными сущностями. Если я правильно понял его мысль. А разве кто-то предлагал вообще отдельные и никак не связанные таблицы делать? Я не помню такого. Речь шла о том, что данные о разных товарах хранить НЕ В ОДНОЙ таблице, а в разных специфических для каждого товара (услуги). Тут подойдет классическая схема "звезда". ИД товара "зародится" в единой для всех таблице и разойдется по своим специфическим. Связи на товары таким образом будут из единой точки- что есть очень хорошо. Специфические для каждого товара данные будут храниться в своей (своих) таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 17:42 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
SergueiТут подойдет классическая схема "звезда". ИД товара "зародится" в единой для всех таблице и разойдется по своим специфическим. Связи на товары таким образом будут из единой точки- что есть очень хорошо. Специфические для каждого товара данные будут храниться в своей (своих) таблице.Я примерно о том же говорю уже полдня. :) Это особенно важно, когда система большая и многофункциональная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 17:48 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
> Да пофигу, чо там кто рассматривает. Вот в этом и проблема. Вам предложили абсолютно адекватный подход, но ваши стереотипы вам дороже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 17:55 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
ScarferNVРешили наконец-то)) Не понятно правда что именно решали. Но решили... ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 18:05 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Еще раз напоминаю, с чего начиналось LSVПродаем стулья, апельсины и билеты в кино - т.е - это все товар. Правильно ли весь этот товар хранить в одной таблице базы или это считаются разные сущности? Хранить в одной. Потому что они будут фигурировать в одних и тех же документах ( складских , товарных и пр.). Могут быть доп. признаки. Но это не причина разносить по разным сущностям. LSVНужно иметь серьезные основания, чтоб создавать отдельную сущность-таблицу. "Билет в кино" до таких оснований никак не дотягивает. Это товар или услуга И чем заканчивается LSVКонкретно для продажи билетов нужен ряд вспомогательных таблиц по бронированию и сеансам. Они нужны в любом случае. А карточка товара "билет" нужна только одна (или парочку). Чтоб ее вставить в унифицированный документ продажи. В данном случае у карточки товара крайне малая бизнес-нагрузка. Просто наличие строки и ссылки в чеке. Т.е. все важные для продажи характеристики "билетов в кино" в итоге лежат в отдельных сущностях, в той самой "одной" таблице товаров лежит одна запись-заглушка (при наличии сотен и тысяч единиц ассортимента) - без цены, без информативного для покупателя названия, без характеристик. Осталась в общем-то ерунда - понять что ссылка "в чеке" на один единственный обьект для всех фактов продаж самых разных билетов совершенно неинформативна и в нее ровно с тем же успехом можно писать NULL, а следовательно - запись в таблице товаров "билет в кино" не нужна ни для чего. Ну "поздравляю, Шарик...."(c) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 18:22 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
ViPRosкак вы думаете - почему этот вопрос возникает изо дня в день в течении стольких лет? Потому что люди не умеют моделировать данные :) Есть интересная книга "Business Objects: Re-Engineering for Re-Use" (несмотря на обилие buzzword'ов в названии книга действительно хорошая). В разделе 3.5.1 разбирается подобный пример. В реальности товары, апельсины, стулья, билеты - это разные объекты, которые можно изобразить в виде иерархии (см. концептуальную модель ниже). Но при проектировании БД мы должны схлопнуть эту иерархию одним из двух способов (см. логическую модель ниже). Как именно мы её схлопнем зависит от особенностей СУБД, от запросов, которые мы будем делать, от набора атрибутов у этих объектов и т.п. Если рисовать совсем правильную концептуальную модель, то апельсины, стулья и билеты не всегда являются товарами. Товар - это не основная их сущность, а временная роль, которая возникает в контексте продажи/покупки. Другая их роль - это, например, продукт, которая возникает в контексте производства, и там у них будет уже другой набор свойств и отношений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 06:42 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Ares_ekbЕсли рисовать совсем правильную концептуальную модель, то апельсины, стулья и билеты не всегда являются товарами. Товар - это не основная их сущность, а временная роль, которая возникает в контексте продажи/покупки. Другая их роль - это, например, продукт, которая возникает в контексте производства, и там у них будет уже другой набор свойств и отношений. Ares_ekb, садитесь! 5! Вопрос только останется в том, как лучше реализовать такую правильную концептуальную схему. Пойти можно разными путями. Но если говорить о концепции- в своих проектах я придерживаюсь примерно такой схемы, как вы описали. И она позволяет решать довольно широкий круг задач. Ничего "не прибито гвоздями", это очень сильно развязывает руки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 08:48 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Serguei, правильная реализация правильной концептуальной модели существует, но не всем нравится :) Это 6НФ. Высокая степень нормализации данных продвигается, например, в Data Vault Modeling, Anchor Modeling. Основной плюс в том, что и модель и схема данных слабо зависят от контекста. Если у объекта появляется новая роль, свойство, отношение, то мы существенно не изменяем схему данных, а только добавляем эти новые свойства, связи. Если какое-то свойство больше не нужно, то мы просто перестаем вносить данные в соответствующую таблицу. Ну, короче, если всё правильно проектировать, то модель данных не будет сильно изменяться. А если ещё и хранить данные в максимально нормализованном виде, то даже эти редкие изменения не будут доставлять никаких проблем. Вот, кстати, наша модель данных, тут порядка 3000 объектов и 5000 связей :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 09:40 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Осталась в общем-то ерунда - понять что ссылка "в чеке" на один единственный обьект для всех фактов продаж самых разных билетов совершенно неинформативна и в нее ровно с тем же успехом можно писать NULL, а следовательно - запись в таблице товаров "билет в кино" не нужна ни для чего.В общем случае "ссылка только на товар" все равно недостаточна. Кроме ценообразования в самом товаре (допустим "апельсин" или "хлеб") есть еще внешние факторы: различные скидки, зависящие от инфы в документе продажи. "Билет в кино" это вырожденный случай торговли одним единственным артикулом (одной карточкой, кот. теоретически может быть NULL), для кот. основная инф.нагрузка находится в документе продажи. Такое бывает. Это нормально. В чем собственно суть претензии ? В "карточка не нужна" ? Для универсальных отчетов по продаже будет нужна. Тем более карточка может ссылаться на группу товара, кот. может иметь аналитическую нагрузку в отчетах (н-р отчет по группам товара). Группы могут быть "кинобилеты", "билеты на выставки", "билеты в аквапарк" и т.д. И это будет видно в отчетах. В общем случае ни в одной системе нельзя сделать все карточки товара равнозначными по логике. Всегда будут какие-то особые карточки, у кот. особая аналитика и логика: основные средства, сырьё, полуфабрикаты, ресурсы, услуги и т.д. Для этих карточек особая инфа будет находиться в других таблицах. Но источник "ID товара" все равно будет в одной таблице. Зная тип карточки нет никакой проблемы обработать бизнес-логику индивидуально. Таблица "Справочник товара" это всего лишь: * ID, * Артикул, * Название(я), * Тип карточки, * Группа товара. Всё ! Остальная инфа - в других таблицах (только в простых случаях - в этой же таблице). В некот. случаях можно обойтись одной общей группой таблиц для EAV-параметров (пример: фильтры интернет-магазинов). 2 К.М. : Своей схемы для "апельсин, хлеб, билет в кино" ты так и не показал. Наблюдаю только пустую болтовню и цепляние к терминам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 09:45 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Ares_ekbВот, кстати, наша модель данных, тут порядка 3000 объектов и 5000 связей :) Ни о чем не говорящая картинка ) Или что мы должны ахнуть увидев такое количество объектов? Нас таким не напугаешь ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 09:47 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Serguei, описание этой картинки занимается несколько тысяч страниц текста, причем в значительной степени написанного людьми, а не сгенеренного автоматически. Я его не привожу по понятным причинам. Картинка - просто подтверждение того, что такой подход работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 09:51 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Ares_ekbописание этой картинки занимается несколько тысяч страниц текста, причем в значительной степени написанного людьми, а не сгенеренного автоматически гордимся вами ) Ares_ekbподтверждение того, что такой подход работает Эта картинка абсолютно ничего не подтверждает ))) А ваша база думаю мало кому интересна- у каждого своя специфика, так что правильно делаете, что храните ее в секрете ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 10:01 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
LSV2 К.М. : Своей схемы для "апельсин, хлеб, билет в кино" ты так и не показал. *facepalm* МатроскинИ как-то пока получается, что лучше когда "обычные товары" хранятся в одних таблицах по одной схеме, "билеты в кино" - в других по другой. Как может выглядеть эта "другая схема" - я тоже рассказывал. Поэтому каталога товара в классическом понимании тут вообще не нужно, а нужен некий кубик с измерениями "Кинотеатр", "Фильм", "Сеанс" (+, возможно, "категория места" и что-то еще). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 11:57 |
|
||
|
Сущности
|
|||
|---|---|---|---|
|
#18+
Как может выглядеть эта "другая схема" - я тоже рассказывал."Кубик" это не рассказ :) Как будет выглядеть сводный отчет по продажам по группам товара (допустим есть группа товара "билеты в кено") ? В нем будет отдельный юнион по твоему "кубику" ? Твой кубик - фактически отдельная торговая подсистема. Де-факто - отдельный проект. Повторяю, мы не обсуждаем отдельный проект "билеты" . Нам нужен функционал по продаже билетов внутри большой КИС с разными видами торгового бизнеса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 12:28 |
|
||
|
|

start [/forum/moderation_log.php?user_name=Sav4jul]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 427ms |
| total: | 589ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...