В данной статье блога я опишу механизм формирования связей между распределенными базами данных.
Взаимоотношения между столбцами разных таблиц обычно описываются с помощью ключей, которые реализуются посредством ограничений ссылочной целостности и поддерживаемых индексов. Например, обращаясь к рисунку (см. ниже), мы можем установить связь между столбцом DEPTNO второй таблицы, который называется внешним ключом (foreign key), и столбцом DEPTNO первой таблицы, который называется первичным ключом (primary key) этой таблицы.
Наконец, даже если для некоторой таблицы определено несколько индексов, вы не обязаны понимать, как они устроены, и самостоятельно управлять хранящимися в них данными. В состав Oracle входит оптимизатор запросов, который решает, нужно ли использовать для доступа к данным какие-нибудь индексы и как это сделать наилучшим образом.
Реляционный подход привел к созданию структурированного языка запросов Structured Query Language (SQL). Изначально язык SQL определялся исследовательским отделом компании IBM, что заняло несколько лет, но именно корпорация Oracle первой вывела его на рынок
в 1979 году. В то время SQL считался единственным языком, необходимым для работы с реляционными базами данных, поскольку он:
- позволял формулировать запросы (с помощью команды SELECT);
- мог выступать в качестве языка манипулирования данными (Data Manipulation Language, DML) (команды INSERT, UPDATE и DELETE);
- мог выступать в качестве языка определения данных (Data Definition Language, DDL) (команды CREATE и DROP для создания и удаления таблиц);
- позволял назначать привилегии отдельным пользователям или группам (команды GRANT и REVOKE).
Ныне для языка SQL есть много расширений, а также стандарты ANSI/ ISO, определяющие его базовый синтаксис.
DBPTN0 | DEPTNAME | LOCATION |
10 | Accounting | San Francisco |
20 | Research | San Francisco |
30 | Sales | Chicago |
40 | Operations | Dallas |
EMPNO | EMPNAME | TITLE | DEPTNO |
71712 | Johnson | Clerk | 10 |
83321 | Smith | Mgr | 20 |
85332 | Stern | SCMgr | 30 |
88888 | Carter | Mgr | 10 |
Рис. Реляционная модель с двумя таблицами