![]() |
![]() |
|
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
|
||||
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
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |