2020
Работа с MySQL, MS SQL Server и Oracle
в примерах
РЕФЕРАТ НА ТЕМУ "СОВРЕМЕННЫЕ СУБД"
B.MARCHUK@ISTU.EDU.UA
МАРЧУК БОГДАН | група к81
Работа с MySQL, MS SQL Server и Oracle
в примерах
Практическое пособие для программистов и тестировщиков
2020
Работа с MySQL, MS SQL Server и Oracle в примерах
Содержание
ПРЕДИСЛОВИЕ.......................................................................................................................................... |
4 |
||
РАЗДЕЛ 1: МОДЕЛЬ, ГЕНЕРАЦИЯ И НАПОЛНЕНИЕ БАЗЫ ДАННЫХ.............................................. |
5 |
||
1.1. |
ОБЩЕЕ ОПИСАНИЕ МОДЕЛИ ...................................................................................................... |
5 |
|
1.2. |
МОДЕЛЬ ДЛЯ MYSQL..................................................................................................................... |
7 |
|
1.3. МОДЕЛЬ ДЛЯ MS SQL SERVER.................................................................................................... |
9 |
||
1.4. |
МОДЕЛЬ ДЛЯ ORACLE ................................................................................................................ |
11 |
|
1.5. ГЕНЕРАЦИЯ И НАПОЛНЕНИЕ БАЗЫ ДАННЫХ ...................................................................... |
12 |
||
РАЗДЕЛ 2: ЗАПРОСЫ НА ВЫБОРКУ И МОДИФИКАЦИЮ ДАННЫХ ............................................... |
17 |
||
2.1. ВЫБОРКА ИЗ ОДНОЙ ТАБЛИЦЫ .............................................................................................. |
17 |
||
2.1.1. |
ПРИМЕР 1: ВЫБОРКА ВСЕХ ДАННЫХ ..................................................................................... |
17 |
|
2.1.2. |
ПРИМЕР 2: ВЫБОРКА ДАННЫХ БЕЗ ПОВТОРЕНИЯ................................................................ |
18 |
|
2.1.3.ПРИМЕР 3: ИСПОЛЬЗОВАНИЕ ФУНКЦИИ COUNT И ОЦЕНКА ЕЁ ПРОИЗВОДИТЕЛЬНОСТИ .21
2.1.4. |
ПРИМЕР 4: ИСПОЛЬЗОВАНИЕ ФУНКЦИИ COUNT В ЗАПРОСЕ С УСЛОВИЕМ ....................... |
29 |
|
2.1.5. |
ПРИМЕР 5: ИСПОЛЬЗОВАНИЕ ФУНКЦИЙ SUM, MIN, MAX, AVG .......................................... |
31 |
|
2.1.6. |
ПРИМЕР 6: УПОРЯДОЧИВАНИЕ ВЫБОРКИ............................................................................. |
35 |
|
2.1.7. |
ПРИМЕР 7: ИСПОЛЬЗОВАНИЕ СОСТАВНЫХ УСЛОВИЙ ......................................................... |
39 |
|
2.1.8. |
ПРИМЕР 8: ПОИСК МНОЖЕСТВА МИНИМАЛЬНЫХ И МАКСИМАЛЬНЫХ ЗНАЧЕНИЙ.............. |
43 |
|
2.1.9. |
ПРИМЕР 9: ВЫЧИСЛЕНИЕ СРЕДНЕГО ЗНАЧЕНИЯ АГРЕГИРОВАННЫХ ДАННЫХ .................. |
55 |
|
2.1.10. |
ПРИМЕР 10: ИСПОЛЬЗОВАНИЕ ГРУППИРОВКИ ДАННЫХ ....................................................... |
61 |
|
2.2. ВЫБОРКА ИЗ НЕСКОЛЬКИХ ТАБЛИЦ ...................................................................................... |
66 |
||
2.2.1. |
ПРИМЕР 11: |
ЗАПРОСЫ НА ОБЪЕДИНЕНИЕ КАК СПОСОБ ПОЛУЧЕНИЯ |
|
ЧЕЛОВЕКОЧИТАЕМЫХ ДАННЫХ .66 |
|
|
|
2.2.2. |
ПРИМЕР12: ЗАПРОСЫ НА ОБЪЕДИНЕНИЕ И ПРЕОБРАЗОВАНИЕ СТОЛБЦОВ В СТРОКИ ... |
71 |
|
2.2.3. |
ПРИМЕР13: ЗАПРОСЫ НА ОБЪЕДИНЕНИЕ И ПОДЗАПРОСЫ С УСЛОВИЕМ IN .................... |
82 |
|
2.2.4.ПРИМЕР14: НЕТРИВИАЛЬНЫЕ СЛУЧАИ ИСПОЛЬЗОВАНИЯ УСЛОВИЯ IN И ЗАПРОСОВ НА
ОБЪЕДИНЕНИЕ ....................................................................................................................................................................... |
92 |
|
2.2.5. |
ПРИМЕР 15: ДВОЙНОЕ ИСПОЛЬЗОВАНИЕ УСЛОВИЯ IN........................................................ |
97 |
2.2.6. |
ПРИМЕР 16: ЗАПРОСЫ НА ОБЪЕДИНЕНИЕ И ФУНКЦИЯ COUNT........................................ |
102 |
2.2.7.ПРИМЕР 17: ЗАПРОСЫ НА ОБЪЕДИНЕНИЕ, ФУНКЦИЯ COUNT И АГРЕГИРУЮЩИЕ ФУНКЦИИ
114
2.2.8. ПРИМЕР 18: УЧЁТ ВАРИАНТОВ И КОМБИНАЦИЙ ПРИЗНАКОВ ............................................ |
127 |
2.2.9.ПРИМЕР 19: ЗАПРОСЫ НА ОБЪЕДИНЕНИЕ И ПОИСК МИНИМУМА, МАКСИМУМА,
|
|
ДИАПАЗОНОВ |
132 |
|
2.2.10. |
ПРИМЕР 20: ВСЕ РАЗНОВИДНОСТИ ЗАПРОСОВ НА ОБЪЕДИНЕНИЕ В ТРЁХ ................. |
СУБД |
||
|
|
149 |
|
|
2.3. |
МОДИФИКАЦИЯ ДАННЫХ ........................................................................................................ |
|
182 |
|
2.3.1. |
ПРИМЕР 21: ВСТАВКА ДАННЫХ ............................................................................................ |
|
182 |
|
2.3.2. |
ПРИМЕР 22: ОБНОВЛЕНИЕ ДАННЫХ .................................................................................... |
|
190 |
|
2.3.3. |
ПРИМЕР 23: УДАЛЕНИЕ ДАННЫХ ......................................................................................... |
|
193 |
|
2.3.4. |
ПРИМЕР 24: СЛИЯНИЕ ДАННЫХ........................................................................................... |
|
195 |
|
2.3.5. |
ПРИМЕР 25: ИСПОЛЬЗОВАНИЕ УСЛОВИЙ ПРИ МОДИФИКАЦИИ ДАННЫХ.......................... |
200 |
||
РАЗДЕЛ 3: ИСПОЛЬЗОВАНИЕ ПРЕДСТАВЛЕНИЙ .......................................................................... |
|
210 |
||
3.1. |
ВЫБОРКА ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПРЕДСТАВЛЕНИЙ....................................... |
|
210 |
|
3.1.1. ПРИМЕР 26:ВЫБОРКА ДАННЫХ С ИСПОЛЬЗОВАНИЕМ НЕКЭШИРУЮЩИХ ПРЕДСТАВЛЕНИЙ 210
3.1.2. ПРИМЕР 27: ВЫБОРКА ДАННЫХ С ИСПОЛЬЗОВАНИЕМ КЭШИРУЮЩИХ ПРЕДСТАВЛЕНИЙ И
Работа с MySQL, MS SQL Server и Oracle в примерах © Богдан Марчук Стр: 2/545
Работа с MySQL, MS SQL Server и Oracle в примерах
ТАБЛИЦ 215 3.1.3. ПРИМЕР 28: ИСПОЛЬЗОВАНИЕ ПРЕДСТАВЛЕНИЙ ДЛЯ СОКРЫТИЯ ЗНАЧЕНИЙ И СТРУКТУР
ДАННЫХ241
3.2. МОДИФИКАЦИЯ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПРЕДСТАВЛЕНИЙ ............................ |
245 |
|||
3.2.1. |
|
ПРИМЕР 29: МОДИФИКАЦИЯ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ «ПРОЗРАЧНЫХ» |
||
ПРЕДСТАВЛЕНИЙ .... |
245 |
|
||
3.2.2. |
ПРИМЕР 30: МОДИФИКАЦИЯ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ТРИГГЕРОВ |
НА |
||
ПРЕДСТАВЛЕНИЯХ |
257 |
|
||
РАЗДЕЛ 4: ИСПОЛЬЗОВАНИЕ ТРИГГЕРОВ...................................................................................... |
272 |
|||
4.1. АГРЕГАЦИЯ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ТРИГГЕРОВ................................................ |
272 |
|||
4.1.1. |
|
ПРИМЕР ..................................................................................................................... |
31: |
|
ОБНОВЛЕНИЕ КЭШИРУЮЩИХ ТАБЛИЦ И ПОЛЕЙ.................................................................................... |
272 |
|||
4.1.2. |
ПРИМЕР 32: ОБЕСПЕЧЕНИЕ КОНСИСТЕНТНОСТИ ДАННЫХ............................................... |
292 |
||
4.2. |
КОНТРОЛЬ |
ОПЕРАЦИЙ С ДАННЫМИ С ИСПОЛЬЗОВАНИЕМ ТРИГГЕРОВ................... |
315 |
|
4.2.1. |
|
ПРИМЕР ..................................................................................................................... |
33: |
|
КОНТРОЛЬ ОПЕРАЦИЙ МОДИФИКАЦИИ ДАННЫХ ................................................................................... |
315 |
|||
4.2.2. |
ПРИМЕР 34: КОНТРОЛЬ ФОРМАТА И ЗНАЧЕНИЙ ДАННЫХ.................................................. |
338 |
||
4.2.3. |
ПРИМЕР 35: ПРОЗРАЧНОЕ ИСПРАВЛЕНИЕ ОШИБОК В ДАННЫХ........................................ |
344 |
||
РАЗДЕЛ 5: ИСПОЛЬЗОВАНИЕ ХРАНИМЫХ ФУНКЦИЙ И ПРОЦЕДУР.......................................... |
352 |
|||
5.1. |
ИСПОЛЬЗОВАНИЕ ХРАНИМЫХ ФУНКЦИЙ............................................................................ |
352 |
||
5.1.1.ПРИМЕР 36: ВЫБОРКА И МОДИФИКАЦИЯ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ХРАНИМЫХ ФУНКЦИЙ 352
5.1.2.ПРИМЕР 37: КОНТРОЛЬ ОПЕРАЦИЙ С ДАННЫМИ С ИСПОЛЬЗОВАНИЕМ ХРАНИМЫХ ФУНКЦИЙ 370
5.2. ИСПОЛЬЗОВАНИЕ ХРАНИМЫХ ПРОЦЕДУР.......................................................................... |
375 |
5.2.1.ПРИМЕР 38: ВЫПОЛНЕНИЕ ДИНАМИЧЕСКИХ ЗАПРОСОВ С ПОМОЩЬЮ ХРАНИМЫХ ПРОЦЕДУР 375
5.2.2.ПРИМЕР 39: ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ С ПОМОЩЬЮ ХРАНИМЫХ ПРОЦЕДУР
388
5.2.3.ПРИМЕР 40: УПРАВЛЕНИЕ СТРУКТУРАМИ БАЗЫ ДАННЫХ С ПОМОЩЬЮ ХРАНИМЫХ ПРОЦЕДУР 400
РАЗДЕЛ 6: ИСПОЛЬЗОВАНИЕ ТРАНЗАКЦИЙ .................................................................................. |
408 |
||
6.1. |
УПРАВЛЕНИЕ НЕЯВНЫМИ И ЯВНЫМИ ТРАНЗАКЦИЯМИ................................................ |
408 |
|
6.1.1. |
ПРИМЕР 41: УПРАВЛЕНИЕ НЕЯВНЫМИ ТРАНЗАКЦИЯМИ ................................................... |
408 |
|
6.1.2. |
ПРИМЕР 42: УПРАВЛЕНИЕ ЯВНЫМИ ТРАНЗАКЦИЯМИ ........................................................ |
419 |
|
6.2. |
КОНКУРИРУЮЩИЕ ТРАНЗАКЦИИ ........................................................................................... |
428 |
|
6.2.1. |
ПРИМЕР 43: УПРАВЛЕНИЕ УРОВНЕМ ИЗОЛИРОВАННОСТИ ТРАНЗАКЦИЙ ........................ |
428 |
|
6.2.2. |
ПРИМЕР 44: ВЗАИМОДЕЙСТВИЕ КОНКУРИРУЮЩИХ ТРАНЗАКЦИЙ .................................... |
434 |
|
6.2.3. |
ПРИМЕР 45: УПРАВЛЕНИЕ ТРАНЗАКЦИЯМИ В ТРИГГЕРАХ, ХРАНИМЫХ ФУНКЦИЯХ И |
||
ПРОЦЕДУРАХ .465 |
|
||
РАЗДЕЛ 7: РЕШЕНИЕ ТИПИЧНЫХ ЗАДАЧ И ВЫПОЛНЕНИЕ ТИПИЧНЫХ ОПЕРАЦИЙ ............ |
474 |
||
7.1. РАБОТА С ИЕРАРХИЧЕСКИМИ И СВЯЗАННЫМИ СТРУКТУРАМИ .................................... |
474 |
||
7.1.1. ПРИМЕР 46: ФОРМИРОВАНИЕ И АНАЛИЗ ИЕРАРХИЧЕСКИХ СТРУКТУР.............................. |
474 |
||
7.1.2. ПРИМЕР 47: ФОРМИРОВАНИЕ И АНАЛИЗ СВЯЗАННЫХ СТРУКТУР ..................................... |
490 |
||
7.2. ОПЕРАЦИИ С БАЗАМИ ДАННЫХ............................................................................................. |
516 |
||
7.2.1. ПРИМЕР 48: РЕЗЕРВНОЕ КОПИРОВАНИЕ И ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ ............... |
516 |
||
7.3. |
ОПЕРАЦИИ С СУБД.................................................................................................................... |
522 |
|
Работа с MySQL, MS SQL Server и Oracle в примерах © Богдан Марчук Стр: 3/545
Работа с MySQL, MS SQL Server и Oracle в примерах |
|
7.3.1. ПРИМЕР 49: УПРАВЛЕНИЕ ПОЛЬЗОВАТЕЛЯМИ, ЗАПУСК И ОСТАНОВКА СУБД.................. |
522 |
7.3.2. ПРИМЕР 50: ОПРЕДЕЛЕНИЕ И ИЗМЕНЕНИЕ КОДИРОВОК.................................................... |
525 |
7.4. ПОЛЕЗНЫЕ ОПЕРАЦИИ С ДАННЫМИ ................................................................................... |
528 |
7.4.1. ПРИМЕР 51: ВЫЧИСЛЕНИЕ ДАТ ............................................................................................ |
528 |
7.4.2. ПРИМЕР 52: ПОЛУЧЕНИЕ КОМБИНАЦИИ НЕПОВТОРЯЮЩИХСЯ ИДЕНТИФИКАТОРОВ ...... |
536 |
РАЗДЕЛ 8: КРАТКОЕ СРАВНЕНИЕ MYSQL, MS SQL SERVER, ORACLE ...................................... |
541 |
РАЗДЕЛ 9: ЛИЦЕНЗИЯ И РАСПРОСТРАНЕНИЕ ............................................................................... |
545 |
Работа с MySQL, MS SQL Server и Oracle в примерах © Богдан Марчук Стр: 4/545