singlepost

В чем выгода использования БД без связей? << На главную или назад  

Вопрос про БД.

Недавно с этим столкнулся…

Вообщем приложение(клиент) юзает БДБЕЗсвязей(один ко многим, многие ко многим, один к одному).
В чем выгода такого подхода???

38 ответов в теме “В чем выгода использования БД без связей?”

  1. 38
    Al Vrublevsky ответил:

    У него было четверо детей и шесть внуков….

    Это все из за его увлечения БД…

  2. 37
    Нгамдкхе Кверос ответил:

    лично с ним знаком не был, судя по работам и чтов плагиате вроде замечен не был получается умный был мужик.

  3. 36
    Al Vrublevsky ответил:

    Нгамдкхе Кверос

    А что ты думаешь по поводу Эдгара Ф. Кодда ?

    Надо сделать акцент на том что везде используются суррогатные ключи

  4. 35
    Нгамдкхе Кверос ответил:

    "Скорость при поиске в одной единственной таблице много выше если она не связана с другими табл."
    есть совсем лажовая субд то конечно,
    если нет то могут быть варианты по организации таблиц, характеру данных и характеру запросов. если поиск по полю по которому индекса нет то скорость пропорциональна объёму данных, а без связей это поле может дублироваться много раз, при связи же ты находишь поле единожды и лишь ссылки на него в другой таблице, кодд не хернёй страдал а умную мысль думал, кабы мысль была глупая всебы так и сидели на обычных записях всех полей в одной единственной таблице. в случае изъятия работает много быстрей из-за кеширования, и т.д. и т.п.

  5. 34
    Al Vrublevsky ответил:

    >>>Если бы эту тему увидел Код он бы точно перекрестился

    Знаешь, я думаю Код уже никогда не увидит этого…)

  6. 33
    Al Vrublevsky ответил:

    Эдгар Ф. Кодд умер от сердечного приступа у себя дома во Флориде на острове Вильямс в возрасте 79 лет в пятницу 18 апреля 2003. У него было четверо детей и шесть внуков.

  7. 32
    Al Vrublevsky ответил:

    Скорость при поиске в одной единственной таблице много вышеесли она не связана с другими табл.

  8. 31
    Дарья Устюгова ответил:

    Это человек создавший реляционную модель данных. Которая впервые была реализована в СУБД System R фирмы IBM.

  9. 30
    Дмитрий Хасанов ответил:

    ммм понятно… )))

  10. 29
    Нгамдкхе Кверос ответил:

    Эдгар Франк «Тед» Кодд.

  11. 28
    Дмитрий Хасанов ответил:

    Даша, who is Код?
    Так то теория.. а то практика.. :-)

  12. 27
    Нгамдкхе Кверос ответил:

    зависит от уровня избыточности, иногда за счёт разбиения на таблицы существенно сокращается и число записей и их размер от чего и скорость возрастает.

  13. 26
    Дарья Устюгова ответил:

    Если бы эту тему увидел Код он бы точно перекрестился. Зачем так извращаться над реляционной моделью!!! Как же нормализация и все что связано с теорией реляционных отношени?!!

  14. 25
    Иван Ивахник ответил:

    Преимущество отсутствия связей на уровне БД – скорость, недостаток – потом работу найти трудно, после того как база помреть :) Кризис, хуле :)

  15. 24
    Нгамдкхе Кверос ответил:

    да скорее всего просто дали задание какому-нибудь студенту в качестве курсовика и тот сваял как смог, случаев сплошь и рядом, а вы пытаетесь искать какой-то глубинный смысл…

  16. 23
    Дмитрий Хасанов ответил:

    естественно этот сценарий для особых случаев.

  17. 22
    Леонид Розенблюм ответил:

    > иногда имеет смысл пожертвовать внешними ключами и целостностью в угоду производительности.

    Только если замерять выигрыш, и оценить риски :)

  18. 21
    Дмитрий Хасанов ответил:

    иногда имеет смысл пожертвовать внешними ключами и целостностью в угоду производительности.

  19. 20
    Евгений Тюкавкин ответил:

    Тихо молча никакого ограничения не будет. Формально он есть, а фактически не проверяется. Так в mysql с таблицами не на InnoDB

  20. 19
    Кирилл Быков ответил:

    Как это — не будут? Внешний ключ прежде всего — constraint, и он работает, если поддерживается СУБД.

  21. 18
    Евгений Тюкавкин ответил:

    Внешние ключи в mysql создаются без проблем, но реально работают только с таблицами InnoDB. По умолчанию для таблиц используется MyISAM, а при явном указании все равно может создать таблицу с MyISAM из-за неправильной конфигурации.

  22. 17
    Евгений Тюкавкин ответил:

    Зачем так необходимо делать внешние ключи, если они работать не будут?) Не все СУБД поддерживают корректную работу внешних ключей.

  23. 16
    Al Vrublevsky ответил:

    В FIREBIRD ВНЕШНИЕ КЛЮЧИ ЕСТЬ И РАБОТАЮ

  24. 15
    Al Vrublevsky ответил:

    >>>Если БД mysql – то там есть некоторые сложности с внешними ключами.

    Какие?

  25. 14
    Кирилл Быков ответил:

    Должно работать, если поддерживать целостность. Главное, чтобы проиндексовано было. Но разработчик — идиот, несомненно. Внешние ключи делать НАДО, если они подразумеваются бизнес-логикой. Так что не бери в голову, а переделай всё на добрый лад :)

  26. 13
    Al Vrublevsky ответил:

    Да, вместо "обеспечения целостности " ) !

  27. 12
    Евгений Тюкавкин ответил:

    А тут должен быть какой-то плюс?

  28. 11
    Евгений Тюкавкин ответил:

    Если БД mysql – то там есть некоторые сложности с внешними ключами. Наличие явного указания связи между ключами в таблицах нужно для обеспечения целостности БД. Выборку можно делать с тем же успехом и без явных связей. Если в коде запросы к таблицам без каких-либо джоинов, то спрашивать надо у программиста, который это все наваял.

    Как вариант, изначально все работало на файлах и массивах, а БД прикрутили позже "для галочки".

  29. 10
    Александр Чигринец ответил:

    А поле N_F не является первичным ключом в первой таблице и внешним во второй?

  30. 9
    Al Vrublevsky ответил:

    >>>какой хитрый код ни пиши, все равно ничего не свяжется и не отфильтруется.

    Я его вижу, прямо перед собой. И поверь это работает.
    Технически таблицы связываются как бы "искуственно" уже в коде.

  31. 8
    Al Vrublevsky ответил:

    Для первой таблицы онявляется Primary key non autoincr…
    Но для второйпросто полем(без всяких вторичных ключей для связки).

  32. 7
    Al Vrublevsky ответил:

    1 таблица !
    ++++++++++
    |N_F |
    |Name F |
    |ReaL Name F |

    2 таблица !
    ++++++++++
    |N_address_F |
    |Adress F |
    |N_F |

  33. 6
    Al Vrublevsky ответил:

    F- фирма)!

  34. 5
    Al Vrublevsky ответил:

    Заметим что связей нет!Но работает…

  35. 4
    Евгений Тюкавкин ответил:

    Вариант "программер – идиот" исключен?
    И о каких связях идет речь? Если нет полей, по которым можно связать строки двух таблиц, то какой хитрый код ни пиши, все равно ничего не свяжется и не отфильтруется.

    N_F – что за зверь? похоже на ключевое поле для связи. В чем тогда проблема?

  36. 3
    Юрий Лисичкин ответил:

    а можно для примера пару таблиц хотя бы привести… таких что там должны быть отношения, но их нет.
    А то Вы лично мне мозг ломаете %)

  37. 2
    Al Vrublevsky ответил:

    Много таблиц но связей м/д ними вообще нет.
    Фактически программеру пришлось писать "свой движок"
    Даже элементарные фильтры в пару строчек ему пришлось писать в целые докторские))

    Зачем так мучаться?Разве не проще создать связи??? Но нет …
    зачем так делать просто не пойму…?
    В чем может быть плюс такого подхода?

  38. 1
    Al Vrublevsky ответил:

    Приложение (справочник по фирмам города)
    В нем на Firebird" база данных.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.