Имя: Пароль:
1C
 
1С с точки зрения теории баз данных
0 ДиМАн
 
17.03.06
19:43
Уважаемые форумчане, подскажите, пожалуйста, является ли 1С реляционной СУБД. Если можно, то с аргументами :)
1 Бешеная Нога
 
17.03.06
19:44
ну это смотря как ее нагнуть...
2 PR
 
17.03.06
19:48
(0) Да, поскольку таблицы в ней хранятся в нормализованной форме
3 romix
 
модератор
17.03.06
19:52
Можно сказать и так: 1С является оболочкой над реляционной СУБД.
4 PR
 
17.03.06
19:54
(3) Кстати, да! Данные хранятся в нормализованной форме, а вот СУБД программа 1С не является! Задачи у нее другие
5 Джинн
 
17.03.06
19:55
(2) В нормализованом, говоришь? Составные идентификаторы, соствные "неопределенные" типы, реквизиты DATE_TIME_IDDOC - это нормализованые данные? Они даже на первую нормальную форму не тянут :)
6 ШтушаКутуша
 
17.03.06
19:55
(0) да,это безусловно реляционная база данных.
Нормализации и мастер -детайльные отношения присутствуют?
Присутствуют.
7 ШтушаКутуша
 
17.03.06
19:56
(5) неужели? так таки и не тянут?
8 PR
 
17.03.06
19:57
(5) Ты еще скажи, что MS SQL не является СУБД :))
Как это потом обрабатывает "надстройка" программа 1С - это уже дело десятое
9 ШтушаКутуша
 
17.03.06
19:58
достаточно глянуть на 1SConst,разделение на "шапочную" и "табличную" части...
а что это по вашему? Реализация подчиненных справочников?
10 PR
 
17.03.06
19:59
(+8) Что для тебя означает термин "реляционная таблица" или "нормализованная таблица"?
11 Джинн
 
17.03.06
20:03
(10) Читайте доктора Кодда. С его другом Дейтом. Это термины "не для меня", это общепринятые понятия и правила.
12 Джинн
 
17.03.06
20:07
+ 10. Ну чтобы не напрягать моложые умы, которые читают наш спор - "реляционная таблица находится в первой нормальной форме (1НФ), если значения в таблице являются атомарными для каждого атрибута таблицы, т.е. такими значениями, которые не являются множеством значений или повторяющейся группой".
13 romix
 
модератор
17.03.06
20:13
(12) Фамилия, Имя, Отчество в одном поле - являются ли атомарным значением?
А почтовый адрес, записанный в одном поле?
14 PR
 
17.03.06
20:15
(12) И что, в 1С это не так?
15 PR
 
17.03.06
20:16
(+12) В сабже, кстати, не спрашивается про нормализованность таблиц, спрашивается про  реляционность, а вот уж реляционность, думаю, не вызывает сомнений
16 Лефмихалыч
 
17.03.06
20:20
(7)http://www.citforum.ru/database/dbguide/4-5.shtml
"Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто."

исходя из (5) - ни фига не тянут...
17 AAAChel
 
17.03.06
20:20
Эта темы была не так давно. Я полностью согласен с Джинном. Хранятся данные в таблицах и что? Что за отношение установлено элементом или справочником неопределенного типа? Нарисовать даже затруднительно, связи надо изображать ко всем справочникам? или еще как?
18 AAAChel
 
17.03.06
20:22
(15)Реляционность - означает редяционные таблицы?) тогда я знаю еще только сетевые(иерархические) типа DBVista, и спорить тогда не о чем)
19 PR
 
17.03.06
20:23
(16) Нормализованность таблиц в данном случае определяется во-многом разработчиком конфы
20 PR
 
17.03.06
20:23
(18) И я про то :)) Если не реляционная, то какая? ;)
21 AAAChel
 
17.03.06
20:25
(4)а почему 1С не явл СУБД? Вот как раз ей она является. А про нормализованность ты первым вроде написал в ответе, а говоришь, что про нее не спрашивали)
22 Джинн
 
17.03.06
20:27
(13) Если они используются исключительно в связке "Фамилия, Имя, Отчество" (например нет условий отбора только по фамилии или только имени и т.п.), то это атомарное значение и оно соответствует 1НФ.
(14) Я же писал выше - составные типы данных не катят под 1НФ.
(15) Не выкручивайся :)
(19) "Разработчик конфы" здесь ни при чем :) Разработчик может поменять способ хранения данных в таблицах?
(20) Наиболее точный, IMHO, ответ - псевдореляционная.
...
На самом деле все, конечно не так запущено :) Я говорю о формальном подходе. Часто составные данные используются как атомарное значение. Но если следовать букве теории....
23 Лефмихалыч
 
17.03.06
20:28
(20) разработчик конфы может хоть наизнанку вывернуться, но указанные в (5) неопределенные реквизиты 1С по другому хранить не будет. Тут конечно можно долго спорить о том, что можно и без неопределнностей обойтись, но порой это очень заманчивый вариант (особенно, если прнять во внимание принцыпиальное отсутствие составных ключей)
24 Лефмихалыч
 
17.03.06
20:28
(+23) эээ, очепяточка - это к 19-му посту
25 PR
 
17.03.06
20:33
(21) Ну, я был слегка неточен насчет нормализованности ;)
Про нормализованность скорее (19)
А про СУБД могу сказать, что СУБД в чистом виде она имхо не является по той причине, что ее функционал гораздо шире, нежели просто http://slovari.yandex.ru/art.xml?art=gl_natural/156/156_179.HTM&encpage=gl_natural&mrkp=http://hghltd.yandex.com/yandbtm?url=http%3A//encycl.yandex.ru/texts/gl_natural/156/156_179.HTM&text=%F7%F2%EE+%F2%E0%EA%EE%E5+%F1%F3%E1%E4&reqtext=%25%28!%2B%F7%F2%EE%3A%3A198+%26/%281+1%29+!%2B%F2%E0%EA%EE%E5%3A%3A4773%29+%26/%281+1%29+%F1%F3%E1%E4%3A%3A120122+%26/%281+1%29+!%25%FD%F2%EE%3A%3A359+%26/%28-2+4%29+%25%EE%E7%ED%E0%F7%E0%E5%F2%3A%3A16316+%26/%28-2+4%29+%25%E0%E1%E1%F0%E5%E2%E8%E0%F2%F3%F0%E0%3A%3A334021+%26/%28-2+4%29+%25%F0%E0%F1%F8%E8%F4%F0%EE%E2%FB%E2%E0%E5%F2%F1%FF%3A%3A183623&&isu=2
26 romix
 
модератор
17.03.06
20:34
(22-1) Тогда и (5) "Составные идентификаторы, соствные "неопределенные" типы, реквизиты DATE_TIME_IDDOC" - это нормализованые данные, т.к. они не требуют условий отбора по своим частям.

Хотя там че-то вроде бы нарушается из 3 НФ (ключ не должен быть составной частью другого ключа и т.п.).
27 PR
 
17.03.06
20:35
28 ШтушаКутуша
 
17.03.06
20:35
реализация,в полной мере реляционных алгебр очень сложное и дорогостоящее дело!
Да и в учебниках практических людей,скажем как Калверт,можно нередко встретить
предостережение от чрезмерного увлечения нормализациями
29 PR
 
17.03.06
20:36
(26) Верно! Насчет ключа все нормально, ключ не избыточен
30 PR
 
17.03.06
20:37
(28) Согласен. Нужно знать меру
31 Лефмихалыч
 
17.03.06
20:39
это всё будет разговором слепого с глухим до тех пор, пока автор не скажет, что он имел ввиду под "реляционными базами данных"...
32 Джинн
 
17.03.06
20:40
(26) В том то и проблема, что иногда данные требуются именно в "разобранном" виде. Хотя я выше и писал, что не нужно стараться расшибить лоб, примеряя формальные определения :)
А про 3НФ я не говорил - если нет 1НФ, то дальше нет смысла рассматривать.
(28) Вероятно соответствие 1НФ нельзя назвать "чрезмерным увлечением".
33 ШтушаКутуша
 
17.03.06
20:41
(30) Именно! Меру! У меня был приятель,оч.хороший чел и вполне компетентный программер,но у него был один "конек",нажрамшись он принимался ругательски ругать "ненормализованность" 1C :) ну наверное стоит упомянуть,что при этом его самопальные системы выносили на руках...:))) ввиду появления на горизонте 1С!
34 PR
 
17.03.06
20:41
(31) Я думаю он имел в виду общепринятый термин, например ссылку из (27)
35 Лефмихалыч
 
17.03.06
20:43
(34) в том и ботва - который термин считать общепринятым?
http://
http://
пока о терминах не договоримся, все сказанное - трындёж и провокация
36 smaharbA
 
17.03.06
20:43
"реляционной СУБД" - А что есть такое понятие ?
И вообще "чисто" одинэсовская тока одна база - 1cv7.md (ну и где там еще метаданные в восьмерке) - да и то этт тоже "классический" вариант БД...
37 Лефмихалыч
 
17.03.06
20:44
(35) фигня какая-то со сцылками...
ru.wikipedia.org/wiki/Реляционная_модель_данных
ru.wikipedia.org/wiki/Реляционная_модель_данных
38 zzzzz
 
17.03.06
20:50
При формальном подходе скулька- является. ДБФ - нет.
Это результат спора по этому вопросу, который был у меня относительно недавно.
Даже аргументы припоминать лень. Вопрос ведь собственно в том, с какими определениями соглашаешься.
Вопрос обсуждался после чьего-то высказывания на мисте - 1С является набором таблиц, а не базой. Вот и выяснялся вопрос - какие наборы таблиц можно отнести к реляционным базам.
39 romix
 
модератор
17.03.06
20:51
(32) Интересно, когда (и кому) именно нужны в разобранном виде "Составные идентификаторы, соствные "неопределенные" типы, реквизиты DATE_TIME_IDDOC"
Если никому и никогда, то вопрос насчет нарушения 1НФ отпадает.

Как и в случае с составным ФИО или почтовым адресом.
40 Лефмихалыч
 
17.03.06
20:51
(38) угу, осталось только доказать, что набор таблиц, между котрыми есть некоторые отношения, не является реляционной базой данных 8)
41 PR
 
17.03.06
20:51
(35) Нижеприведенный вполне подходит.
Реляционная база данных - база данных, построенная на основе реляционной модели. В реляционной базе каждый объект задается записью (строкой) в таблице.
42 ШтушаКутуша
 
17.03.06
20:55
интересно Access,реляционная база данных?
43 ШтушаКутуша
 
17.03.06
20:55
+42 :)
44 PR
 
17.03.06
20:56
(42) Да, но кроме таблиц там еще много чего :))
И СУБД в чистом виде кстати она не является в отличие от, к примеру, FoxPro :))
45 smaharbA
 
17.03.06
20:58
(44) А чем она тогда является ?
46 Лефмихалыч
 
17.03.06
20:58
(41) обратно неувязочка может получиться - ты уверен, что невозможно найти такую систему, в которой информация будет храниться в виде записей в таблице(таблицах), и при этом, система не будет являться реляционной базой данных? А в случае обнаружения такой системы, разве не вознинут непонятки с законом: "А, либо не А, третьего не дано"?
При этом, я не утверждаю, что:
а) любое из перечисленных определений правильно
б) любое из перечисленных определений не правильно
в) что я могу привести пример такой системы
я лишь хотел сказать, что спорить бесполезно, пока нет соглашения о понятиях И пока автор сам не придет и не скажет, чо же он все-таки хотел спросить
47 PR
 
17.03.06
21:00
(45) А чем является 1С? :))
48 smaharbA
 
17.03.06
21:00
ДБФ это реляционная, можете оспаривать, но я докажу...
49 PR
 
17.03.06
21:01
(46) Приведи пример хранения в таблице по одной строке на запись и не реляционный вариант Ж))
50 smaharbA
 
17.03.06
21:03
(47) Если к примеру пресловутый ФоксПро это СУБД, тогда и 1С субд в чистом виде...
51 Лефмихалыч
 
17.03.06
21:04
а вот мне щас прямо в голову пришло: кто-нибудь вообще видел однозначное определение этой самой реляционной базы данных? Ну, или, там, - определение СУБД?
52 dmsob
 
17.03.06
21:05
а о какой версии 1С идёт речь? 7.7 или 8.0? :-)
53 Лефмихалыч
 
17.03.06
21:06
(52) а видимо не суть важно, мы тут, теряя подлежащие, спорим каждый о своем 8)
54 smaharbA
 
17.03.06
21:12
(53) Вы может и о своем, а я о своей... :)
55 ШтушаКутуша
 
17.03.06
21:13
ботва титанов!
56 insider
 
17.03.06
21:17
(55) прикольная "очепятка" :)
57 PR
 
17.03.06
21:20
(52) И 7.7 и 8.0 могут хранить данные в SQL :))
58 Композитор
 
17.03.06
21:22
А я вот ничего в этом не понимаю... Почти ничего.
59 smaharbA
 
17.03.06
21:24
(58) Зато ты музыку пишешь :)
60 ДиМАн
 
17.03.06
21:25
Спасибо всем, кто пытается помочь. Уточню свой вопрос: речь идет об 1С:Предприятие 7.7. А реляционность имелась в виду в контексте следующего определения:
"Реляционная БД отличается способом представления информации, находящейся в ней.
Данные в такой базе хранятся в плоских таблицах. Каждая таблица имеет собственный, заранее определенный набор именованных колонок (полей). Поля таблицы обычно соответствуют атрибутам сущностей, которые необходимо хранить в базе. Количество строк (записей) в таблице неограниченно, и каждая запись соответствует отдельной сущности.
Каждая таблица должна иметь первичный ключ (ПК) — поле или набор полей, содержимое которых однозначно определяет запись в таблице и отличает ее от других.
Связь между двумя таблицами обычно образуется при добавлении в первую таблицу поля, содержащего значение первичного ключа второй таблицы.
Реляционные СУБД (РСУБД) предоставляют средства для всевозможных пересечений и объединений любых таблиц, отбора записей по разнообразным условиям, группировки и сортировки результатов."
61 PR
 
17.03.06
21:26
(60) О, прямо университетские времена вспомнил :))
62 Композитор
 
17.03.06
21:26
(60) Спасибо, буду знать.
63 smaharbA
 
17.03.06
21:27
(60) А она не плоская, даже смотри ДБФ (единственный или нет) он находится в другой базе FAT, ну или в любой другой таблице файловой системы...
64 insider
 
17.03.06
21:28
(60) я конечно сейчас с трудом могу про БД... но:
"Поля таблицы обычно соответствуют атрибутам сущностей" - совсем не увидел смысла, вода имхо. пятая НФ чтоль?
"Количество строк (записей) в таблице неограниченно" - фантастика (снова имхо), для dbf определенно фантастика...

и чему их учат в ентих вузах...
65 PR
 
17.03.06
21:31
(64) По поводу воды согласен, по поводу неограниченности строк не согласен, ограничения формата, файловой системы или операционной системы здесь не при чем, важен сам принцип переменного количества этих строк
66 insider
 
17.03.06
21:33
(65) "неограниченное", "все","ничего" и тому подобные слова не воспринимаю, т.к. смысловой нагрузки в них почти нет. база у нас сферическая в вакууме или нечто реальное рассматриваем (1С)? если 1С - то фантастика, разве нет?
67 smaharbA
 
17.03.06
21:36
(66) Тут ты не прав, это принцип такого рода БД, есть БД в которых количество записей указывается при создании, и оно будет только таким, если не буде спец процедуры "реорганизации"...
68 ДиМАн
 
17.03.06
21:37
(+65) Согласен по поводу ограниченности DBF, особенности файловой системы (60) уж точно не при чем. Однако вопрос это не решает :(
Не думал, что развернется такая полемика...
69 КонецЦикла
 
17.03.06
21:38
Будем подводить итоги?
70 PR
 
17.03.06
21:38
(66) Даю комментарий (ЗАГЛАВНЫМИ БУКВАМИ) к (60) :))
Каждая таблица имеет собственный, заранее определенный (ЧИТАЙ ФИКСИРОВАННЫЙ) набор именованных колонок (полей). Поля таблицы обычно соответствуют атрибутам сущностей, которые необходимо хранить в базе. Количество строк (записей) в таблице неограниченно (ЧИТАЙ ПЕРЕМЕННО, ХОТЬ И МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ОГРАНИЧЕНО РАЗНЫМИ ОГРАНИЧЕНИЯМИ), и каждая запись соответствует отдельной сущности.
71 PR
 
17.03.06
21:40
(68) Забей. По главному вопросу, по поводу реляционности, никто не спорит, кроме тех, кто любит поспорить, независимо от истинного положения вещей :))
72 PR
 
17.03.06
21:40
(+71) Можешь рассуждать от обратного, если таблицы базы 1С не реляционные, то КАКИЕ? :))
73 insider
 
17.03.06
21:42
(70) согласен, теперь формулировка адекватная :)
74 ДиМАн
 
17.03.06
21:44
Ну то что 1С объектно-ориентированная думаю никто спорить не будет :)
75 PR
 
17.03.06
21:44
(73) Ну вот и договорились :))
76 insider
 
17.03.06
21:44
(74) зря ты это написал :))
77 ДиМАн
 
17.03.06
21:45
Ну то что 1С - объектно-ориентированная СУБД думаю никто спорить не будет :)
78 PR
 
17.03.06
21:45
(74) Мля-я-я! И кто тебя за язык тянул :))
79 insider
 
17.03.06
21:45
(75) не пойми, что ставил под сомнение твои слова, просто поиск истины типа :)
80 PR
 
17.03.06
21:46
(+78) Оставляю тебя с  insider'ом, щас он тебе объяснит, что ООП в 1С есть, но оно жестко купировано :))
81 КонецЦикла
 
17.03.06
21:46
(74) Пепец... все сначала, на колу мочало :)
82 insider
 
17.03.06
21:47
(80) я сегодня не в голосе, давай ты, доверяю :)
83 ШтушаКутуша
 
17.03.06
21:47
Караул устал!
84 ШтушаКутуша
 
17.03.06
21:49
Про Дюма говорили,что дескать:пишет не по правилам!
А он ответил в том смысле,что нужно писать интересно,занимательно.
Вот и весь жанр
85 Джинн
 
17.03.06
21:50
(39) По поводу того, атомарное значение или нет - никто не помнит к чему приводит попытка применить условие в запросе по измерению неопределенного типа в SQL-версии? :) И не задумывался почему так происходит?
...
То All. Вижу у некоторых товарищей отсутствует понимание различия между СУБД и собственно базой данных. Задумайтесь над этим. И про Access-Fox срашивать не будете.
86 insider
 
17.03.06
21:50
(77) напечатай из конспекта определения: наследования, полиформизма и инкапсуляции
87 PR
 
17.03.06
21:50
(82) Ну вот, я только хотел под вечер поработать :))

В общем ситуация следующая: 1C конечно использует ООП, то есть разработчики программы 1С в полной мере его юзают, инкапсуляцию, полиморфизм и т. д., но вот программисты 1С ничего этого уже не имеют и работают с фиксированным набором объектов: константа, документ, справочник, отчет и т. д.
88 ШтушаКутуша
 
17.03.06
21:51
у! как все серьезно,уже и про инкапсуляции запупыривают! Однако,мля!
89 insider
 
17.03.06
21:52
(87) сейчас развезем про ВК, rainbow... и понеслась, как обычно :)
90 PR
 
17.03.06
21:52
(88) А то! Раз про ООП речь зашла
91 insider
 
17.03.06
21:52
(88) ну так если оттопыриться, то по-взрослому :)
92 Композитор
 
17.03.06
21:52
(87) И слава Богу!
93 КонецЦикла
 
17.03.06
21:53
(85) Помню... но не знаю к кому присоединиться... сказывается бух. образование :)
94 insider
 
17.03.06
21:53
(93) вау, коллега! :)
95 PR
 
17.03.06
21:55
(92) Это точно, иначе безудержные фанаты ООП в 1С ТАКОГО БЫ наворотили :o)
96 Волшебник
 
модератор
17.03.06
22:08