- •V. Системы управления бд: общие сведения
- •Типы связей. Все информационные объекты предметной области связаны между собой. Различаются связи нескольких типов, для которых введены следующие обозначения:
- •Операторы sql для управления соединениями. В эту группу входят операторы connect, set connection и disconnect. Оператор connect определяется следующими синтаксическими правилами:
- •Команда select – выборка, самая часто используемая команда, с помощью её идет выбор данных из таблицы. Запроса с применением select выглядит с.О.:
- •Структура команды select следующая:
- •Insert into users_base (user_name, city, birth_day) values (‘Александр’, ‘Ростов’, ’20.06.1991’);
- •Такой запрос выведет только те строки, которые будут соответствовать условию where.
- •Оператор exists может быть полезен для вовлечения внешних ключей (foreign keys). В следующем примере идет проверка, имеет ли значение атрибута 'fred the 45' какое-либо задание. Первый вариант:
Операторы sql для управления соединениями. В эту группу входят операторы connect, set connection и disconnect. Оператор connect определяется следующими синтаксическими правилами:
CONNECT TO connection_target
connection_target ::= SQL_server_name
[ AS connection_name ]
[ USER connection_user_name ]
DEFAULT
Здесь SQL_server_name - это литерально заданная символьная строка, идентифицирующая сервер, к которому требуется подключиться. В необязательном разделе AS указываемое имя (connection_name) выступает в роли временного имени соединения, которое впоследствии может быть использовано в операторах SET CONNECTION и DISCONNECT. Если в операторе CONNECT раздел AS не содержится, то по умолчанию connection_name совпадает с SQL_server_name.
В необязательном разделе USER указываемое имя (connection_user_name) идентифицирующее пользователя, от имени которого устанавливается соединение. При отсутствии раздела USER в качестве connection_user_name по умолчанию принимается текущий authID. Допускается, что реализация может ограничить возможные значения connection_user_name (например, потребовать, чтобы это имя всегда совпадало с текущим authID).
Определение схемы:
Create Schema <DDD>
Authorization - <Name>
Определение таблиц включает:
присвоение имени;
определение типа данных (Integer - целое; Numeric - число; Decimal - десятичное; Real - действительное; Float - с плавающей запятой; Character; Character varying - символьное; Bit - двоичное; Date - дата);
определение полей с ограничительными условиями;
определение ограничительных условий на таблицу.
Создание таблицы:
Create TABLE Name_table1 (
Worker_ID Int (5) Primary key
Worker_name Character (12)
City Character (12)
birth_day Date
)
Create TABLE Name_table2 (……)
Команда select – выборка, самая часто используемая команда, с помощью её идет выбор данных из таблицы. Запроса с применением select выглядит с.О.:
SELECT Worker_ID, Worker_name, city, birth_day FROM Name_table1;
Такой запрос выведет из таблицы Name_table1 все значения столбцов указанных через запятую после команды SELECT. Также, можно выводить все столбцы одним символом - (*), т.е. запрос SELECT * FROM Name_table1; выведет все данные из таблицы.
Структура команды select следующая:
SELECT {Имена столбцов, которые необходимо вывести в запросе, записываются через запятую} FROM {имя таблицы в базе данных} - это простейший вид запроса. Существуют дополнительные команды для удобства извлечения данных.
SELECT name_1 FROM Name_table1 WHERE name_2 = 'XXXX'
Операторы сравнения: =, >, <, <=, >=
Булевы операции: AND, OR, NOT
WERE name_3 BETWEEN 10 and 15
WERE name_4 LIKE (''AAA%')
N_date + interval '14' DAY
N_date + interval '7' * Num_weeks (дата = текущая дата плюс 7 умноженное на число недель)
Многотабличные запросы:
SELECT name_поля FROM Name_table1, Name_table2 WHERE Name_table1.Worker_ID = Name_table2.Worker_ID Name_Id=435
Результат: объединение полей двух таблиц при условии Name_Id = 435.
Встроенные функции: SUM, AVG, COUNT, MAX, МIN
SELECT max (Name_1), Min (Name_2)
From Name_table1
Where Name_3=15
Подзапросы:
SELECT Name_1 FROM Name_table1 WHERE Name_3 = or >
(SELECT max (Name_2)
From Name_table1)
Операции реляционной алгебры:
UNION – объединение таблиц,
INTERSECT - пересечение,
EXCEPT - разница.
Применяются для двух таблиц, которые должны быть совместимы (одинаковые число столбцов и типы данных в них).
(SELECT * FROM (TABLE Name_table1 UNION TABLE Name_table2)
Операции изменения данных:
Значения могут быть помещены и удалены из полей, тремя командами языка манипулирования данными:
INSERT – вставка;
UPDATE - обновление, модификация;
DELETE – удаление.