|
|
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
> 1) в некоторых СУБД FK могут быть отложенными и проверяются в момент commit-а. Да. Могут. Назови эту СУБД. > Хм, пытаюсь представить себе "неразорванный" цикл. Что-то ничего не приходит в > голову, кроме совсем уж абсурдных вариантов... Я не понимаю в чём проблема. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 23:09 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
On 05/31/2012 09:43 PM, Бредятина wrote: > Я, Чернышев Андрей Ленидович, не раз логинился. Сразу же блокируют. Здесь же БД > нельзя обсуждать:) Чем докажешь ? Три пальца готов предъявить ? Ладно, я больше на провокации гестов не ведусь. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 23:11 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
> Вот это действительно высший бред. Можно сказать "апофеоз бреда". Relation - в > переводе с английского означает СВЯЗЬ. Они именно потому так и называются, что > основаны на СВЯЗЯХ. Это не бред, это высшее наукообразное занудство. Действительно, жёстких, физических связей в реляционных БД нет, они все "устанавливаются" находу в виде кода в запросах (условий JOIN-ов). Это даёт большую гибкость таким системам, что в своё время очень помогло РСУБД в конкурентной борьбе с сетевыми и иерархическими СУБД. Таблица -- это связь между атрибутами. Но в РСУБД есть и другие связи, между таблицами (т.е. хранимыми сущностями, кортежами данных). Это -- FK (даже если они не оформлены в БД физически как FK). И товарищь Бредятина конечно же это прекрасно знает, но -- предпочитает наукообразно занудствовать. Зачем -- не понятно, топик не об этом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 23:18 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
вполне м.б.: tab1 -> tab2 tab1 <- tab2 И в чем проблема ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 09:46 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZiv> 1) в некоторых СУБД FK могут быть отложенными и проверяются в момент commit-а. Да. Могут. Назови эту СУБД.Oracle. MasterZiv> Хм, пытаюсь представить себе "неразорванный" цикл. Что-то ничего не приходит в > голову, кроме совсем уж абсурдных вариантов... Я не понимаю в чём проблема.Не то чтобы проблема... Просто для полноты картины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 13:53 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 05/31/2012 09:43 PM, Бредятина wrote: > Я, Чернышев Андрей Ленидович, не раз логинился. Сразу же блокируют. Здесь же БД > нельзя обсуждать:) Чем докажешь ? Три пальца готов предъявить ? Ладно, я больше на провокации гестов не ведусь. Поскольку я здесь уже и дебил, и придурок и т.п., то побыть еще и провокатором не откажусь, если по существу вопросы обсуждать. А по существу у Вас нет понимания что такое "связь":) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 16:34 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
pashalost> В "реляционных системах" связи принципиально не поддерживаются Вот это действительно высший бред. Можно сказать "апофеоз бреда". Relation - в переводе с английского означает СВЯЗЬ. Они именно потому так и называются, что основаны на СВЯЗЯХ. Молодой человек, Вы мне нравитесь, так как чувствуется стремление к познанию:) Но для этого недостаточно переводить иностранные слова. Вы серьезно заблуждаетесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 16:36 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 05/31/2012 08:15 PM, guest_20040621 wrote: > Потому, что это свидетельствует о явной ошибке. Почему это ошибка - читайте Дейта. Ни о чём это не свидетельствует. Топикстартер, не поддавайся на провокации всяких гестов ! Я тебе всё достаточно понятно уже объяснил. Нет, не понятно. Для того, чтобы понятно объяснить, знаний у Вас явно недостаточно:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 16:38 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
On 06/01/2012 05:38 PM, Бредятина wrote: Собственно, есть связи в БД, или нет связей в БД, топикстартеру глубоко безразлично. К его вопросу оно никак не относится. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 16:46 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZivЭто не бред, это высшее наукообразное занудство. Действительно, жёстких, физических связей в реляционных БД нет, они все "устанавливаются" находу в виде кода в запросах (условий JOIN-ов). Это даёт большую гибкость таким системам, что в своё время очень помогло РСУБД в конкурентной борьбе с сетевыми и иерархическими СУБД. Серьезное заблуждение. 1) Для того, чтобы пользователь мог выполнять непредусмотренные запросы в "реляционной системе" придется предпринять не меньше усилий, чем в настоящей СУБД. 2) "Связывание не по ключам" не дает никаких преимуществ, так как связывание по значениям характеристик (а не только по связям) может применяться и в настоящих СУБД. MasterZiv И товарищь Бредятина конечно же это прекрасно знает, но -- предпочитает наукообразно занудствовать. Зачем -- не понятно, топик не об этом. Именно об этом. Связи всегда бинарны, и должны иметь понятное наименование с обеих сторон. И т.д. Конечно, это здесь уже много раз обсуждалось. Но, повторение - мать учения:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 16:49 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
БредятинаИменно об этом. Связи всегда бинарны, и должны иметь понятное наименование с обеих сторон. И т.д. Конечно, это здесь уже много раз обсуждалось. Но, повторение - мать учения:) Ошибка. К "циклическим связям", действительно слабо относится. Хотя бы потому, что никто не знает что это такое:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 16:52 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
> 1) Для того, чтобы пользователь мог выполнять непредусмотренные запросы в > "реляционной системе" придется предпринять не меньше усилий, чем в настоящей СУБД. Я разве говорил обратное ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 16:54 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZiv > 1) Для того, чтобы пользователь мог выполнять непредусмотренные запросы в > "реляционной системе" придется предпринять не меньше усилий, чем в настоящей СУБД. Я разве говорил обратное ? А я и не говорил, что Вы говорили обратное. Но и оставшееся "связывание не по ключам" к теме ведь тоже не имеет прямого отношения. Или связывание не по ключам - это способ обнаружить зацикливание?))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 17:09 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
pashalost, Связей в РМ, как уже было отмечено нет. Не просто "типа нет", а вообще нет. На принципиальном уровне (религиозно-догматическом). Но есть много паттернов, которые называются связями и реализуются с помощью реляционных конструкций: - ссылки (обычно опциональное объявления PK-FK c последующим соединением). Они направленные и бинарные - наличие общих значение (здесь просто соединение по ним, например, общий Город). Это ненаправленная связь (чаще бинарная, хотя не обязательно) - связи в смысле ER (relationship), когда n-кортеж связывает несколько значений. Это ненаправленная n-арная связь. Кстати, термин relation в контексте РМ никак не связан со связями, а по связями обычно имеется в виду relationship. - связи в смысле ORM (object role modeling). - <ну и есть еще наверняка другие связи> Соответственно, без уточнения, какие связи подразумеваются, рассуждать нет смысла. Если говорить о ссылках, то циклы это зло, и чаще всего говорят о плохом дизайне. Либо крайне редко о высокой квалификации, если человек может внятно объяснить, зачем он их применяет. Часто без циклов не обойтись из-за высокой кривизны РМ или с целью оптимизации (РМ низкоуровневая модель, поэтому все надо делать вручную и явно). Циклов по ссылкам в твоей модели очевидно нет и формально она правильна. (За исключением того, что люди зависят от игр, что глупо, но если отвлечься от названий приемлемо.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2012, 22:31 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZivДействительно, жёстких, физических связей в реляционных БД нет, Нет никаких. Поскольку в определении не упоминаются. (И даже в следствиях.) MasterZivони все "устанавливаются" находу в виде кода в запросах (условий JOIN-ов). "На ходу" значит, что они существуют в голове у писателя, либо в приложении. А РСУБД ничего об этих связях не знает. Иначе можно сказать, что в модели существуют любые связи, поскольку возможны любые join. MasterZivЭто даёт большую гибкость таким системам, что в своё время очень помогло РСУБД в конкурентной борьбе с сетевыми и иерархическими СУБД. Это дает сильные головные боли, а также неплохие заработки. MasterZivТаблица -- это связь между атрибутами. Это одна из возможных интерпретаций. Изначально, таблица это множество кортежей со значениями из доменов. Никакой дополнительной семантики за этим нет. (Но ее можно внести, при желании, чем все и занимаются.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2012, 22:39 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
> "На ходу" значит, что они существуют в голове у писателя, либо в приложении. А > РСУБД ничего об этих связях не знает. Иначе можно сказать, что в модели > существуют любые связи, поскольку возможны любые join. Не совсем верно, потому что некоторые СУБД поддерживают т.н. NATURAL JOIN, где JOIN производится именно по связям, сохранённым в виде метаинформации в БД. > Это дает сильные головные боли, а также неплохие заработки. Как-то 15 как минимум лет стажа -- и никаких головных болей. Заработки -- да, неплохие. Ну и по факту -- сетевые и иерархические БД с жёсткими связями если и не совсем вымерли, то очень сильно потеснены реляционными. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 13:26 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZivнекоторые СУБД поддерживают т.н. NATURAL JOIN, где JOIN производится именно по связям, сохранённым в виде метаинформации в БД. Какие это СУБД? Оракул, например, делает NATURAL JOIN тупо по полям с совпадающими именами. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 14:37 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
On 06/03/2012 03:37 PM, Dimitry Sibiryakov wrote: > некоторые СУБД поддерживают т.н. NATURAL JOIN, где JOIN производится именно по > связям, > сохранённым в виде метаинформации в БД. > Какие это СУБД? Оракул, например, делает NATURAL JOIN тупо по полям с > совпадающими именами. Это тоже попадает под определение "по связям, сохранённым в виде метаинформации в БД." Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 15:37 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZivЭто тоже попадает под определение "по связям, сохранённым в виде метаинформации в БД." Покажите мне как сохранить в виде такой метаинформации типичное дерево со ссылкой parent_id->id. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 15:44 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZivНе совсем верно, потому что некоторые СУБД поддерживают т.н. NATURAL JOIN, где JOIN производится именно по связям, сохранённым в виде метаинформации в БД. Мне кажется, Вы путаете NATURAL JOIN и KEY JOIN. Но в любом случае, мало-мальски опытный разработчик должен понимать, что пускать такие конструкции в продакшн недопустимо, их место разве что в сиюминутных запросах и скриптах "по ходу разработки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 17:54 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZivНу и по факту -- сетевые и иерархические БД с жёсткими связями если и не совсем вымерли, то очень сильно потеснены реляционными. 1) Не бывает "жестких" и "мягких" связей. Вы используете термин "жесткие", надеясь на его негативное восприятие читателями, видимо:) 2) "связывание по значениям характеристик" допустимо в любой МД:) так что Вы опять говорите о коммерческом результате, за которым нет никаких технических достижений, но есть безусловный шаг назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 00:01 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
> Покажите мне как сохранить в виде такой метаинформации типичное дерево со ссылкой > parent_id->id. Мне лично хватило бы foreign key parent_id --> THIS_TABLE.object_id Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 11:19 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
> 1) Не бывает "жестких" и "мягких" связей. Вы используете термин "жесткие", > надеясь на его негативное восприятие читателями, видимо:) Нет. жёскткие связи -- физические связи, которые физически присутствуют в БД в виде физических ссылок одних записей на другие. Их нельзя изменить, не пересторив базу данных (не изменяя данные). Мягкие -- наоборот, существующие только в запросах. Их на лету устанавливают и они тут же исчезают. В любой момент с той же сложностью можно установить другие связи. > 2) "связывание по значениям характеристик" допустимо в любой МД:) > так что Вы опять говорите о коммерческом результате, за которым нет никаких > технических достижений, но есть безусловный шаг назад. Ты видимо фанат сетевых БД. Я не спорю, великие были времена, но ... где они теперь ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 11:22 |
|
||
|
циклические связи в БД
|
|||
|---|---|---|---|
|
#18+
MasterZivМне лично хватило бы foreign key parent_id --> THIS_TABLE.object_id Это тебе. А хватит ли этого движку сервера, чтобы понять, что именно так надо делать NATURAL JOIN? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 11:28 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37823925&tid=1541570]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
70ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 366ms |

| 0 / 0 |
