Автор работы: Пользователь скрыл имя, 24 Марта 2013 в 22:53, курсовая работа
Целью данной работы являлось проектирование примера такой базы. Т.е она должна хранить в себе всю необходимую информацию о пользователях: имя, фамилию, адрес, почтовый адрес, количество сообщений и их содержание, а также информацию о друзьях пользователя и его нарушениях.
1. Введение. 3
2. Описание предметной области 4
2.1 Краткая информация о форуме 4
Таблица объектов 4
2.2 Описание справочников 5
3. Проектирование базы данных 5
3.1 Приведение к первой нормальной форме 7
3.2 Приведение ко второй нормальной форме 7
3.3 Приведение к третьей нормальной форме (если есть необходимость – и к BCNF) 8
4. Разработка приложения 10
4.1 Описание Таблиц, Полей, условий ввода. 10
4.2 Разработка экранов 11
4.3 Разработка запросов. 14
4.4 Отчеты 16
Заключение 17
Список литературы 18
Приложение 1 19
ПРАВИТЕЛЬСТВО
РОССИЙСКОЙ ФЕДЕРАЦИИ
Пермский филиал
федерального государственного автономного
образовательного
учреждения
высшего профессионального
«Национальный исследовательский университет
“Высшая школа экономики”»
Факультет бизнес-информатики
Кафедра информационных технологий в бизнесе
УДК 004.65
ТЕМА РАБОТЫ
“База данных форума”
Работу выполнил студент
группы БИ- 10-1
2 курса факультета бизнес-информатики
Архипов К.Б.
Научный руководитель:
доцент кафедры информационных технологий в бизнесе
Шестакова Л.В.
Пермь 2012
Оглавление
Веб-форум — класс приложений
для организации общения
На сегодняшний день практически
каждый сайт предоставляет своим
посетителям возможность
Целью данной работы являлось проектирование примера такой базы. Т.е она должна хранить в себе всю необходимую информацию о пользователях: имя, фамилию, адрес, почтовый адрес, количество сообщений и их содержание, а также информацию о друзьях пользователя и его нарушениях.
Данная БД нацелена предоставление информации о пользователях форума со свободной тематикой. Использоваться может для просмотра всех действий пользователя на форуме, с того момента, как он зарегистрировался. Помимо просмотра можно добавлять пользователей. Этот процесс должен происходить автоматически, основываясь на действиях форумчан, однако, так на самом деле этого форума не существует, это действие носит лишь наглядный характер.
В данной базе присутствуют основные элементы среды форумов: пользователи, темы, сообщения, нарушения и другие. Полный список представлен в таблице объектов
№ |
Объект |
Описание |
1 |
Пользователь |
Так как форумы
предназначены для общения Имеет связь
практически со всеми остальными
объектами Таблица « |
2 |
Друзья пользователя |
Объект «Друг» обозначает близкую связь с «пользователем», настоящих форумах дает некоторые дополнительные привилегии, например, личная переписка и расширенные права просмотра профиля. |
3 |
Нарушения пользователя |
Иногда пользователи отклоняются от установленных администратором правил, поэтому существует система наказаний. Данный объект существует для того, что бы администратор знал прошлое «пользователя», а так же время и дату окончания наказании или вступления оного в силу. |
4 |
Сессии пользователя |
Дополнительная информация о пользователе. Позволяет просматривать историю онлайна. Это пригождается при взломах и других подобных разбирательствах. |
5 |
Темы |
«Темы» создают для того, что бы обсудить какую-то конкретную тему или новость или что бы то ни было, внутри специально подготовленного виртуального пространства. |
6 |
Сообщения |
Сообщения представляют собой текст, содержащий некоторый смысл, который пользователь хотел передать остальным форумчанам. За сообщениями всегда ведется строгий контроль, поэтому они содержат довольно большое количество полей содержащих всю необходимую информацию. |
Необходимые справочники:
В базу данных должны быть включены следующие разделы:
В базе данных будут следующие атрибуты:
Рис 1
Сведем данные в таблицу, ввиду большого количества полей, она визуально разбита на несколько таблиц. По той же причине возьмем для примера только 1 строчку и покажем различные варианты.
Для приведения отношения к первой нормальной форме надо добиться того, чтобы на пересечении строк и столбцов было только одно значение, то есть требуется исключить группы значений на пересечении строк и столбцов. Воспользуемся способом исключения повторяющихся групп: заполним пустые ячейки таблицы дубликатами соответствующей информации о повторяющихся группах и определим первичный ключ полученного отношения.
Атрибуты, представляющие собой различные названия и наименования, имеют тип данных "строка" и, следовательно, их использование в качестве ключа неудобно, поэтому будут использоваться с целью однозначной идентификации соответствующих им объектов искусственные ключи типа «Код » и т.д.
Будем считать, что:
Как следует из анализа приведенных выше данных и установленных функциональных зависимостей, для того чтобы «попасть» в одну строку универсального отношения, необходимо задать значения минимум для следующих атрибутов, которые и представляют собой первичный ключ отношения: «Код Пользователя», «Код Сообщения», «Код темы».
Предположим следующие связи:
Сообщений и тем на форуме много, но каждое отдельное сообщение или тема е имеют единственного своего носителя, поэтому связь будет 1:N. Один у кода пользователя, много у поля и именем автора в других таблицах.
Каждое сообщение принадлежит какой-либо теме. Также наказание совершается в одной из тем форума. Связь будет 1:N. Один у кода темы, много у полей с кодом темы в других таблицах.
После приведения ко второй нормальной форме, осталась последняя проблема – избавиться от единственной транзитивной функциональной зависимости. Таб.2
В отношении существуют следующие функциональные зависимости: Нарушения→ Тема, Тема → Сообщение, Нарушение → Сообщение.
Зависимость Нарушение → Сообщение является транзитивной, следовательно, отношение не находится в 3NF.
Поэтому данная таблица разбивается 2 таблицы. Нарушения: Тема и Тема: Сообщения.
Рис 2
Таким образом мы имеем окончательный вид схемы:
Рис 3