MySQL & mSQL



              

Чего недостает MySQL и mSQL - часть 3


Хранимые процедуры

В простейшем случае хранимые процедуры - это одна или несколько команд SQL, хранимых в базе данных под каким-либо простым именем и в совокупности выполняющих некую функцию. В примере с переводом денежных средств можно было бы просто сохранить эти две команды в одной хранимой процедуре с именем «transfer» (перевод). Ваше приложение передает хранимой процедуре два номера счета и сумму, и она выполняет две команды SQL в одной транзакции.

На более высоком уровне сложности хранимые процедуры могут расширять базовый синтаксис SQL, так что он становится похожим на традиционные языки программирования. Двумя примерами таких расширений являются Oracle PL/SQL и Sybase/ Microsoft Tran-sactSQL. Часто можно слышать, что использование хранимых процедур «помещает бизнес-логику в базу данных».

Вложенные запросы

Обычная команда SQL SELECT осуществляет полный доступ ко всем данным, хранимым в таблице, - если вы знаете, что ищете. Когда вы не стремитесь извлечь содержимое таблицы целиком, SELECT в своем основном виде требует ввести хотя бы часть данных, которые вы хотите извлечь. Например, SELECT name FROM friends WHERE name LIKE 'B%' требует знания хотя бы одной буквы имени, которое вы ищете. Что делать в случае, если вы хотите узнать, чей заработок был выше среднего? Запрос должен выглядеть примерно так:

SELECT name FROM people WHERE salary > ???

Больше чего? Вы понятия не имеете, каков средний заработок, пока не сделаете выборку по заработкам! Необходимо взять значение SELECT AVG(salary) FROM people и вставить его в предыдущий запрос. Вложенный запрос позволяет это сделать:

SELECT name

FROM people

WHERE salary > (SELECT AVG(salary) FROM people)

Объекты

Реляционные базы данных - не конечный пункт эволюции. Имеется много объектно-реляционных и объектно-ориентированных баз данных. На рынке систем большого масштаба идея чисто реляционных баз данных постепенно отступает. Новый стандарт SQL3 включит в себя многие изменения, касающиеся поддержки объектов.

В РСУБД все данные хранятся в виде таблиц, представляющих собой просто списки записей, в свою очередь, являющихся собранием битов, представляющих текст, числа и другие типы данных. В объектно-ориентированной системе управления базами данных (ООСУБД) базовой единицей хранения данных является объект. Объект может содержать не только данные тех же типов, что встречаются в реляционных базах данных, но также и другие объекты или многомерные данные, скажем, массивы, или даже выполняемые функции, в мире объектно-ориентированного программирования обычно называемые методами.




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