Розробка додатків архітектури клієнт-сервер за допомогою SQL

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ЗМІСТ

ВСТУП

1. АРХІТЕКТУРА ІНФОРМАЦІЙНОЇ СИСТЕМИ

  1. Архітектура файл-сервер

  2. Архітектура клієнт-сервер

  3. Мови запитів (SQL, QBE)

2. РОЗРОБКА ДОДАТКІВ АРХІТЕКТУРИ КЛІЄНТ-СЕРВЕР ЗА ДОПОМОГОЮ SQL

  1. Забезпечення безпеки

  2. Мова SQL

  3. Організація взаємодії клієнт-сервер за допомогою SQL

  4. Середовища програмування мовою SQL

ВИСНОВОК

СПИСОК ЛІТЕРАТУРИ

ВСТУП

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

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

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

Завданнями курсової роботи є розгляд:

  1. архітектури інформаційної системи, і зокрема клієнт-сервер;

  2. мов запитів SQL і QBE, і їх порівняння;

  3. принципів розробки додатків архітектури клієнт-сервер за допомогою SQL.

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

1. АРХІТЕКТУРА ІНФОРМАЦІЙНОЇ СИСТЕМИ

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

1.1 Архітектура файл-сервер

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

Рисунок 1 Структура інформаційної системи з файл-сервером

До істотних незручностей, які виникають при роботі з системою, побудованої за такою архітектурі, можна віднести наступне:

- Труднощі при забезпеченні несуперечності і цілісності даних;

- Істотна завантаження локальної мережі даними, що передаються;

- У цілому, невисока швидкість обробки та подання інформації;

- Високі вимоги до ресурсів комп'ютерів. При цьому виникають такі обмеження.

- Неможливість організації рівноправного одночасного доступу; користувачів до одного й того ж ділянки бази даних;

- Кількість одночасно працюючих з системою користувачів не перевищує п'яти осіб для ЛВС, побудованої у відповідності зі специфікацією 1 OBaseT (швидкість обміну даними до 10Мб / с);

При всьому цьому система має один дуже важливою перевагою - низькою вартістю.

Архітектура "файл-сервер" передбачає концентрацію обробки на робочих станціях. Основною перевагою цього варіанту є простота і відносна дешевизна. Подібне рішення прийнятно, поки число користувачів, що одночасно працюють з базою даних, не перевищує 5-10 чоловік. При збільшенні кількості користувачів система може "захлинутися" через перевантаженість ЛВС великими потоками необробленої інформації.

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

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

У ході експлуатації були виявлені загальні недоліки файл-серверного підходу при забезпеченні багатокористувацького доступу до бази даних.

Весь тягар обчислювального навантаження при доступі до бази даних лягає на додаток клієнта, що є наслідком принципу обробки інформації в системах "файл-сервер": при видачі запиту на вибірку інформації з таблиці вся таблиця бази даних копіюється на клієнтське місце, і вибірка здійснюється на клієнтському місці. Локальні СУБД використовують так званий "навігаційний підхід", орієнтований на роботу з окремими записами.

Не оптимально витрачаються ресурси клієнтського комп'ютера і мережі; наприклад, якщо в результаті запиту ми повинні отримати 2 записи з таблиці обсягом 10000 записів, всі 10000 записів будуть скопійовані з файл-сервера на клієнтський комп'ютер; в результаті зростає мережевий трафік і збільшуються вимоги до апаратних потужностей користувальницького комп'ютера.

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

Недостатньо розвинений апарат транзакцій для локальних СУБД служить потенційним джерелом помилок як з точки зору одночасного внесення змін в одну і ту ж запис, так і з точки зору відкату результатів серій об'єднаних за змістом в єдине ціле операцій над базою, коли деякі з них завершилися неуспішне, а деякі - ні, оскільки це може порушувати посилальну і смислову цілісність бази даних.

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

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

Недоліки архітектури "файл-сервер" вирішуються при перекладі додатків в архітектуру "клієнт-сервер", яка знаменує собою наступний етап у розвитку СУБД. Характерною особливістю архітектури "клієнт-сервер" є перенесення обчислювального навантаження на сервер бази даних (SQL-сервер) і максимальне розвантаження додатку клієнта від обчислювальної роботи, а також істотне зміцнення безпеки даних - як від зловмисних, так і просто помилкових змін.

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

1.2 Архітектура клієнт-сервер

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

Структура розподіленої ІС, побудованої по архітектурі клієнт-сервер з використанням сервера баз даних, розглядається на малюнку 2. При такій архітектурі сервер бази даних забезпечує виконання основного обсягу обробки даних. Формовані користувачем або додатком запити надходять до сервера бази даних у вигляді інструкції мови SQL. Сервер бази даних виконує пошук і відбір потрібних даних, які потім передаються на комп'ютер користувача. Перевагою такого підходу в порівнянні з файл-сервером є помітно менший обсяг переданих даних.

Для створення і управління персональними базами даних і додатків, що працюють з ними, використовуються СУБД, такі як Access і Visual FoxPro фірми Microsoft, Paradox фірми Borland.

Корпоративна база даних створюється, підтримується і функціонує під управлінням сервера баз даних, наприклад Microsoft SQL Server. У залежності від розмірів організації і особливостей вирішуваних завдань ІВ може мати одну з наступних конфігурацій: комп'ютер-сервер, що містить корпоративну і персональну бази; комп'ютер-сервер і персональні комп'ютери з ПБД; кілька комп'ютерів-серверів і персональних комп'ютерів з ПБД.

Використання архітектури клієнт-сервер дає можливість поступового нарощування ІС підприємства, по-перше, у міру розвитку підприємства, по-друге, у міру розвитку самої ІС.

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

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

Така незалежність досягається підтримуваним СУБД багаторівневим поданням даних в базі даних на логічному (користувальницькому) і фізичному рівнях. Завдяки СУБД і наявності логічного рівня представлення даних забезпечується відділення концептуальної (понятійної) моделі бази даних від її фізичного представлення в пам'яті ЕОМ. Найважливішим параметром великої інформаційної системи є швидкодія при значній кількості користувачів, а також надійність, масштабованість та безпеку. Все це забезпечує архітектура "клієнт-сервер". Така архітектура дозволяє оптимально розподілити роботу між клієнтськими і серверною частинами системи: тепер додаток, що працює на робочій станції, не читає записи бази даних "напряму", а посилає запити на сервер, де вони приймаються і послідовно відпрацьовуються спеціальними програмами. У результаті на робочу станцію надходять тільки оброблені дані, що радикально скорочує інформаційні потоки в ЛОМ.

Малюнок 2. Структура інформаційної системи з клієнт-сервером

1.3 Мови запитів

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

Запит є спеціальним чином описане вимога, що визначають склад вироблених над базою даних операцій за вибіркою, видалення або модифікації даних, що зберігаються. Для підготовки запитів за допомогою різних СУБД найчастіше використовуються два основні мови опису запитів: мова QBE (Query By Example) - мова запитів за зразком; мова SQL (Structured Query Language)-структурований мова запитів.

У мові QBE (Query - by - Example - мова запитів за зразком) використовується візуальний підхід для організації доступу до інформації в базі даних, заснований на застосуванні шаблонів запитів. Застосування QBE здійснюється шляхом завдання зразків значень в шаблоні запиту, що передбачає такий тип доступу до бази даних, який потрібно в даний момент, наприклад отримання відповіді на деякий питання.

Мова QBE був розроблений компанією IBM в 1970-х роках і призначався для користувачів, зацікавлених у виборі інформації з баз даних. Ця мова отримав у користувачів настільки широке визнання, що в даний час в тій або іншій мірі він реалізований практично у всіх популярних СУБД, включаючи і Microsoft Access. Засоби підтримки мови QBE в СУБД Microsoft Access вельми прості в експлуатації і в той же час представляють користувачам досить широкий спектр можливостей роботи з даними. Засоби мови QBE можуть використовуватися для введення запитів до інформації, що зберігається в одній або кількох таблицях, а так само для визначення набору полів, які повинні бути присутніми в результуючій таблиці. Відбір записів може, проводиться по конкретному або загальному критерію, і передбачати виконання необхідних обчислень на основі інформації, що зберігається в таблицях. Крім того, кошти мови QBE можна використовувати для виконання різних операцій над таблицями, наприклад, для вставки і видалення записів, модифікації значень полів або створення нових полів і таблиць.

СУБД Microsoft Access при створенні запиту з використанням засобів QBE неявно формує еквівалентний оператор мови SQL, призначений для виконання зазначених дій.

Найчастіше використовується тип запитів, який прийнято називати запитами на вибірку. Запити на вибірку дозволяють переглядати, аналізувати і вносити зміни до даних, що зберігаються в одній або кількох таблицях. При виконанні запиту на вибірку СУБД Microsoft Access поміщає обрані дані в динамічний набір даних, який представляє собою оновлюваний набір записів, залежить від таблиці або запиту, що розглядається як окремий об'єкт. Винятком є лише запити, що використовують специфічні можливості мови SQL, які відсутні в мові QBE.

Мова SQL бере свій початок в одній з дослідницьких лабораторій компанії IBM. На початку 1970-х років дослідники виконували перші розробки реляційних систем СУБД (або РСУБД), і тоді вони створили под'язик даних, призначений для роботи в цих системах. Пробна версія цього підмови була названа SEQUEL (Structured English Query Language - структурований англійська мова запитів). Проте коли прийшов час офіційно випускати їх мову запитів в якості продукту, розробники захотіли зробити так, щоб люди розуміли, що випущений продукт відрізняється від пробної системи СУБД і перевершує її. Тому вони вирішили дати продукту, що випускається ім'я, хоча і відрізняється від SEQUEL, але явно належить до цього ж сімейства. Так що вони назвали його SQL, який став стандартом для підмов даних. У результаті, хоча майже всі постачальники і використовували варіанти однієї мови SQL, платформна сумісність була слабкою.

Незабаром почався рух за створення загальновизнаного стандарту SQL, якого міг би дотримуватися кожен. У 1986 році організація ANSI випустила офіційний стандарт під назвою SQL -86.3 TOT стандарт був оновлений тієї ж організацією в 1989 році і отримав назву SQL -89, а потім в 1992 році, був названий SQL -92. Самою останньою версією стандарту SQL є SQL 2003.

Структурований мову запитів SQL - це гнучкий мова, що є найпоширенішим інструментом, використовуваним для зв'язку з реляційною базою даних. Ця мова призначений для виконання операцій над таблицями (створення, видалення, зміна структури) та над даними таблиць (вибірка, зміна, додавання і видалення), а також деяких супутніх операцій. SQL є непроцедурного мовою і складається з обмеженої кількості команд, спеціально призначених для управління над даними. У зв'язку з цим SQL автономно не використовується, зазвичай він занурений у середу вбудованої мови програмування СУБД (наприклад, FoxPro, Access). Щоб вирішити з його допомогою завдання, повідомляється SQL, то, що саме вам потрібно, а СУБД сама вирішить, як найкраще виконати ваш запит. Мова SQL не має функції повноцінного мови розробки, а орієнтований на доступ до даних, тому його включають до складу засобів розробки програм. У цьому випадку його називають вбудованим. У спеціалізованих системах розробки додатків типу клієнт-сервер середовище програмування, крім того, зазвичай доповнена комунікаційними засобами (встановлення і роз'єднання з'єднань з серверами баз даних, виявлення та обробка виникають у мережі помилок), засобами розробки користувальницьких інтерфейсів, засобами проектування і налагодження.

Розрізняють два основні методи використання вбудованого SQL: статичний і динамічний.

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

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

За можливостями маніпулювання даними при описі запитів зазначені мови практично еквівалентні. Головна відмінність між ними, полягає в способі формування запитів: мова QBE передбачає ручне або візуальне формування запиту, в той час як використання SQL означає програмування запиту.

2. РОЗРОБКА ДОДАТКІВ АРХІТЕКТУРИ КЛІЄНТ-СЕРВЕР ЗА ДОПОМОГОЮ SQL

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

Архітектура клієнт-сервер, доповнюючи характеристики SQL, дає можливість у малих, середніх і великих мережах отримувати гарну продуктивність при помірних витратах.

2.1 Забезпечення безпеки

Система безпеки SQL умовно ділиться на два рівні: сервера і бази даних. На рівні сервера визначається можливість доступу користувачів до сервера. На рівні бази даних для користувачів, що одержали доступ до сервера, встановлюються права доступу до об'єктів бази даних.

На сервері система захисту SQL може бути реалізована в двох режимах: стандартному - комбінацією засобів захисту та інтегрованому-використанням тільки засобів захисту.

У стандартному режимі захисту контроль і управління обліковими записами, що використовуються для доступу до сервера, здійснює SQL. Крім того, SQL самостійно виконує перевірку автентичності користувача за допомогою пароля (тобто аутентифікація), зберігає дані про права доступу, іменах і паролі. Стандартний режим використовується найбільш часто. Його рекомендується застосовувати у випадках, коли в мережі не використовуються засоби Windows NT / 2 k для аутентифікації користувачів і при використанні підключення до сервера за допомогою різних протоколів.

В інтегрованому режимі захисту контроль над встановлюваними користувачами сполуками здійснює операційна система Windows NT / 2 k. Достоїнствами інтегрованого режиму захисту є те, що після реєстрації користувача в домені (тобто введення свого імені та пароля) він відразу отримує відповідні права доступу до всіх ресурсів домену Windows NT / 2 k, в тому числі і до даних SQL, а також використання передачі по мережі. Такий метод автоматичного надання доступу називається встановленням довірчого з'єднання. Вважається, що режим є більш захищеним у порівнянні з попереднім, так як аутентифікація засобами Windows NT / 2 k є набагато більш захищеною, ніж аутентифікація SQL.

2.2 Мова SQL

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

SQL ж (Structured Query Language - структурований мова запитів) орієнтований на операції з даними, представленими у вигляді логічно взаємозалежних сукупностей таблиць. Особливість пропозицій цієї мови полягає в тому, що вони орієнтовані здебільшого на кінцевий результат обробки даних, ніж на процедуру цієї обробки. SQL сам визначає, де знаходяться дані, які індекси та навіть найбільш ефективні послідовності операцій слід використовувати для їх отримання: не треба вказувати ці деталі в запиті до бази даних.

Для ілюстрації відмінностей між ЯМД розглядається наступна ситуація. Нехай, наприклад, ви збираєтеся подивитися кінофільм і хочете скористатися для поїздки в кинотеатр послугами таксі. Одному шоферу таксі досить сказати назва фільму - і він сам знайде вам кінотеатр, в якому показують потрібний фільм. (Подібним же чином, самостійно, відшукує запитані дані SQL.)

Для іншого шофера таксі вам, можливо, буде потрібно самому дізнатися, де демонструється потрібний фільм і назвати кінотеатр. Тоді водій повинен знайти адресу цього кінотеатру. Може статися й так, що вам доведеться самому дізнатися адресу кінотеатру і запропонувати водієві проїхати до нього з таких-то і таким-то вулицях. У самому гіршому випадку вам, може бути, навіть доведеться по дорозі давати вказівки: "Повернути ліворуч ... проїхати п'ять кварталів ... повернути праворуч ...". (Аналогічно більший чи менший рівень деталізації запиту доводиться створювати користувачу в різних СУБД, що не мають мови SQL.)

Розробка, в основному, йшла у відділеннях фірми IBM (мови ISBL, SQL, QBE) і університетах США (PIQUE, QUEL). Останній створювався для СУБД INGRES (Interactive Graphics and Retrieval System), яка була розроблена на початку 70-х років в Університеті шт. Каліфорнія і сьогодні входить до п'ятірки кращих професійних СУБД. Сьогодні з усіх цих мов повністю збереглися і розвиваються QBE (Query - By - Example - запит по зразку) і SQL, а з решти взяті в розширення внутрішніх мов СУБД тільки найбільш цікаві конструкції.

На початку 80-х років SQL "переміг" інші мови запитів і став фактичним стандартом таких мов для професійних реляційних СУБД. У 1987 році він став міжнародним стандартом мови баз даних і почав впроваджуватися в усі поширені СУБД персональних комп'ютерів. Чому ж це сталося?

Безперервне зростання швидкодії, а також зниження енергоспоживання, розмірів і вартості комп'ютерів призвели до різкого розширення можливих ринків їх збуту, кола користувачів, розмаїття типів і цін. Природно, що розширився попит на різноманітне програмне забезпечення.

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

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

Для виключення зазначених та деяких інших недоліків була запропонована технологія "Клієнт-Сервер", по якій запити користувача ЕОМ (Клієнт) обробляються на спеціальних серверах баз даних (Сервер), а на ЕОМ повертаються лише результати обробки запиту. При цьому, природно, потрібен єдиний мову спілкування з Сервером і в якості такої мови обраний SQL. Тому всі сучасні версії професійних реляційних СУБД (DB 2, Oracle, Ingres, Informix, Sybase, Progress, Rdb) і навіть нереляційних СУБД (наприклад, Adabas) використовують технологію "Клієнт-Сервер" і мова SQL. До того ж приходять розробники СУБД персональних ЕОМ, багато з яких вже сьогодні забезпечені мовою SQL.

Існує думка: Оскільки велика частина запитів формулюється на SQL, практично байдуже, що це за СУБД - був би SQL.

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

Орієнтований на роботу з таблицями SQL не має достатніх коштів для створення складних прикладних програм. Тому в різних СУБД він або використовується разом з мовами програмування високого рівня (наприклад, такими як Сі чи Паскаль), або включений до складу команд спеціально розробленої мови СУБД (мова систем dBASE, R: BASE і т.п.).

2.3 Організація взаємодії клієнт-сервер за допомогою SQL

При використанні технології клієнт-сервер додаток поділяється на дві частини. Клієнтська частина забезпечує зручний графічний інтерфейс і розміщується на комп'ютері користувача. Серверна частина здійснює управління даними, поділ інформації, адміністрування і забезпечує безпеку інформації. Клієнтський додаток формує запити до сервера бази даних, на якому виконуються відповідні команди. Результати виконання запитів пересилаються клієнту.

При розробці розподілених інформаційних систем в організації взаємодії клієнтської і серверної частини виділяються наступні важливі в практичному сенсі завдання:

  • Перенесення персональної бази даних на сервер для подальшого її колективного використання як корпоративної бази даних;

  • Організація запитів до корпоративної базі даних, розміщеної на сервері, з боку комп'ютера-клієнта;

  • Розробка клієнтського застосування для віддаленого доступу до корпоративної базі даних з боку комп'ютера-клієнта.

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

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

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

  • Інтерфейс DB - LIB (бібліотек баз даних);

  • Технології ODBC (сумісності відкритих баз даних);

  • Інтерфейсу OLE DB (зв'язування і вбудовування об'єктів баз даних);

  • Технології DAO (об'єктів доступу до даних);

  • Технології ADO (об'єктів даних).

Інтерфейс DB - LIB являє собою спеціально призначений для SQL інтерфейс прикладних програм. Тому він є найменш мобільним з числа розглянутих у сенсі можливостей перенесення додатків в інше середовище. З точки зору продуктивності цей спосіб дозволяє здійснити найшвидший доступ до інформації. Причиною цього є те, що він представляє оптимізований інтерфейс прикладного програмування і безпосередньо використовує мову запитів системи SQL.

Технології ODBC призначені для забезпечення можливості взаємозв'язку між різними СУБД і отримання від програми запитів на вибірку інформації, переведення їх на мову ядра адресується бази даних для доступу зберігається в ній інформації.

Основне призначення ODBC складається в абстрагуванні програми від особливостей ядра серверної бази даних, з якою воно здійснює взаємодію, тому серверна база даних стає як би прозорою для будь-якого клієнтського додатку.

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

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

При використанні в клієнтському додатку засобів ODBC здійснюється звернення до певного джерела даних, а через нього - до СУБД, яку він представляє. При установці засобів ODBC встановлюється загальна підсистема ODBC і визначаються пари «драйвер-база даних», яким задаються імена, що використовуються при установці з'єднання з. базою даних. Відповідні пари називаються пойменованими джерелами даних.

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

При обробці даних на сервері з використанням технології ODBC і застосуванням клієнтської програми виділяються два основних етапи: завдання джерела даних - створення та налаштування з'єднання, а також власне обробка даних за допомогою запитів.

Інтерфейс OLE DB рекомендується використовувати для створення засобів і утиліт, або розробок системного рівня, які потребують високої продуктивності або доступі до SQL властивостями, недоступні за допомогою технології ADO. Основні можливості специфікації OLE DB забезпечують повну функціональність доступу до даних. У SQL процесор баз даних сервера використовує це інтерфейс для зв'язку: між внутрішніми компонентами, таким як процесор зберігання і процесор відносин; між установками SQL при використанні віддалених збережених процедур; як інтерфейс до інших джерел даних для розподілених запитів.

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

В даний час технологія ВАТ поступово витісняється технологією ADO, яка дозволяє розробляти додатки Web для роботи з базами даних. У цілому технологію ADO можна охарактеризувати як найбільш сучасну технологію розробки додатків для роботи з розподіленими базами технології клієнт-сервер.

2.4 Середовища програмування мовою SQL

На сьогоднішній день відомо більше двох десятків серверних СУБД, проте найбільш популярними, виходячи з числа продажів та інсталяцій, слід визнати Oracle, Microsoft SQL Server.

Oracle була першою комерційної реляційної СУБД, що підтримує став нині індустріальним стандартом мову SQL; її перша версія з'явилася у 1979 році. Фактично весь цей час Oracle є беззмінним лідером на ринку виробників комерційних СУБД і другий (після Microsoft) за величиною компанією, що виробляє програмне забезпечення.

Ранні версії цієї СУБД були призначені для мейнфреймів, а в якості робочих місць використовувалися <неінтелектуальні> термінали. Проте з часом з'явилися версії Oracle, призначені для використання в архітектурі <клієнт-сервер> (першою такою версією була Oracle 5, випущена в 1985 році). Спочатку ці версії були призначені для різних серверних платформ - різних версій UNIX, VMS та ін Пізніше були випущені версії сервера Oracle для Novell NetWare. Перші версії цього сервера для персональних комп'ютерів з'явилися в середині 90-х (Personal Oracle 7 for Windows 3.1, Personal Oracle 7 for Windows 95, Personal Oracle Lite, Oracle Workgroup Server 7 for Windows NT). До появи цих версій персональні комп'ютери могли використовуватися виключно в якості клієнтських робочих станцій - до складу Oracle для серверних платформ зазвичай входила клієнтська частина для DOS.

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

Крім різних версій сервера баз даних серед продуктів Oracle є також Designer / 2000 - орієнтоване на цю СУБД CASE-засіб для аналізу бізнес-процесів і проектування даних, а також засоби розробки клієнтських додатків. Одне з них - Developer / 2000 (називалося раніше Oracle * Forms) - вельми популярне серед користувачів Oracle, були й інші засоби розробки (наприклад, Oracle Power Objects). Відзначимо, що додатки, створені за допомогою Developer / 2000, можуть виконуватися на різних платформах. Мова SQL, використовуваний в цьому засобі розробки, є інтерпретованою і являє собою той же самий мову, що використовується в Oracle для написання серверного коду. Це дозволяє налагоджувати за допомогою Developer / 2000 серверний код.

Виробляючи власні засоби розробки, Oracle надає своїм користувачам можливість створювати клієнтські програми за допомогою інших засобів. Зокрема, крім стандартного в таких випадках клієнтського API (Oracle Call Interface) Клієнтська частина Oracle містить також об'єктну модель (Oracle Objects for OLE), що дозволяє використовувати клієнтську частину Oracle як набір СОМ-об'єктів для доступу до даних. Крім того, зазвичай клієнтська частина Oracle містить також ODBC-драйвер для доступу до даних цієї СУБД.

Відзначимо, що і багато інших компаній виробляють ODBC-драйвери і OLE DB-провайдери для доступу до Oracle (зокрема, Microsoft). Компанії, що виробляють засоби розробки, що використовують власні бібліотеки доступу до даних (такі як Inprise або Gupta / Centura), також включають бібліотеки доступу до Oracle до складу найбільш дорогих версій своїх продуктів.

З готових інформаційних систем на базі Oracle слід особливо відзначити кілька великих систем управління підприємством, зокрема SAP / КЗ. На Заході також нерідко використовуються готові рішення від самої Oracle Corporation, об'єднані під загальною назвою Oracle Applications, такі як Oracle Financials, Oracle Human Resources, Oracle Market Management, Oracle Project Systems та ін

Microsoft SQL Server 6.0 - одна з найбільш потужних СУБД архітектури клієнт-сервер. Ця СКБД дозволяє задовольняти такі вимоги, що пред'являються до систем розподіленої обробки даних, як тиражування даних, паралельна обробка, підтримка великих баз даних на відносно недорогих апаратних платформах при збереженні простоти управління і використання.

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

Сервер має засоби віддаленого адміністрування і керування операціями, організованими на базах об'єктно-орієнтованої розподіленої середовищ управління. Microsoft SQL Server входить до складу сімейства Microsoft BackOffice, що об'єднує п'ять серверних додатків, розроблених для спільного функціонування в якості інтегрованої системи.

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

Microsoft SQL Server 6.0 має нову масштабовану архітектуру блокувань, звану динамічної блокуванням (Dynamic Locking), яка комбінує блокування на рівні сторінки і запису для досягнення максимальної продуктивності і підключення максимального числа користувачів.

Microsoft SQL Server може тиражувати інформацію в бази даних інших форматів, включаючи Oracle, IBM DB 2, Sybase, Microsoft Access та інші СУБД при наявності ODBC драйвера, що відповідає певним вимогам (ODBC - Open DataBase Connectivity, стандарт Microsoft, що дозволяє програмам працювати з різними серверами баз даних, використовуючи один загальний інтерфейс).

Збережені процедури, що підтримують OLE Automation, дозволяють розробнику застосовувати практично будь-який інструмент із тих, що підтримують OLE, з метою створення збережених процедур для SQL Server. Visual Basic 4.0 підтримується за допомогою нової 32-розрядної DB - Library (OCX). Численні розширення мови Transact - SQL включають розширену підтримку курсорів, можливість використання команд визначення даних усередині транзакций.

Microsoft SQL Server 6.0. містить Асистент адміністратора. Цей інструмент дозволяє призначати основні процедури супроводу бази даних і визначати для них графік виконання. Операції по супроводу баз даних включають перевірку розподілу сторінок, цілісності покажчиків у таблицях (включаючи системні) і індексах, відновлення інформації, необхідної оптимізатору, реорганізацію сторінок у таблицях і індексах, створення страхувальних копій таблиць і журналів транзакцій. Всі ці операції можуть бути встановлені для автоматичного виконання по заданому адміністратором графіку. Пакет Enterprise Manager включає утиліту дозволяє переносити деякі або всі об'єкти з однієї бази даних в іншу.

Сервер, який отримує об'єкти, повинен бути Microsoft SQL Server версії 6.0. Сервер джерело може бути Microsoft SQL Server 4. X або сервер Sybase. SQL Server надає можливість створення страхувальних копій і відновлення індивідуальних таблиць. Завантаження таблиця може бути виконана або з копії індивідуальної таблиці, або з копії бази даних. Завантаження індивідуальних таблиць може виявитися гарним рішенням при необхідності відновлення даних після збою, коли завантаження всієї бази даних неефективна. Тим не менш створення страхувальних копій всієї бази даних і журналу транзакцій залишаються основою стратегії резервного копіювання.

Для ефективної роботи з даними SQL Server має цілий набір спеціальних інструментів.

Характеристика основного інструменту Microsoft SQL Server 6.0.

SQL Setup - використовується для встановлення нового, модифікації встановленого програмного забезпечення та видалення SQL Server з диска. Програма Setup також може бути використана для зміни опцій мережевої підтримки, підключення мови, розбудова бази даних Master і установки опцій доступу до даних.

SQL Service - використовується для старту і зупинки служб SQL Server Manager (SQL Server і SQL Executive).

SQL / w - дозволяє вводити вирази і процедури, що Transact - SQL в графічному інтерфейсі запитів.

SQL Security - дозволяє управляти бюджетами користувачів серверів Manager SQL.

SQL Client - встановлює інформацію з'єднання Server для утиліти конфігурування клієнтів.

SQL Transfer - забезпечує легкий графічний спосіб перенесення Manager об'єктів і даних з одного Server на інший.

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

Microsoft SQL Server 6.0 відрізняється швидкодією, надійністю від Oracle, дозволяє задовольнити більш широкі потреби клієнтів з розгортання великомасштабних розподілених систем інформації. SQL Server 6.0 забезпечує потужні інструментальні засоби для підприємств-широкої адміністрації, копіювання даних, паралельного DBMS виконання, і пошук у дуже великих базах даних. Microsoft SQL Server 6.0 також забезпечує щільну інтеграцію OLE технології.

SQL Server 6.0 продовжує дотримуватися промислових стандартів, з покращеною ANSI SQL підтримкою і мовними розширеннями, які включають декларативну довідкову цілісність, і потужну підтримку сервер курсору, що значно перевищує стандарт ANSI.

ВИСНОВОК

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

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

При цьому виникають наступні обмеження:

- Неможливість організації рівноправного одночасного доступу користувачів до одного й того ж ділянки бази даних;

- Кількість одночасно працюючих з системою користувачів не перевищує п'яти осіб для ЛВС;

- Невисока швидкість обробки та подання інформації;

- Високі вимоги до ресурсів комп'ютерів.

При всьому цьому система має один дуже важливою перевагою - низькою вартістю.

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

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

У принципи розробки додатків архітектури клієнт-сервер входить забезпечення безпеки даних, організація взаємодії клієнта і сервера, все це досягається при використанні мови SQL.

З порівняння середовищ програмування Microsoft SQL Server і Oracle, я зробила висновок, що Microsoft SQL Server відрізняється швидкодією, надійністю від Oracle, дозволяє задовольнити більш широкі потреби клієнтів з розгортання великомасштабних розподілених систем інформації. SQL Server 6.0 забезпечує потужні інструментальні засоби для підприємств - широкої адміністрації, копіювання даних, паралельного DBMS виконання, і пошук у дуже великих базах даних. Microsoft SQL Server 6.0 також забезпечує щільну інтеграцію OLE технології.

SQL Server 6.0 продовжує дотримуватися промислових стандартів, з покращеною ANSI SQL підтримкою і мовними розширеннями, які включають декларативну довідкову цілісність, і потужну підтримку сервер курсору, що значно перевищує стандарт ANSI.

Наступна курсова робота буде спрямована на розробку інформаційної системи, що забезпечує електронний документообіг села Бобровки.

СПИСОК ЛІТЕРАТУРИ

  1. Тейлор А.Дж. SQL для «чайників» / А.Дж. Тейлор .- Москва: Вільямс, 2005.

  2. Дейт К.Дж. Введення в системи баз даних / К.Дж. Дейт - Москва: ДМК, 2000.

  3. Хомоненко А.Д. Бази даних / А.Д. Хомоненко, В.М. Циганков - Санкт-Петербург: БХВ-Петербург, 2004.

  4. Вескес Л. Дж. Access і SQL Server. Керівництво розробника / Дж.Л. Вескес - Москва: Лорі, 1997.

  5. Коннолі Т. Бази даних. Проектування, реалізація і супровід / Т. Коннолі, К. Бегг. - Москва: Вільямс, 2003.

30


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
131кб. | скачати


Схожі роботи:
Розробка додатків архітектури клієнт сервер за допомогою SQL
Створення таблиць за допомогою SQL запитів в середовищі DELPHI
Створення таблиць за допомогою SQL-запитів в середовищі DELPHI 2
Створення таблиць за допомогою SQL-запитів в середовищі DELPHI
Розробка Web додатків із застосуванням Java Servlet технології
Рішення задачі за допомогою програм Mathcad та Matlab Розробка моделі
DNS-сервер
Мій особистий сервер DNS
Ваш власний сервер установка Windows Server 2003
© Усі права захищені
написати до нас