|
Тип данных ресурса | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
Phil_McLaren
26.02.13
✎
07:33
|
Добра!
Заспорили тут, да рассудит нас миста Создается РС, у кого в одном из ресурсов может храниться справочникСсылка или число. Я считаю, что нужно делать ресурс составного типа, мой коллега - что заводить два ресурса разных типов и сравнением числового с 0 (в запросах и вне их) понимать, где лежит реальное значение. Погуглил, с ходу официальных рекомендаций не нашел Мнения? Замучу голосование, пожалуй, вдруг все окажется не проще пареной репы) |
|||||||
1
skunk
26.02.13
✎
07:34
|
а нулл проверять не судьба?
|
|||||||
2
Phil_McLaren
26.02.13
✎
07:38
|
(1) да проверять-то можно как угодно, вопрос не в этом, а в решении проверять ли вообще или использовать "выразить", в запросах например. В наборе записей и того проще с составным
Проблемы нет, я не спрашиваю совета, я спрашиваю мнения, как вы в таких случаях строите регистр |
|||||||
3
skunk
26.02.13
✎
07:44
|
по мне оба варианта какие-то не очень ... в обоих случаях идет денормализация базы ... стоит ли задача того
|
|||||||
4
Phil_McLaren
26.02.13
✎
07:48
|
(3) и на ваш взгляд как же быть?
|
|||||||
5
Phil_McLaren
26.02.13
✎
08:21
|
ап
вяло, миста, вяло. Я не вижу ваших мнений |
|||||||
6
Rovan
гуру
26.02.13
✎
08:23
|
(5) в 1м варианте выигрываешь в использовании места и в удобстве программирования,
во 2м в скорости работы с данными Так что вопрос из серии "Что больше - час или километр ?" |
|||||||
7
aka AMIGO
26.02.13
✎
08:30
|
"регистр строится" под конкретную задачу.. вернее, под ситуацию.
а так - только пустотрясение пространства. |
|||||||
8
Тролль главный
26.02.13
✎
08:34
|
а если нужно хранить именно 0?
|
|||||||
9
patapum
26.02.13
✎
08:42
|
(0) в ресурсе хранится справочник ссылка или число - хреновый регистр. постановку задачи в студию!
|
|||||||
10
Steel_Wheel
26.02.13
✎
08:43
|
(0) Объектный тип лучше примитивного, т.к. при построении индекса значение примитивного типа полностью включаеся в индекс, от чего индекс становится большим
|
|||||||
11
Fragster
гуру
26.02.13
✎
08:44
|
(10) при составном типе индекс по 2-м колонкам вообще
|
|||||||
12
Fragster
гуру
26.02.13
✎
08:44
|
(9) ихобретают доп.свойства, наверное
|
|||||||
13
Fragster
гуру
26.02.13
✎
08:44
|
изобретают
|
|||||||
14
1Сергей
26.02.13
✎
08:45
|
в любом случае, физически колонок становится больше одной
|
|||||||
15
Тролль главный
26.02.13
✎
08:45
|
(10) чем это индекс по целочисленному полю хуже индекса по UUID?
|
|||||||
16
Phil_McLaren
26.02.13
✎
08:45
|
(6) не думаю, что это час или километр. все-таки это два подхода к реализации одной простой задачи. никакой катастрофы в любом случае не будет, просто интересно, какой вариант следует выбрать "по канону", так сказать
(7), (9) точнее - это тип цены или цена, извлекаться будет пока только из реализации и заказа. вряд ли контекст так уж важен. Боюсь вдаваться в детали, ветка легко может уйти в сторону (8) точно не нужно |
|||||||
17
Тролль главный
26.02.13
✎
08:47
|
(16) вариант №3
три ресурса: 1. перечисление ТипХранимогоРесурса 2. число 3. ссылка |
|||||||
18
1Сергей
26.02.13
✎
08:47
|
(6) см (14)
|
|||||||
19
Phil_McLaren
26.02.13
✎
08:48
|
(14) вот мне как раз это и не нравится. Логически значение одно, если нет технических "НО", то не вижу смысла класть его в два хранилища.
|
|||||||
20
Тролль главный
26.02.13
✎
08:48
|
(6) выигрыш в использовании места - вранье
|
|||||||
21
ДенисЧ
26.02.13
✎
08:49
|
справочник.
три реквизита - тип, ссылка, число. В РС - ссылка на этот справочник. |
|||||||
22
Тролль главный
26.02.13
✎
08:49
|
(21) для всех цен? круто
|
|||||||
23
1Сергей
26.02.13
✎
08:49
|
(19) представь, если бы ты программировал не на 1С, а на чём-то другом подключенном к SQL. Где нет составных типов
|
|||||||
24
1Сергей
26.02.13
✎
08:50
|
(21) а смысл? если, например, каждая запись будет уникальной
|
|||||||
25
Steel_Wheel
26.02.13
✎
08:53
|
(15) Отсутствием масштабируемости. Например, нам надо завести еще один реквизит в этом "справочнике" или доп. характеристику. Колонка со ссылкой -- по прежнему одна, а колонка с доп. реквизитом идет в наш индекс.
(11) Еще лучше :) (16) По "канону" сделать "обертку": - легко расширять - индекс в регистре не пухнет |
|||||||
26
Тролль главный
26.02.13
✎
08:54
|
(25) а то, что для каждой цены отдельный элемент справочника, причем для одинаковых цен разного товара нельзя использовать скорее всего один и тот же элемент
|
|||||||
27
patapum
26.02.13
✎
08:57
|
(16) сделай еще один тип цены "фиксированная", когда цена задается числом пиши в этот тип цен. а в РС - всегда тип цен
|
|||||||
28
Phil_McLaren
26.02.13
✎
08:57
|
(21) вот это явно перебор. Особенно при записи цен
(23) хороший вопрос. Не могу придумать альтернативы дополнительному полю |
|||||||
29
Тролль главный
26.02.13
✎
08:58
|
(28) это логически на уровне 1С составное поле одно, на уровне СУБД их несколько
|
|||||||
30
Steel_Wheel
26.02.13
✎
09:01
|
(26) Ничего страшного, разницы нет.
Гораздо хуже, если мы потом захотим добавить скидку, наценку, налог, Рекомендуемую цену, категорию покупателя и еще какую-нибудь важную информацию. Во что превратится твой регистр, особенно, если он -- один из популярных в типовой (типа "ТоварыНаСкладах") |
|||||||
31
Steel_Wheel
26.02.13
✎
09:01
|
к 30: разницы нет по сравнению с добавлением одной колонки численного типа, т.к. ссылка -- тоже число
|
|||||||
32
Phil_McLaren
26.02.13
✎
09:04
|
(27) вариант хороший, но значения, стоящие за типом цен, не меняем. Либо задаем тип цены, либо абсолютную цену, чтобы потом извлечь или саму цену, или сначала тип, а затем вычислить цену.
|
|||||||
33
Тролль главный
26.02.13
✎
09:08
|
(30) ага, ну давайте вообще откажемся в ресурсах от примитивных типов
|
|||||||
34
ice777
26.02.13
✎
09:09
|
нефиг плодить лишние сущности.
а так- творите что хотите, только не плакайте.) Два ресурса |
|||||||
35
Phil_McLaren
26.02.13
✎
09:12
|
(34) эм...так "два ресурса" или "нефиг плодить"?)
|
|||||||
36
ice777
26.02.13
✎
09:19
|
(35) в моем понимании лишняя сущность- составной тип.
я меряю мерой не количества :) |
|||||||
37
mzelensky
26.02.13
✎
09:19
|
Я за составной. Просто потому как это более расширяемо и меньше гемора при программировании
Составной тип |
|||||||
38
H A D G E H O G s
26.02.13
✎
09:21
|
Так
Составной тип |
|||||||
39
H A D G E H O G s
26.02.13
✎
09:21
|
или так
Два ресурса |
|||||||
40
kosts
26.02.13
✎
09:21
|
т.к. информация разнородная
Два ресурса |
|||||||
41
H A D G E H O G s
26.02.13
✎
09:21
|
И не слушай всякие мудроважные вещи про денормализацию и прочую херню.
Просто сделай и посмотри что будет. Будет лажать производительность - перейди на другой вариант. |
|||||||
42
H A D G E H O G s
26.02.13
✎
09:23
|
Ветке уже 2 часа.
За это время можно было сделать все и провести тестирование. Раз 10. |
|||||||
43
Тролль главный
26.02.13
✎
09:24
|
(37) ну и в чем расширяемость? думаешь, если ты тип расширить решишь, то достаточно только галочку нажать?
а логику менять? |
|||||||
44
mzelensky
26.02.13
✎
09:25
|
(43) а тебе логику что так что так менять! Поэтому сразу нужно писать под "потенциальное" расширение и тогда, если таки понадобится, просто еще одно условие дописывается (на новый тип данных) и все.
|
|||||||
45
kosts
26.02.13
✎
09:27
|
(44) Всё одно, что так, что этак, всё равно потом переделывать запросы, в случае чего...
|
|||||||
46
mzelensky
26.02.13
✎
09:29
|
(45) да. Просто в одном случае система перестанет работать, а в другой работать будет, но с ограничениями (т.е. ток для тих типов, для которых прописана логика) - но это я чисто про вопрос расширяемости.
В любом случае запрос\логику прийдется корректировать |
|||||||
47
Phil_McLaren
26.02.13
✎
09:34
|
(42) да я в принципе сложа руки не сижу. Сделал через составной тип, работаю себе дальше -)
Может еще переделаю, вас послушаю, нагрузочно потестирую, если придется (45) только в случае с составным и выборкой через ВЫРАЗИТЬ результат все равно будет, даже если один из типов из состава ресурса убрать. Добавлять новый тип (теоретически) и того легче, запросы и запись в регистр вообще трогать не нужно будет. А если будет два ресурса, то геморроя хватит по каждому направлению |
|||||||
48
МихаилМ
26.02.13
✎
09:37
|
если Вы проектируете прототип программы, а не рабочее решение
то составной тип, как идеологически близкое решение + быстрая разработка. если рабочее решение - то выстройте ссылочную связ иерархии таблиц. нужно добиться строгой типизации. любая неодносзначность типов - зло. |
|||||||
49
Тролль главный
26.02.13
✎
09:40
|
(46) иногда лучше перестанет, чем будет, но окажется полная хрень
|
|||||||
50
mzelensky
26.02.13
✎
09:42
|
(48) Не совсем согласен. У меня РС есть где в измерении объект может быть ссылка на один из 100 справочников. Т.е. тип данных "Любой справочник ссылка".
Если идти по твоему решению, то получается ,что мне нужно 100 регистров сделать. |
|||||||
51
mzelensky
26.02.13
✎
09:43
|
(49) ну решать то тебе. чего ты меня уговариваешь :)
|
|||||||
52
kosts
26.02.13
✎
09:43
|
(47) Пытаться предугадать будущие хотелки совершенно нет смысла. Жизнь она такая, постелишь соломки тут, а она сверху кирпич бросит =)
Я бы отталкивался от того однородная информация или разнородная (цена и тип цены считаю, например, разнородной). |
|||||||
53
Phil_McLaren
26.02.13
✎
09:47
|
(48) хм, а ссылочная связь иерархии таблиц всегда означает отсутствие нестрогой типизации? Если тип поля как потенциального источника связи может не являться ссылочным, нужно устранять неопределенность даже ценой расширения таблицы?
|
|||||||
54
МихаилМ
26.02.13
✎
09:49
|
(50)
значит У Вас прототип программы. подобная вольность однозначо идентифицирует программу-прототип. разрабатываемую быстро и кое-как, по принципу мегагерцы все стерпят. вобщем 1с -среда разработки прототипов. |
|||||||
55
МихаилМ
26.02.13
✎
09:56
|
(53)
путем создания новой таблицы. при проектировании БД каждый чих - это прежде всего таблица. кондидат на новую сущность. и только потом кондидат на расширение с-в существующей сущности - поля таблицы. достаточно разрешить халявить и энтропия, как джин который вылетит и кувшина. |
|||||||
56
mzelensky
26.02.13
✎
10:04
|
(54) расскажи это всем тем, кто работает с типовыми конфами 1С. Выходит, что абсолютно все уже десяток лет работают с прототипом...бедные, как мне их жалко...и ведь даже не подозревают, работают себе и все.
|
|||||||
57
Phil_McLaren
26.02.13
✎
10:05
|
(55) интересный Вы персонаж, уважаемый. Мысль строгая, речь сдержанно-образная, невнимательная грамматика и какая-то небрежная вальяжность. Нечастый Вы фрукт, посмею заметить -)
Люди интереснее 1с) Мнение я понял, информацию принял. |
|||||||
58
МихаилМ
26.02.13
✎
10:08
|
(57)
с граммотностью - беда. |
|||||||
59
GANR
26.02.13
✎
10:12
|
2 регистра с одинаковым набором измерений и у каждого свой ресурс
|
|||||||
60
Phil_McLaren
26.02.13
✎
10:14
|
(59) и преимущества? Особенно по сравнению с двумя ресурсами
|
|||||||
61
МихаилМ
26.02.13
✎
10:17
|
(56)
все уже лет 20, начиная с 1с 2.0, работают с прототипами. бедные. и это было нормально, пока функционал типовых конфигураций не усложнился. не припомню чтобы я и Вы переходили на "ты" |
|||||||
62
Анцеранана
26.02.13
✎
10:22
|
(0) Надо определять "по смыслу". Т.е. возможна ли ситуация (когда-нибцдь в будущем, даже если ее нет сейчас) , когда у объекта присутствуют обе характеристики одновременно - и справочник и число...Если нет - то можно и составной тип выбрать. Если да - придется разделять сущности ибо ошибка. Но по поводу (6) "легче программировать и меньше места занимает" - я бы сильно поспорил. Поэтому воздержусь.
|
|||||||
63
GANR
26.02.13
✎
10:48
|
(60) А вы прикиньте, что будет занимать меньше места на диске?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |