|
Почему не сделали сущность (например справочник)?
Sserj, scanduta, Chai Nic, Ботаник Гарден Меран, Гипервизор, Lama12, Timon1405, Мультук, Ногаминебить, alex73, piter3, Ёпрст, Redag, Fynjy, Волшебник, shuhard, NorthWind, Franchiser, obs191, reg0303, crotnn, evorle145, Elf_80_lvl, Галахад, RAJAH, bwi3, spiller26, Климов Сергей, Ненавижу 1С, formista2000, ndrv, denk, Irbis, Asmody, dyevgeniy, Михаил_, Хряк, Сукпун, Garykom, ОператорПК, trad, Hmster, mmg, Gennady, Fish, Гость из Мариуполя, ptiz, ЕRPe, A_G, abfm, dva1c, takefive, DeeK, Lazy Stranger, Vostochnick, lubitelxml, Dzenn, Fragster, yanikolay, X Leshiy, RomanYS, segn, Amra, VladZ, Андрей_Андреич, p-soft, Чужой, Crusher, mortal, MichmaN, Somebody, orakool, John D, Redaktor, Dmitrii, ldo6, nick86, Kongo2019, pasha_d, privetik, El_Duke, 2S, Winnie Buh, zva, PR, Builder, newjon, d4rkmesa, Многолетний Апельсин, ads55, Zamestas, craxx, DimR_71, vbus, alexxx961503, Михаил Козлов, unenu, Kuzmich123, H A D G E H O G s, Kigo_Kigo, _Batoo, sikuda, Homer, AntiBuh, okmail, phabeZ, MWWRuza, Prog_man, igouranga, maxar, Ватт, SleepyHead, DrLekter, Hawk_1c, Sneer, pavlika, Шурик71, yurikmellon2, leshikkam, Кир Пластелинин, JohnGilbert, denk32, Saval1986
| ☑ |
0
Lama12
25.08.25
✎
10:53
|
Вопрос больше теоретический: почему так часто поступают, а не только в контексте 1С?
В конфигурации ДО (3.0) много связей через поля «Идентификатор», в которых хранится GUID. Можно было бы создать справочник, где эти идентификаторы были бы элементами без имени. Почему так не сделали?
Реляционные базы данных обычно не хранят связи внутри себя. Логика взаимосвязей передаётся алгоритмам.
Почему так делают? В чём преимущество?
Единственное, что приходит в голову касательно 1С, — это упрощение работы с полями составного типа. Вместо множества типов данных используется один — GUID, а остальное решает алгоритм. Для СУБД это проще. Но почему в реляционных СУБД редко хранят связи?
|
|
1
Ненавижу 1С
гуру
25.08.25
✎
10:58
|
>>Реляционные базы данных обычно не хранят связи внутри себя
Это очень смелое утверждение, требующее аргументации
|
|
2
shuhard
25.08.25
✎
10:58
|
(0)[Реляционные базы данных обычно не хранят связи внутри себя.]
100% бред, реляционные базы созданы именно для этого
|
|
3
d4rkmesa
25.08.25
✎
11:02
|
(0) Скорее всего, это вызвано тем, что определенный функционал ДО 3 должен работать через Api в системе, в которую интегрируется БИД (ERP, например, или ЗУП КОРП, или УХ).
|
|
4
Garykom
гуру
25.08.25
✎
11:03
|
(0) А зачем лишняя сущность?
Когда достаточно хранить УИД, причем из другой базы 1С
|
|
5
Lama12
25.08.25
✎
11:15
|
(1) (2) Покажите схему связей таблиц в базе данных информационной базы 1С. Где эта информация хранится в базе данных на уровне СУБД?
Много вы видели прикладных баз данных, которые есть в реляционных СУБД, и чтоб на уровне механизмов СУБД хранились связи? Даже Microsoft это не делает.
|
|
6
Lama12
25.08.25
✎
11:15
|
(4) (3) А вот это интересные варианты. 👍
|
|
7
Ненавижу 1С
гуру
25.08.25
✎
11:26
|
(5) 1С использует СУБД без связей, но это не значит, что связи (FOREIGN KEY) не используются в других системах. А откуда информация, что не используются в майкрософт?
|
|
8
Lama12
25.08.25
✎
11:26
|
(7) Разгребал таблички SharePoint и Project server.
|
|
9
shuhard
25.08.25
✎
11:33
|
(5)[Много вы видели прикладных баз данных, которые есть в реляционных СУБД, и чтоб на уровне механизмов СУБД хранились связи?]
десятки, включая тиражные приложения
|
|
10
Kongo2019
25.08.25
✎
11:37
|
(0) Обход работы с полями составного типа для реализации бесшовной интеграции с другими продуктами. Где-то на вебинаре мне запомнилось, смотрел на тему что нового в ДО 3, там кто-то это вопрос задавал.
|
|
11
Lama12
25.08.25
✎
11:42
|
(9) Ну что ж. У нас разный опыт. Тут спорить не буду. Мне такие базы редко встречались, но надо признать встречались.
(10) 👍
|
|
12
Chai Nic
25.08.25
✎
11:48
|
Использование синтетического первичного ключа для таблицы - так себе. На курсе "теория субд" за это двойки ставили. Но это позволяет легко создавать базы, без серьезной аналитической предварительной работы по построению моделей данных и нормальных форм.
|
|
13
scanduta
25.08.25
✎
12:07
|
(0) "Реляционные базы данных обычно не хранят связи внутри себя. Логика взаимосвязей передаётся алгоритмам."
Да что ты чёрт побери такое несешь
|
|
14
Garykom
гуру
25.08.25
✎
12:17
|
(13) Он как бы правильно сказал
Но не совсем, забыл про внешние ключи
В самих таблицах никаких связей нет, там просто ключи (идентификаторы)
К какой таблице или таблицам относится ключ хз
Для этого служит дополнительная сущность, которая по истории реляционных СУБД появилась сильно позже (когда на практике столкнулись что надо где-то хранить), причем в теории никак не фигурирует
Т.е. связи это внешняя и дополненная сущность
|
|
15
Garykom
гуру
25.08.25
✎
12:20
|
(14)+ Кстати индексы - это тоже внешняя дополнительная хрень, к теории реляционных баз никак не относится
Как например и кэш в wiki:Архитектура_фон_Неймана
|
|
16
Asmody
25.08.25
✎
12:22
|
[Реляционные базы данных обычно не хранят связи внутри себя] - а что ты имеешь ввиду под "реляционной базой"?
Только набор табличек сам по себе или их же с "обвязкой" в лице СУБД?
Так-то, в теории, слово "relation" и есть "связь", собственно, поэтому они "реляционные".
|
|
17
Asmody
25.08.25
✎
12:23
|
(14) Как раз в теории со связями всё хорошо. На практике бывает по-разному
|
|
18
Garykom
гуру
25.08.25
✎
12:24
|
(17) Да сама теория подразумевает связи
Но их поначалу не хранили а подразумевали в алгоритмах
|
|
19
VladZ
25.08.25
✎
12:24
|
(0) Ничего не понял, но проблема видимо актуальная. :)
|
|
20
Garykom
гуру
25.08.25
✎
12:32
|
(18)+ Кстати в языке SQL это сохранилось как рудимент
Любое соединение всегда требует указать по чему соединяем
Даже если есть внешние ключи для некой связи таблиц
|
|
21
Fragster
гуру
25.08.25
✎
12:44
|
(20) ну так связей может быть больше одной к сущностям одного типа. типа контрагент грузоотправитель, покупатель и грузополучатель. ну и продавец еще.
|
|
22
Lama12
25.08.25
✎
12:46
|
(16) Да, не однозначно выразил свою мысль. Тут больше "обвязка" с СУБД.
|
|
23
Garykom
гуру
25.08.25
✎
13:06
|
(21) Может
Речь о том, что связи (внешние ключи), могут быть не прописаны в базе.
Если этого не требуется для каскадного удаления и т.д.
На работу SQL запросов это никак не повлияет.
Т.е. выделение внутренних или внешних ключей это дополнительная фича.
Ну там проверка на дубли в случае внутренних ключей и ускорение (индексы автоматом создаются для ключа простого/составного).
Или цепные действия и т.д. в случае внешних ключей.
|
|
24
Chai Nic
25.08.25
✎
14:04
|
Вспомните теорию СУБД и нормальные формы. Введение уникального идентификатора строки хоть в виде УИДа, хоть в виде автоинкремента, вместо нормализации базы - это по сути читерство, облегчающее разработку, но делающее базу неоптимальной с точки зрения выборки данных. А 1с вся на этом и держится, по сути. В теории реляционных баз данных нет никаких "ссылок", это ересь.
|
|
25
Ботаник Гарден Меран
25.08.25
✎
14:13
|
(24)
Теорию-то придумывали яйцеголовые, и думали, что и пользоваться будут тоже такие же.
А потом наступило широкое применение и практика - критерий истины.
|
|