![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Pakshin A. S. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
Реляционный способ доступа к данным основывается на операциях с группами записей. Для задания операций используются средства языка структурированных запросов – SQL (Structured Query Language), поэтому реляционный способ доступа к данным называется также SQL-ориентированным.
Основным достоинством реляционного способа доступа является небольшая загрузка сети, поскольку передаются только запросы и результат их выполнения. ОСНОВНЫЕ СВЕДЕНИЯ О ЯЗЫКЕ SQL Язык SQL ориентирован на выполнение действий с таблицами БД и данными в этих таблицах, а также некоторых вспомогательных действий. Составленную на языке SQL программу также называют SQL-запросом. В дальнейшем при описании операторов языка мы будем опускать несущественные операнды и элементы, используя для обозначения отдельных элементов символы < >, а необязательные конструкции заключать в квадратные скобки. Зарезервированные слова будут писаться строчными, а имена – прописными буквами. Регистр букв не влияет на интерпретацию операторов языка. Элементы в списках, например, имена полей и таблиц, должны быть разделены запятой. В SQL-запросе допускаются комментарии, поясняющие текст программы. Комментарий ограничивается символами /* и */ ФУНКЦИИ ЯЗЫКА Вот некоторые, наиболее употребляемые функции 1) Агрегатные функции: AVG() – среднее значение MAX() – максимальное значение MIN() – минимальное значение SUM() – сумма COUNT() – количество значений COUNT(*) – количество ненулевых значений 2) Функции для работы со строками UPPER(Str) – переход к верхнему регистру LOWER(Str) – переход к нижнему регистру TRIM(Str) – удаление пробелов в начале и конце строки SUBSTRING(Str FROM n1 TO n2) – выделение подстроки начиная с позиции n1 и заканчивая позицией n2 CAST(<Expression> AS <Type>) – приведение выражения к типу 3) Функции декодирования даты и времени EXTRACT(<Элемент> FROM <Выражение>) – из выражения извлекается значение, соответствующее элемента. Элемент может содержать: YEAR, MONTH, DAY, HOUR, MINUTE или SECOND СОЗДАНИЕ И УДАЛЕНИЕ ТАБИЦЫ Для создания таблиц служит оператор CREATE TABLE:
В SQL-запрос должен входить минимум одно поле с соответствующим типом данных! Типы данных: SMALLINT INTEGER DECIMAL(X, Y) NUMERIC(X, Y) FLOAT(X, Y) CHARACTER(N) VARCHAR(N) DATE BOOLEAN BLOB(N, 1) BLOB(N, 2) BLOB(N, 3) BLOB(N, 4) BLOB(N, 5) TIME TIMESTAMP MONEY AUTOINC BYTES(N) Пример запроса:
Для удаления таблицы предназначен оператор:
Пример:
ИЗМЕНЕНИЕ СОСТАВА ТАБЛИЦЫ Изменение состава полей таблицы выполняется оператором:
Операнд ADD добавляет в таблице новое поле, а операнд DROP удаляет из таблицы поле. Пример:
СОЗДАНИЕ И УДАЛЕНИЕ ИНДЕКСА Индекс обеспечивает быстрый доступ к данным, хранимым в поле, для которого создан. Индекс создается оператором:
Пример:
Для удаления индекса используется:
Пример:
ОТБОР ДАННЫХ ИЗ ТАБЛИЦ Отбор данных из таблиц заключается в получении из них полей и записей, удовлетворяющих заданным условиям. Результат выполнения запроса, на основании которого отбираются записи, называется выборкой. Данные можно выбирать из одной или нескольких таблиц с помощью оператора SELECT:
Теперь всё постепенно… Управление полями. Пример отбора всех полей в таблице:
Пример отбора только нескольких полей из таблицы:
Также в запрос могут входить и вычисляемые поля:
Таким образом, мы получим поле Name и новое поле, созданное на основе данного Code*2, при этом ни состав, ни данные в таблице изменены не будут. Также к какому-либо полю можно присоединить символ при помощи конкатенации (||):
Таким образом, получаем при выводе «- Name», где Name – значение поля Name в таблице Demo. Записи могут иметь одинаковые значения некоторых полей. Для избежания повторений при выводе используется перед списком полей описатель DESTINCT:
Ещё одним достоинством SQL является простота объединения в результирующем наборе данных, содержащихся в нескольких таблицах. Для этого используется список таблиц:
или
Простое условие отбора записей. На практике набор данных обычно ограничивается записями, удовлетворяющими каким-либо определенным условиям (критериям) отбора, задаваемым с помощью операнда WHERE. Критерий отбора представляет собой логическое выражение, в котором можно использовать операции: 1) Сравнение = - равно > - больше < - меньше >= - больше или равно <= - меньше или равно <> или != - не равно !> - не больше !< - не меньше 2) LIKE – сравнение по шаблону 3) IS NULL – проверка на нулевое значение 4) IN – проверка на вхождение 5) BETWEEN – проверка на вхождение в диапазон Пример простого запроса с отбором
Здесь продемонстрирован пример выбора по числовому полю Пример выбора по символьному полю:
Для проверки нулевого значения выражения служит операция IS NULL, которая имеет следующий формат:
Пример:
Проверка на вхождение выражения в список выполняется с помощью операции IN следующего формата:
Пример:
В этом запросе приведен пример работы со встроенной функцией приведения строки к нижнему регистру LOWER(). Операция BETWEEN выполняет проверку вхождения в диапазон и имеет форма:
Пример:
Сложные критерии выбора. Сложный критерий состоит из: простых условий, логических операций( AND – логическое и, OR – логическое или, NOT – логическое не) и круглых скобок. Пример:
Группировка записей. Записи результирующего набора могут быть сгруппированы по некоторому признаку. Группу образую записи с одинаковыми значениями в полях, перечисленных в списке операнда GROUP BY. Группирование записей автоматически исключает повтор значений в полях, заданных для группировки. Совместно с операндом GROUP BY можно использовать операнд HAVING, с помощью которого задаются дополнительные условия группировки (сравнимо с WHERE). Пример:
Сортировка записей. Сортировка представляет собой упорядочивание записей по возрастанию или по убыванию значений полей. Список полей, по которым выполняется сортировка, указывается в операнде ORDER BY. Для указания обратной сортировки по какому-либо полю нужно указать после имени соответствующего поля описатель DESC. Пример:
РЕДАКТИРОВАНИЕ ЗАПИСЕЙ Редактирование записей представляет собой изменение значений полей в группе записей. Оно выполняется оператором UPDATE:
ВСТАВКА ЗАПИСЕЙ Вставка записей осуществляется с помощью оператора INSERT, который позволяет добавлять к таблицам одну или несколько записей:
Пример:
УДАЛЕНИЕ ЗАПИСЕЙ Для удаления группы записей используется оператор DELETE:
Пример:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() ![]() |
Правила форума "Общие вопросы по базам данных" | |
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |