Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Организация данных которые имеют разные единицы из 
:(
    Опции темы
dimqw31
Дата 29.10.2010, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 25.10.2010

Репутация: нет
Всего: нет



Уважаемые форумчане, встал новый вопрос по схеме данных..
У меня есть данные которые имеют разные единицы измерения.

Допустим в штуках, граммах, мешках и т.д.
В таблице есть колонка с именем параметра и колонка с его количеством. В колонке с количеством как раз и будут разные ед. измерения. Это усложнит алгоритм поиска информации в БД.
Может есть какие-то стандартные методы для более эффективной реализации схемы данных.
Или предается уже пользоваться логикой приложения, чтобы переводить все данные для формирования запроса..(делать конвертер), или сделать дополнительную колонку в табл. ЕД. ИЗМЕРЕНИЯ (тогда как тогда запрос составить?)....

Допустим мне в запросе надо найти гвозди и шурупы в определенном количестве.. Я задаю значение
2 (но в одном случаи полается два мешка, а в другом два ящика). Как лучше реализовать схему данных и запросы..?

гвозди - в шт, в килограммах, в мешках, в коробках
шурупы - в шт, в килограммах, в мешках, в коробках 
PM MAIL   Вверх
Akina
Дата 29.10.2010, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Таблица-словарь единиц измерения и таблица коэффициентов перевода для совместимых единиц измерения.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Frees
Дата 29.10.2010, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 2
Всего: 54



Цитата(dimqw31 @  29.10.2010,  16:16 Найти цитируемый пост)
В таблице есть колонка с именем параметра и колонка с его количеством

добавь ссылку на ед. измерения.


Цитата(dimqw31 @  29.10.2010,  16:16 Найти цитируемый пост)
Допустим мне в запросе надо найти гвозди и шурупы в определенном количестве..

указывать пири поиске кол-во и ед. измерения.

или нужен се*с с конвертацией коробок в мешки?

Добавлено через 53 секунды
Цитата(Akina @  29.10.2010,  16:30 Найти цитируемый пост)
 коэффициентов перевода для совместимых единиц измерения.

только для каждой позиции свои соотношения 


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Deniz
Дата 29.10.2010, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 7
Всего: 44



Вообще-то есть общепринятые единицы измерения.
Цитата(Frees @  29.10.2010,  15:31 Найти цитируемый пост)
только для каждой позиции свои соотношения
дополню: и судя по всему отношения эти будут в извращенной форме, камасутра отдыхает.
Особенно интересно будет посмотреть изменения в поставках, в зависимости от времени (сегодня в ящике 10кг а завтра 15кг)


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akina
Дата 29.10.2010, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Цитата(Deniz @  29.10.2010,  15:38 Найти цитируемый пост)
 интересно будет посмотреть изменения в поставках, в зависимости от времени (сегодня в ящике 10кг а завтра 15кг) 

Ничего сложного. 

Id 1
КороткоеИмя ящик
ПолноеИмя ящик 15 кг

Id 2
КороткоеИмя ящик
ПолноеИмя ящик 10 кг

Id 3
КороткоеИмя кг
ПолноеИмя килограмм

----------------

Id 1
Id1 1
Id2 3
K 15

Id 2
Id1 2
Id2 3
K 10

Id 3
Id1 3
Id2 1
K 0,066666666666666666666666666666667

Id 4
Id1 3
Id2 2
K 0,1




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
_Y_
Дата 1.11.2010, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: нет
Всего: 34



Что-то стойкое у меня подозрение, что данные должны быть приведены к одним и тем же единицам измерения до занесения в БД. Это правило было еще до существования БД  и отностилость к таблицам на бумаге. Иначе путаница гарантирована.

Я бы приводил к весу, как к наиболее универсальному из перечисленных (например, к углеродным единицам smile).

Другая же таблица может содержать единицы хранения и их соотношение с весом.

Ну а интерфейс должен предлагать юзеру возможность задавать вопросы и получать ответы хоть в 15-килограммовых рюмках, хоть в 26-каратных ящиках. Лишь бы такие величины во второй таблице были.

Это сообщение отредактировал(а) _Y_ - 1.11.2010, 00:09


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Deniz
Дата 1.11.2010, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 7
Всего: 44



Цитата(Akina @  29.10.2010,  16:46 Найти цитируемый пост)
Ничего сложного.
Сложного может и не много, пока, но сразу видны грабли:
Цитата(Akina @  29.10.2010,  16:46 Найти цитируемый пост)
Id 3
Id1 3
Id2 1
K 0,066666666666666666666666666666667
это точно где-нибудь выстрелит (имеется ввиду значение К).
Все нужно приводить к единым системам исчисления.
Про ящики: можно сделать дополнительное поле/поля в приходе Тара/Упаковка/ и т.д.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akina
Дата 1.11.2010, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Цитата(_Y_ @  1.11.2010,  01:07 Найти цитируемый пост)
Что-то стойкое у меня подозрение, что данные должны быть приведены к одним и тем же единицам измерения до занесения в БД. Это правило было еще до существования БД  и отностилость к таблицам на бумаге. Иначе путаница гарантирована.

У меня есть иное стойкое убеждение - в базе данных данные хранятся строго в той форме, в какой они присутствуют в первичном документе.
Пожалуйста, при вводе выполняй приведение и клади приведённые данные в эту же или другую таблицу, и используй их, и не исходные - но исходник изволь сохранить.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
_Y_
Дата 2.11.2010, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: нет
Всего: 34



Цитата(Akina @  1.11.2010,  08:45 Найти цитируемый пост)
но исходник изволь сохранить. 
 А я согласная. Но только в папочке в виде исходной бумажки или ее ксерокопии. smile 

Данные, введенные руками (а именно это, как понимаю, и предполагается в данной задаче), никак не являются исходным документом.  Потому как именно стадия ручного ввода и есть основной источник ошибок (слаб человек  smile)



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Akina
Дата 2.11.2010, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Цитата(_Y_ @  2.11.2010,  13:17 Найти цитируемый пост)
в папочке в виде исходной бумажки или ее ксерокопии.

Тебя надо пару раз послать в архив на поиск подшитой в папочку бумажки десятилетней давности. Для корректировки мировоззрения.

Цитата(_Y_ @  2.11.2010,  13:17 Найти цитируемый пост)
Данные, введенные руками (а именно это, как понимаю, и предполагается в данной задаче), никак не являются исходным документом.

Эти данные должны быть точной копией исходного документа. В оптимуме - даже с сохранением внешнего вида.

Цитата(_Y_ @  2.11.2010,  13:17 Найти цитируемый пост)
именно стадия ручного ввода и есть основной источник ошибок 

Именно блок входного контроля данных и есть основной головняк любого программиста подобных систем.

PS. Сколько времени я убил на то, чтобы заставить разработчика сделать входной контроль кадровой программы и исключить возможность приёма на работу трёхмесячных младенцев и 130-летних стариков...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 2.11.2010, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(Akina @  2.11.2010,  12:25 Найти цитируемый пост)
даже с сохранением внешнего вида.

 smile 
И даже с сохранением ошибок ввода оператора контрагента, ну и всяких там погрешностей, вызванными различиями алгоритмов округления.

Это сообщение отредактировал(а) Zloxa - 2.11.2010, 13:25


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 2.11.2010, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Цитата(Zloxa @  2.11.2010,  14:24 Найти цитируемый пост)
И даже с сохранением ошибок ввода оператора контрагента

Всенепременно!
Исходный документ в бумаге - это догма. И "что написано пером"... оператор НЕ ИМЕЕТ ПРАВА вносить изменения в исходные данные - даже если неверность этих данных очевидна и ежу. Он имеет право отклонить документ или обратить внимание ответственного на ошибку - но не более.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
_Y_
Дата 2.11.2010, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: нет
Всего: 34



Цитата(Akina @  2.11.2010,  12:25 Найти цитируемый пост)
...данные должны быть точной копией исходного документа. В оптимуме - даже с сохранением внешнего вида.
 Здесь я тоже согласная. И лучше в виде скана.

В целом же спорить не буду - если важна именно архивация данных - будь по-творему smile 

Цитата(Akina @  2.11.2010,  12:25 Найти цитируемый пост)
Цитата(_Y_ @  2.11.2010,  13:17 )
Тебя надо пару раз послать в архив на поиск подшитой в папочку бумажки десятилетней давности. Для корректировки мировоззрения.


ОФФ №1. Архивариус сказал бы так: Тебя надо пару раз к компьютерщикам послать на поиск информации десятилетней давности. Для корректировки мировоззрения. smile 

ОФФ №2. Решил я недавно раздобыть свою трудовую книжку. Лежала она там, куда лет 15 не ступала нога этого конкретного человека. Кадровики послали в архив. Захожу. Комната - пенал 10х5х2 метров (причем 5 это высота). Стелажи обвалившиеся. Старушенция в очках +25. Излагаю кратко проблему. Минуту пыхтя лезет вверх по лестнице. Еще пол-минуты спускается уже с трудовой. Еще секунд 20 на расписаться в откуда-то извлеченном формуляре. И не поверишь - книжку получил именно свою, а не чужую. smile 


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0898 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.