|   |   | 
| 
 | Какую модель базы данных выбрать | ☑ | ||
|---|---|---|---|---|
| 0
    
        alexshape naïve 05.07.18✎ 11:01 | 
        Привет всем, во внешней системе, реализовано решение, которое необходимо в какой то мере повторить. Данные там хранятся не как в 1с, вид 2 на скрине, а как на виде 1. https://ibb.co/ifOSUy  
 для своего пользователя они выводят данные как в 1с, вопрос, стоит ли организовывать такую структуру в 1с? какие риски при такой организации данных могут возникнуть? | |||
| 1
    
        alexshape naïve 05.07.18✎ 11:01 | 
        "для своего пользователя  они выводят данные как в 1с, "  имею ввиду в пользовательском режиме, а структура  хранения как доп реквизиты в 1с     | |||
| 2
    
        arsik гуру 05.07.18✎ 11:03 | 
        (0) А если свойства добавятся?     | |||
| 3
    
        alexshape naïve 05.07.18✎ 11:04 | 
        (2) Возможно и такое, добавлять реквизит наверное придется     | |||
| 4
    
        Aleksandr N 05.07.18✎ 11:06 | 
        (0) Сегодня вроде не пятница же.     | |||
| 5
    
        Малыш Джон 05.07.18✎ 11:06 | 
        (0) Дык РС "Значения свойств объекта", не?     | |||
| 6
    
        alexshape naïve 05.07.18✎ 11:18 | 
        (5) как я знаю, вопрос в том стоит ли ?     | |||
| 7
    
        Малыш Джон 05.07.18✎ 11:20 | 
        (6) стОит или не стОит - решать тебе, я к тому, что такой объект в 1С уже сто лет как есть и про преимущества и недостатки можно легко найти информацию     | |||
| 8
    
        Остап Сулейманович 05.07.18✎ 11:21 | 
        (6) Теория баз данных настаивает на варианте 1. Хотя в определенных случаях допускает денормализацию до варианта 2.     | |||
| 9
    
        Остап Сулейманович 05.07.18✎ 11:22 | ||||
| 10
    
        alexshape naïve 05.07.18✎ 11:46 | 
        (8) "Теория", меня больше интересует реалии 1с     | |||
| 11
    
        Джинн 05.07.18✎ 11:48 | 
        (10) Вы о чем это пишете сейчас? О каких таких "реалиях"?     | |||
| 12
    
        alexshape naïve 05.07.18✎ 11:52 | 
        (11) Работа с такой структурой данных (варианте 1), когда все типовые сделаны с вариантом 2 (исключая доп реквизиты). Построение запросов и т.д.     | |||
| 13
    
        Остап Сулейманович 05.07.18✎ 11:58 | 
        (12) "когда все типовые сделаны с вариантом 2" Вы не понимаете о чем пишите.
 1. Контактная информация. 2. Договора контрагентов. 3. Данный физ лиц. ... и прочая и прочая и прочая... Все нормализовано. Хотя бы до первой формы. | |||
| 14
    
        alexshape naïve 05.07.18✎ 12:03 | 
        (13) Хорошо, по Вашему таблица варианта 1, это какая нормальная форма?, и есть ли объект в типовых конфигурациях с такой структурой данных (доп. реквизиты не в счет)     | |||
| 15
    
        Остап Сулейманович 05.07.18✎ 12:05 | 
        (14) С какой такой структурой? Я же вам написал - "договора контрагентов". Для примера.     | |||
| 16
    
        Остап Сулейманович 05.07.18✎ 12:08 | 
        + (15) Я надеюсь на таком примере будет понятна разница между
 Контрагент1, Договор1, Договор2, ... ДоговорN и Контрагент1, Договор1 Контрагент1, Договор2 Контрагент1, Договор3 ... Контрагент1, ДоговорN а вообще почитай уже https://habr.com/post/64524/ Там в стиле "для больших и маленьких. на селе и в городе". Ну в смысле все просто расписано. Зачем и когда. | |||
| 17
    
        alexshape naïve 05.07.18✎ 12:09 | 
        (15) с структурой как в варианте 1     | |||
| 18
    
        Вафель 05.07.18✎ 12:10 | 
        Если не типовая конфа. то добавление реквизитов предопчтительнее, чем свойств     | |||
| 19
    
        Джинн 05.07.18✎ 12:10 | 
        (12) Все типовые сделаны по разным "вариантам". И по первому, и по второму. Причем я не врубаюсь вообще что вы хотите. Вопрос в чем? Чтобы Вам прочитали краткую лекцию по теории нормализации баз данных?     | |||
| 20
    
        Остап Сулейманович 05.07.18✎ 12:13 | 
        + (17) Ну тогда - еще раз. Третий. Но это уже последний.
 Договора контрагентов вынесены в отдельную таблицу. Средствами платформы установлена связь по владельцу. И таблица договоров выглядит ровно по варианту 1. Есть ведущее поле "Владелец" и кортеж реквизитов конкретного договора. Причем записей с одинаковым значением поля "Владелец" может быть несколько. В таблице контрагентов нет полей "Договор1", "Договор2"... | |||
| 21
    
        Вафель 05.07.18✎ 12:14 | 
        (20) ты описываешь подчиненные таблицы, а это реквизиты - совсем другое     | |||
| 22
    
        alexshape naïve 05.07.18✎ 12:15 | 
        (21) Слава богу     | |||
| 23
    
        Вафель 05.07.18✎ 12:16 | 
        Свойства они нужны, чтоб в конфигуратор не лезть. А так в них никакой пользы нет | |||
| 24
    
        Малыш Джон 05.07.18✎ 12:16 | 
        (21) а таблицы реквизитов отличаются от таблиц подчиненных объекта?     | |||
| 25
    
        Малыш Джон 05.07.18✎ 12:17 | 
        +(24) *подчиненных объектов     | |||
| 26
    
        alexshape naïve 05.07.18✎ 12:19 | 
        (24) (25) подчиненные объекты однотипные, а реквизиты они нет     | |||
| 27
    
        Остап Сулейманович 05.07.18✎ 12:19 | 
        (21) "подчиненные таблицы" - понятие чисто 1С. Я пытаюсь описать принцип.
 По своей сути - таблицы регистров сведений тоже "подчиненные таблицы". Точно так же как и табличные части и подчиненные справочники. Вспомните историю с данными "контактная информация". В одно время это был подчиненный справочник. Потом регистр сведений. Потом табличная часть. Вся разница - это наличие платформенных методов для работы с ними. | |||
| 28
    
        Джинн 05.07.18✎ 12:20 | 
        (26) Далеко не факт :)     | |||
| 29
    
        Вафель 05.07.18✎ 12:21 | 
        (27)Отношение "один к многим" - если тебе не нравится термин подчиенные таблицы. А тут речь совсем про другое | |||
| 30
    
        Вафель 05.07.18✎ 12:23 | 
        (27) КИ хранится в таблице потомучто не известен заранее споск всех видов КИ     | |||
| 31
    
        Малыш Джон 05.07.18✎ 12:24 | 
        (26) ты не поверишь, но подчиненные объект - они тоже могут быть разных типов.
 да и не в этом дело, что разве разные типы хранятся в таблицах по разному? | |||
| 32
    
        Остап Сулейманович 05.07.18✎ 12:24 | 
        (30) Никто не мешает их хранить в РС или подчиненном справочнике.     | |||
| 33
    
        alexshape naïve 05.07.18✎ 12:25 | 
        (16) в Вашем примере:
 Ссылка | ДоговорКонтрагента ------------|----------- Контрагент1,| Договор1 Контрагент1,| Договор2 Это как раз таки вариант 2. если как в варианте 1 то было бы Ссылка | Свойство | значение ------------|--------------------|---------- Контрагент1,| ДоговорКонтрагента | Договор1 Контрагент1,| ДоговорКонтрагента | Договор2 Вот скажите мне теперь , Вариант 1 Это разве нормализованная таблица? | |||
| 34
    
        Малыш Джон 05.07.18✎ 12:25 | 
        (30) насколько я понимаю, в исходной задаче (0) - тоже     | |||
| 35
    
        Малыш Джон 05.07.18✎ 12:26 | 
        (33) а чем у тебя первый и второй вариант отличаются? Полем "Свойство"?     | |||
| 36
    
        Остап Сулейманович 05.07.18✎ 12:27 | 
        + (32) И одна из причин следовать теории баз данных то - что состав реквизитов у разный ведущих объектов неизвестен. См (3).
 Кроме того у разных "ведущих" может оказаться разное количество реквизитов. Придется заготовку делать с запасом. | |||
| 37
    
        Вафель 05.07.18✎ 12:27 | 
        (32) ТЧ, Поддчиненный справочник или РС - это технологически одно и тоже     | |||
| 38
    
        Малыш Джон 05.07.18✎ 12:27 | 
        +(35) первый и второй вариант - не из (0), а из (33)     | |||
| 39
    
        Вафель 05.07.18✎ 12:30 | 
        Но если у разных объектов - разное количество реквизитов (типо характеристик: у одних длина у других вес), то лучше через свойства     | |||
| 40
    
        alexshape naïve 05.07.18✎ 12:34 | 
        (38) в первом варианте можно добавлять новую строку(бзе добавления полей): 
 Контрагент1 | ТипКонтрагента | Конкурент а чтобы это сделать во втором варианте нужно добавить новое поле "ТипКонтрагента" | |||
| 41
    
        alexshape naïve 05.07.18✎ 12:38 | 
        (36) вы говорили что в типовых есть примеры как в 1 варианте, я так и не нашел тот пример что (16), я уже в (33) написал     | |||
| 42
    
        alexshape naïve 05.07.18✎ 12:39 | 
        (41) не так написал: 
 вы говорили что в типовых есть примеры как в 1 варианте, я так и не нашел такой пример. А тот что в (16), я уже в (33) написал | |||
| 43
    
        Малыш Джон 05.07.18✎ 12:44 | 
        (40) так я про что и говорю:
 один раз добавить "свойство" - и все, и это превращается в вариант со свойствами. Разовое изменение - не делает эти схемы принципально разными. вот когда ты используешь схему Контрагент1|Договор1|Договор2 , тогда КАЖДЫЙ раз когда тебе понадобится новое свойство, ты будешь добавлять новое поле. а в (33) - разница только в одном-единственном РАЗОВОМ изменении | |||
| 44
    
        pavig 05.07.18✎ 12:44 | 
        (0) 
 ТС, тут всё просто: если все объекты в данный момент времени обладают одинаковым набором свойств, то вообще не парься - делай таблицу Вид 2. Если же у тебя объекты имеют разный набор свойств (например, хранишь контактную информацию или хранишь договоры контрагента), то есть количество этих свойств сильно различается или предполагается их большое количество, то делай Вид 1. | |||
| 45
    
        alexshape naïve 05.07.18✎ 12:49 | 
        Просто автор поста (36) меня запутал, и я хочу понять кто из нас ошибается, потому что он говорит что в типовых конфигурациях организованна структура Вариант 1, я говорю что нет. просто сомнений не хочется у себя оставлять     | |||
| 46
    
        pavig 05.07.18✎ 12:54 | 
        (45) 
 Во всех типовых повсеместно используется и Вид 1, и Вид 2 | |||
| 47
    
        alexshape naïve 05.07.18✎ 12:57 | 
        (46) А ты можешь мне привести пример Вид 1?     | |||
| 48
    
        pavig 05.07.18✎ 13:00 | 
        (47) 
 В этой ветке уже приводили. Самое явное - Контактная информация, Значения доп сведений объектов и т.п. | |||
| 49
    
        Зуекщмшср 05.07.18✎ 13:15 | 
        (0) Не понимаю, к чему сюда теорию БД приплели, нормализацию, и т.д. У случая 1 плюс - простота в обслуживании и масштабируемость, у случая 2 - быстродействие. Все, выбирай, что тебе важнее.     | |||
| 50
    
        Малыш Джон 05.07.18✎ 13:15 | 
        (49) взял и всю систему поломал)     | |||
| 51
    
        ptiz 05.07.18✎ 13:17 | 
        (0) Свойства нужны, если:
 1) справочник номенклатуры сильно "разношерстный", а у разных групп номенклатуры сильно разные реквизиты. 2) высоконагруженная база в режиме 24/7, а реквизиты часто добавляются. Иначе - конечно реквизиты удобнее. | |||
| 52
    
        YaFedor 05.07.18✎ 13:23 | 
        Вариант 1 плох только одним:
 Во встроенном языке невозможно нормально написать алгоритмы, для которых будут нужны значения конкретных свойств. Именно поэтому в типовых в объектах существуют реквизиты. | |||
| 53
    
        alexshape naïve 05.07.18✎ 13:44 | 
        (49) Меня это и поставило в тупик, я все капаю про нормализацию базы, и не нахожу нужного.     | |||
| 54
    
        alexshape naïve 05.07.18✎ 13:46 | 
        (53) Я просто не программировал на других языках, неужели в не в 1с таблицы выглядят как то по-другому?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |