3.6 Проектування бази даних web-сайту
В якості СУБД в сайті використовується СУБД MySQL 4.1. Ця система являє собою відносно невеликою та швидкодійною реляційною СУБД заснованою на традиціях Hughes Technologies Mini SQL (mSQL). Вона розроблена фірмою Михаель Видениусом (Michael Widenius).
SQL - найпоширеніша мова для роботи з базами даних. Мова SQL закладена в основу практично всіх існуючих СУБД. MySQL (http://www.mysql.com) - надійна СУБД на базі SQL, розроблена і супроводжувана фірмою Т.с.Х DataKonsultAB (Стокгольм, Швеція). Починаючи з 1995 року, MySQL стала однієї з найпоширеніших СУБД у світі, що обумовлено її швидкістю, надійністю і гнучкою ліцензійною політикою.
Завдяки гарним характеристикам і великому наборові стандартних інтерфейсних функцій, дуже простих у використанні, MySQL стала самим популярним засобом для роботи з базами даних у РНР. MySQL - це реляційна база даних.
Реляційна база даних - це поняття є результатом розвитку теоретичної частини дискретної математики, а саме теорії відносин та булевої алгебри. Основні поняття реляційної моделі даних - це таблиці та база даних. Зазвичай таблиць у базі даних міститься багато і лімітуючим фактором стосовно їхньої кількості є лише об’єм встановленої на комп’ютері пам’яті (у тому числі оперативної та дискової). У багатьох випадках декілька таблиць використовується для подання інформації про один і той же об’єкт опису. У подальшому для формування цілісної інформації про цей об’єкт відбувається індексування кожної з таблиць по певним полям (які в такому випадку називаються ключовими полями або просто ключами) та подальше зв’язування декількох таблиць між собою. Зазвичай індексування відбувається із наступним записом до так званого індексного файлу, який складається з одного чи декількох полів та впорядкований за ними відповідним чином. Це зроблено для підвищення швидкодії роботи з проіндексованими таблицями, яка набагато більша, ніж для випадку звичайних таблиць, і для можливості зв’язування двох таблиць між собою. Процес виключення зайвої інформації з бази даних називається нормалізацією.
MySQL - компактний багато поточний сервер баз даних. MySQL характеризується великою швидкістю, стабільністю та легкістю у використанні. MySQL був розроблений компанією ТсХ для внутрішніх потреб, що полягали у швидкій обробці дуже великих баз даних. Компанія стверджує, що використовує MySQL з 1996 року на сервері з більш ніж 40 БД, що містять 10,000 таблиць, з яких більш ніж 500 мають більш 7 мільйонів рядків.
MySQL є ідеальним рішенням для малих та середніх додатків. Ісходніки сервера компілюються на безлічі платформ. Найбільше повно можливості сервера проявляються на Unix-серверах, де є підтримка багато поточності, що дає значний приріст продуктивності. На сучасний момент MySQL усе ще в стадії розробки, хоча версії 3.22 є цілком працездатними.
MySQL-сервер є безкоштовним для некомерційного використання. Інакше необхідне придбання ліцензії, вартість якої складає 190 EUR.
Можливості MySQL.
MySQL підтримує мову запитів SQL у стандарті ANSI 92, та крім цього має безліч розширень до цього стандарту, яких немає в жодній інший СУБД.
Короткий перелік можливостей MySQL.
1. Підтримується необмежена кількість користувачів, що одночасно працюють з базою даних.
2. Кількість рядків у таблицях може досягати 50 млн.
3. Швидке виконання команд. Можливо MySQL найшвидший сервер з існуючих.
4. Проста та ефективна система безпеки.
MySQL дійсно дуже швидкий сервер, але для досягнення цього розроблювачам довелося пожертвувати деякими вимогами до реляційних СУБД. У MySQL відсутні:
5. Підтримка вкладених запитів, типу SELECT * FROM table1 WHERE id IN (SELECT id FROM table2). Стверджується, що така можливість буде у версії 3.23.
6. Не реалізована підтримка транзакцій. Замість пропонується використовувати LOCK/UNLOCK TABLE.
7. Немає підтримки зовнішніх (foreign) ключів.
8. Немає підтримки тригерів та збережених процедур.
9. Немає підтримки представлень (VIEW). У версії 3.23 планується можливість створювати представлення. За словами творців саме пункти 2-4 дали можливість досягти високої швидкодії. Їхня реалізація істотно знижує швидкість сервера. Ці можливості не є критичними при створенні Web-аплікацій, що в поєднанні з високою швидкодією та малою ціною дозволило серверу набути велику популярність. Також достатньо вагомим аргументом при виборі бази данних, що не залишило сумнівів про вірність нашого вибору зробив той факт, що сервер реляційних баз даних MySQL є стандартним сервером більшості хост серверів, що надає можливість безпроблемного встановлення нашого сайту на будь-який сервер.
3.6.1 Структура бази даних.
Як було відмічено вище, ми використовуємо реляційну модель даних. Така модель передбачає відповідність установленим правилам і методам для створення зв'язаних таблиць і об’єднання їхніх даних у віртуальні таблиці. У базі даних на підставі реляційної моделі зв'язана інформація збирається в таблицях, що складаються з записів. У цій моделі базові елементи даних мають назву атрибутів записів. Тобто змістом використання реляційної моделі даних є створення мінімального набору таблиць, у яких здійснювалося би збереження даних, що не мають надмірності. Реляційна модель має на увазі зв'язок таблиць за допомогою зіставлення значень у стовпчиках, що містять дані одного типу, що називають ключами. Ключі звичайно індексуються чи упорядковуються по їхніх значеннях. Кожен ключ включає саме значення й адресу запису чи записів, атрибут яких має дане значення. Індекси являють собою найбільш ефективний засіб, що дозволяє прискорити пошук даних у таблицях у порівнянні з таблицями, що не містять індексів.
База даних, що використовувалась при створенні системи адміністрування веб сайту Національного оператора енергоринку була використана таж, що і при створенні веб сайту, трохи модифікована для забезпечення зручності проектування, та забезпечення функціонування механізму динамічного підвантаження вихідного коду в залежності від вхідних параметрів.
0 комментариев