|
Какую модель базы данных выбрать | ☑ | ||
---|---|---|---|---|
0
alexshape
05.07.18
✎
11:01
|
Привет всем, во внешней системе, реализовано решение, которое необходимо в какой то мере повторить. Данные там хранятся не как в 1с, вид 2 на скрине, а как на виде 1. https://ibb.co/ifOSUy
для своего пользователя они выводят данные как в 1с, вопрос, стоит ли организовывать такую структуру в 1с? какие риски при такой организации данных могут возникнуть? |
|||
1
alexshape
05.07.18
✎
11:01
|
"для своего пользователя они выводят данные как в 1с, " имею ввиду в пользовательском режиме, а структура хранения как доп реквизиты в 1с
|
|||
2
arsik
гуру
05.07.18
✎
11:03
|
(0) А если свойства добавятся?
|
|||
3
alexshape
05.07.18
✎
11:04
|
(2) Возможно и такое, добавлять реквизит наверное придется
|
|||
4
Aleksandr N
05.07.18
✎
11:06
|
(0) Сегодня вроде не пятница же.
|
|||
5
Малыш Джон
05.07.18
✎
11:06
|
(0) Дык РС "Значения свойств объекта", не?
|
|||
6
alexshape
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
05.07.18
✎
11:46
|
(8) "Теория", меня больше интересует реалии 1с
|
|||
11
Джинн
05.07.18
✎
11:48
|
(10) Вы о чем это пишете сейчас? О каких таких "реалиях"?
|
|||
12
alexshape
05.07.18
✎
11:52
|
(11) Работа с такой структурой данных (варианте 1), когда все типовые сделаны с вариантом 2 (исключая доп реквизиты). Построение запросов и т.д.
|
|||
13
Остап Сулейманович
05.07.18
✎
11:58
|
(12) "когда все типовые сделаны с вариантом 2" Вы не понимаете о чем пишите.
1. Контактная информация. 2. Договора контрагентов. 3. Данный физ лиц. ... и прочая и прочая и прочая... Все нормализовано. Хотя бы до первой формы. |
|||
14
alexshape
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
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
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
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
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
05.07.18
✎
12:34
|
(38) в первом варианте можно добавлять новую строку(бзе добавления полей):
Контрагент1 | ТипКонтрагента | Конкурент а чтобы это сделать во втором варианте нужно добавить новое поле "ТипКонтрагента" |
|||
41
alexshape
05.07.18
✎
12:38
|
(36) вы говорили что в типовых есть примеры как в 1 варианте, я так и не нашел тот пример что (16), я уже в (33) написал
|
|||
42
alexshape
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
05.07.18
✎
12:49
|
Просто автор поста (36) меня запутал, и я хочу понять кто из нас ошибается, потому что он говорит что в типовых конфигурациях организованна структура Вариант 1, я говорю что нет. просто сомнений не хочется у себя оставлять
|
|||
46
pavig
05.07.18
✎
12:54
|
(45)
Во всех типовых повсеместно используется и Вид 1, и Вид 2 |
|||
47
alexshape
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
05.07.18
✎
13:44
|
(49) Меня это и поставило в тупик, я все капаю про нормализацию базы, и не нахожу нужного.
|
|||
54
alexshape
05.07.18
✎
13:46
|
(53) Я просто не программировал на других языках, неужели в не в 1с таблицы выглядят как то по-другому?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |