powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / циклические связи в БД
25 сообщений из 345, страница 2 из 14
циклические связи в БД
    #37820561
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> 1) в некоторых СУБД FK могут быть отложенными и проверяются в момент commit-а.

Да. Могут. Назови эту СУБД.

> Хм, пытаюсь представить себе "неразорванный" цикл. Что-то ничего не приходит в
> голову, кроме совсем уж абсурдных вариантов...

Я не понимаю в чём проблема.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37820564
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 05/31/2012 09:43 PM, Бредятина wrote:

> Я, Чернышев Андрей Ленидович, не раз логинился. Сразу же блокируют. Здесь же БД
> нельзя обсуждать:)

Чем докажешь ? Три пальца готов предъявить ?
Ладно, я больше на провокации гестов не ведусь.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37820574
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Вот это действительно высший бред. Можно сказать "апофеоз бреда". Relation - в
> переводе с английского означает СВЯЗЬ. Они именно потому так и называются, что
> основаны на СВЯЗЯХ.

Это не бред, это высшее наукообразное занудство.
Действительно, жёстких, физических связей в реляционных БД нет,
они все "устанавливаются" находу в виде кода в запросах (условий
JOIN-ов). Это даёт большую гибкость таким системам, что в своё время
очень помогло РСУБД в конкурентной борьбе с сетевыми и иерархическими
СУБД.

Таблица -- это связь между атрибутами.
Но в РСУБД есть и другие связи, между таблицами (т.е. хранимыми
сущностями, кортежами данных). Это -- FK (даже если они не
оформлены в БД физически как FK). И товарищь Бредятина конечно же
это прекрасно знает, но -- предпочитает наукообразно занудствовать.
Зачем -- не понятно, топик не об этом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37820909
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вполне м.б.:
tab1 -> tab2
tab1 <- tab2

И в чем проблема ?
...
Рейтинг: 0 / 0
циклические связи в БД
    #37821493
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv> 1) в некоторых СУБД FK могут быть отложенными и проверяются в момент commit-а.

Да. Могут. Назови эту СУБД.Oracle.
MasterZiv> Хм, пытаюсь представить себе "неразорванный" цикл. Что-то ничего не приходит в
> голову, кроме совсем уж абсурдных вариантов...

Я не понимаю в чём проблема.Не то чтобы проблема... Просто для полноты картины.
...
Рейтинг: 0 / 0
циклические связи в БД
    #37821835
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 05/31/2012 09:43 PM, Бредятина wrote:

> Я, Чернышев Андрей Ленидович, не раз логинился. Сразу же блокируют. Здесь же БД
> нельзя обсуждать:)

Чем докажешь ? Три пальца готов предъявить ?
Ладно, я больше на провокации гестов не ведусь.


Поскольку я здесь уже и дебил, и придурок и т.п., то побыть еще и провокатором не откажусь, если по существу вопросы обсуждать. А по существу у Вас нет понимания что такое "связь":)
...
Рейтинг: 0 / 0
циклические связи в БД
    #37821837
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pashalost> В "реляционных системах" связи принципиально не поддерживаются
Вот это действительно высший бред. Можно сказать "апофеоз бреда". Relation - в переводе с английского означает СВЯЗЬ. Они именно потому так и называются, что основаны на СВЯЗЯХ.
Молодой человек, Вы мне нравитесь, так как чувствуется стремление к познанию:) Но для этого недостаточно переводить иностранные слова. Вы серьезно заблуждаетесь.
...
Рейтинг: 0 / 0
циклические связи в БД
    #37821840
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 05/31/2012 08:15 PM, guest_20040621 wrote:

> Потому, что это свидетельствует о явной ошибке. Почему это ошибка - читайте Дейта.

Ни о чём это не свидетельствует.
Топикстартер, не поддавайся на провокации всяких гестов !
Я тебе всё достаточно понятно уже объяснил.

Нет, не понятно. Для того, чтобы понятно объяснить, знаний у Вас явно недостаточно:)
...
Рейтинг: 0 / 0
циклические связи в БД
    #37821853
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/01/2012 05:38 PM, Бредятина wrote:

Собственно, есть связи в БД, или нет связей в БД,
топикстартеру глубоко безразлично.
К его вопросу оно никак не относится.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37821860
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЭто не бред, это высшее наукообразное занудство.
Действительно, жёстких, физических связей в реляционных БД нет,
они все "устанавливаются" находу в виде кода в запросах (условий
JOIN-ов). Это даёт большую гибкость таким системам, что в своё время
очень помогло РСУБД в конкурентной борьбе с сетевыми и иерархическими
СУБД.

Серьезное заблуждение.
1) Для того, чтобы пользователь мог выполнять непредусмотренные запросы в "реляционной системе" придется предпринять не меньше усилий, чем в настоящей СУБД.
2) "Связывание не по ключам" не дает никаких преимуществ, так как связывание по значениям характеристик (а не только по связям) может применяться и в настоящих СУБД.
MasterZiv
И товарищь Бредятина конечно же
это прекрасно знает, но -- предпочитает наукообразно занудствовать.
Зачем -- не понятно, топик не об этом.

Именно об этом. Связи всегда бинарны, и должны иметь понятное наименование с обеих сторон. И т.д. Конечно, это здесь уже много раз обсуждалось. Но, повторение - мать учения:)
...
Рейтинг: 0 / 0
циклические связи в БД
    #37821863
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаИменно об этом. Связи всегда бинарны, и должны иметь понятное наименование с обеих сторон. И т.д. Конечно, это здесь уже много раз обсуждалось. Но, повторение - мать учения:)
Ошибка. К "циклическим связям", действительно слабо относится. Хотя бы потому, что никто не знает что это такое:)
...
Рейтинг: 0 / 0
циклические связи в БД
    #37821867
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> 1) Для того, чтобы пользователь мог выполнять непредусмотренные запросы в
> "реляционной системе" придется предпринять не меньше усилий, чем в настоящей СУБД.

Я разве говорил обратное ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37821888
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> 1) Для того, чтобы пользователь мог выполнять непредусмотренные запросы в
> "реляционной системе" придется предпринять не меньше усилий, чем в настоящей СУБД.

Я разве говорил обратное ?

А я и не говорил, что Вы говорили обратное. Но и оставшееся "связывание не по ключам" к теме ведь тоже не имеет прямого отношения. Или связывание не по ключам - это способ обнаружить зацикливание?)))
...
Рейтинг: 0 / 0
циклические связи в БД
    #37822888
pashalost,

Связей в РМ, как уже было отмечено нет. Не просто "типа нет", а вообще нет. На принципиальном уровне (религиозно-догматическом). Но есть много паттернов, которые называются связями и реализуются с помощью реляционных конструкций:
- ссылки (обычно опциональное объявления PK-FK c последующим соединением). Они направленные и бинарные
- наличие общих значение (здесь просто соединение по ним, например, общий Город). Это ненаправленная связь (чаще бинарная, хотя не обязательно)
- связи в смысле ER (relationship), когда n-кортеж связывает несколько значений. Это ненаправленная n-арная связь. Кстати, термин relation в контексте РМ никак не связан со связями, а по связями обычно имеется в виду relationship.
- связи в смысле ORM (object role modeling).
- <ну и есть еще наверняка другие связи>
Соответственно, без уточнения, какие связи подразумеваются, рассуждать нет смысла.

Если говорить о ссылках, то циклы это зло, и чаще всего говорят о плохом дизайне. Либо крайне редко о высокой квалификации, если человек может внятно объяснить, зачем он их применяет. Часто без циклов не обойтись из-за высокой кривизны РМ или с целью оптимизации (РМ низкоуровневая модель, поэтому все надо делать вручную и явно). Циклов по ссылкам в твоей модели очевидно нет и формально она правильна. (За исключением того, что люди зависят от игр, что глупо, но если отвлечься от названий приемлемо.)
...
Рейтинг: 0 / 0
циклические связи в БД
    #37822893
MasterZivДействительно, жёстких, физических связей в реляционных БД нет,

Нет никаких. Поскольку в определении не упоминаются. (И даже в следствиях.)

MasterZivони все "устанавливаются" находу в виде кода в запросах (условий
JOIN-ов).

"На ходу" значит, что они существуют в голове у писателя, либо в приложении. А РСУБД ничего об этих связях не знает. Иначе можно сказать, что в модели существуют любые связи, поскольку возможны любые join.

MasterZivЭто даёт большую гибкость таким системам, что в своё время
очень помогло РСУБД в конкурентной борьбе с сетевыми и иерархическими
СУБД.

Это дает сильные головные боли, а также неплохие заработки.

MasterZivТаблица -- это связь между атрибутами.

Это одна из возможных интерпретаций. Изначально, таблица это множество кортежей со значениями из доменов. Никакой дополнительной семантики за этим нет. (Но ее можно внести, при желании, чем все и занимаются.)
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823121
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> "На ходу" значит, что они существуют в голове у писателя, либо в приложении. А
> РСУБД ничего об этих связях не знает. Иначе можно сказать, что в модели
> существуют любые связи, поскольку возможны любые join.

Не совсем верно, потому что некоторые СУБД поддерживают т.н. NATURAL JOIN,
где JOIN производится именно по связям, сохранённым в виде метаинформации в БД.

> Это дает сильные головные боли, а также неплохие заработки.

Как-то 15 как минимум лет стажа -- и никаких головных болей.
Заработки -- да, неплохие.
Ну и по факту -- сетевые и иерархические БД с жёсткими связями
если и не совсем вымерли, то очень сильно потеснены реляционными.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823161
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivнекоторые СУБД поддерживают т.н. NATURAL JOIN, где JOIN производится именно по связям,
сохранённым в виде метаинформации в БД.

Какие это СУБД? Оракул, например, делает NATURAL JOIN тупо по полям с совпадающими именами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823194
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/03/2012 03:37 PM, Dimitry Sibiryakov wrote:

> некоторые СУБД поддерживают т.н. NATURAL JOIN, где JOIN производится именно по
> связям,
> сохранённым в виде метаинформации в БД.

> Какие это СУБД? Оракул, например, делает NATURAL JOIN тупо по полям с
> совпадающими именами.


Это тоже попадает под определение "по связям, сохранённым в виде метаинформации
в БД."
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823202
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЭто тоже попадает под определение "по связям, сохранённым в виде метаинформации в БД."

Покажите мне как сохранить в виде такой метаинформации типичное дерево со ссылкой
parent_id->id.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823284
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНе совсем верно, потому что некоторые СУБД поддерживают т.н. NATURAL JOIN,
где JOIN производится именно по связям, сохранённым в виде метаинформации в БД.

Мне кажется, Вы путаете NATURAL JOIN и KEY JOIN. Но в любом случае, мало-мальски опытный разработчик должен понимать, что пускать такие конструкции в продакшн недопустимо, их место разве что в сиюминутных запросах и скриптах "по ходу разработки".
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823547
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНу и по факту -- сетевые и иерархические БД с жёсткими связями
если и не совсем вымерли, то очень сильно потеснены реляционными.

1) Не бывает "жестких" и "мягких" связей. Вы используете термин "жесткие", надеясь на его негативное восприятие читателями, видимо:)
2) "связывание по значениям характеристик" допустимо в любой МД:)
так что Вы опять говорите о коммерческом результате, за которым нет никаких технических достижений, но есть безусловный шаг назад.
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823857
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Покажите мне как сохранить в виде такой метаинформации типичное дерево со ссылкой
> parent_id->id.


Мне лично хватило бы foreign key parent_id --> THIS_TABLE.object_id
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823871
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> 1) Не бывает "жестких" и "мягких" связей. Вы используете термин "жесткие",
> надеясь на его негативное восприятие читателями, видимо:)

Нет. жёскткие связи -- физические связи, которые физически присутствуют в БД
в виде физических ссылок одних записей на другие. Их нельзя изменить, не
пересторив базу данных (не изменяя данные).
Мягкие -- наоборот, существующие только в запросах. Их на лету устанавливают
и они тут же исчезают. В любой момент с той же сложностью можно установить
другие связи.

> 2) "связывание по значениям характеристик" допустимо в любой МД:)
> так что Вы опять говорите о коммерческом результате, за которым нет никаких
> технических достижений, но есть безусловный шаг назад.

Ты видимо фанат сетевых БД. Я не спорю, великие были времена, но ... где они
теперь ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823878
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivМне лично хватило бы foreign key parent_id --> THIS_TABLE.object_id

Это тебе. А хватит ли этого движку сервера, чтобы понять, что именно так надо делать
NATURAL JOIN?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
циклические связи в БД
    #37823925
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Это тебе. А хватит ли этого движку сервера, чтобы понять, что именно так надо
> делать
> NATURAL JOIN?

Так от движка зовисет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 345, страница 2 из 14
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / циклические связи в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]