|
|
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
всегда ли определять Number? то есть всегда ли нужно писать, допустим, Number (20,10)? или не заморачиваться с этим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 10:41 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
Решать вам, Но процитирую дядю Тома :) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1619552483055 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 10:52 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
На просто number'е сталкивался, что когда прикладная приложения float в БД пишет... там иногда такие "странности" получаются. Не все NaN (not a number) в прикладных языках совпадают с NaN в Oracle, и не все драйверы в прикладных языках корректно это обрабатывают. Потом очень приятно черти какие записи с NaN'ами, на которых JDBC просто падает, в 100-200 Гб базе отыскивать. Было бы указание размерности/точности у поля, таких глюков бы не было. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 11:01 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
p.s. не JDBC падало, но в Java оно приходило не как NaN, а как черти какое число.... после чего уже падал COPY в PostgreSQL, куда программа это число пыталась вставить.... не помню точно, но как-то очень не приятно было... На всю базу 200 Gb, 4-5 записей таких было. С учетом, что в базе Primary Key были как number'ы из float )))... очень приятно... Первый раз видел БД, где в качестве Primary Key NUMBER, в который пишут float. Как и с каким шагом они его автоинкрементели, х.з., не помню, даже не интересовался. Просто выругался матом и принял как данность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 11:09 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
pgiw99oeoто есть всегда ли нужно писать, допустим, Number (20,10)?Где? Может ли INT-параметр иметь дробную часть? - Увы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 12:52 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
просто я немножко пытался вникнуть, и вроде тип намбер ведет себя как варчар2, т.е. если число короткое, допустим из трех цифр, то пишутся только эти 3 цифры, и память отводится только под эти 3 цифры (ну, может там еще разделитель полей, не суть) поэтому и заинтересовался стоит ли вообще чего-то экономить, не вижу особой разницы между NUMBER и NUMBER(20,10) зы. может я чего-то неправильно понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2017, 16:57 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
pgiw99oeoесли число короткое, допустим из трех цифр, то пишутся только эти 3 цифры, и память отводится только под эти 3 цифры (ну, может там еще разделитель полей, не суть)Дьявол - в деталях. RTFM Numeric Data Types (FAQ) pgiw99oeoстоит ли вообще чего-то экономитьВ нынешнее время этот критерий становится всё менее значимым. pgiw99oeoне вижу особой разницы между NUMBER и NUMBER(20,10)Тип данных должен соответствовать бизнес-понятию. Например, "Количество": как "штуки" должно допускать только целочисленные значения (2,5 книги - бред); как "объём" должно допускать и дробные значения (заказал 30л, а влезло 27,473л). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 08:07 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
ElicТип данных должен соответствовать бизнес-понятию. Например, "Количество": как "штуки" должно допускать только целочисленные значения (2,5 книги - бред); как "объём" должно допускать и дробные значения (заказал 30л, а влезло 27,473л). Неудачный пример. То есть, при складском учете , например, на каждый тип "Количества" свой тип данных закладывать закладывать что ли? ИМХО, бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 13:48 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendi, А check- или ref- constraint-ы прописывать тоже бред? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 18:09 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
coborhcefendi, А check- или ref- constraint-ы прописывать тоже бред? А какое отношение имеет этот вопрос к обсуждаемой теме? Как наличие check- или ref- constraint-ов повлияет на размерность поля Number, заданного при создании таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 19:11 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendi, "Чукча - не читатель"? Выше цитата была: авторThe advantage is a) you have 5 digits only, never more b) you have no decimals, it is an integer type consider it a constraint -- like a primary key, NOT NULL, check, whatever. If your data is such that the number should never be more then 5 digits, the only correct way to implement it would be as a number(5) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 20:20 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
coborhcefendi, "Чукча - не читатель"? Выше цитата была: авторThe advantage is a) you have 5 digits only, never more b) you have no decimals, it is an integer type consider it a constraint -- like a primary key, NOT NULL, check, whatever. If your data is such that the number should never be more then 5 digits, the only correct way to implement it would be as a number(5) Не надо путать кислое с пресным. Указание размерности ограничивает только диапазон хранимых значений, например, не больше 5 знаков. Если же на этот диапазон надо наложить дополнительное правило, например, только положительные значения, то тогда на поле вешают check. Или forerign key, если в поле хранится ссылка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 21:52 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendiНе надо путать кислое с преснымЭто ты ещё зелен. Точность и длина с масштабом - это своего рода ограничения целостности. хранение varchar2 varchar2(255) и varchar2(4000) Необходимо ли указывать на размерность Number при создании полей одна длина varchar2 на все поля ? Вопрос о хранении типа NUMBER ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2017, 22:53 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendiНе надо путать кислое с пресным. Указание размерности ограничивает только диапазон хранимых значений, например, не больше 5 знаков. Если же на этот диапазон надо наложить дополнительное правило, например, только положительные значения, то тогда на поле вешают check. Или forerign key, если в поле хранится ссылка.Это тебе не надо выдумывать виртуальное разделение integrity constraints. Указание точности типа данных также как check или not null constraint это дополнительное ограничение целостности на данные. При этом, при указании типа надо указывать ограничение настолько жестко насколько это возможно и необходимо. Например, если необходимо указать, что строка должна быть от 1 до 5 символов это можно сделать так Код: plsql 1. 2. 3. 4. 5. а особо творческие личности могут сделать так Код: plsql 1. 2. 3. 4. 5. 6. 7. С точки зрения логики можно считать идентичным, но если можно обойтись без check - лучше обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 00:49 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
ElicТочность и длина с масштабом - это своего рода ограничения целостности. К сожалению точность - не ограничение. С указанной точностью происходит округление, сиречь искажение сохраняемых значений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 09:43 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendiТо есть, при складском учете , например, на каждый тип "Количества" свой тип данных закладывать закладывать что ли? ИМХО, бред. Не бред а профессиональный подход к проектированию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 09:46 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
3.1415К сожалению точность - не ограничение. С указанной точностью происходит округление, сиречь искажение сохраняемых значений. Меня, к слову, весьма люто от этого бомбит. Вплоть до того, что я предложил бы в ряде случаев ограничивать точность именно чеками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 09:56 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
3.1415ElicТочность и длина с масштабом - это своего рода ограничения целостности.К сожалению точность - не ограничение. С указанной точностью происходит округление, сиречь искажение сохраняемых значений.Я малость не так написал. Точность с масштабом и длина. Т.е. в паре. В number(38, 38) ты не влезешь как ни округляй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 09:57 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
XMLerefendiТо есть, при складском учете , например, на каждый тип "Количества" свой тип данных закладывать закладывать что ли? ИМХО, бред. Не бред а профессиональный подход к проектированию. Ну, давай, прояви профессиональный подход к проектированию, и покажи на примере Elic-a, сколько должно быть полей для учета количества различных видов материалов на складе и какой они должны быть размерности? И как скажем будет выглядеть запрос для подсчета общей стоимости всех материалов на складе? ElicТип данных должен соответствовать бизнес-понятию. Например, "Количество": как "штуки" должно допускать только целочисленные значения (2,5 книги - бред); как "объём" должно допускать и дробные значения (заказал 30л, а влезло 27,473л). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 13:08 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
ElicefendiНе надо путать кислое с преснымЭто ты ещё зелен. Точность и длина с масштабом - это своего рода ограничения целостности. efendi Указание размерности ограничивает только диапазон хранимых значений, например, не больше 5 знаков. И что я сказал не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 13:11 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendiсколько должно быть полей для учета количества различных видов материалов на складе и какой они должны быть размерности?Хоть это и оффтоп, но на складах хранят исчислимые материалы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 13:13 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendiсколько должно быть полей для учета количества различных видов материалов на складе и какой они должны быть размерности? Два? number(9) для количества и number(<=9) для ссылки на единицу измерения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 13:28 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendi, імхо, склад складу рознь, напр металлобаза и аптечный зы imho, для склада явно не int ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 13:35 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
stax..зы imho, для склада явно не int ..... stax не скажи, может там все в штуках меряется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 13:50 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
123ййstax..зы imho, для склада явно не int ..... stax не скажи, может там все в штуках меряется трудно представить, всегда найдутся умельцы выдать пол рулона, чверть бутылки, 5таблеток из пачки и тд .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 13:54 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
Elicefendiсколько должно быть полей для учета количества различных видов материалов на складе и какой они должны быть размерности?Хоть это и оффтоп, но на складах хранят исчислимые материалы. С этим никто не спорит. Исчислимость - это основа основ складского и материального учета. Вопрос, как правильно учесть количество и не смешать "штуки" с "объемом"? Навскидку два пути: 1. Разнести учет "штучного" и "объемного" товаров разные поля и установить ограничение целостности с помощью размерности и точности средствами БД. 2. Завести безразмерное поле и дополнительно повесть признак "шуточности/объемности" или "размерности" на единицу измерения и выполнять контроль через этот признак. Первый путь более трудоемок, ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 14:02 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
stax..123ййпропущено... не скажи, может там все в штуках меряется трудно представить, всегда найдутся умельцы выдать пол рулона, чверть бутылки, 5таблеток из пачки и тд .... stax Имелось в виду, что на складе могут быть товары учет которых ведется как в штуках (целочисленный учет), так и в тоннах, метрах, литрах, килограммах (дробный учет). А еще есть, например, учет ГСМ - оприходывают в тоннах, а отпускают в литрах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 14:06 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
stax..всегда найдутся умельцы выдать пол рулона, чверть бутылки, 5таблеток из пачки и тд .... stax или "пол рулона" - 2шт или "пол рулона" - неучтенка. что больше нравиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 14:08 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendi что на складе могут быть товары учет которых ведется как в штуках (целочисленный учет), так и в тоннах, метрах, литрах, килограммах (дробный учет). А еще есть, например, учет ГСМ - оприходывают в тоннах, а отпускают в литрах... Если Вы ведете учет, я полагаю, Вам будет важно чтобы то, что поступило, совпадало с тем, что израсходовалось. Именно по этой причине вам следует отказаться от операций с плавающей точкой в пользу целочисленной арифметики - чтобы не терять на округлениях. Если Вы работаете не в гомогенной среде (только оракл от входа да выхода), а сколь нибудь гетерогенной, я полагаю, Вы должны быть заинтересованы избегать использования целочисленных значений, которые не могут быть представлены в int32 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 14:16 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendistax..пропущено... трудно представить, всегда найдутся умельцы выдать пол рулона, чверть бутылки, 5таблеток из пачки и тд .... stax Имелось в виду, что на складе могут быть товары учет которых ведется как в штуках (целочисленный учет), так и в тоннах, метрах, литрах, килограммах (дробный учет). А еще есть, например, учет ГСМ - оприходывают в тоннах, а отпускают в литрах... приходилось с ГСМ (заправки) работать реально (правда на фоксе) там действительно интересно, и от температуры зависит ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 14:24 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
efendiXMLerпропущено... Не бред а профессиональный подход к проектированию. Ну, давай, прояви профессиональный подход к проектированию, и покажи на примере Elic-a, сколько должно быть полей для учета количества различных видов материалов на складе и какой они должны быть размерности? И как скажем будет выглядеть запрос для подсчета общей стоимости всех материалов на складе? Я не про поля, я про типы данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 14:28 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
Основной философский вопрос тут - кто и как контролирует ограничения целостности. К примеру, не редкость применение БД как "мешка с данными" - это когда за целостностью следит приложение. Не всегда эффективный подход, но сейчас не об этом. В такой парадигме разработки сидит команда джавистов/сишников/пхпшников (нужное добавить/подчеркнуть), "пидалит код" и по необходимости гуглит sql-запросы. Если в этой команде заводится "констрэйнт-наци", который лепит в БД все-все ограничения в меру собственного понимания - то разработка сначала становится заметно дороже, а в конечно итоге может запросто встать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 14:34 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousОсновной философский вопрос тут - кто и как контролирует ограничения целостности.В нормальной ситуации дожен вроде как data architect, data modeller или типа того. Хотя не смотря на наличие множества вакансий типа data modeller в забугорье, это несколько абсурдная должность. Нельзя моделировать что-то по 8 часов в день целый год и больше. И главный момент - у модели должен быть один владелец, который подтверждает изменения если их делают творческие личности. andrey_anonymousВ такой парадигме разработки сидит команда джавистов/сишников/пхпшников (нужное добавить/подчеркнуть), "пидалит код" и по необходимости гуглит sql-запросы.И как известны успешные примеры внедрения и эксплуатации при более-менее серьезных нагрузках? Мне не попадались ни разу успешные проекты, в которых нет хотя бы одного человека среди разрабов, который cares about data. andrey_anonymousЕсли в этой команде заводится "констрэйнт-наци", который лепит в БД все-все ограничения в меру собственного понимания - то разработка сначала становится заметно дороже, а в конечно итоге может запросто встать.Про вставшее это на личном опыте или фантазия? Лепить надо не из собственного понимания а исходя из реалий. В Оракле есть error logging и при анализе данных из таблицы ошибок либо правятся исходные данные либо меняются constrains. Я в курсе, что тебе это известно, порсто было сказано к тому, что существующие инструменты сильно упрощают и в итоге ускоряют разработку и улучшают data quality. В Hadoop нет integrity constrains и должен сказать это полнейший ад. Разработка идет не в 2 раза медленее по сравнению с Ораклом, а в 5-10 раз медленее и постоянно надо чистить мусор, упрощать и стандартизировать подходы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 16:33 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopИ как известны успешные примеры внедрения и эксплуатации при более-менее серьезных нагрузках? Ви таки будэтэ смеяться - но да, мне известны успешные примеры внедрения систем под нагрузкой, не содержащих ref constraints и PK :) Даже not null - строго по необходимости, чтобы индексы цеплялись. И разумеется, это не тот случай, когда nobody cares data - просто модель данных определяет приложение и за целостностью следит оно же. Доступ к данным со стороны "третьих лиц" мимо интерфейсов приложения (EAI) - разумеется, табу, но слегка ослабленное для целей репортинга. Ограничения целостности на уровне БД в такой системе - просто двойной ценник на доработки модели. Одна из таких систем, с которой я успел познакомиться "коротко", уже много лет принадлежит любимому вендору. В другой я был в команде разработчиков время назад. Ну и так - рядом стоял - еще с парочкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 17:07 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, слышал что oracle suite (или как там правильно), почти без констраинтов (ФК) живет ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 17:48 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
не забываем про SIEBEL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 17:56 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
stax..andrey_anonymous, слышал что oracle suite (или как там правильно), почти без констраинтов (ФК) живет ..... stax OeBS Developer's Guide Cascade Delete and Foreign Key Constraint Do not use the Declarative Cascade Delete or the Foreign Key Constraint when defining tables. Cascade Delete does not work across distributed databases, so you should program cascade delete logic everywhere it is needed. To implement a referential integrity check, create a PL/SQL stored procedure which takes the table unique key(s) as its argument(s) and raises an exception if deleting the row would cause a referential integrity error. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 18:24 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
CRM тожене забываем про SIEBEL Забудешь про него... Скоро в каждом утюге торчать будет :) Но уважаемый коллега спрашивал про нагруженные системы, а записная книжка - это все-таки записная книжка, пусть даже временами монструозная, и в нагруженном варианте мне ее встречать не доводилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2017, 22:06 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousзаписная книжкаНу книжка не книжка - а у нас 3000 человек в неё пишут одновременно. А где нижний предел высоконагруженности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:13 |
|
||
|
всегда ли определять Number?
|
|||
|---|---|---|---|
|
#18+
Это же бубль гумandrey_anonymousзаписная книжкаНу книжка не книжка - а у нас 3000 человек в неё пишут одновременно. А где нижний предел высоконагруженности? От инфраструктуры зависит. Ну и - я не говорил что их не существует - я говорил, что мне не встречались . А так я, безусловно, слышал, что бывают высоконагруженные системы подобного рода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:29 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1885699]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 389ms |

| 0 / 0 |
