формат numeric | |
---|---|
danton1973 Автор Сообщений: 143 Откуда: Пермь Дата регистрации: 10.08.2020 |
Насколько оправдано хранение чисел в таблице в формате numeric? Насколько я понимаю - это хранение числа в текстовом виде. Т.е. при обращению к значению поля, каждый раз происходит преобразование val()-str(). Получается удобнее хранить в виде Integer, Double, Float, и быстрее при работе.
Правда при это надо будет учитывать:
|
Re: формат numeric | |
---|---|
akvvohinc Сообщений: 4203 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:1) отдельного формата Float не существует - это просто синоним формата Numeric (для обратной совместимости). 2) "удобнее хранить" - не знаю, в чем это выражается, я не думаю об этом при работе над задачей, а значит, мне одинаково удобен/не удобен любой из этих форматов. 3) "быстрее при работе" - это еще надо "доказать" - в конце концов в таблице все значения представляют собой просто некоторое количество байтов (символов), с которыми выполняются какие-то действия при считывании в память. И это явно не Фоксовские функции VAL()/ STR(). 4)
Даже не знаю, где вы такое прочитали - функция VARTYPE() для всех ваших типов возвращает только 'N'. 5) формат Integer стоит здесь особняком - вы не можете напрямую им пользоваться для хранения нецелых чисел, тогда уж лучше вести речь о Currency при противопоставлении его Numeric (я именно так и делаю, если количество десятичных знаков не превышает 4 - использую Currency). Я полагаю, что никто и не пользуется Numeric в тех случаях, когда можно использовать Integer. Такое могло сохраниться лишь как рудимент с тех времен, когда формата Integer не существовало. Исправлено 3 раз(а). Последнее : akvvohinc, 05.10.21 14:31 |
Re: формат numeric | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Для значения к примеру от 0 до 9 можно использовать Integer? Можно. Но N(1) компактней. Так что "полагать" в данном случае выглядит двусмысленно: думать; лагать или нести лажу. Исправлено 1 раз(а). Последнее : Taran, 05.10.21 22:34 |
Re: формат numeric | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Help - VARTYPE: 'O' - Object 'N' - Numeric, Float, Double, or Integer ? Исправлено 3 раз(а). Последнее : Ydin, 05.10.21 20:47 |
Re: формат numeric | |
---|---|
akvvohinc Сообщений: 4203 Откуда: Москва Дата регистрации: 11.11.2008 |
Значит, я ошибся в своем предположении. Тогда скажу про себя - я никогда не стану пользоваться N(1) только потому, что так компактнее. Гораздо существенней, что редко когда можно быть уверенным, что N(1) за время жизненного цикла проги не превратится в N(2) или более. И тогда более чем вероятно, что изменениями только структуры (хотя и это совсем не подарок) здесь не обойдётся. Ну, и кому тогда нужны эти несколько процентов компактности? Уже ж не 80-е и даже не 90-е годы. |
Re: формат numeric | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Вот жеж блин, не споришь. Я зацепить хотел в отместку за макро. Не проканало. Ну тогда N(1) Банальный табель оценок. Колонок и строк мильен и разрядность никогда не повысится. А экономия м.б. существенна. Ну и пр. |
Re: формат numeric | |
---|---|
akvvohinc Сообщений: 4203 Откуда: Москва Дата регистрации: 11.11.2008 |
Я - "опытный пессимист", и таким словам не верю by default. |
Re: формат numeric | |
---|---|
danton1973 Автор Сообщений: 143 Откуда: Пермь Дата регистрации: 10.08.2020 |
|
Re: формат numeric | |
---|---|
akvvohinc Сообщений: 4203 Откуда: Москва Дата регистрации: 11.11.2008 |
Этот тип данных называется Currency. В вашем "списке" его не было. Исправлено 2 раз(а). Последнее : akvvohinc, 06.10.21 09:46 |
Re: формат numeric | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Во-первых зачем такого рода табель хранить с "мильёном колонок", если достаточно всего одной? Во-вторых "оценки" в той же РБ сейчас идут по 10-балльной шкале. Есть страны где в ходу 100-балльная система. Где-то вообще буквами оценивают. Так что "разрядность никогда не повысится" - это необоснованное допущение, которое многократно опровергается практикой. ------------------ WBR, Igor |
Re: формат numeric | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Ай, да я "догадываюсь" что в данном случае достаточно одной колонки. Че умничать то? Да и про "хранить" я не говорил. Варианты могут быть всякие. Или че, матрицу для вязания крестиком подставки под стакан тоже в одной колонке хранить? Денормализация иногда бывает нужна и полезна. .. А разве в N(1) не поместится десятибальная оценка? .. Есть много всяких стран, и как оценить что поставить 56 или 57 при 100 бальной системе? Оценки в буквах тут вообще к чему? Они пишутся в Integer? Че всякую чушь собирать со всего мира и думать о гипотетических расширениях? Хренак и гиперинфляция. Так сколько знаков надо. Я говорю про "здесь и сейчас". Или все символьные всегда надо делать C(255)? Все по обстоятельствам и со здравым смыслом, закладывая некоторый запас на обозримое будущее. Что-то я не видел на городских машинах бензобак как у дальнобоев. Исправлено 1 раз(а). Последнее : Taran, 06.10.21 22:27 |
Re: формат numeric | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
() умных скопилось слишком много, потому и фокс прикрыли )
|
Re: формат numeric | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Надо что-то делать? |
Re: формат numeric | |
---|---|
akvvohinc Сообщений: 4203 Откуда: Москва Дата регистрации: 11.11.2008 |
Нет. |
Re: формат numeric | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
И опять мимо. Либо оценки нет и нет соотв. ячейки либо в ней Null. Либо 10 вариантов от 0 до 9. А при выводе на экран добавляем единицу. |
Re: формат numeric | |
---|---|
akvvohinc Сообщений: 4203 Откуда: Москва Дата регистрации: 11.11.2008 |
Это подлог. Null не хранится в N(1) и тоже требует памяти. Так что если вопрос "чисто теоретический", то я могу хранить в N(1) 2^8 = 256 значений, не считая твоего Null. Цитата:А при такой постановке вопроса ни N(1), ни даже N(2) вообще не нужны - используй C(1), "а при выводе на экран преобразуй хранимое в желаемое". Исправлено 1 раз(а). Последнее : akvvohinc, 07.10.21 00:41 |
Re: формат numeric | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
256 значений в одном байте это не новость. Только не N(1), а C(1) binary. Или типа. |
Re: формат numeric | |
---|---|
akvvohinc Сообщений: 4203 Откуда: Москва Дата регистрации: 11.11.2008 |
Если рамки дозволенного определяю я, то я могу хранить эти 256 в поле N(1), а как при этом я буду выводить значение на экран - моя проблема - справлюсь. |
Re: формат numeric | |
---|---|
akvvohinc Сообщений: 4203 Откуда: Москва Дата регистрации: 11.11.2008 |
Кстати, я предполагал, что ты предложишь записывать "лишнее" значение напрямую, то есть как 10, глуша ошибку переполнения.
Тогда тебе не потребуется поле под Null. |
Re: формат numeric | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Ну я конечно наивен и глуп, но не настолько. Про Null забудем. Не удачный пример. Нет оценки - значит просто нет записи. |
© 2000-2024 Fox Club  |