Добавил:
при поддержке музыки группы Anacondaz Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
диплом / ВКР диплом.docx
Скачиваний:
32
Добавлен:
18.07.2024
Размер:
10.15 Mб
Скачать
  1. Разработка веб-ресурса

    1. Проектирование и разработка бд

      1. Информационное и даталогическое проектирование

В качестве модели данных была выбрана реляционная модель данных. Следовательно, дальнейшее проектирование БД будет опираться на принципы разработки реляционных баз данных, вот основные из них:

  1. Четкое определение таблиц: каждая таблица должна отражать объект или понятие, которые необходимо отслеживать в БД.

  2. Определение уникальных ключей (primary key) в каждой таблице. Это позволяет идентифицировать каждую запись в таблице и предотвращает дублирование данных, обеспечивая целостность БД.

  3. Использование внешних ключей (foreign key) для связывания таблиц. Это позволяет установить связь между записями в разных таблицах.

  4. Использование нескольких небольших таблиц вместо одной большой. Это упрощает управление БД и повышает её производительность. Кроме того, мы можем добавлять и изменять данные только в одной таблице, не затрагивая остальные.

Первым этапом проектирования базы данных выступает анализ предметной области и построение инфологической модели. В ходе анализа предметной области «Веб-ресурс с развлекательными тестами» были выделены несколько сущностей: Пользователь, Модератор и Тест, а также определены их атрибуты и взаимодействия. Все эти данные отображены на модели предметной области, представленной на рисунке 3.1.

Рисунок 3.1 — Модель предметной области «Веб-ресурс с развлекательными тестами»

Реляционная база данных состоит из таблиц и связей между ними. В вершине иерархии этих таблиц стоит одна большая таблица, так как с помощью нее можно описать всю предметную область. На основании модели предметной области составим единую таблицу предметной области веб-ресурса «ТестРум».

Таблица 3.1 — Единая таблица предметной области «Веб-ресурс с развлекательными тестами».

Веб-ресурс с развлекательными тестами

Пользователь

Электронная почта

Логин

Пароль

Модератор

Электронная почта

Логин

Пароль

Продолжение таблицы 3.1 — Единая таблица предметной области «Веб-ресурс с развлекательными тестами».

Тест

Название

Автор

Описание

Обложка

Категория

Рейтинг

Вопросы

Ответы

Результаты

Изображение

Текст

Далее следует разработать и нормализовать таблицы базы данных, опираясь на следующие пункты:

  1. Первая нормальная форма (1NF):

  • В таблице не должно быть дублирующих строк;

  • В каждой ячейке таблицы хранится атомарное значение;

  • В столбце хранятся данные одного типа;

  • Отсутствуют массивы и списки в любом виде.

  1. Вторая нормальная форма (2NF):

  • Таблица должна находиться в первой нормальной форме;

  • Таблица должна иметь ключ;

  • Все неключевые столбцы таблицы должны зависеть от полного ключа (в случае если он составной).

  1. Третья нормальная форма (3NF):

  • Таблица должна находиться во второй нормальной форме;

  • Отсутствие транзитивной зависимости.

Транзитивная зависимость – зависимость неключевых столбцов от значений других неключевых столбцов.

Так как модератор обладает всеми атрибутами и поведением пользователя, было принято решение хранить информацию о модераторах и пользователях в одной таблице. Отличить их можно будет по значению ячейки «Роль».

Рисунок 3.2 — Третья нормальная форма таблицы «Информация о пользователях»

Сущность «Тест» была декомпозирована на таблицы «Информация о тесте», «Информация о категориях», «Информация о вопросах», «Информация об ответах» и «Информация о результатах», поскольку:

  1. Каждый экземпляр сущности «Тест» может содержать в себе нефиксированное количество экземпляров атрибутов «Вопросы» и «Результаты»;

  2. «Ответы» должны быть связаны с «Вопросы» и «Результаты» (каждый ответ относится к конкретному вопросу и подразумевает под собой определенный результат);

  3. «Вопросы» и «Результаты» не являются атомарными;

  4. «Категории» неизбежно будут повторяться в разных тестах, что приводит к избыточности данных.

Атрибут «Рейтинг» был разделен на атрибуты «Число лайков» и «Число дизлайков».

Рисунок 3.3 — Третья нормальная форма таблиц «Информация о тестированиях», «Информация о категориях», «Информация о вопросах», «Информация об ответах» и «Информация о результатах»

Для завершения даталогического проектирования БД необходимо обозначить связи между её сущностями.

Таблица 3.2 — Связи сущностей базы данных

Связи сущностей

Тип связи

Описание

Категория - Тест

1 ко многим

Тест может принадлежать только к одной категории, но одна категория может иметь в себе множество тестов.

Пользователь - Тест

1 ко многим

У теста может быть только один автор, но пользователь может создать множество тестов

Тест - Вопросы

1 ко многим

У одного теста может быть множество вопросов

Вопросы - Ответы

1 ко многим

У одного вопроса может быть множество ответов

Результаты - Ответы

1 ко многим

У одного результата может быть множество ответов, но каждый ответ относится только к одному результату

Продолжение таблицы 3.3 — Связи сущностей базы данных

Связи сущностей

Тип связи

Описание

Тест - Результаты

1 ко многим

У одного теста может быть множество результатов

На рисунке 3.4 представлена полная даталогическая модель базы данных.

Рисунок 3.4 — Даталогическая модель базы данных

Соседние файлы в папке диплом