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

2.1 Аналіз системних вимог та обґрунтування методу проектування системи

Web-сервер

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

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

Незважаючи на те, що спочатку цей сервер розроблявся для операційних систем UNIX, зараз він адаптований під операційну систему Windows. Веб-сервер Apache - свого роду стандарт сервера в мережі Інтернет.

Вимоги, що пред'являються до баз даних

З сучасних позицій слід порізно розглядати вимоги, пропоновані до транзакційних (операційним) баз даних і до сховищ даних.

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

1. Простота оновлення даних. Підоперацій поновлення розуміють додавання, видалення і зміни даних.

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

3. Незалежність даних.

4. Спільне використання даних багатьма користувачами.

5. Безпека даних - захист даних від навмисного чи ненавмисного порушення секретності, спотворення або руйнування.

6. Стандартизація побудови та експлуатації БД (фактично СУБД).

7. Адекватність відображення даних відповідної предметної області.

8. Доброзичливий інтерфейс користувача.

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

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

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

Вона припускає:

• відсутність неточно введених даних або двох однакових записів про одного і те ж факт;

• захист від помилок при оновленні БД;

• неможливість видалення порізно (каскадне видалення) пов'язаних даних різних таблиць;

• неспотвореному даних при роботі в багатокористувацькому режимі і в розподілених базах даних;

• збереження даних при збоях техніки (відновлення даних).

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

Захист даних від несанкціонованого доступу передбачає обмеження доступу до конфіденційних даних і може досягатися:

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

• отриманням дозволів від адміністратора бази даних (АБД);

• забороною від АБД на доступ до даних;

• формуванням видів - таблиць, похідних від вихідних і призначених конкретним користувачам.

Три останні процедури легко виконуються в рамках мови структурованих запитів Structured Query Language - SQL, часто званому SQL2.

Стандартизація забезпечує спадкоємність поколінь СУБД, спрощує взаємодію БД одного покоління СУБД з однаковими і різними моделями даних. Стандартизація (ANSI / SPARC) здійснена в значній мірі в частині інтерфейсу користувача СУБД і мови SQL. Це дозволило успішно вирішити завдання взаємодії різних реляційних СУБД як за допомогою мови SQL, так і з застосуванням додатки Open DataBase Connection (ODBC). При цьому може бути здійснений як локальний, так і віддалений доступ до даних (технологія клієнт-сервер або мережевий варіант).

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

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

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

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

До сховищам даних пред'являються наступні додаткові вимоги:

• висока продуктивність завантаження даних з операційних БД;

• можливість фільтрування, переформатування, перевірки цілісності вихідних даних, індексування даних, поновлення метаданих;

• підвищені вимоги до якості вихідних даних в частині забезпечення їх несуперечності, оскільки вони можуть бути отримані з різних джерел;

• висока продуктивність запитів;

• забезпечення високої розмірності;

• одночасність доступу до ХД;

• наявність засобів адміністрування.

Підтримка аналізу даних відповідними методами (інструментами).

Як зазначено в Е.Ф. Кодд на основі свого досвіду пред'явив наступні вимоги до системи OLAP.

1. Багатомірне концептуальне уявлення даних.

2. Прозорість технології та джерел даних.

3. Доступність до джерел даних при використанні різних моделей даних.

4. Незмінна продуктивність підготовки звітів при зростанні об'єму, кількості вимірювань, процедур узагальнення даних.

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

6. Універсальність вимірів (формули і засоби створення звітів не повинні бути прив'язані до конкретних видів розмірностей).

7. Динамічне управління розрідженістю матриць (порожні значення NULL повинні зберігатися ефективним чином).

8. Розрахована на багато підтримка.

9. Необмежені операційні зв'язки між размерностями.

10. Підтримка інтуїтивно зрозумілих маніпуляцій з даними.

11. Гнучкість засобів формування звітів.

12. Необмежене число вимірів і рівнів узагальнення.

Перераховані вимоги відмінні від вимог до операційних БД, що дізнався поява спеціалізованих БД - сховищ даних.

Бази даних і СУБД для веб-додатків

Сьогодні найбільш поширеним підходом для організації інформаційної бази веб-додатків є реляційні бази даних.

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

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

Функціонування БД забезпечується сукупністю мовних і програмних засобів, які називаються системою управління базами даних (СКБД).

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

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

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

СУБД зазвичай дають наступні переваги:

  • висока цілісність даних (не гарантована файлами);

  • покращена несуперечність даних при множині доступі;

  • покращений захист;

  • стандартна захист;

  • різні уявлення, засновані на одних і тих же структурах;

  • незалежність від файлових структур;

  • усунення надмірності інформації;

  • відображення в об'єкти;

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

Архітектура баз даних для web-додатків

Розглянемо зовнішнє побудова системи веб-баз даних. Основна операція веб-сервера проілюстрована на малюнку 1.3. Ця система складається з двох об'єктів: веб-браузера і веб-сервера. Між ними повинен існувати канал зв'язку. Веб-браузер посилає запит на сервер, сервер відсилає назад відповідь. Для сервера, що відсилає звичайні статичні сторінки, така архітектура підходить. Архітектура ж сайту, який включає в себе базу даних, дещо складніше.

  1. Веб-браузер користувача відправляє HTTP-запит певної веб-сторінки. Наприклад, пошук статті на сайті, використовуючи HTML-форму. Припустимо, сторінка з результатами пошуку називається results.php.

  2. Веб-сервер приймає запит на results.php, отримує файл і передає його механізму РНР на обробку.

  3. Механізм РНР починає синтаксичний аналіз сценарію. У сценарії присутня команда підключення до бази даних і виконання запиту в ній. РНР відкриває з'єднання з сервером MySQL і відправляє необхідний запит.

  4. Сервер MySQL приймає запит до бази даних, обробляє його, а потім відправляє результати назад в механізм РНР.

  5. Механізм РНР завершує виконання сценарію, форматуючи результати запиту у вигляді HTML, після чого відправляє результати в HTML-форматі веб-сервера.

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

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

СУБД MySQL

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

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

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

phpMyAdmin — веб-додаток з відкритим кодом на мові PHP із графічним веб-інтерфейсом для адміністрування СКБД MySQL або MariaDB. phpMyAdmin дозволяє через браузер здійснювати адміністрування сервера MySQL, запускати запити SQL, переглядати та редагувати вміст таблиць баз даних. Ця програма користується великою популярністю у веб-розробників, оскільки дозволяє керувати СКБД MySQL без безпосереднього вводу SQL команд через дружній інтерфейс і з будь-якого комп'ютера під'єднаного до інтернету без необхідності встановлення додаткового програмного забезпечення.

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

Програма розповсюджується під ліцензією GNU General Public License і тому деякі інші розробники інтегрують його у свої розробки, наприклад XAMPP, Denwer.

Ініціатором є німецький розробник Тобіас Ратшіллер (Tobias Ratschiller) і базується, так само як і phpPgAdmin, на аналогічному застосунку MySQL-Webadmin, що виник у 1997 році.

Можливості phpMyAdmin

• Створення, перегляд, видалення і редагування баз даних.

• Створення, перейменування, копіювання та видалення таблиць.

• Додавання нових і зміна існуючих полів у таблиці.

• Створення, додавання, зміна індексів.

• Обробка SQL-запитів.

• Управління процесами сервера і записами користувача.

• Глобальний пошук по базах даних, користувачам та таблиць.

• Адміністрування БД і користувачів.

• Імпорт і експорт даних в різні формати.

• Аналіз SELECT-запитів.

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

Переваги phpMyAdmin

Простота використання.

Програма phpMyAdmin в більшості випадків дозволяє обійтися без введення команд SQL, тому робота з БД є цілком реальним завданням навіть для людини, яка лише поверхово знайомий з MySQL.

Популярність.

Активне застосування MySQL в web-програмуванні зробило його досить актуальним, а інтуїтивно зрозумілий інтерфейс спільно з широкою функціональністю і підтримкою понад 62 мов забезпечило йому неймовірну популярність серед web-розробників.

Отже використання phpMyAdmin є найраціональнішим вибором для створення та керування базою даних інтернет магазину.