Анализ вклада Кодда в Великий Спор


СУЩЕСТВЕННОСТЬ - часть 2


Заметим теперь, что строки EMP в сетевом проекте не включают столбец DEPT#. Поэтому для того, чтобы найти, в каком отделе числится данный служащий, нам требуется пройти по экземпляру связи DEPTEMP от требуемой строки EMP к соответствующей строке DEPT; аналогично, чтобы найти служащих данного отдела, нам нужно пройти по экземпляру связи EMPDEPT от требуемой строки DEPT к соответствующим строкам EMP. Другими словами, информация, которая была бы представлена внешним ключом в реляционном проекте, представляется ссылкой в сетевом проекте; ссылки являются сетевым аналогом внешних ключей (вольно выражаясь).

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

Q1: Получить номера и имена служащих с заработной платой, большей 20K.

Реляционная формулировка:Сетевая формулировка:
SELECT EMP#, ENAMESELECT EMP#, ENAME
FROM EMPFROM EMP
WHERE SALARY > 20K ;WHERE SALARY > 20K ;

Q2: Получить номера и имена служащих из отдела получающих заработную плату больше 20K.

Реляционная формулировка:Сетевая формулировка:
SELECT EMP#, ENAMESELECT EMP#, ENAME
FROM EMPFROM EMP
WHERE SALARY > 20KWHERE SALARY > 20K
AND DEPT# = 'D3' ;AND ( SELECT DEPT# FROM DEPT OVER EMP ) = 'D3' ;

Для запроса Q1 обе формулировки, очевидно, идентичны; однако для запроса Q2 это не так. Реляционная формулировка для Q2 имеет ту же основную форму, что и для Q1 (SELECT-FROM-WHERE с простым условием в разделе WHERE); в отличие от этого, в сетевой формулировке вынужденно используется новая языковая конструкция - раздел OVER (который в моем гипотетическом варианте дает возможность в SQL прохода по ссылкам). Конечно, в этой формулировке условие WHERE не является простым условием ограничения.

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


Начало  Назад  Вперед



Книжный магазин