|
|
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
Добрый день. Сразу уточню, что новичок в проектировании. Столкнулся вот со сложной для моего понимания задачей. Хотя она и простая вроде бы. Рассматривается пример с торговым автоматом, торгующим напитками в бутылках. Требуется спроектировать базу, с помощью которой можно было бы продавать напитки по следующим условиям: 1. Деньги покупателя падают в отдельный кошелек. 2. Имеется кошелёк автомата с запасом монет. 3. Продажа осуществится при удовлетворении 3 условий: денег в кошельке клиента достаточно для выбранного напитка, напиток существует и его достаточно, в кошельке автомата достаточно монет для сдачи. 4. Естественно, после продажи деньги из кошелька клиента переходят в кошелёк автомата, но не ранее. Вопрос для меня состоит в том, чтобы грамотно создать таблицы и - ГЛАВНОЕ - связи между ними. Алгоритм я понимаю и процедуры дают правильные результаты. Однако нужно представить диаграмму БД. И тут только я понял, что чего-то не улавливаю. Диаграмму БД прикладываю. Она без связей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2015, 15:58 |
|
||
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
kansВопрос для меня состоит в том, чтобы грамотно создать таблицы и - ГЛАВНОЕ - связи между ними. В данном случае таблицы не нужны, это задача не для реляционной БД. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2015, 16:01 |
|
||
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
Во-первых, не увидел в таблицы с выбранными напитками, хотя в задании про них чего-то там говорится kans3. Продажа осуществится при удовлетворении 3 условий: денег в кошельке клиента достаточно для выбранного напитка, потому интересно посмотреть на процедуры, которые работают и самостоятельно определяют чего хочет клиент. Во-вторых, вообще учитывая, что kansАлгоритм я понимаю и процедуры дают правильные результаты. хотелось бы посмотреть все процедуры, например как автомат считает количество денег, которые закинул клиент в свой кошелёк, как из кошелька автомата выдаётся сдача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 06:36 |
|
||
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
Суррогатные ключи опускаю. Код: plaintext 1. 2. 3. 4. 5. Если делать на перспективу, то завести еще и Код: plaintext 1. 2. Куда движения будут порождаться автоматически на основании продажи и пополнения кошелька, и которые будут менять текущий остаток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 08:31 |
|
||
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы! По поводу выложить процедуру - это решение для тестового задания. Если я его сейчас выложу, то могу быть дисквалифицирован. Да и по самой идее теста ведь я его должен пройти сам, пусть даже если решение и не верно. Уточню, что решение о напитке процедура не принимает. В процедуру приходит выбор покупателя из внешнего ПО, то есть внешняя переменная. В моём случае - строковая. Монеты в кошелёк покупателя на этот момент уже положены и процедура только проверяет состояние строк таблицы с соответствующими идентификаторами. То есть в этом плане задачка для первоклассника, как я и говорил. Далее, исходя из цены напитка и количества денег в обоих кошельках, принимается решение о возможности/невозможности сделки и в случае возможности выдаётся сдача из кошелька автомата по "жадному" алгоритму. Насчёт приведённой схемы БД: такой подход более похож на интернет торговлю, чем на уличный автомат. Однако тут получаются связанные таблицы, о чем я и спрашивал. Спасибо большое за помощь! Возможно стоит притянуть за уши автомат к интернет торговле с "личными счетами" пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 09:48 |
|
||
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
Гхостик, думается мне, что таблица с именами покупателей тут совсем лишняя. P.S. Обычно, когда покупаешь бутылку газировки в автомате, то автомат требует только денег не спрашивая имени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 09:51 |
|
||
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineГхостик, думается мне, что таблица с именами покупателей тут совсем лишняя. P.S. Обычно, когда покупаешь бутылку газировки в автомате, то автомат требует только денег не спрашивая имени. Я иначе интерпретировал "Деньги покупателя падают в отдельный кошелек" - как то что кошелек привязан к покупателю, типа терминалов оплаты с идентификацией. Немного подумав, похоже что в автомате просто два кошелька. Да, тогда таблички будут другие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 10:00 |
|
||
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
kans, ну собственно говоря, понятно. Действительно, сначала кидаешь монетки, затем нажимаешь кнопку с названием напитка. А по связям тебе Дмитрий уже ответил: никаких связей тут нет, задача не по теме реляционных БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 10:04 |
|
||
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
Гхостик, прошу прощения, не подумал, что эта фраза может быть понята двояко. Я конечно имел в виду, что в автомате есть два кошелька: кошелёк автомата и кошелёк покупателя. Но у всех покупателей кошелёк конечно один и тот же, поскольку они покупают воду по очереди и с каждым операция доводится до конца, то есть до опустошения кошелька покупателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 10:04 |
|
||
|
Не могу сообразить про связи таблиц
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineГхостик, думается мне, что таблица с именами покупателей тут совсем лишняя. P.S. Обычно, когда покупаешь бутылку газировки в автомате, то автомат требует только денег не спрашивая имени. А было бы удобно, скажем, внести а автомат некий аванс с получки, а затем пусть автомат распознает посетителя (можно просто в лицо), и выдает напитки в счет аванса. Если покупатель прилично выглядит - то можно и в кредит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 11:59 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=17&tid=1540414]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 353ms |

| 0 / 0 |

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