
- •4 База даних Борей 56
- •1 Введення в sql
- •1 Що таке sql і що вона уміє
- •2 Чого sql не вміє
- •3 Коротка історія sql
- •3.1 Рання історія
- •3.2 Стандарти
- •3.3 Сучасний стан справ
- •4 Версії sql
- •5 Термінологія
- •6 Процедурні й декларативні мови
- •6.1 Мови й поїздка в таксі
- •6.2 Порівняння процедурних і декларативних мов
- •7 Місце sql у центрі даних
- •7.1 Де взяти sql?
- •8 Зовнішній інтерфейс на прикладі Access
- •9 Прикладні частини
- •9.2 Скбд для настільних систем
- •10 Установка з’єднання
- •11 Типова конфігурація використання sql
- •12 Роль людини в скбд
- •13 Коли застосовувати sql
- •13.1 Нарощення
- •13.2 Швидкість
- •13.4 Універсальність
- •13.5 Аналітичні можливості
- •14 У яких випадках скбд із підтримкою sql не потрібна
- •Висновки
- •2 Підготовка до роботи з sql
- •1 База даних Борей
- •2 Прикладні частини
- •2.3 Установка Microsoft sql Server
- •2.4 Імпортування Борей в sql Server
- •2.5 Запити й вивчення sql в Access
- •3 Аналізатор запитів
- •Висновки
- •3 Введення в реляційні бази даних
- •1 Складові додатки, призначені для роботи з даними
- •2 Що таке база даних
- •2.1 Демонстраційний проект – тюльпанний бізнес
- •2.2 Таблиці
- •2.3 Записи
- •2.4 Стовпці (поля)
- •2.5 Демонстраційний проект та його проблеми
- •2.6 Реляційні бази даних
- •2.7 Чи позбулися ми проблем?
- •3 Зіставлення записів – роль ключів
- •3.1 Первинні ключі
- •3.2 Зовнішні ключі
- •3.3 Як діють ключі
- •4 Альтернативний спосіб опису відношень
- •4.1 Один-багато
- •4.2 Один-один
- •4.3 Нормалізація
- •4.4 Що таке null
- •4.5 Де ж у цій теорії місце sql-операторам?
- •5 Порівняння термінології sql й інших систем
- •5.1 Паперові документи
- •5.2 Електронні таблиці
- •5.3 Настільні системи скбд (на прикладі Access)
- •Висновки
- •4 База даних Борей
- •1 Відкриття бази даних Борей
- •2 Схема бази даних
- •2.1 Що таке схема
- •2.2 У чому важливість схеми
- •3 Схема бази даних Борей
- •3.1 Таблиці й відношення бази даних Борей
- •3.2 Вікно відношень в Access
- •3.3 Процес розміщення замовлення
- •3.4 Запити Access в Борей
- •Висновки
- •5 Синтаксис sql й оператор select
- •1 Загальний синтаксис sql
- •1.1 Пробіли
- •1.2 Лапки й спеціальні символи
- •2 Оператор select
- •2.1 Основний синтаксис
- •2.2 Визначення полів
- •3 Фільтрація даних
- •3 Бабкина Ольга
- •4 Воронова Дарья
- •9 Ясенева Инна
- •3.1 Значення null
- •3.2 Обчислення в умові where
- •3.3 Інтервали
- •3.4 Додавання логічних операцій в умову where
- •3.5 Операція like
- •4 Сортування записів
- •Висновки
- •Література
Зміст
Зміст
Зміст 1
1 Введення в SQL 3
1 Що таке SQL і що вона уміє 4
2 Чого SQL не вміє 5
3 Коротка історія SQL 6
3.1 Рання історія 6
3.2 Стандарти 6
3.3 Сучасний стан справ 7
4 Версії SQL 7
5 Термінологія 8
6 Процедурні й декларативні мови 11
6.1 Мови й поїздка в таксі 11
6.2 Порівняння процедурних і декларативних мов 12
7 Місце SQL у центрі даних 12
7.1 Де взяти SQL? 12
8 Зовнішній інтерфейс на прикладі Access 13
9 Прикладні частини 14
9.1 Microsoft 14
9.2 СКБД для настільних систем 14
10 Установка з’єднання 15
11 Типова конфігурація використання SQL 16
12 Роль людини в СКБД 17
13 Коли застосовувати SQL 18
13.1 Нарощення 18
13.2 Швидкість 18
13.3 Ціна 18
13.4 Універсальність 19
13.5 Аналітичні можливості 19
14 У яких випадках СКБД із підтримкою SQL не потрібна 19
Висновки 21
2 Підготовка до роботи з SQL 22
1 База даних Борей 23
2 Прикладні частини 24
2.1 Access 24
2.2 MSDE 24
2.3 Установка Microsoft SQL Server 24
2.4 Імпортування Борей в SQL Server 29
2.5 Запити й вивчення SQL в Access 34
3 Аналізатор запитів 36
Висновки 39
3 Введення в реляційні бази даних 40
1 Складові додатки, призначені для роботи з даними 41
2 Що таке база даних 41
2.1 Демонстраційний проект – тюльпанний бізнес 41
2.2 Таблиці 42
2.3 Записи 43
2.4 Стовпці (поля) 43
2.5 Демонстраційний проект та його проблеми 43
2.6 Реляційні бази даних 45
2.7 Чи позбулися ми проблем? 46
3 Зіставлення записів – роль ключів 47
3.1 Первинні ключі 47
3.2 Зовнішні ключі 48
3.3 Як діють ключі 48
4 Альтернативний спосіб опису відношень 49
4.1 Один-багато 49
4.2 Один-один 49
4.3 Нормалізація 50
4.4 Що таке NULL 51
4.5 Де ж у цій теорії місце SQL-операторам? 53
5 Порівняння термінології SQL й інших систем 53
5.1 Паперові документи 54
5.2 Електронні таблиці 54
5.3 Настільні системи СКБД (на прикладі Access) 54
Висновки 55
4 База даних Борей 56
1 Відкриття бази даних Борей 57
2 Схема бази даних 57
2.1 Що таке схема 57
2.2 У чому важливість схеми 58
3 Схема бази даних Борей 59
3.1 Таблиці й відношення бази даних Борей 59
3.2 Вікно відношень в Access 59
3.3 Процес розміщення замовлення 61
3.4 Запити Access в Борей 65
Висновки 70
5 Синтаксис SQL й оператор SELECT 71
1 Загальний синтаксис SQL 72
1.1 Пробіли 72
1.2 Лапки й спеціальні символи 72
2 Оператор SELECT 73
2.1 Основний синтаксис 73
2.2 Визначення полів 75
3 Фільтрація даних 77
3.1 Значення NULL 79
3.2 Обчислення в умові WHERE 81
3.3 Інтервали 83
3.4 Додавання логічних операцій в умову WHERE 84
3.5 Операція LIKE 87
4 Сортування записів 89
Висновки 92
Література 93
1 Введення в sql
Комп’ютерні технології використовують мови програмування й стандарти, більша частина яких не сумісна. Та час від часу, все-таки, виникають сумісні стандарти, і от на їхнє вивчення часу жалкувати не слід. Мова структурованих запитів, в оригіналі відома як SQL (Structured Query Lenguage), виникла як мова взаємодії з базами даних (БД) за допомогою систем керування базами даних (СКБД). SQL використовується більшістю СКБД, популярних сьогодні: Oracle, Microsoft SQL Server, Microsoft Access, DB2 від IBM, Sybase тощо. Знання цієї мови в наш час обов’язкове для будь-якого професіонала в області інформаційних технологій. Не зашкодить знання SQL і все зростаючому числу людей, які, не будучи програмістами, працюють з сучасними інформаційними системи.
У цій темі ми розглянемо питання, які звичайно цікавлять учнів у найперші години занять і зводяться, як правило, до головного: що таке SQL? Саме із цього – що таке SQL і чим він не є, – ми й почнемо наш огляд, не забувши також окреслити коротку історію цієї мови й прояснити деякі неясності в термінології. Далі ми розглянемо деякі варіанти установки системи, у якій має бути використаний SQL – зовнішнього інтерфейсу, прикладної частини і їхню взаємодію. Потім розглянемо кілька прикладів реалізації такої системи. Після цього, обговоримо відмінність SQL, як декларативної мови, від процедурних мов, на зразок Basic або Pascal, і суть цієї відмінності. Нарешті, ми проаналізуємо ситуації, що вимагають переходу до SQL, і роль «людського фактора» у великих центрах обробки даних. Отже, у цій темі ми:
познайомимося з SQL і його історією;
довідаємося, що таке ANSI-SQL;
вивчимо конфігурування SQL і реалізацію його в з’єднаннях;
обговоримо ситуації, що вимагають рішень на основі SQL;
проаналізуємо роль людського фактора в центрі обробки даних.
1 Що таке sql і що вона уміє
Мова структурованих запитів (Structured Query Language – SQL) – мова програмування взаємодії з базами даних. Взаємодія, як правило, відбувається між «зовнішнім інтерфейсом» й «прикладною частиною»; зовнішній інтерфейс посилає прикладній частині, на якій зберігаються дані, SQL-оператори, що містять команди створення, читання, модифікації або видалення даних. Універсальні правила мови затверджені Американським національним інститутом стандартизації (ANSI). У комітет з розробці стандарту входили фахівці баз даних від промисловості, наукових установ і виробників програмного забезпечення. Внаслідок цього, SQL є відкритою мовою – тобто не власністю окремої компанії, яка могла б установлювати правила її використання.
SQL відкрита (не є об’єктом правоволодіння) мова програмування взаємодії з базами даних, правила якої затверджені стандартом.
Головне достоїнство мови SQL полягає в тому, що вона застосовується у більшості розповсюджених базах даних. SQL можна використати в Pascal або Basic для взаємодії з базами даних Oracle; його можна використати на Web-сторінці для обміну даними з Microsoft SQL Server; можна надіслати запит з бази даних DB2 компанії IBM у базу даних Sybase; навіть в Access для опису елементів, які потрібно отримати, можна використати SQL. Дотепер ведеться активне обговорення мов, на зразок Java, поєднуваних девізом «написав – запускай скрізь». Для програмістів баз даних SQL, власне кажучи, став втіленням іншого девізу: «вивчив – заробляй скрізь».
SQL надає багато можливостей, найбільш важливі з яких:
читання існуючих даних;
створення нових записів даних;
модифікація існуючих даних;
видалення даних.
SQL має ключові слова й конструкції для виконання цих основних завдань. Вивченню основ цих команд присвячено цей посібник. Однак, перш ніж приступати до вивчення синтаксису й перерахуванню розповсюджених помилок, розглянемо в декількох наступних абзацах приклади зазначених операцій.
Найбільше часто застосовувана операція – читання даних. Ми можемо із програми, написаної на Basic, у базу даних Oracle оператор ANSI-SQL із запитом списку всіх членів нашої організації, що проживають, приміром, у Києві. Якщо власники бази даних перейдуть згодом на DB2 від IBM, нам не буде потрібно вносити в цей оператор які-небудь зміни – він залишиться працездатний у колишньому виді. SQL забезпечує багато варіантів цього оператора, включаючи сортування імен по різних ознаках, повернення тільки декількох імен з початку й кінця списку, виключення повторюваних імен і багато інших умов, які тільки можуть знадобитися для отримання з бази даних потрібної інформації.
SQL використовується для створення в базі даних нових записів. Для збору даних, що поміщають у відповідний SQL-оператор, можна використати HTML-форму. Прийнявши SQL-оператор, відправлений формою, база даних Microsoft SQL Server створить новий запис. Через сумісність SQL з більшістю систем, цей же оператор може бути використаний, приміром, користувачами, що створюють записи бази даних у локальній мережі за допомогою програми, написаної на Pascal.
Приклад модифікації даних: дані модифікуються за допомогою інтерфейсу користувача, що належить зовнішньому інтерфейсу (це може бути HTML-сторінка), і повертаються SQL-оператором назад у базу даних. Однак з’єднання з базою даних не зобов’язано може бути прямим. База даних DB2 на великий (мейнфрейм) машині IBM може з’єднуватися з головною машиною корпорації, що надає базу даних Sybase. У цьому випадку машина IBM може генерувати SQL-оператор модифікації деяких записів і відправити його в базу даних Sybase. Незважаючи на відмінність двох систем і способів обробки даних в кожній, обидві правильно зрозуміють і виконають даний оператор.
Нарешті SQL-оператори застосовуються для видалення даних. Вони дозволяють задавати дуже складні умови, що визначають які із записів підлягають видаленню, а які повинні залишитися недоторканими. Можливо також видалення частини даних із запису.