Смекни!
smekni.com

Разработка модуля сайта преподавателя по дисциплине Интернет-технологии (стр. 10 из 30)

Рисунок 2.1 - просмотр таблиц базы данных ITN с использованием программы phpMyAdmin

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

Одной из основных таблиц является таблица "students". В ней хранится вся информация о пользователях, зарегистрированных в системе. Таблица содержит поля - login - идентифицирующее студента при входе в систему. Password - пароль для доступа к подсистеме обучения. Пароль кодируется шифром md5, алгоритм которого реализован в языке PHP. Кодирование позволяет защитить пароль от просмотра заинтересованными пользователями. По этим двум параметрам осуществляется вход в систему.

Поле idstud хранит информацию о шифре студента и является уникальным идентификатором студента. Поле lastdate содержит дату последнего входа в систему, это поле заполняется автоматически текущей датой при успешной регистрации в системе. Поля: name, secondname, faculty,email - хранят данные о студенте.

Ключевым полем в таблице students является поле idstud. По полю idstud данная таблица связана с таблицей "results" связью "один-ко-многим", c таблицей "chatmessages" связью "один-ко-многим", c таблицей "guests" связью "один-ко-многим". Типы данных полей таблицы "students" представлены в таблице 2.1

Таблица 2.1 - Структура таблицы "students"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 Шифр студента idstud char(10) Ключевое UNIQUE
2 Имя name char(40) NOT NULL
3 Фамилия secondname char(30) NOT NULL
4 Факультет faculty char(30) NOT NULL
5 Адрес электронной почты email char(128) NOT NULL
6 Логин студента login char(16) NOT NULL UNIQUE
7 Пароль password char(30) NOT NULL
8 Дата регистрации в системе lastdate date

В таблице "subjects" хранится информация о дисциплинах дистанционного обучения. Ключевым полем в таблице является поле idsub. Таблица связана по полю idsub таблицей "questions" и с таблицей "results" связью "один-ко-многим".

Структура таблицы с описанием типов полей приведена в таблице 2.2

Таблица 2.2 - Структура таблицы "subjects"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор дисциплины idsub int Ключевое, AUTO_INCREMENT
2 Дисциплина subject Char(30) NOT NULL

В таблице "questions" хранится информация о вопросах тестов. Ключевым полем в таблице "questions" является поле idques. Таблица связана по полю idques с таблицей "answers" связью "один-ко-многим".

Структура таблицы с описанием типов полей приведена в таблице 2.3

Таблица 2.3 - Структура таблицы "questions"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор вопроса idques int Ключевое, AUTO_INCREMENT
2 Индентификатор дисциплины idsubq int NOT NULL
3 Содержимое вопроса quesmes char (50) NOT NULL

В таблице "answers" хранится информация о вариантах ответов на вопросы тестов. Ключевым полем в таблице является поле idans. Таблица связана по полю parent с таблицей "questions" связью "многие-к-одному". Структура таблицы с описанием типов полей приведена в таблице 2.4


Таблица 2.4 - Структура таблицы "answers"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор ответа idans int Ключевое, AUTO_INCREMENT
2 Вопрос parent int NOT NULL
3 Содержимое ответа ansmes char(255) NOT NULL
4 Флаг правильного ответа rightanswer enum('1', '0') NOT NULL, DEFAULT '0'

В таблице "results" хранится информация о курсах, на которые зарегистрировались студенты. Ключевым полем в таблице "results" является поле idres. Таблица связана по полю idsubr с таблицей "subjects" связью "многие-к-одному", по полю idstudr с таблицей "students" связью "многие-к-одному". Поле count содержит число попыток студента пройти тест. В поле posted заносится дата последней попытки прохождения теста. Структура таблицы с описанием типов полей приведена в таблице 2.5

Таблица 2.5 - Структура таблицы "results"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор результата студента idres int Ключевое, AUTO_INCREMENT
2 Шифр студента idstudr int NOT NULL
3 Дисциплина idsubr int NOT NULL
4 Результат score byte NOT NULL
5 Дата записи posted date
6 Количество попыток студента count tinyint

В таблице "chatmessages" хранится информация о тестах пройденных студентами. Ключевым полем в таблице "chatmessages" является поле idchmes. Таблица связана по полю idstudc с таблицей "students" связью "многие-к-одному". Структура таблицы с описанием типов полей приведена в таблице 2.6.

Таблица 2.6- Структура таблицы "chatmessages"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор сообщения чата idchmes int Ключевое, AUTO_INCREMENT
2 Индентификатор студента idstudc int NOT NULL
3 Сообщение чата message Char(150) NOT NULL
4 Адрес сообщения ip Char(15) NOT NULL
5 Время и дата записи time date

В таблице "guests" хранятся записи гостевой книги. Ключевым полем в таблице "guests" является поле idguest. Таблица связана по полю idstudg с таблицей "students" связью "многие-к-одному". Поле page содержит информацию о принадлежности записи гостевой книги к определенной странице модуля сайта. Структура таблицы с описанием типов полей приведена в таблице 2.7

Таблица 2.7 - Структура таблицы "guests"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор записи гостевой книги idguest int Ключевое, AUTO_INCREMENT
2 Индентификатор студента idstudg int NOT NULL
3 Запись гостевой книги message char(150) NOT NULL
4 Адрес пользователя ip char(128) NOT NULL
5 Время записи time char(128) NOT NULL
6 Страница принадлежности page Char(30) NOT NULL

В таблице "IPs" хранится информация о запрещенных администратором для записи ip - адресах. Ключевым полем в таблице "IPs" является поле idip. Поле sub определяет принадлежность запрещенного IP - адреса к гостевой книге или чату. Структура таблицы с описанием типов полей приведена в таблице 2.8

Таблица 2.8 - Структура таблицы "IPs"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 Шифр IP - адреса idip int Ключевое
2 IP - адрес ip Char(15) NOT NULL
3 принадлежность sub Char(30) NOT NULL

В таблице "bals" хранится информация о соотношении результата тестирования в процентах к оценке. Структура таблицы с описанием типов полей приведена в таблице 2.9

Таблица 2.9 - Структура таблицы "bals"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 Оценка в баллах bal tinyint NOT NULL
2 Результат тестирования в процентах percent byte NOT NULL

В таблице "cd" хранится информация о товарах представленных в интернет - магазине. Ключевым полем является поле idcd. По полю idcd данная таблица связана с таблицей zakaz связью "один-ко-многим" Структура таблицы с описанием типов полей приведена в таблице 2.10

Таблица 2.10 - Структура таблицы "cd"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 № товара idcd int Ключевое
2 Примечания description Char(150)
3 Цена price float NOT NULL

В таблице "zakaz" хранится информация о заказах в интернет - магазине. Ключевым полем в таблице "zakaz" является поле idz. Таблица связана по полю idclienta с таблицей "shopclients" связью "многие-к-одному", по полю idcd с таблицей "cd" связью "многие-к-одному". Поле count содержит количество заказанного товара. В поле recdate заносится дата заказа. В поле flag_done хранится информация о статусе выполнения заказа. Структура таблицы с описанием типов полей приведена в таблице 2.11