
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Таблица A
- •Таблица A
- •Таблица A
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
Элементы языка SQL
Работа с индексами
Создание индекса
CREATE [UNIQUE] ASC | DESC ]
INDEX ИмяИндекса ON ИмяТаблицы (столбец1 [, столбец2 … ]
UNIQUE – требует создания уникального индекса, не допускающего одинаковых |
значений |
индексных полей для разных записей таблицы. |
|
ASC – указывает на необходимость сортировки полей по возрастанию (принят по |
|
умолчанию) |
|
DESC - указывает на необходимость сортировки полей по убыванию |
|
Определения всех индексов можно вывести оператором |
|
SHOW INDEX ; |
|
Для конкретной таблицы |
|
SHOW INDEX <имя таблицы>; |
|
Удаление существующих ключей |
|
DROP INDEX <имя индекса>;
Элементы языка SQL
Работа с индексами
Пример:
CREATE TABLE PRIHOD(
ID_PRIHOD INTEGER NOT NULL PRIMARY KEY, DATAPRIH DATE NOT NULL,
TOVAR VARCHAR(20) NOT NULL, KOLVO INTEGER NOT NULL);
CREATE DESC INDEX D_P
ON PRIHOD (DATAPRIH, TOVAR);
.
Элементы языка SQL
Работа с индексами
Улучшение производительности индекса
После многократного внесения изменений в таблицу БД индексы этой таблицы могут быть разбалансированы. Разбалансировка приводит к тому, что глубина индекса возрастает сверх критического значения.
Для улучшения показателя индекса необходимо выполнить его перестроение:
ALTER INDEX <имя индекса> DEACTIVATE;
ALTER INDEX <имя индекса> ACTIVATE;
Замечания:
•Нельзя перестроить индекс, если он используется в данный момент в запросах
•Нельзя перестроить индекс, созданный в результате создания первичного ключа, внешнего и уникального ключей.
.
Элементы языка SQL
Оператор SELECT
Позволяет производить выборки из ТБД и преобразовывать к нужному виду полученные результаты.
Общий формат:
SELECT [DISTINCT | ALL ] {* | <значение1> [,<значение2> …]} FROM <таблица1> [ , <таблица2> … ]
[ WHERE <условия_поиска> ]
[ GROUP BY столбец [, столбец1 … ] [ HAVING < условия_поиска> ]
[ UNION <оператор_select>]
[ PLAN <план_выполнения_запроса>] [ ORDER BY <список_столбцов>]
Элементы языка SQL
Оператор SELECT
Простейший формат:
SELECT { * | <значение1>, <значение1> [,<значение2> …]} FROM <таблица1> [ , <таблица2 … ]
Например:
SELECT *
FROM RASHOD
Или так:
SELECT N_RASH, DAT_RASH, KOLVO, TOVAR, POKUP FROM RASHOD
Элементы языка SQL
Оператор SELECT
Использование предложения WHERE
Предложение WHERE используется для включения в НД лишь нужных записей. В этом случае имеем следующий формат:
SELECT {* | <значение1> [,<значение2> …]} FROM <таблица1> [ , <таблица2> … ]
[ WHERE <условия_поиска> ]
Сравнение значения столбца с константой При сравнении столбца с константой условие имеет вид:
<условия поиска > = <оператор> <константа> Где <оператор> - одна из следующих операций отношения: <оператор> = { = | < | > | <= | >= | != | !< | !> | <> }
Пример:
SELECT * FROM RASHOD WHERE KOLVO = 20
Элементы языка SQL
Оператор SELECT
Использование предложения WHERE
Внутреннее соединение таблиц
При сравнении значения одной таблицы с со значением столбца другой таблицы условие поиска имеет следующий вид:
<условия поиска > = <имя столбца 1> <оператор> <имя столбца 2>
Пример:
Чтобы выбрать все записи о расходе товара из таблицы RASHOD и для каждого товара указать его цену из таблицы TOVARY, можно использовать такой оператор:
SELECT RASHOD.*, TOVARY.ZENA FROM RASHOD, TOVARY
WHERE RASHOD.TOVAR = TOVARY.TOVAR
Такой способ соединения называется внутренним соединением.
Элементы языка SQL
Оператор SELECT
Использование предложения WHERE
Внутреннее соединение таблиц
При внутреннем соединении двух таблиц A и B логический порядок формирования результирующего набора данных можно представить следующим образом.
1.Из столбцов, которые указаны после слова SELECT, составляется промежуточный набор данных путем сцепления результирующих столбцов каждой записи из таблицы А и результирующих столбцов записи из таблицы В.
2.Из получившегося НД отбрасываются все записи , не удовлетворяющие условию в предложении WHERE.
Замечание:
Фактический порядок выполнения запроса для конкретного SQL-сервера может быть другим.

Элементы языка SQL
Оператор SELECT
Использование предложения WHERE
Внутреннее соединение таблиц Пример:
Таблица A
Ст. P1 |
Ст. P2 |
Ст. P3 |
a |
x |
400 |
b |
x |
200 |
c |
y |
500 |
d |
|
|
Таблица B
Ст. P1 |
Ст. P2 |
x |
1 |
y |
2 |
z |
2 |
SELECT A.P1, A.P2, B.P2
FROM A, B
WHERE A.P2 = B.P1
Промежуточный набор
Ст. A.P1 |
Ст. A.P2 |
Ст. B.P1 |
Ст. B.P2 |
a |
x |
x |
1 |
a |
x |
y |
2 |
a |
x |
z |
2 |
b |
x |
x |
1 |
b |
x |
y |
2 |
b |
x |
z |
2 |
c |
y |
x |
1 |
c |
y |
y |
2 |
c |
y |
z |
2 |
Окончательный набор
Ст. A.P1 Ст. A.P2
Ст. B.P2
a |
x |
1 |
b |
x |
2 |
c |
у |
2 |
Элементы языка SQL
Оператор SELECT
Использование псевдонимов таблиц
SELECT …
FROM < таблица1 псевдоним1> [, таблица2 псевдоним 2 … ] WHERE …
Пример:
SELECT R.*, P.ADRES
FROM RASHOD R, POKUPATELI P WHERE P.POKUP = R.POKUP