Разработка системы управления содержимым сайта
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?аметры данных, свести эту информацию в реляционные таблицы и установить между ними связи. Кроме того, необходимо задать первичные ключи и индексы, нормализовать структуру. Конечным результатом проектирования будет схема БД и типовой iенарий SQL на ее основе.
На данном этапе разработки для работы системы используется восемь таблиц.
rAdmins - для занесения пользователей и их паролей.
rContens - таблица для хранения статей.
rGb (аббревиатура от guest book) - таблица содержащая данные раздела Гостевая книга.
rMails - таблица для работы с электронной почтой.
rNews - таблица содержащая тип данных Новость.
rParts - таблица с данными о разделах.
rPhoto_album - таблица, содержащая разделы фотоальбома.
rPhoto_image - таблица, для работы с изображениями
Основная задача CMS - работа с контентом, по этому первая составляющая базы данных должна обеспечивать его хранение. Все информационное наполнение сайта, как правило структурировано и делится на темы или разделы, следовательно, БД содержимого сайта состоит, как минимум, из двух таблиц - таблицы содержащей, непосредственно сам контент и таблицы категорий, к которым он относятся. Рекурсивная схема категорий характеризуется параметрами, описанными в табл.
Тип данных для полей Id и Part выбран исходя из того, что категорий, как правило, в несколько раз меньше, чем контента (статей, иллюстраций, новостей и т.д.), и для небольшого сайта вполне достаточно зарезервировать 999 категорий/подкатегорий; для обоих полей используется тип INT.
Поле Title имеет максимальную длину 255 символов поскольку число букв в названии статей может быть различным. Использование полей переменной длины (тип VARCHAR, а не CHAR) позволяет избежать хранения ненужной информации, поэтому длина поля определяется максимально возможными или достаточными для большинства записей значениями.
В таблице Admins хранятся учетные записи пользователей, необходимые для авторизации. То есть при вводе в форму авторизации пароль введенный пользователем под своим логином, сверяется с паролем занесенным в базу данных. Это обеспечивает механизм элементарной защиты от не санкционированного входа в систему администрирования посторонних лиц. В дальнейшем при развитии системы планируется ввести в таблицу поле категории, для разграничения полномочий между пользователями системы, такими как администратор сайта, редактор контента и т.д.
В таблице Photo_image для повышения производительности системы все изображения хранятся в директории Files, а в базе данных находятся только пути к файлам изображений, что позволяет кешировать все изображения на стороне HTTP-сервера. Максимальная длинна пути в большинстве операционных систем ограничивается 255 символами.
Таблица 1. - Admins
ПолеТипНольКомментарииid int(3)Нет Уникальный индекс пользователяlogin varchar(255)Нет Имя пользователяPASSWORD varchar(255)Нет Пароль пользователя
Таблица 2. - mails
ПолеТипНольКомментарииid bigint(20)Нет Уникальный идентификаторmail varchar(255)Нет Имя электронного адреса
Таблица 3. - news
ПолеТипНольКомментарииid int(3)Нет Уникальный идентификатор новостиtitle varchar(255)Нет Имя новостиpreview textНет Предпросмотр новости, который отображается в ленте новостейcontent textНет Содержание новостиimage varchar(50)Нет Изображение, которое выводиться в ленту новостейnews_date varchar(8)Нет Число в формате (Ymd), когда новость была опубликована.
Таблица 4. - Gb
ПолеТипНольПо умолчаниюКомментарииid bigint(20)Нет Уникальный идентификаторauthor varchar(255)Нет Имя автораmail varchar(255)Нет Адрес электронной почты content textНет Содержаниеdt varchar(8)Нет Датаactive enum(yes, no)Нет yes Поле, определяющее доступность статьи для просмотра посетителями сайта. (Если статья находится в режиме редакторской правки, она может быть скрыта от посетителей)
Таблица 5. - photo_album
ПолеТипНольПо умолчаниюКомментарииid int(11)Нет Уникальный идентификатор фотоальбома (раздела)name varchar(255)Нет Название фотоальбомаorder_id int(11)Нет 0 Порядковый номер, в соответствии с которым, названия фотоальбомов будут выводиться на страницу
Таблица 6. - photo_image
ПолеТипНольПо умолчаниюКомментарииid int(11)Нет Уникальный идентификатор изображенияname varchar(255)Нет Название изображенияpath varchar(255)Нет Путь к файлу изображенияalbum_id int(11)Нет 0 Индекс раздела фотоальбома (таблица photo_album)order_id int(11)Нет 0 Индекс: порядок, в котором изображения будут выводиться на страницу
Графически взаимодействие элементов разработанной базы данных показано на плакате 2.
5.11 Структура директорий
r/lib - сокр. от library (библиотека) директория содержащая библиотеки файлов классов.
r/tpl - сокр. от template (шаблон) директория содержащая файлы шаблонов страниц. Содержит поддиректорию /admin в которой находятся файлы шаблонов для системы администрирования.
rCMS Автоматически создает директорию /files (файлы), в которой находятся публикуемые на сайте изображения.
r/img - сокр. от images (изображения) содержит графические элементы дизайна.
r/admin - Директория с файлами администрирования контента.
r/fck - директория текстового on-line редактора FCKeditor.
5.12 Принцип работы системы
Графически взаимодействие элементов сайта представлено на плакате.
При обращении к центральному файлу index.php, в корневой директории, строкой: include_once(head.inc); подключается так же файл собирающий файл head.inc. Его задачу составляет подключение конфигурационного файла conf.inc и библиотеки классов lib.inc, а так же оп