Page 110 - 4636
P. 110
клієнт може зробити кілька замовлень, проте кожне замовлення розміщується одним клієнтом. тому в
замовленні міститься посилання на клієнта.
зв'язуючі таблиці, які описують відносини типу "багато до багатьох" між двома реальними
об'єктами, наприклад, відношення між таблицями orders і books. Такі таблиці часто асоціюються з
деякою реальною транзакцією.
5.3 Архітектура баз даних для веб-додатків
Основна робота веб-сервера проілюстрована на рис. 4.8. Ця система складається з двох об'єктів:
веб-браузера та веб-сервера. Між ними повинен існувати канал зв'язку. Веб-браузер посилає запит на
сервер, сервер відправляє назад відповідь. Така архітектура підходить для сервера, що відсилає
звичайні статичні сторінки. Архітектура ж сайту, який включає в себе базу даних, дещо складніша.
Запит Браузер Веб-сервер
Відповідь
Рисунок 5.8 – Зв’язок типу клієнт-сервер між веб-браузером та веб-сервером потребує
наявності каналу обміну інформацією
12 3 Веб-сервер Інтерпретатор Сервер
Браузер PHP MySQL
6 5 4
Рисунок 5.9 - Базова архітектура баз даних для веб-додатків включає в себе веб-браузер, веб-
сервер, інтерпретатор РНР і сервер баз даних
Типова транзакція бази даних для веб-додатків складається з етапів, позначених на рис. 5.9
цифрами. Ми розглянемо їх на прикладі магазину "Буквофіл ".
1 Веб-браузер користувача відправляє HTTP-запит певної веб-сторінки. Наприклад, HTML-
форма може видати запит на пошук в магазині "Буквофіл" всіх книг, написаних Лорою Томсон.
Сторінка з результатами пошуку називається results.php.
2 Веб-сервер приймає запит на results.php, витягує файл і передає його на обробку
інтерпретатору РНР.
3 Інтерпретатор РНР починає синтаксичний аналіз сценарію. Сценарій містить команду
підключення до бази даних і виконання запиту (на пошук книг). РНР відкриває з'єднання з сервером
MySQL і відправляє йому відповідний запит.
4 Сервер MySQL приймає запит до бази даних, обробляє його, а потім відправляє результати –
в даному випадку, список книг – назад інтерпретатору РНР.
5 Інтерпретатор PHP завершує виконання сценарію, що зазвичай пов'язане з форматуванням
результатів запиту у вигляді HTML , після чого повертає результати в HTML -форматі веб-серверу.
6 Веб-сервер пересилає браузеру HTML-сторінку, в якій користувач може переглянути список
необхідних книг.
В основному процес залишається незмінним незалежно від використовуваного сценарного
механізму й сервера баз даних. Найчастіше програмне забезпечення веб-сервера, інтерпретатор РНР і
сервер баз даних функціонують на одному комп'ютері. У той самий час, досить часто сервер бази
даних працює на іншому комп'ютері. Це може бути обумовлено міркуваннями безпеки, збільшення
107