Проектування бази даних 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 є стандартним сервером більшості хост серверів, що надає можливість безпроблемного встановлення нашого сайту на будь-який сервер.

 

Структура бази даних.

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

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

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

Однією з найважливіших частин 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”, котра містить всі необхідні таблиці. З її складу можна виділити таблиці, що використовує підсистема:

1 data: ця таблиця містить інформацію необхідну для реалізації багато сторінкового сайту на базі запитів, вона містить також HTML код

2 guest: ця таблиця містить данні для організації гостьової книги

3 menu: ця таблиця містить для організації пунктів меню для зручності навігації

4 source: ця таблиця містить данні необхідні для оздоблення головної та інших сторінок.

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

- швидкий доступ до даних;

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

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

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

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

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

 


Дата: 2019-05-28, просмотров: 209.