Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_зведене.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

28. Яке призначення мови sql?

SQL (англ. Structured query language — мова структурованих запитів) — декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД, створення схеми бази даних і її модифікації, системи контролю за доступом до бази даних. Сам по собі SQL не є ні системою керування базами даних, ні окремим програмним продуктом. Не бувши мовою програмування в тому розумінні, як C або Pascal, SQL може формувати інтерактивні запити або, бувши вбудованою в прикладні програми, виступати в якості інструкцій для керування даними. Стандарт SQL, крім того, вміщує функції для визначення зміни, перевірки і захисту даних.

SQL — це діалогова мова програмування для здійснення запиту і внесення змін до бази даних, а також управління базами даних. Багато баз даних підтримує SQL з розширеннями до стандартної мови. Ядро SQL формує командна мова, яка дозволяє здійснювати пошук, вставку, оновлення, і вилучення даних, використовуючи систему управління і адміністративні функції. SQL також включає CLI (Call Level Interface) для доступу і управління базами даних дистанційно.

29. Які переваги і недоліки мови sql?

Переваги:

Незалежність від конкретної СУБД:

Незважаючи на наявність діалектів і відмінностей в синтаксисі, в більшості своїй тексти SQL-запитів, що містять, DDL і DML, можуть бути досить легко перенесені з однієї СУБД в іншу. Існують системи, розробники яких спочатку закладалися на застосування щонайменше кількох СУБД (наприклад: система електронного документообігу Documentum може працювати як з Oracle, так і з Microsoft SQL Server та IBM DB2). Природно, що при застосуванні деяких специфічних для реалізації можливостей такої переносимості добитися вже дуже важко.

Наявність стандартів:

Наявність стандартів і набору тестів для виявлення сумісності і відповідності конкретній реалізації SQL загальноприйнятому стандарту тільки сприяє «стабілізації» мови. Правда, варто звернути увагу, що сам по собі стандарт місцями занадто формалізований і роздутий в розмірах, наприклад, Core-частину стандарту SQL:2003 включає понад 1300 сторінок тексту.

Декларативність:

За допомогою SQL програміст описує тільки те, які дані потрібно витягнути або модифікувати. Те, яким чином це зробити, вирішує СУБД безпосередньо при обробці SQL-запиту. Проте не варто думати, що це повністю універсальний принцип — програміст описує набір даних для вибірки або модифікації, проте йому при цьому корисно уявляти, як СУБД розбиратиме текст його запиту. Особливо критичні такі моменти стають при роботі з великими базами даних і зі складними запитами — чим складніше сконструйований запит, тим більше він допускає варіантів написання, різних за швидкістю виконання, але тих самих за набором даних.

Недоліки:

Невідповідність реляційної моделі даних: Творець реляційної моделі даних Едгар Кодд, Крістофер Дейт та їхні прихильники указують на те, що SQL не є істинно реляційною мовою. Зокрема вони указують на такі проблеми SQL[3]:

  • Рядки, що повторюються

  • Невизначені значення (null)

  • Явна вказівка порядку стовпчиків зліва направо

  • Стовпці без імені та імена стовпчиків, що дублюються

  • Відсутність підтримки властивості «=»

  • Використання покажчиків

  • Висока надлишковість

У опублікованому Крістофером Дейтом і Г'ю Дарвеном Третьому Маніфесті[4] вони висловлюють принципи СУБД наступного покоління і пропонують мову Tutorial D, яка є достовірно реляційною.

Складність:

Хоча SQL і замислювався, як засіб роботи кінцевого користувача, врешті-решт він став настільки складним, що перетворився на інструмент програміста.

Відступи від стандартів:

Незважаючи на наявність міжнародного стандарту ANSI SQL-92, багато компаній, СУБД (наприклад, Oracle, Sybase, Microsoft, MySQL), що займаються розробкою, вносять зміни до мови SQL, вживаної в розроблених ними СУБД, тим самим відступаючи від стандарту. Таким чином з'являються специфічні для кожної конкретної СУБД діалекти мови SQL.

Складність роботи з ієрархічними структурами:

Раніше SQL не пропонував стандартного способу маніпуляції деревовидними структурами. Деякі постачальники СУБД пропонували свої рішення. Наприклад, Oracle використовує вираз CONNECT BY. В наш час[Коли?] як стандарт прийнята рекурсивна конструкція WITH.

30. Що таке реляційна модель даних з гніздуванням?

31. Що таке об’єктно-орієнтовані моделі даних та об’єктно-орієнтовані СКБД?

Нині ООСКБД приділяється багато уваги як з теоретичної, так і з практичної точок зору. Можна виділити три характерні риси сучасного стану досліджень у цій галузі:

  • відсутність загальноприйнятої моделі даних;

  • відсутність єдиної формальної теорії;

  • активна експериментаторська діяльність.

Класичні роботи Кодда специфікували системи реляційних баз даних (модель даних і мову запитів), для систем об'єктно-орієнтованих баз даних подібна специфікація відсутня. Це не означає, що не існує жодної повної моделі об'єктно-орієнтованої бази даних. Таких моделей є багато, але жодна з них не може вважатися загальноприйнятим стандартом. Нині нема єдиної думки про те, чим є об'єктно-орієнтована система програмування, не кажучи вже про ООСКБД. Окрім того, відсутній надійний теоретичний базис, що робить практично неможливим досягнення спільного погляду на модель даних.

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

Особливе місце в розвитку проблематики об'єктно-орієнтованих СКБД посідає діяльність групи з управління об'єктними базами даних ODMG (Object Data Management Group) — некомерційного консорціуму виробників об'єктних баз даних та інших організацій, зацікавлених у виробленні стандартів зі зберігання об'єктів у базах даних.

В об'єктно-орієнтованій моделі дані та методи, що їх обробляють, об'єднуються в структури, які називаються об'єктами. Типи об'єктів називаються класами.

З точки зору баз даних є такі важливі особливості ООМ:

  • підтримка структур даних, що мають довільний рівень складності;

  • ідентифікованість та унікальність об'єктів;

  • належність об'єктів класам;

  • інкапсуляція;

  • успадкування та ієрархії класів;

  • поліморфізм.

32. Які часові виміри пов'язують з базами даних?

33. Описати підходи пов'язування даних з часом.

34. Що таке темпоральні баз даних і які є їхні різновиди?

35. Описати недоліки темпоральних баз даних.

36. Життєвий цикл даних.

Основними етапами життєвого циклу даних є виникнення, збереження, застосування та знищення. Знищення, з точки зору життєвого циклу даних, не представляє інтересу, оскільки причиною видалення є втрата інформативності даних. Фаза використання даних включає три етапи:

o пошук;

o обробку;

o аналіз.

Результатом використання даних є інформація.

Дані, як речовину чи енергію, можна збирати, обробляти, зберігати, змінювати форму їх представлення. Вони можуть створюватись, знищуватись, багаторазово використовуватись. Головною особливістю даних сьогодні є те, що їх стає надзвичайно багато. При масовому застосуванні комп'ютерів виникла гігантська кількість джерел даних. Для прикладу можна взяти обсяг даних у всесвітній мережі Інтернет, що збільшується щохвилини.

Ключовим поняттям маніпулювання даними є структура типу "файл", що представляє собою множину однотипних елементів (записів). Також файл займає певну ділянку на носії пам'яті і характеризується ім'ям, типом та іншими атрибутами. В свою чергу запис - це структура, яка складається з полів (мінімальної структури даних).