мільйонів рядків.
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.2 Структура бази даних.
Як було відмічено вище, ми використовуємо реляційну модель даних. Така модель передбачає відповідність установленим правилам і методам для створення зв'язаних таблиць і об’єднання їхніх даних у віртуальні таблиці. У базі даних на підставі реляційної моделі зв'язана інформація збирається в таблицях, що складаються з записів. У цій моделі базові елементи даних мають назву атрибутів записів. Тобто змістом використання реляційної моделі даних є створення мінімального набору таблиць, у яких здійснювалося би збереження даних, що не мають надмірності. Реляційна модель має на увазі зв'язок таблиць за допомогою зіставлення значень у стовпчиках, що містять дані одного типу, що називають ключами. Ключі звичайно індексуються чи упорядковуються по їхніх значеннях. Кожен ключ включає саме значення й адресу запису чи записів, атрибут яких має дане значення. Індекси являють собою найбільш ефективний засіб, що дозволяє прискорити пошук даних у таблицях у порівнянні з таблицями, що не містять індексів.
База даних, що використовувалась при створенні системи адміністрування веб сайту Національного оператора енергоринку була використана таж, що і при створенні веб сайту, трохи модифікована для забезпечення зручності проектування, та забезпечення функціонування механізму динамічного підвантаження вихідного коду в залежності від вхідних параметрів.
3.3Структура таблиць
Однією з найважливіших частин Web-сайту є інформація, що необхідна для його роботи. До цих даних відносяться наступні:
вхідний HTML код, що використовується для заповнення сторінок;
інформація необхідна для формування меню;
інформація для забезпечення функціонування Гостьової книги та поштової системи
4 інформація необхідна для формування підменю;
інформація необхідна для оздоблення основної сторінки;
інформація необхідна для збереження параметрів налаштування;
інформація необхідна для збереження авторизаційної інформації для забезпечення захищеності системи адміністрування.
Розглянемо детально кожен з цих пунктів.
1) Вхідний HTML код, що використовується для заповнення сторінок:
В процесі формування кінцевої веб сторінки котру бачить користувач приймають участь.
Данні, що знаходяться в таблиці тобто HTML код. Зберігаються наступні данні:
зміст сторінки для відображення;
заголовок вікна для динамічного змінювання;
номер категорії для забезпечення зв’язку та зручної вибоки інформації за номером сторінки;
Номер під категорії для забезпечення виборки інформації за номером підсторінки. Таблиця має наступну структуру:
Інформація необхідна для забезпечення функціонування гостьової книги та поштової системи:
В процесі формування вікна гостьової книги («Питання до викладачів») приймають данні, що знаходяться в данній таблиці вони динамічно змінюються тим самим змінюється зміст повідомлень, що залишили користувачі які були на нашому порталі.
- номер повідомлення для впорядкування данних і зручності обробки;
- ім’я автора, що залишив повідомлення для подальшого відображення;
- дата занесення повідомлення для подальшого відображення;
- час занесення повідомлення для подальшого відображення;
- поле для збереження тексту повідомлення в обробленому вигляді;
- поля які б могли класифікувати, що це є відповідь чи питання від(до) викладача;
- поле для збереження IP адреси користувача, що залишив повідомлення для наочності;
- поле, що містить адресу електронної скриньки для забезпечення зв’язку.
Для заощадження часу користувача була розроблена поштова система, яка б надавала можливість швидкого та зручного надсилання листів до адміністрації Національного оператора енергоринку. Все, що необхідно зробити користувачеві це набрати текст у відповідному місці та натиснути кнопочку. Всі необхідні операції по доставці листа система зробить автоматично.
Інформація необхідна для формування меню:
- номер пункту меню для зручності обробки та впорядкування у таблиці та зв’язку з відповідним полем таблиці “data”;
- поле, що містить ім’я пункту меню котре буде відображено на відповідній кнопці головного меню сторінки.
В системі використовується одна база даних “SITE”, котра містить всі необхідні таблиці. З її складу можна виділити таблиці, що використовує підсистема:
data: ця таблиця містить інформацію необхідну для реалізації багато сторінкового сайту на базі запитів, вона містить також HTML код
guest: