Смекни!
smekni.com

Розробка системи керування та актуалізації інформації web-сайту національного оператора енергоринку (стр. 9 из 17)

Можливості 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 Структура бази даних.

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

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

3.6.2 Структура таблиць

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

вхідний HTML код, що використовується для заповнення сторінок;

інформація необхідна для формування меню;

інформація для забезпечення функціонування Гостьової книги та поштової системи

4 інформація необхідна для формування підменю;

інформація необхідна для оздоблення основної сторінки;

інформація необхідна для збереження параметрів налаштування;

інформація необхідна для збереження авторизаційної інформації для забезпечення захищеності системи адміністрування.

Розглянемо детально кожен з цих пунктів.

1) Вхідний HTML код, що використовується для заповнення сторінок:

В процесі формування кінцевої веб сторінки котру бачить користувач приймають участь.

Данні, що знаходяться в таблиці тобто HTML код. Зберігаються наступні данні:

зміст сторінки для відображення;

заголовок вікна для динамічного змінювання;

номер категорії для забезпечення зв’язку та зручної вибоки інформації за номером сторінки;

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


Таблиця 1 - data:

Назва Тип Опис Пусте Замов
id int(11)(auto_increment) (primary key) Номер сторінки Ні 0
sub_id Int(11) Номер підсторінки Ні 0
title text Назва(заголовок). Ні -
source text HTML код певної сторінки Так -
Type=MyISAM
Поле Призначення
id Призначений для задання номера сторінки для подальшої обробки
sub_id Призначений для задання номера підсторінки
title Призначений для збереження заголовку
source Призначений для збереження HTML коду

Інформація необхідна для забезпечення функціонування гостьової книги та поштової системи:

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

- номер повідомлення для впорядкування данних і зручності обробки;

- ім’я автора, що залишив повідомлення для подальшого відображення;

- дата занесення повідомлення для подальшого відображення;

- час занесення повідомлення для подальшого відображення;

- поле для збереження тексту повідомлення в обробленому вигляді;

- поля які б могли класифікувати, що це є відповідь чи питання від(до) викладача;

- поле для збереження IP адреси користувача, що залишив повідомлення для наочності;

- поле, що містить адресу електронної скриньки для забезпечення зв’язку.

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

Таблиця 2 - guest:

Назва Тип Опис Пусте Замов
id_guest int(6)(auto_increment) (primary key) Номер повідомлення Ні -
author text Ім’я автора Так -
added_d text Додано дата Так -
added_t text Додано час Так -
message text Текст повідомлення Так -
answer int(1) Чи це є відповідь Так 0
quest int(1) Чи це є питання Так 0
ip text Айпи адреса автора Так -
email text Адреса електронної скриньки Так -
Type=MyISAM
Поле Призначення
id_guest Призначене для збереження номеру повідомлення для наступної обробки
author Призначене для збереження ім’я автора повідомлення
added_d Призначене для збереження дати коли було додано повідомлення
added_t Призначене для збереження часу коли було додано повідомлення
message Призначене для збереження тексту повідомлення
answer Призначене для збереження 0 або 1 в залежності від чи це питання чи відповідь
quest Призначене для збереження 0 або 1 в залежності від чи це питання чи відповідь
ip Призначене для збереження айпи адреси
email Призначене для збереження адреси email

Інформація необхідна для формування меню:

- номер пункту меню для зручності обробки та впорядкування у таблиці та зв’язку з відповідним полем таблиці “data”;

- поле, що містить ім’я пункту меню котре буде відображено на відповідній кнопці головного меню сторінки.

Таблиця 3 - menu:

Назва Тип Опис Пусте Замов
id int(11)(auto_increment) (primary key) Номер пункту меню Ні -
name text Назва пункту меню Так -
Type=MyISAM
Поле Призначення
id Призначене для збереження номеру пункту меню для наступної обробки
name Призначене для збереження назви пункту меню для подальшого відображення

Таблиця 4 - source:

Назва Тип Опис Пусте Замов
id int(6)(auto_increment) (primary key) Номер запису Ні -
sour text Вміст виноски Так -
top text Вміст верхнього заголовка Так -
bottom text Вміст нижнього заголовка Так -
Type=MyISAM
Поле Призначення
id Призначене для збереження номеру запису
sour Призначене для збереження вмісту виноски
top Призначене для збереження вмісту верхнього заголовка
bottom Призначене для збереження вмісту нижнього заголовка

В системі використовується одна база даних “SITE”, котра містить всі необхідні таблиці. З її складу можна виділити таблиці, що використовує підсистема: