5.9. Перетворення типів даних в мові sql: суть, мета, функції.
Мова структурованих запитів SQL (Structured Query Language) була розроблена корпорацією IBM у сімдесятих роках, але загальне поширення одержала істотно пізніше, коли після появи комп'ютерних мереж, що зв'язують комп'ютери різних типів, потрібні були стандартні мови для обміну інформацією. Завдяки своїй незалежності від специфіки комп'ютера, а також підтримці лідерами в області технології реляційних баз даних, SQL стала і в найближчому доступному для огляду майбутньому, залишиться такою стандартною мовою. Синтаксис SQL схожий на синтаксис англійської мови й дозволяє конструювати досить складні запити. SQL є непроцедурною мовою, у ній відсутні багатостандартні для процедурних мов конструкції – функції, цикли, умовні оператори. SQL складається з інструкцій, які передаються СУБД, забезпечуючи виконання певних дій. Ці інструкції в загальному виді називаються пропозиціями, але частіше використовується термін «команда SQL». Інтерпретатори команд SQL вбудовуються в багато процедурних мов програмування, такі як Visual BASIC, C/C++. У цьому випадку команда звичайно формується у вигляді строкової змінної.
У багатьох пакетах команди SQL формуються автоматично зі спеціальних меню або форм. У цих випадках команди SQL використовуються в схованому від користувача виді. Прикладом такого використання є мова запитів за зразком QBE, що, наприклад, досить широко застосовувалася в СУБД Paradox. Іншим прикладом можуть служити електронні таблиці Excel. У цих таблицях за допомогою додатка MS-Query можна формувати різні запити за зразком до баз даних форматів Access, dBASE, Parodox, FoxPro і інших, доступ до яких здійснюється через інтерфейс ODBS (Open Data Base Connectivity).
Мова запитів SQL (Structured Query Language) реалізована у цілому ряді популярних СУБД для різних типів ЕОМ або як базова, або як альтернативна. У силу свого широкого використання є міжнародним стандартом мови запитів. Мова SQL надає розвинені можливості як кінцевим користувачам, так і фахівцям в області обробки даних [5].
Сумісність із SQL-Системами відіграє більшу роль, коли передбачається проведення роботи з корпоративними даними. СУБД, добре підготовлені до роботи як засоби первинної обробки інформації для SQL-Систем, можуть відкрити двері в системи з архітектурою клієнт-сервер.
СУБД мають доступ до даних SQL у наступних випадках:
бази даних сумісні з ODBC (Open Database Connectivity - відкрите з'єднання баз даних);
реалізовано природну підтримку SQL-Баз даних;
можлива реалізація SQL-Запитів локальних даних.
Багато СУБД можуть "прозоро" підключатися до вхідних SQL-Підсистем за допомогою ODBC або драйверів, що є їхньою частиною, тому існує можливість створення прикладних програм для них. Деякі програмні продукти також з SQL при обробці інтерактивних запитів на одержання даних, що перебувають сервері або на робочому місці.
Access 2.0 і Paradox for Windows працюють із джерелами SQL-Даних, сумісних із системою ODBC.
FoxPro (for dos і for Windows) поставляються з додатковими бібліотеками, які забезпечують доступ до SQL-Баз даних, здатними працювати разом із системою ODBC, але ця можливість менш інтегрована, чим засобу первинного уведення інформації в Access і Paradox for Windows.
Можна прямо управляти базами даних Access за допомогою мови SQL і передавати наскрізні SQL-Запити сумісним зі специфікацією ODBC SQL-Базам даних, таким, як MS SQL Server і Oracle, так що Access здатна служити засобом розробки масштабованих систем клієнт-сервер.
Тепер перейдемо до операторів SQL мови обробки даних (data manipulation language— DML). Основні оператори DML— це select, insert, opdate і delete. Спочатку розглядаються операції вибірки (select), а далі — операції відновлення (insert, update, delete).
Як уже згадувалося, мова обробки даних DML включає три операції відновлення: INSERT (вставка), UPDATE (зміна) і DELETE (видалення) [10].
- Тема 1 “Концепція навчальної дисципліни”
- 1.1.Об’єкт, предмет і задачі навчальної дисципліни “Технології проектування та адміністрування бд і сд”.
- Тема 2 “Основні поняття теорії баз даних”
- 2.1. Сукупність одиниць інформації інформаційного простору економіста: означення, схема взаємозв’язків.
- 2.3. Загальна характеристика підходів до аналізу історії розвитку технології бд.
- 2.4. Поняття бази даних і принципи її організації.
- 2.5. Поняття моделі даних. Дуальність поняття “модель даних”. Схема і підсхема.
- 2.6. Класифікація баз даних.
- 2.8. Спрощений життєвий цикл бд: поняття жц бд, сутність етапів (фаз).
- 2.9. Поняття скбд. Історія виникнення та покоління скбд.
- 2.10. Поняття скбд. Функції скбд.
- 2.11. Поняття скбд. Типова структура скбд. Призначення компонент скбд.
- 2.12. Клієнт-серверна архітектура бд: поняття, види, призначення компонент.
- 2.13. Поняття автоматизованого банку даних. Структура абд.
- 2.14. Мовні засоби абд: схема класифікації, призначення компонент.
- 2.15. Адміністрування бд: склад групи адміністрування, поняття адміністратора бд, функції адміністратора бд.
- 2.16. Адміністратор бд. Задачі адміністратора бд та їх сутність.
- 2.17. Поняття цілісності даних. Класифікація обмежень цілісності.
- 2.18. Сутність механізмів забезпечення цілісності інформації в бд. Схема відновлення бд.
- 2.19. Стандарти баз даних.
- Тема 3 “Основи теорії реляційних баз даних”
- 3.1. Поняття реляційної бд. Обмеження цілісності реляційної бд.
- 3.2. Об’єкти реляційної бд.
- 3.3. Типи реляційних відношень у реляційних бд.
- 3.4. Поняття і базові операції реляційної алгебри.
- 3.5. Властивості операцій реляційної алгебри.
- 3.6. Поняття селективної потужності мови запитів. Проблема вибору зразка для порівняння мов запитів. Теза Кодда.
- 3.7. Поняття селективної потужності мови запитів. Проблема адекватності представлення вимог користувача у різних множинах операцій (теоріях). Алгоритм редукції.
- 3.4. Реалізація реляційної бд у середовищі табличних процесорів (на прикладі ms Excel).
- 3.5. Функції табличних бд (на прикладі ms Excel).
- Тема 4 “Основи проектування реляційних бд”
- 4.1. Поняття аномалії в реляційних бд. Типи аномалій. Суть аномалії кожного типу.
- 4.2. Поняття ключа, види ключів в реляційних бд.
- 4.3. Загальна характеристика теорії нормалізації.
- 4.4. Поняття функціональної залежності. Аксіоми Армстронга для фз.
- 4.5. Поняття багатозначної функціональної залежності. Аксіоми Армстронга для багатозначних фз.
- 4.6. Основні нормальні форми реляційних відношень: 1нф, 2нф, 3нф.
- 4.7. Нормальні форми вищих порядків.
- 4.8. Доменно-ключова нормальна форма відношення, її переваги і недоліки.
- 4.9. Евристичний алгоритм проектування структури реляційної бд у 3нф.
- 4.10. Поняття і властивості універсального відношення.
- 4.11. Загальна постановка задачі проектування схеми реляційної бд.
- 4.12. Поняття декомпозиції схеми реляційного відношення. Типи декомпозиції схеми відношення.
- 4.13. Теорема Хеза і її застосування у проектуванні схеми реляційної бд.
- 4.14. Теорема Фейгина і її застосування у проектуванні схеми реляційної бд.
- 4.15. Поняття незалежної у сенсі Ріссанена проекції. Умова декомпозиції відношення на незалежні проекції.
- 4.16. Поняття еквівалентності відношень. Еквівалентність за залежностями (е1) і за даними (е2).
- 4.17. Поняття еквівалентності відношень. Еквівалентність за компонентами (е3).
- 4.18. Теорема про умови з’єднання без втрат.
- 4.20. Еквівалентність нормальних форм та критерій якості реляційної схеми.
- 4.21. Реалізація обмежень цілісності в середовищі реляційних скбд.
- 4.22. Базові типи даних для реляційних бд (на прикладі ms Access).
- 4.24. Правила Кодда для реляційних скбд.
- Тема 5 “Реляційні мови програмування”
- 5.1. Загальна характеристика засобів скбд отримання інформації з реляційних бд.
- 5.2. Поняття запиту. Класифікація запитів. Таблиця опису характеристик запиту.
- 5.3. Загальна методика розробки запитів до бд мовою qbe.
- 5.5. Особливості мови qbe. Елементи базового варіанту мови qbe.
- 5.6. Методика розробки мовою qbe запиту вказаного типу у середовищі скбд ms Access.
- 5.7. Загальна характеристика мови sql.
- 5.8. Базові типи даних мови sql.
- 5.9. Перетворення типів даних в мові sql: суть, мета, функції.
- 5.10. Вирази, умови та оператори мови sql.
- 5.11. Команди визначення даних мови sql.
- 5.12. Команда вибору мови sql.
- 5.15. Методика розробки звітів у середовищі скбд ms Access.
- Тема 6 “Гіпертекстові бази даних”
- 6.1. Історія розвитку та поняття гіпертексту.
- 6.2. Методика створення гіпертекстової бд.
- 6.3. Основи мови html: призначення, основні теги.
- 6.4. Основи мови xml: призначення, основні теги.
- 6.5. Формати файлів для зберігання гіпертекстів.
- 6.6. Файл довідки як реалізація гіпертекстової бд: призначення, структура, типи зв’язків, інтерфейс взаємодії з користувачем.
- 6.7. Чи є гіпертекст базою даних: аргументи “за” і “проти”?
- 6.8. Мова опису вхідного файла для створення довідки.
- Тема 7 “Автоматизація проектування бд”
- 7.1. Загальна характеристика case-засобів.
- 7.2. Класифікація case-засобів.
- 7.3. Концептуальні поняття методології erd.
- 7.4. Концептуальні поняття методології idef1x.
- 7.5. Загальна характеристика case-засобу eRwin.
- 7.6. Інструменти case-засобу Erwin.
- 7.7. Поняття та етапи створення логічної моделі бд засобами Erwin.
- 7.8. Види зв’язків між сутностями у логічній моделі бд Erwin.
- 7.9. Типи правил посилкової цілісності для бд у системі Erwin.
- 7.10. Поняття та етапи створення фізичної моделі засобами Erwin.
- 7.11. Недоліки класичної методології проектування структури бд і сутність автоматизації проектування бд.
- 7.12. Повний життєвий цикл бд: схема, суть етапів.
- 7.13. Загальна характеристика вказаного етапу повного життєвого циклу бд.
- 7.14. Стратегії розробки бд: класифікаційна схема, суть стратегій.
- 7.15. Критерії оцінювання моделі даних у процесі проектування бд (за Флемінгом і ван Халлом).
- Тема 8 “Основи теорії розподілених бд”
- 8.1. Поняття розподіленої бд. Вимога прозорості. Переваги і недоліки розподілених бд.
- 8.2. Класифікація розподілених бд.
- 8.3. Поняття розподіленої обробки, розподіленої скбд і паралельної скбд.
- 8.4. Функції типової розподіленої скбд.
- 8.5. Типова архітектура розподіленої скбд.
- 8.6. Фрагментація даних: ідея, властивості, поняття коректної фрагментації, типи фрагментації відношень.
- 8.7. Поняття горизонтальної фрагментації відношення. Умови коректності горизонтальної фрагментації.
- 8.8. Поняття породженої горизонтальної фрагментації відношення. Умови коректності породженої горизонтальної фрагментації.
- 8.9. Поняття вертикальної фрагментації відношення. Умови коректності вертикальної фрагментації.
- 8.10. Поняття реплікації даних і репліки. Переваги і недоліки реплікації.
- 8.11. Механізми реплікацій.
- 8.12. Моделі реплікацій.
- 8.13. Поняття реплікації даних. Топологія реплікацій.
- 8.14. Поняття транзакції. Загальна схема роботи розподіленої транзакції.
- 8.15. Вимоги до транзакцій.
- 8.16. Структура транзакції мовою sql стандарту ansi/iso.
- 8.17. Структура транзакції мовою Transact-sql.
- 8.22. Стратегії розподілу даних.
- 8.23. Інтерфейс odbc: мета, визначення, архітектура.
- 8.24. Інтерфейс odbc: функціональна структура, блок-схема типового сеансу.
- 8.25. Загальна характеристика розподіленої скбд ms sql Server 2005.
- 8.26. Загальна характеристика утиліти Management Studio ms sql Server 2005.
- 8.27. Загальна методика створення розподіленої бд в середовищі ms sql Server 2005.
- 8.28. Загальна методика розробки запитів мовою qbe з допомогою утиліти Management Studio ms sql Server 2005.
- 8.29. Методика реалізації умови цілісності вказаного виду з допомогою утиліти Management Studio ms sql Server 2005.
- 8.30. Методика розробки запиту зазначеного типу мовою qbe з допомогою утиліти Management Studio ms sql Server 2005.
- 8.31. Методика тестування цілісності бд і її компонент у середовищі ms sql Server 2005.
- 8.32. Піктографічне меню конструктора запитів утиліти Management Studio ms sql Server 2005.
- Тема 10 “Багатовимірні бази даних”
- 10.1. Багатовимірної модель даних.
- 10.2. Поняття багатовимірної бд. Об’єкти багатовимірної бд.
- 10.3. Основні операції над багатовимірною бд.
- 10.4. Концепція olap-технології. Порівняльна характеристика oltp- та olap-систем.
- 10.5. Правила Кодда для olap-систем.
- 10.6. Загальна характеристика способів реалізації olap-систем.
- 10.7. Архітектура rolap-систем.
- 10.8. Архітектура molap-систем.
- 10.9. Архітектура holap-систем.
- 10.10. Загальна характеристика можливостей case-засобу Erwin для створення багатовимірної бд (§10.8 посібника Ситник…).
- 10.11. Етапи створення багатовимірної бд засобами Erwin (§10.8 посібника Ситник…).
- Тема 11 “Основи проектування сховищ даних”
- 11.1. Концепція складів даних.
- 11.2. Історія розвитку та переваги технології складів даних.
- 11.4. Архітектура сховищ даних.
- 11.5. Характеристика основних компонент сховищ даних.
- 11.6. Інформаційні потоки в сховищах даних.
- 11.7. Характеристика інформаційних потоків у сховищах даних.
- 11.8. Класифікація сховищ даних за обсягами інформації (§11.3 посібника Ситник…).
- 11.9. Вимоги до інструментів адміністрування систем, побудованих на основі сховищ даних (§11.3 посібника Ситник…).
- 11.10. Характеристика проектних рішень основних розробників сховищ даних (§11.4 посібника Ситник…).
- 11.11. Відмінності проектування сховищ даних від проектування бд (§10.3 посібника Ситник…).
- 11.12. Підходи до проектування сховищ даних (§10.4 посібника Ситник…).
- 11.13. Схема робіт при вимірному моделюванні сховищ даних (§10.6 посібника Ситник…).
- 11.14. Поняття метаданих у сховищах даних. Мета створення і використання метаданих. Класифікації метаданих.
- 11.15. Модель Захмана формалізації опису метаданих у сховищах даних.
- 11.16. Базові варіанти моделей сховищ даних: зірка та сніжинка (посібник Ситник…).
- Тема 9 “Об’єктно-орієнтовані бази даних“
- 9.1. Поняття об’єктно-орієнтованої бд. Характеристика сучасного етапу дослідження оо бд.
- 9.2. Перерахувати усі особливості об’єктно-орієнтованої моделі групи odmg та розкрити суть вказаної особливості.
- 9.3. Загальна характеристика мови опису об’єктів odl odmg.
- 9.4. Об’єкти мови odl odmg: дерево об’єктів, система типів, властивості об’єктів.
- 9.5. Класи об’єктів мови odl odmg: визначення, поняття екстенту і ключа, оголошення.
- 9.6. Літерали мови odl odmg: визначення, класифікаційна схема, операції.
- 9.7. Загальна характеристика оо скбд Cachѐ.
- 9.8. Методика створення оо бд засобами оо скбд Cachѐ.
- 9.12. Методика створення класу для оо бд засобами оо скбд Cachѐ.
- 9.13. Методика розробки запиту з допомогою майстра запитів оо скбд Cachѐ.
- 9.14. Методика розробки екранної форми для формування вмісту класу оо бд у середовищі оо скбд Cachѐ.