Інформатика

Тема програми «Моделі і моделювання. Візуалізація даних»

Тема уроку: Параметризовані запити. Основи мови SQL. Оператор IN.

База даних (БД) — впорядкований набір логічно взаємопов’язаних даних, що використовуються спільно, та зберігаються в одному місці. Якщо коротко, то найпростіша БД це звичайна таблиця з рядками та стовпцями у якій зберігається різного роду інформація (прикладом може слугувати таблиця в Excel). Так, часто, з БДнероздільно пов’язують Системи управління базами даних (СУБД), які надають функціонал для роботи з БД. Мова SQL якраз і є частиною СУБД, яка здійснює керування інформацією в БД. Ми будемо вважати БД набором звичайних таблиць, які зберігаються в окремих файлах.

Отже, переходимо до SQL.

SQL – проста мова програмування, яка має небагато команд і якій може навчитися будь-який бажаючий. Розшифровується як Structured Query Language – мова структурованих запитів, яка була розроблена для роботи з БД, а саме, щоб отримувати/добавляти/змінювати дані, мати можливість опрацьовувати великі масиви інформації та швидко отримувати структуровану та згруповану інформацію. Є багато варіантів мови SQL, але у них всіх основні команди майже однакові. Також існує і багато СУБД, але основними з них являються: Microsoft Access, Microsoft SQL Server, MySQL, Oracle SQL, IBM DB2 SQL, PostgreSQL та Sybase Adaptive Server SQL. Щоб працювати зSQLкодом, нам потрібна буде одна з вище перелічених СУБД. Для навчання ми будемо використовувати СУБД Microsoft Access.

SQL як і інші мови програмування має свої команди (оператори), за допомогою яких віддаються вказівки для вибірки даних. Щоб розглянути як працюють оператори SQL, ми будемо використовувати уявну БД з інформацією про реалізовану продукцію:

SQL-технологія реалізує наступні основні функції реляційних СУБД:

визначення даних, тобто SQL дозволяє визначити структуру підтримуваних даних і організацію використовуваних реляційних відношень;

– доступ до даних – SQL забезпечує санкціонований доступ до даних клієнту;

– управління доступом – SQL забезпечує синхронізацію обробки бази даних різними прикладними програмами, захистом доступу від несанкційованого доступу;

– розділення даних – SQL координує роботу клієнтів, що одночасно виконують операції з БД;

– забезпечення цілосності даних, тобто використання SQL може забезпечити досить складні обмеження, задоволення яким буде перевірятися у випадках модифікації БД;

– маніпулювання даними – SQL забезпечує клієнту можливість міняти дані в базі даних шляхом введення нової інформації, видалення старої та модифікації існуючої.

Обмін між клієнтом та базою даних здійснюється здопомогою сеансу SQL – періоду взаємодії користувача з базою даних внаслідок використання команд SQL. Починається сеанс в момент підключення користувача до БД. В період роботи сеансу користувач може вводити команди SQL та виконувати запити, управління даними, створювати нові таблиці в БД.

Сеанс SQL починається з вводу команди CONNECT, що виконує підключення користувача (клієнта) до БД. Формат команди наступний:

CONNECT <ім’я користувача>@<ім’я БД>

При підключенні користувача до БД буде автоматично надано запит на введення пароля користувача.

Завершення сеансу SQL здійснюється введенням команди DISCONNECT, введення якої відключить користувача від БД.

В SQL-технології підтримуються наступні типи даних:

– символьні – дані, що складають відповідні найменування із слів чи словосполучень, тобто текст;

=> числові – дані в числовому форматі, що придатні для проведення арифметичних операцій;

значення дати та часу– дата та час, що встановлені на внутрішньому годиннику комп ‘ютера в принятих системою форматах. 

До символьних даних відносяться:

1) строки фіксованої довжини – це строки, довжина яких фіксована чи постійна. Для опису в БД строк фіксованої довжини використовується атрибут СНАRAСTER(п) або скорочено СНАR(n), den-фіксована довжина реквізиту;

2) строки змінної довжини – це строки, довжина яких є постійно різною, тобто плаваючою. Для визначення такої строки в стандарті SQL існує атрибут CHARACTER VARYING(n) абоскорочено VARCHAR(n), деп-максимальна довжина, що виділена для цього реквізиту. В СУБД Oracleвикористовується також; позначення VARCHAR2(n), що означає теж: саме.

До числових даних відносяться:

1) двоїчні числа – це числа, що можуть бути представлені з допомогою 0 та 1. Для їх опису в SQL існує атрибути ВІТ(п) ma BIT VAR YING(n), відповідно для фіксованої та змінної довжини;

2) десяткові числа – це числа в яких використовується десяткова розділова крапка. Для представлення десяткових чисел використовується атрибут DECIMAL(p,s), де р – точність, тобто загальна кількість знаків в числі, as-маштаб, тобто кількість знаків після десяткової крапки. Наприклад число 10251,025 може бути описане DECIMAL(8,3). Слід пам’ятати, що при введенні чисел, які перевищують формат опису, вони будуть округлятися, а також: формат задає максимально можливе число. Наприклад в останньому випадку не може бути введене число більше за 99999,999;

3) цілі числа – це додатні та від ‘ємні числа, що не мають дробової частини. Для їх опису використовується атрибут INTEGER;

4) дійсні числа – це десяткові числа, що мають змінними точність та маштаб. Вони описуються атрибутами FLO А Т(п) або REA L (п).

В загальному випадку, згідно зі стандартом ANSI, всі числові значення можуть описуватись одним атрибутомNUMBER(n).

Значення дати та часу – можуть бути описані атрибутами DATE і TIME. Вони як правило вказуються без довжини, тобто значення передається автоматично за системними форматами.

Команди SQL можна поділити на декілька груп або категорій, що забезпечують побудову БД, управління об’єктами, поповнення таблиць, модифікацію даних, виконання запитів, управління доступом до БД тощо. До таких груп команд належать:

• мова визначення даних – Data Definition Language (DDL);

• мова маніпуляції даними – Data Manipulation Language (DML);

• мова запитів даних – Data Query Language (DQL);

• мова управління даними – Data Control Language (DCL);

• команди адміністрування даних;

• команди управління транзакціями.

• Мова визначення даних – це частина SQL, що забезпечує можливість створювати різні об’єкти баз даних, визначати їх структуру, наприклад створювати та видаляти таблиці тощо.