Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

РБД без взаимосвязанных таблиц???


Страницы:   1 2 3 4

Alexandr1 ©   (2005-11-22 17:34:00) 

Подскажите, является ли БД реляционной, если некоторые таблицы не взаимосвязанны (не содержат внешних ключей)? Если можно, то укажите ссылки на литературу.

Заранее благодарен.


msguns   (2005-11-23 13:37:00) [41]

Кстати, рекомендую одного из столпов РБД - Кнута.


msguns   (2005-11-23 13:35:00) [42]

Класс !!! Вот, читаешь иногда людей грамотных и удивляешься:

>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. Может, вместо гугля иногда неплохо бы и что-нибудь сугубо теоретическое почитать ? В смысле книжек.

Кто-нибудь из вас когда-нибудь работал с нереляционными БД ? Наверное, нет. Ибо не несли бы здесь тогда такую чушь ;)


Desdechado   (2005-11-23 13:12:00) [43]

Кодд, конечно, авторитет.
Оспаривать не буду, ибо действительно деталей определения РБД не помню.
Но мое имхо, РБД из несвязанных таблиц - обычная свалка, а ее разработчик - неуч. Причем это уже вина не Кодда, который недостаточно определил РБД, а конкретных разработчиков.

Несколько резко, но зато по сути.


Nikolay M.   (2005-11-23 13:03:00) [44]


> > Val ©
> > Desdechado ©

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


__гфф   (2005-11-23 13:02:00) [45]

Удалено модератором


Вольный Стрелок   (2005-11-23 13:00:00) [46]

ай-ай!
теория без практики мертва...


__гфф   (2005-11-23 12:55:00) [47]

не гоните на диомана! он прав.

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

http://www.jetinfo.ru/1995/3-5/1/rdbms.basics.html

да и вообще, гугле вам поможет

>> реляция - отношение, отношение МЕЖДУ таблицами, т.е. их взаимосвязь

отношение - это отдельное понятие, это, по-простому, таблица.

УЧИТЕ МАТЧАСТЬ!


Sergey13   (2005-11-23 12:52:00) [48]

2[16] Val ©   (23.11.05 12:43)
Да все понятно. Но отключенное мной специально и отключившееся "САМО"в результате моих действий - это все таки разные вещи. И я лично предпочитаю констрейнты тригерам как более надежное средство.

>зависимости-то компилить надо
1. Это надо еще и знать, что надо
2. Это надо еще и помнить.
8-)


dioman   (2005-11-23 12:44:00) [49]

Val ©   (23.11.05 12:37) [15]

я совершенно серьезно.

существуют иерархические сетевые реляционные (табличные.. там где поялвяются понятия строк и слолбцов)... и проч... виды хранения информации


Val   (2005-11-23 12:43:00) [50]

>[14] Sergey13 ©   (23.11.05 12:37)
:) Сергей, ну это может сделать кто угодно, тот же саппорт, латая по-быстрому дырку какую-нибудь, делая апдейт, например, а enable не прошел у него, но он не увидел/запарился/забыл...
Кто ж думал, что станет невалидной 5 процедур и 14 тригеров - они же все "не мои" и я про них не знаю даже
врядли вы так делаете :) зависимости-то компилить надо, после того как вы табличку ковыряли - тем более, видели перед началом компиляции, что они валидны...такое дело...спорить не о чем, думаю.


Val   (2005-11-23 12:37:00) [51]

>[13] dioman ©   (23.11.05 12:36)
плохие у вас учебники, видимо.


Sergey13   (2005-11-23 12:37:00) [52]

2[10] Val ©   (23.11.05 12:27)
>а как же alter table mytable disable constraint my_constraint
Это немного не то. Когда сам отключаешь, наверное знаешь зачем и что будет. А вот когда это происходит прозрачнодля программиста (а если там еще и группы программистов по мало связаннымнаправлениям!!!), то это другое дело. Ну добавил я поле в таблицу (да размерность просто изменил!!!). Кто ж думал, что станет невалидной 5 процедур и 14 тригеров - они же все "не мои" и я про них не знаю даже.


dioman   (2005-11-23 12:36:00) [53]


> Val ©   (23.11.05 12:27) [10]


> Desdechado ©   (23.11.05 12:32) [12]


открываем учебники читаем определения.

а английский язык многие знают.


Desdechado   (2005-11-23 12:32:00) [54]

реляция - отношение, отношение МЕЖДУ таблицами, т.е. их взаимосвязь


Desdechado   (2005-11-23 12:30:00) [55]

Поддержка на триггерах опасна, ибо они могут быть отключены (FK в оракле, правда, тоже), могут быть инвалидны, и - самое опасное - триггер работает в контексте транзакции, а constraint - в контексте БД (что действительно гарантирует целостность и непротиворечивость данных, в отличие от триггеров).
А в заявления вида "данные только из клиентской программы", надеюсь, никто сам не верит, ибо шибко вумные юзера найдутся всегда, да и кто сам вручную для каких-то сверхнеобходимых дел в БД не лез, позабывши часть ограничений - вот тут constraint'ы и сообщат о себе...


Val   (2005-11-23 12:27:00) [56]

>[8] dioman ©   (23.11.05 11:46)
Не смешите людей. От чего, как вы думаете, произошло слово "реляционная"?
>[7] Sergey13 ©   (23.11.05 11:44)
а как же alter table mytable disable constraint my_constraint ? ;) думаю, немножко не тот аргумент, хотя и за очень правильную идею. Согласен, в рабочей базе НЕ ДОЛЖНО быть ни некативных триггеров, ни ограничений.
> All
Коллеги, классически, в теории, считается, что связь между таблицами обеспечивают именно внешние ключи, триггеры - по сути хп для выполнения опр.действий при работе с таблицами, как вы понимаете, а что вы в них зашьете.... А кто как обеспечивает ссылочную целостность _в_своих_ разработках - его личное дело.


ANB   (2005-11-23 12:16:00) [57]


> Desdechado ©   (23.11.05 11:26) [5]
> [4]
> а вот это - гниль, имхо

А кто спорит ? Исторически сложилось. Причем связки явно напрашиваются на внешние ключи, но никто их делать не собирается. Поддерживается клиентом.


dioman   (2005-11-23 11:46:00) [58]

реляционная база данных -  это та где данные хранятся ввиде ТАБЛИЦ...
а отношения между таблицами это уже фича. То есть можешь иметь 1 таблицу, никаких отношений... и смело говорить что это реляционная база данных.


Sergey13   (2005-11-23 11:44:00) [59]

2 [6] by ©   (23.11.05 11:33)
В моей практике (в случаях, когда часть системы уже работает в продакшене а остальное активно дописывается) практически всегда после некоторого времени вылезаи или "левые" записи или не было "нужных" записей, которые там должны быть. Я так понял, что тригеры иногда не срабатывают - они могли быть например не валидны какое то время по причине смены структуры БД или просто не учитывали некоторых нюансов. Другими словами для полностью готовой системы - это прокатит (может прокатить), для развивающейся - не всегда.


by   (2005-11-23 11:33:00) [60]

Desdechado ©   (23.11.05 11:26) [5]
а вот это - гниль, имхо

У меня был вариант приложения, в котором не было FK, вся ссылочная целостность обеспечивалась тригерами. Так как данные вносились только из приложения, то логическую целостность обеспечивало он. А вот при удалении были плюсы, так как в тригер можно было написать Exception осмысленный, который говорил почему именно нельзя удалять данную запись. А не просто сказать что на неё есть ссылки.


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо