Форум: "Базы";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
ВнизРБД без взаимосвязанных таблиц??? Найти похожие ветки
← →
Alexandr1 (2005-11-22 17:34) [0]Подскажите, является ли БД реляционной, если некоторые таблицы не взаимосвязанны (не содержат внешних ключей)? Если можно, то укажите ссылки на литературу.
Заранее благодарен.
← →
Desdechado © (2005-11-22 17:42) [1]справочники могут не содержать этих внешних ключей, но зато на них могут ссылаться
могут быть таблицы-свалки без ключей, хотя это несколько анархией попахивает
могут быть служебные таблицы, на которые нет ссылок и которые сами ни на что не ссылаются, но они участвуют в бизнес-логике (например, в ХП)
← →
ANB © (2005-11-22 17:59) [2]Если я ничего не путаю, то реляционными бывают СУБД. А как ты в нее базу запихаешь - твои личные проблемы. Я видел много примеров БД без ограничений (внешних ключей). Ссылочная целостность поддерживалась триггерами и/или пакетами.
← →
Desdechado © (2005-11-22 18:15) [3]таблицы взаимосвязаны могут быть по-разному (FK или триггеры ...)
автор спрашивает, видимо, о вообще отвязанных таблицах
← →
ANB © (2005-11-22 18:47) [4]
> Desdechado © (22.11.05 18:15) [3]
У нас сейчас БД, в которой вообще никак не поддерживается. При этом логические связи есть.
← →
Desdechado © (2005-11-23 11:26) [5][4]
а вот это - гниль, имхо
хотя варианты невозможности организации в РСУБД логических связей я тоже могу придумать, но тогда это просто попытка уложить в прокрустово ложе РСУБД данных, которые таковыми не являются
для них есть другие подходы, хотя и не очень популярные
← →
by © (2005-11-23 11:33) [6]Desdechado © (23.11.05 11:26) [5]
а вот это - гниль, имхо
У меня был вариант приложения, в котором не было FK, вся ссылочная целостность обеспечивалась тригерами. Так как данные вносились только из приложения, то логическую целостность обеспечивало он. А вот при удалении были плюсы, так как в тригер можно было написать Exception осмысленный, который говорил почему именно нельзя удалять данную запись. А не просто сказать что на неё есть ссылки.
← →
Sergey13 © (2005-11-23 11:44) [7]2 [6] by © (23.11.05 11:33)
В моей практике (в случаях, когда часть системы уже работает в продакшене а остальное активно дописывается) практически всегда после некоторого времени вылезаи или "левые" записи или не было "нужных" записей, которые там должны быть. Я так понял, что тригеры иногда не срабатывают - они могли быть например не валидны какое то время по причине смены структуры БД или просто не учитывали некоторых нюансов. Другими словами для полностью готовой системы - это прокатит (может прокатить), для развивающейся - не всегда.
← →
dioman © (2005-11-23 11:46) [8]реляционная база данных - это та где данные хранятся ввиде ТАБЛИЦ...
а отношения между таблицами это уже фича. То есть можешь иметь 1 таблицу, никаких отношений... и смело говорить что это реляционная база данных.
← →
ANB © (2005-11-23 12:16) [9]
> Desdechado © (23.11.05 11:26) [5]
> [4]
> а вот это - гниль, имхо
А кто спорит ? Исторически сложилось. Причем связки явно напрашиваются на внешние ключи, но никто их делать не собирается. Поддерживается клиентом.
← →
Val © (2005-11-23 12:27) [10]>[8] dioman © (23.11.05 11:46)
Не смешите людей. От чего, как вы думаете, произошло слово "реляционная"?
>[7] Sergey13 © (23.11.05 11:44)
а как же alter table mytable disable constraint my_constraint ? ;) думаю, немножко не тот аргумент, хотя и за очень правильную идею. Согласен, в рабочей базе НЕ ДОЛЖНО быть ни некативных триггеров, ни ограничений.
> All
Коллеги, классически, в теории, считается, что связь между таблицами обеспечивают именно внешние ключи, триггеры - по сути хп для выполнения опр.действий при работе с таблицами, как вы понимаете, а что вы в них зашьете.... А кто как обеспечивает ссылочную целостность _в_своих_ разработках - его личное дело.
← →
Desdechado © (2005-11-23 12:30) [11]Поддержка на триггерах опасна, ибо они могут быть отключены (FK в оракле, правда, тоже), могут быть инвалидны, и - самое опасное - триггер работает в контексте транзакции, а constraint - в контексте БД (что действительно гарантирует целостность и непротиворечивость данных, в отличие от триггеров).
А в заявления вида "данные только из клиентской программы", надеюсь, никто сам не верит, ибо шибко вумные юзера найдутся всегда, да и кто сам вручную для каких-то сверхнеобходимых дел в БД не лез, позабывши часть ограничений - вот тут constraint"ы и сообщат о себе...
← →
Desdechado © (2005-11-23 12:32) [12]реляция - отношение, отношение МЕЖДУ таблицами, т.е. их взаимосвязь
← →
dioman © (2005-11-23 12:36) [13]
> Val © (23.11.05 12:27) [10]
> Desdechado © (23.11.05 12:32) [12]
открываем учебники читаем определения.
а английский язык многие знают.
← →
Sergey13 © (2005-11-23 12:37) [14]2[10] Val © (23.11.05 12:27)
>а как же alter table mytable disable constraint my_constraint
Это немного не то. Когда сам отключаешь, наверное знаешь зачем и что будет. А вот когда это происходит прозрачно для программиста (а если там еще и группы программистов по малосвязанным направлениям!!!), то это другое дело. Ну добавил я поле в таблицу (да размерность просто изменил!!!). Кто ж думал, что станет невалидной 5 процедур и 14 тригеров - они же все "не мои" и я про них не знаю даже.
← →
Val © (2005-11-23 12:37) [15]>[13] dioman © (23.11.05 12:36)
плохие у вас учебники, видимо.
← →
Val © (2005-11-23 12:43) [16]>[14] Sergey13 © (23.11.05 12:37)
:) Сергей, ну это может сделать кто угодно, тот же саппорт, латая по-быстрому дырку какую-нибудь, делая апдейт, например, а enable не прошел у него, но он не увидел/запарился/забыл...
Кто ж думал, что станет невалидной 5 процедур и 14 тригеров - они же все "не мои" и я про них не знаю даже
врядли вы так делаете :) зависимости-то компилить надо, после того как вы табличку ковыряли - тем более, видели перед началом компиляции, что они валидны...такое дело...спорить не о чем, думаю.
← →
dioman © (2005-11-23 12:44) [17]Val © (23.11.05 12:37) [15]
я совершенно серьезно.
существуют иерархические сетевые реляционные (табличные.. там где поялвяются понятия строк и слолбцов)... и проч... виды хранения информации
← →
Sergey13 © (2005-11-23 12:52) [18]2[16] Val © (23.11.05 12:43)
Да все понятно. Но отключенное мной специально и отключившееся "САМО" в результате моих действий - это все таки разные вещи. И я лично предпочитаю констрейнты тригерам как более надежное средство.
>зависимости-то компилить надо
1. Это надо еще и знать, что надо
2. Это надо еще и помнить.
8-)
← →
__гфф (2005-11-23 12:55) [19]не гоните на диомана! он прав.
Реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой данных сводятся к манипуляциям с таблицами
http://www.jetinfo.ru/1995/3-5/1/rdbms.basics.html
да и вообще, гугле вам поможет
>> реляция - отношение, отношение МЕЖДУ таблицами, т.е. их взаимосвязь
отношение - это отдельное понятие, это, по-простому, таблица.
УЧИТЕ МАТЧАСТЬ!
← →
Вольный Стрелок © (2005-11-23 13:00) [20]ай-ай!
теория без практики мертва...
← →
__гфф (2005-11-23 13:02) [21]Удалено модератором
← →
Nikolay M. © (2005-11-23 13:03) [22]
> > Val ©
> > Desdechado ©
РБД - это такая БД, где информация представлена в виде двумерных массивов (таблиц). Все. Не надо путать мух с котлетами и приплетать сюда всякие тригеры, констрейнты, логические связи и тд.
Кто не верит, может почитать Кодда в оригинале.
← →
Desdechado © (2005-11-23 13:12) [23]Кодд, конечно, авторитет.
Оспаривать не буду, ибо действительно деталей определения РБД не помню.
Но мое имхо, РБД из несвязанных таблиц - обычная свалка, а ее разработчик - неуч. Причем это уже вина не Кодда, который недостаточно определил РБД, а конкретных разработчиков.
Несколько резко, но зато по сути.
← →
msguns © (2005-11-23 13:35) [24]Класс !!! Вот, читаешь иногда людей грамотных и удивляешься:
>dioman © (23.11.05 11:46) [8]
>реляционная база данных - это та где данные хранятся ввиде ТАБЛИЦ...
>Nikolay M. © (23.11.05 13:03) [22]
>РБД - это такая БД, где информация представлена в виде двумерных массивов (таблиц). Все
>__гфф (23.11.05 12:55) [19]
>Реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой данных сводятся к манипуляциям с таблицами
http://www.jetinfo.ru/1995/3-5/1/rdbms.basics.html
да и вообще, гугле вам поможет
>отношение - это отдельное понятие, это, по-простому, таблица.
Два вопроса:
1. Ексель - это РБД ? Что значит фраза "храняться в виде таблиц" ? Это в смысле на HDD нарисована таблица-сетка, куда "вкладываются" данные ?
2. Может, вместо гугля иногда неплохо бы и что-нибудь сугубо теоретическое почитать ? В смысле книжек.
Кто-нибудь из вас когда-нибудь работал с нереляционными БД ? Наверное, нет. Ибо не несли бы здесь тогда такую чушь ;)
← →
msguns © (2005-11-23 13:37) [25]Кстати, рекомендую одного из столпов РБД - Кнута.
← →
__гфф (2005-11-23 14:15) [26]не понял, че за наезд..
а чем Вам таблицы в экселе не база данных?
признаюсь честно, с нереляционными БД работать не приходилось
ну и кстати, на счет гугля.. я упомянул это потому что это САМЫЙ простой и быстрый способ ткнуть носом.
с технологией баз данных я знакомился, естественно, не в гугле :))
← →
__гфф (2005-11-23 14:17) [27]msguns ©, простите за назойливость, а Вам приходилось работать с нереляционными БД? ;)
← →
__гфф (2005-11-23 14:19) [28]>> Ексель - это РБД ?
и кстати, Вы не представляете, наверное, что можно делать в экселе
это очень мощная штука
в экселе можно даже строить олап-кубы
← →
__гфф (2005-11-23 14:24) [29]>> Кстати, рекомендую одного из столпов РБД - Кнута.
весь мир изучает БД по Кодду, а не по Кнуту, имхо. Может я отстал от жизни, не знаю. Кто же ввел основные понятия? Нормальные формы? О чем мы вообще говорим?!
← →
dioman © (2005-11-23 14:26) [30]
> Desdechado © (23.11.05 13:12) [23]
> Причем это уже вина не Кодда, который недостаточно определил
> РБД, а конкретных разработчиков.
ого... действительно резко.
> msguns © (23.11.05 13:35) [24]
</I
> Это в смысле на HDD нарисована таблица-сетка, куда "вкладываются"
> данные ?
>
Вы над кем смеетесь? наверное над собой
← →
__гфф (2005-11-23 14:40) [31]>> Это в смысле на HDD нарисована таблица-сетка, куда "вкладываются" данные ?
ЛОЛ
>> Ексель - это РБД ?
кто-то мне говорил, что к таблицам в экселе можно даже обращаться через АДО, пишешь коннекшн стринг и вперед!
правда сам не пробовал, утверждать не буду.
← →
ANB © (2005-11-23 14:47) [32]
> правда сам не пробовал, утверждать не буду.
Я пробовал. Правда не всегда получается - желательно у таблицы одни заголовки колонок оставить и данные - но работает.
← →
__гфф (2005-11-23 14:52) [33]еще раз гугле..
два слова, и вот! How To Use ADO with Excel Data from Visual Basic or VBA
http://support.microsoft.com/default.aspx?scid=kb;EN-US;257819
← →
Val © (2005-11-23 14:56) [34]Скажите-ка - база из одной таблицы, например, является реляционной по-вашему? Что же там с чем "реляцирует"? Экселя формат, текст, бинарник - пофиг, это лишь вид представления информации - все реляционное, скажете, главное чтоб столбик и строчка?
← →
Val © (2005-11-23 14:58) [35]>[33] __гфф (23.11.05 14:52)
уж если вы сейчас открываете для себя возможность коннекта к экселю, как чудо некое...
← →
__гфф (2005-11-23 15:03) [36]>> база из одной таблицы, например, является реляционной по-вашему?
да.
>> Что же там с чем "реляцирует"?
что Вы зациклились на этом слове?
relation (eng) - отношение. Отношение - это ключевое понятие в теории баз данных. Отношение столбцов и строк.
Ну вот честное слово, просто время есть, не стал бы даже отвечать ничего..
вообще, суть ответа на вопрос нити обсуждения - РТФМ!
← →
__гфф (2005-11-23 15:05) [37]>> уж если вы сейчас открываете для себя возможность коннекта к экселю, как чудо некое...
а Вас это удивляет? Просто не приходилось сталкиваться с этим, Бог уберег. У меня еще широчайшее поле для самосовершенствования!
← →
dioman © (2005-11-23 15:07) [38]
> Val © (23.11.05 14:56) [34]
Да согласитесь вы наконец-то или нет...?
> Val © (23.11.05 14:58) [35]
>
> >[33] __гфф (23.11.05 14:52)
> уж если вы сейчас открываете для себя возможность коннекта
> к экселю, как чудо некое...
вот уж не знаю что хуже.. не знать что есть драйвер для коннекта к екселю... или не знать что такое РБД...
← →
__гфф (2005-11-23 15:13) [39]Удалено модератором
← →
Val © (2005-11-23 15:21) [40]Удалено модератором
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.043 c