- •4 База даних Борей 56
- •1 Введення в sql
- •1 Що таке sql і що вона уміє
- •2 Чого sql не вміє
- •3 Коротка історія sql
- •3.1 Рання історія
- •3.2 Стандарти
- •3.3 Сучасний стан справ
- •5 Термінологія
- •4 Версії sql
- •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 Сортування записів
- •Висновки
- •Література
2 Чого sql не вміє
По-перше, SQL – це не програма й не середовище розробника на зразок Access або VB. Це чиста мова. SQL не має зовнішнього інтерфейсу, тобто формами на зразок тих, які реалізуються в додатках Access або Microsoft SQL Server, і в ній не передбачено який-небудь засіб взаємодії з Web-сторінками. SQL-оператори генеруються, як правило, окремою програмою зовнішнього інтерфейсу. Правда багато СКБД, що працюють із SQL, мають засоби набору SQL-операторів із клавіатури й запуску, але ці засоби призначаються головним чином для налагодження.
По-друге, в SQL не реалізована прикладна частина. Ця мова не має власних засобів запису даних. Вона являє собою всього лише стандартний засіб обміну даними між програмами, здатними зберігати ці дані (такі програми, як ми побачимо пізніше, називаються СКБД). Самі дані зберігаються в СКБД – наприклад, в Oracle або Microsoft SQL Server. До цього залишається додати зовнішній інтерфейс VB або Delphi, і одержуємо SQL як мову для відправлення із зовнішнього інтерфейсу команд СКБД.
Якщо звести обоє визначення разом, можна сказати, що SQL є мовою програмування, але не програмним продуктом. Розглянемо для прикладу звичайну розмовну мову – вона не містить у собі ні того, хто говорить, ні того, хто слухає. У ній є тільки слова, правила граматики й ідіоми, використовувані тими, хто говорить і слухає. Люди не є частиною мови й ніяким чином мовою не визначаються. Іще SQL можна порівняти саме з розмовною мовою ще й у тому, що рідна мова того, хто говорить, не обов’язково збігається з рідною мовою того, хто слухає, за умови, що обоє можуть переводити в SQL. Отже, комп’ютер може працювати в будь-якій операційній системі й з будь-якою програмою керування базою даних за умови, що ця програма здатна переводити зі своєї внутрішньої мови на SQL.
SQL – це мова, але не програма. Програма зовнішнього інтерфейсу забезпечує інтерфейс користувача, прикладна частина працює з даними. SQL служить стандартним засобом спілкування цих двох компонентів.
По-третє, SQL – не процедурна мова програмування (відмінність декларативних мов від процедурних ми розглянемо далі). SQL – мова наборів даних, що забезпечує взаємодію на основі операторів, що визначають результат. Саме в цьому складається істотна відмінність SQL від процедурних мов, що вимагають докладного опису способу досягнення результату.
По-четверте, SQL не має власного середовище розробки. Приміром, Access надає багатий набір засобів для:
установки власного інтерфейсу користувача;
усунення помилок;
швидкого введення програм;
багаторазового їхнього використання.
«Чистий» SQL не містить жодного із цих засобів. Правда, деякі постачальники включають у розповсюджувані пакети певні інструментальні засоби, але ці засоби не є складовими частинами SQL. Якщо знову звернутися до аналогії з розмовною мовою, можна сказати, що SQL – це мова, але не словник, не підручник граматики, не друкувальний верстат, не гучномовець, не поштова служба, не картотека й не будь-який інший засіб, що використовується для розмовної мови. Мова SQL не містить у собі жоден із перерахованих засобів, як, втім, і українська.
Нарешті, SQL не орієнтований на використання в мережі, аналогічно тому, як українська не орієнтована на телефонні розмови або складання повідомлень електронної пошти. Кожному SQL-операторові потрібен спосіб доставки по призначенню (з’єднання). Ці з’єднання створюються, підтримуються й настроюються програмістами як з боку зовнішнього інтерфейсу, так і з боку прикладної частини.
