Теория расширенных
(постреляционных) баз данных.
2.Реляционные базы данных и отношения
Большинство пользователей убеждены в том, что слово реляционный
в названии реляционные базы данных относится к способности быстро
строить отношения между таблицами. Действительно, наиболее сильная
сторона реляционных баз данных заключается в управлении межтабличными
отношениями.
В основе реляционные баз данных лежит теория отношений - математическая
теория, оперирующая наборами кортежей. Можно представить кортеж
как строку в таблице. В реляционной теории, набор строк в таблице
выражает отношение.
Ну а как насчет управления отношениями в реляционных базах данных?
Основной механизм создания отношений - объединение. Здесь возникают
три главные проблемы. Во-первых, большинство людей не понимает,
что из себя представляет объединение. Более того, поскольку базы
данных должны быть нормализованы, то работа с реальными представлениями
часто требует многочисленных объединений. Очень сложно, объяснить
людям, которые далеки от технических наук, как соединить 15 или
20 таблиц для представления данных. И часто, в процессе создания
объединения, результурующее представление работает неэффективно,
иными словами, медленно.
Во-вторых, по определению, объединения носят временный характер.
Самая сильная сторона реляционного подхода, где сложные записи
разбиваются на простые таблицы, является одновременно и самой
большой его слабостью. Пользователю не нужно разбираться в отношениях
между различными частями БД, разработчик базы данных должен встроить
их в ее структуру. Но это означало бы преобразование реляционной
БД обратно в сетевую.
И, наконец, отношения всегда связаны с ограничениями целостности
и другими бизнес-правилами, как то: не стирать записи пользователя,
содержащие неоплаченные заказы, не оплачивать стоимость товара
по несуществующим кредитным картам и т.п. Однако, не владея методом
выражения межтабличных отношений, подобные правила не могут стать
встроенной частью БД.
Так сложилось, что вышеупомянутая проблема означала введение
всех бизнес-правил в код приложений. В некоторых реляционных БД
правила бизнеса хранятся в словарях данных как "хранимые
процедуры", написанные в SQL и выполняемые при внесении изменений
в БД. Но наиболее простой выход из положения - связать ограничения
целостности напрямую с отношениями БД.