Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Нарощення




Коли застосовувати SQL

Мої студенти часто ставлять запитання: «У яких випадках потрібно застосовувати SQL?» Очевидно, хтось із них створив базу даних на настільному комп’ютері й тепер думає про те, чи не перейти йому на СКБД, для якої потрібно SQL. SQL – це не програмний продукт, а мова, тому вірніше було б сформулювати питання в такий спосіб: «У яких випадках потрібно застосовувати потужну СКБД, для якої буде потрібно взаємодія на основі SQL?». Для відповіді на це питання потрібно оцінити ряд факторів, які ми зараз і розглянемо.

Багато невеликих мережних вузлів і додатків починаються з настільних систем на зразок Access. Однак у міру зростання обсягу бази даних стають усе більше очевидними недоліки процесора Jet, головний з яких – нездатність обслуговувати одночасно велику кількість користувачів. Програмне забезпечення баз даних, призначене для настільних систем, починає в таких випадках «глючити». Microsoft Access справляється з п’ятьма користувачами у локальній обчислювальній мережі (ЛОМ), але якщо до бази даних спробують одночасно пробитися двадцять користувачів, проблем не уникнути. Втім, настільна база даних і не розрахована на умови, звичні для Web.

Далі, бази даних Access, створювані на основі файлів, коли їхній обсяг досягає декількох мегабайт, стають досить ненадійними. До того ж, у системах класу Access немає засобів безпеки, якими володіють мережні СКБД. Приміром, базу даних Access неважко віднести із собою, просто скопіювавши її на диск. Навіть нестандартні установки виявляються легко доступними.

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

13.2 Швидкість

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

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

13.3 Ціна

Експлуатація СКБД, що розташовується на сервері (і спілкується винятково на SQL), обходиться значно дорожче, ніж використання настільної системи на зразок Access (для яких SQL необов’язковий). Причин декілька. По-перше, серверний варіант вимагає більш дорогого програмного забезпечення; по-друге, для нього, як правило, потрібно більше дорога операційна система; по-третє, настроювання ОС для СКБД відрізняється від настроювання для додатків, тому СКБД найчастіше доводяться розташовувати на окремому сервері; нарешті, для обслуговування серверної системи знадобиться більш кваліфікований, а тому й більш дорогий, персонал.

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

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

13.4 Універсальність

Альтернатива складанню SQL-операторів – написання функцій процедурною мовою на зразок Pascal. Однак ці функції виявляються прив’язаними до конкретних процедурних мов, метаданих і СКБД. Якщо відбуваються зміни в структурах таблиць, доводиться вносити зміни у функції. У випадку ж установки нової СКБД потрібно переглянути всю систему відповідно до нових покажчиків, визначеннями наборів записів і т.д. SQL вільний від цих проблем – всі необхідні для нього зміни відбуваються «за лаштунками» у самій СКБД без участі програміста.

13.5 Аналітичні можливості

Ще одна важлива особливість SQL – наявність аналітичних засобів (не розглянутих у посібнику), що дозволяють витягати корисну ділову інформацію з великого обсягу даних. Для цих завдань часто потрібне створення багатомірних конструкцій даних, і вони відомі під назвами OLAP (Online Analytical Processing – аналітична обробка в реальному часі), DDS (Decision Support Systems – системи прийняття рішень) і EIS (Executive Information Systems – управлінські інформаційні системи). Кожен постачальник включає в СКБД свою версію цих функцій і тільки в потужні системи, що використовують для комунікацій SQL.

14 У яких випадках СКБД із підтримкою SQL не потрібна

Попри все те, що нас цікавить у першу чергу SQL, не можна не обговорити ситуації, у яких перевагу може мати система, для якої ця мова не потрібно (наприклад, Access). Більшість із перерахованих нижче ситуацій саме такі.

ü З базою даних працює одночасно невелике число користувачів.

ü Для зберігання даних потрібно не більше 50 % доступного обсягу диска.

ü Обсягу носіїв і машинного часу цілком достатньо для виконання резервного копіювання.

ü Не передбачається істотного збільшення обсягу даних або числа користувачів.

ü Не планується забезпечення доступу до бази даних через Internet.

ü Більша частина використовуваних даних представлена не в реляційній формі (у файлах і папках).

При наявності більшої частини перерахованих умов, надавайте перевагу простішій й дешевшій СКБД Microsoft Access. При цьому більша частина роботи може виконуватися за допомогою майстрів і засобів перетаскування, що дозволить уникнути інвестицій в устаткування, програмне забезпечення й навчання персоналу роботі з SQL.

i Як уже було сказано, для роботи в Access SQL не потрібний, однак його підтримка в цій СКБД забезпечена. Це дозволяє використати дану систему для вивчення цієї мови.

Система на основі СКБД із SQL обходиться набагато дорожче СКБД на зразок Access, у якій для розробки бази даних використовується звичайний засіб перетаскування. Можливий варіант використання Access як прототипу, для обкатування форм і звітів у реальній роботі. Це дозволить скоротити час, затрачуваний на складання SQL-операторів при переході до остаточної версії системи. Більше того, значну частину SQL-операторів, складених в Access, можна буде перенести в нову систему без яких-небудь змін.

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


Висновки

Мова структурованих запитів, яка успішно використовується ось уже протягом багатьох років, являє собою стандартний спосіб комунікації з базами даних. SQL майже повсюдно зрозуміла для будь-якого зовнішнього інтерфейсу й будь-якої прикладної частини. Зовнішній інтерфейс може бути представлений додатками на зразок Visual Basic, Delphi або Microsoft Office, прикладна частина – системами керування базами даних: Oracle, Microsoft SQL Server, Sybase й (у деяких випадках) настільними системами на зразок Access. Прикладна частина здатна обробляти SQL-оператори й повертати результат. Крім цього, SQL використовується для безпосередньої взаємодії між декількома СКБД (без участі людини).

SQL – мова декларативна (на відміну від процедурних). Програміст складає один SQL-оператор з описом необхідного результату й відправляє його СКБД. Для досягнення результату СКБД запускає власні програми. У кожної СКБД свій набір таких програм, але для програміста, що працює з ANSI-SQL, це не має значення – у кожному разі результат буде той самий.


2 Підготовка до роботи з SQL

Отже, ми з’ясували, що SQL – це універсальна мова обміну даними; тепер обговоримо, яким чином можна придбати, установити й тестувати певні види зовнішніх інтерфейсів і прикладних частин, які можна було б використати для роботи із прикладами, що приводять у посібнику.

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

Крім цього, ми розглянемо кілька нових інтерфейсів, здатних працювати з SQL, у тому числі Microsoft Query Analyzer – середовище розробника, що нам доведеться застосовувати для тестування прикладів SQL-операторів, що наводяться у посібнику.

Ми спробуємо скласти наш перший SQL-оператор – нескладний вираз в один рядок, за допомогою якого можна буде тестувати всі програми, які будуть розглянуті протягом теми.

Отже, у цій темі нам потрібно буде:

ü розглянути базу даних, з якою ми будемо працювати далі;

ü розглянути варіанти використовуваного програмного забезпечення;

ü виконати тестовий SQL-запит для перевірки роботи програмного забезпечення й бази даних.





Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 414; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.