- •Пояснювальна записка
- •Реферат
- •Реферат
- •Перелік умовних позначень, символів, одиниць, скорочень і термінів
- •1 Проектно-конструкторський розділ
- •1.1 Загальносистемні рішення
- •1.1.1 Загальносистемні рішення
- •1.1.2 Опис процесу діяльності
- •1.1.3 Схема функціональної структури та опис функцій, що автоматизуються
- •1.1.4 Опис постановки задачі
- •1.2.1 Характеристика вхідної информації
- •1.2.2 Характеристика вихідної информації
- •1.2.4 Розробка бази даних
- •1.3 Рішення з технічного забезпечення
- •1.4 Опис програмного забезпечення
- •2 Технологічний розділ
- •2.1 Керівництво користувача
- •На рисунку 2.1 представлена повна структура сайту.
- •Модель сайту
- •Висновки
- •Перелік посилань
- •Додатки
- •Додаток а Лістинг програмного коду
1.2.4 Розробка бази даних
Слід уточнити список фізичних таблиць БД і їх структуру, спроектувати ключі таблиць і зв'язку між ними. Після виконання цієї роботи отримаємо наступну схему БД системи (див. рис. 1.11).
Рисунок 1.11 - Схема бази даних системи
База даних складається з Наступний таблиць:
- Ng_users - Список користувачів;
- Ng_battlelist - Список баттлов;
- Ng_category - Список категорій сайту;
- Ng_news - Матеріали користувачів (архів жартів);
- Ng_news_map - Список опублікованих матеріалів;
- Ng_votebattle - Список користувачів, які залишили голос в баттлах;
Слід згадати, що на даній схемі знаходиться не весь список таблиць, які були створені при установці движка, а тільки ті, які задіяні в проекті плюс додатково створені для роботи плагінів. Інші можуть бути використані при розширенні функціоналу сайту.
Розглянемо структуру кожної таблиці:
Реквізити таблиці ng_users (Список користувачів):
- ID - ідентифікатор, первинний ключ, ціле, автоматична нумерація;
- Name - логін користувача, текст;
- Mail - email користувача, текст;
- Pass - пароль користувача, текст;
- News - кількість матеріалів (жартів) користувача, ціле;
- Status - група користувача, ціле;
- Photo - фото користувача, текст;
- Ip - ip користувача, текст;
- Authcookie - куки користувача, текст;
- Xfields - список додаткових полів користувача, текст;
- Xfields_name - додаткове поле Ім'я, текст;
- Xfields_surname - додаткове поле Прізвище, текст;
- Ready - готовність користувача до баттл, ціле;
- U_level - рівень користувача, ціле;
- Count_win - кількість перемог користувача, ціле;
- Count_defeat - кількість поразок користувача, ціле;
- Count_rej - кількість відмов користувача, ціле.
Реквізити таблиці ng_battlelist (Список баттлов):
- ID - ідентифікатор, первинний ключ, ціле, автоматична нумерація;
- Player1 - id 1 учасника баттла, зовнішній ключ, ціле;
- Player2 - id 2 учасники баттла, зовнішній ключ, ціле;
- Date - дата проведення баттла, дата;
- Battletype - тип баттла, текст;
- Theme - тема баттла, текст;
- Duration - тривалість баттла, час;
- Joke_pl1 - матеріал (жарт) 1 учасника, текст;
- Joke_pl2 - матеріал (жарт) 2 учасники, текст;
- Vote_pl1 - кількість голосів за 1 учасника, ціле;
- Vote_pl2 - кількість голосів за 2 учасника, ціле;
- Winner - переможець баттла, ціле;
- Link - посилання на баттл, текст;
- Status - посилання на баттл, ціле.
Реквізити таблиці ng_category (Список категорій сайту):
- ID - ідентифікатор, первинний ключ, ціле, автоматична нумерація;
- Position - позиція категорії, ціле;
- Name - ім'я категорії, текст;
- Alt - альтернативне ім'я категорії (на англійським), текст;
- Flags - прапорці категорії, ціле;
- Tpl - шаблон для виведення матеріалів категорії, текст;
- Number - номер категорії, ціле;
- Parent - батько категорії, ціле;
- Description - короткий опис категорії, текст;
- Keywords - ключові слова категорії, текст;
- Info - інформація про категорії, текст;
- Icon - іконка категорії, текст;
- Image_id - іконка-зображення категорії, ціле;
- Alt_url - альтернативне ім'я категорії, текст;
- Orderby - сортування в категорії, текст;
- Posts - кількість матеріалів в категорії, ціле;
- Posorder - порядок відображення новин в категорії, ціле;
- Poslevel - рівень категорії, ціле.
Реквізити таблиці ng_news (Матеріали користувачів):
- ID - ідентифікатор, первинний ключ, ціле, автоматична нумерація;
- Author_id - id автора матеріалу, зовнішній ключ, ціле;
- Idbattle - id баттла в якому брав участь даний матеріал, ціле;
- Postdate - дата публікації, ціле;
- Author - логін автора матеріалу, текст;
- Title - заголовок, текст;
- Content - вміст, текст;
- Alt_name - альтернативне ім'я заголовка (на англ.), Текст;
- Mainpage - публікація на головній, ціле;
- Approve - публікація на сайті, ціле;
- Views - кількість переглядів, ціле;
- Pinned - закріплений матеріал на головній, ціле;
- Flags - надбудови матеріалу, ціле;
- Catid - id категорії матеріалу, ціле;
- Nsched_activate - час публікації матеріалу, дата;
- Nsched_deactivate - час зняття з публікації матеріалу, дата.
Реквізити таблиці ng_news_map (Список опублікованих матеріалів):
- NewsID - ідентифікатор, зовнішній ключ, ціле;
- CategoryID - id категорії матеріалу, ціле;
- Dt - дата публікації, дата;
Реквізити таблиці ng_news_votebattle (Список користувачів, які залишили голос в баттлах):
- Battleid - ідентифікатор, зовнішній ключ, ціле;
- Userid - id проголосував, зовнішній ключ, ціле;
- Plnum - номер учасника, за якого проголосували, ціле;
- Ip - ip проголосував, ціле;
