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

       

Подход к организации SQL-ориентированного


По мере уменьшения стоимости запоминающих устройств перестают быть редкостью постоянно доступные терабайтные базы данных, состоящие из миллиардов записей. Эти базы данных организуются и управляются на основе реляционной модели языка SQL. В следующих нескольких абзацах дается элементарное введение в концепцию реляционной модели, необходимое для понимания оставшейся части статьи.

Реляционная база данных состоит из отношений (relation) (или файлов в терминологии языка COBOL), которые в свою очередь содержат кортежи (tuples) (записи в терминологии языка COBOL). Все кортежи в отношении содержат один и тот же набор атрибутов (полей в терминологии языка COBOL).

Отношения создаются, изменяются и запрашиваются посредством написания операторов на языке SQL. Эти операторы являются синтаксическим облагораживанием обычного набора операторов реляционной алгебры. Оператор выбора-проецирования

(select-project), называемый здесь просмотром (scan), является простейшим и наиболее распространенным – он создает подмножество строк и столбцов реляционной таблицы. Просмотр отношения R, используя предикат P и список атрибутов L, обеспечивает на выходе реляционный поток данных. Просмотр читает каждый кортеж t из R и применяет к нему предикат P. Если P(t) истинно, то просмотр отбрасывает все атрибуты t, отсутствующие в L, и вставляет результирующий кортеж в выходной поток просмотра. В терминах SQL просмотр отношения телефонной книги для нахождения телефонных номеров всех людей с фамилией Smith будет иметь вид, представленный на рис. 6. Выходной поток просмотра может быть послан другому реляционному оператору, возвращен в прикладную программу, отображен на терминале или напечатан. В этом красота и универсальность реляционной модели. Однородность данных и операторов позволяет составлять из них графы потока данных произвольным образом. SELECT telephone_number /* атрибут(ы) вывода */ FROM telephone_book /* вводное отношение */ WHERE name = "Smith"; /* предикат */



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