Основы объектно-ориентированного проектирования

Операции


Реляционной модели баз данных сопутствует реляционная алгебра, в которой определено много операций над отношениями. Три типичные операции - это выбор (selection), проекция (projection) и соединение (join).

Выбор выдает отношение, содержащее подмножество строк данного отношения, удовлетворяющее некоторому условию на значения полей. Применяя условие выбора "pages меньше, чем 400" к BOOKS, получим отношение, состоящее из первой, второй и последней строки BOOKS.

Проекция отношения на один или несколько атрибутов получается пропуском всех других полей и устранением повторяющихся строк в получившемся результате. Если спроектировать наше отношение на последний атрибут, то получим отношение с одним полем и с тремя кортежами: "STENDHAL", "FLAUBERT" и "BALZAC". Если же спроектировать его на три первых атрибута, то получится отношение с тремя полями, полученное из исходного вычеркиванием последнего столбца.

Соединение двух отношений это комбинированное отношение, полученное путем выбора атрибутов с согласованными типами в каждом из них и объединением строк с одинаковыми (в общем случае, согласованными) значениями этих атрибутов. Предположим, что у нас имеется еще отношение AUTHORS (АВТОРЫ):

Таблица 13.2. Отношение AUTHORS (АВТОРЫ)Name (имя)real_name (настоящее_имя)Birth (год_ рождения)death (год_ смерти)
"BALZAC""Honore_ de Balzac"17991850
"FLAUBERT""Gustave Flaubert"18211880
"PROUST""Marcel Proust"18711922
"STENDHAL""Henry Beyle"17831842

Тогда соединение отношений BOOKS и AUTHORS по согласованным атрибутам author и name будет следующим отношением:

Таблица 13.3. Соединение отношений BOOKS и AUTHORS по полям author и nametitledatepagesauthor/namereal_namebirthdeath
"The Red and the Black"1830341"STENDHAL""Henry Beyle" 1783 1842
"The Charterhouse of Parma"1839307"STENDHAL" "Henry Beyle" 1783 1842
"Madame Bovary"1856425"FLAUBERT""Gustave Flaubert" 1821 1880
"Euge_nie Grandet"1833346"BALZAC""Honore_ de Balzac" 1799 1850


Содержание раздела