Классика баз данных - статьи




Во что же мы уперлись? - часть 2


Чтобы понять это, сравним фразы "существует некое отношение" и "существует отношение со схемой (a, b, c)". В первом случае говорится об отношении в самом общем смысле, то есть об отношении, которое удовлетворяет вводимому в фРМД определению именно такого абстрактного, "некоего" отношения. Во втором случае речь идет об отношении, заголовок которого содержит конкретные значения (называемые также "именами атрибутов") "a", "b" и "c". Ну а для отношения со схемой (Артикул#, Количество, Цена) "семантика" кажется вообще очевидной, но это опять-таки не есть семантика фРМД – это всего лишь семантика имен атрибутов (каждое из которых есть значение), содержащихся в данной конкретной схеме.

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

Для того чтобы понять, где проходит разница между моделью и системой, может быть полезной аналогия с другими областями математики, реализованными в информационных системах – например с простейшей арифметикой. Арифметика манипулирует целыми числами с помощью набора предопределенных операций. Другими словами, в ней определены множество типов, состоящее из одного типа "число", и множество операций, например, сложение или умножение. Вспомним, что "модель данных" определяется как множество типов, множество операций и множество ограничений целостности данных.Похоже, не правда ли? Но ведь вряд ли кто-то будет обвинять арифметику в том, что её операции выполняются медленно, или что при арифметических вычислениях приходится использовать неудобный язык. Всё это чисто реализационные проблемы, и модель к ним не имеет никакого отношения.

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




Содержание  Назад  Вперед