Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom_хлудеев.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.58 Mб
Скачать

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 проголосував, ціле;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]