Проектирование базы данных
Для разрабатываемого приложения был выбран способ хранения с помощью базы данных, как и в большинстве случаев. Данный подход имеет несколько преимуществ:
· высокая скорость работы — СУБД использует различные оптимизации для работы с БД, увеличивающими скорость работы;
· структурированность данных — данные разделяются на различные структуры (в реляционных СУБД — на таблицы и поля), которые облегчают обращение к информации, ее поиск, сортировку, а также позволяют разделить данные логически, но в то же время поддерживать связи между ними;
· широкая поддержка в языке программирования — PHP позволяет обращаться к различным СУБД посредством встраивания различных модулей в интерпретатор. На уровне PHP производится удобное обращение к данным посредством написания запросов на языках запросов;
· высокая гибкость — во многих СУБД возможно менять структуру базы данных на лету, т.е. имея в ней уже какие-либо данные, без потерь. Также возможно добавлять новые структуры без потери непротиворечивости и скорости работы;
· приемлемая надежность — всегда можно сделать полный дамп базы данных, и, в случае утери рабочей версии базы, всегда можно восстановиться из архивной копии.
Так как для данного веб - приложения была выбрана база данных в качестве средства хранения, то нужно разработать структуру, по которой будет заполняться информация.
Сначала определим, какие таблицы нам необходимо иметь. Для этого найдем набор сущностей, описывающих задачу, и потом из них сформируем
таблицы и атрибуты для них. Стоит отметить, что для конвертирования в таблицы годятся только сущности, которые могут содержать другие сущности из списка.
После этого определяются связи между таблицами с помощью внешних ключей.
Затем следует фаза приведения таблиц к нормальным формам. Всего известно восемь нормальных форм, из которых реально применяется только три. Поступим так же, приведя базу данных в третью нормальную форму. После такого приведения в базе отсутствуют составные атрибуты, транзитивные и функциональные зависимости. Таким образом, соблюдается целостность и непротиворечивость данных на достаточном уровне.
Сущности, выявленные в процессе составления базы данных приведены на рисунках 9, 10, 11, 12,
Таблица Admin
Рисунок 9 – Таблица БД Admin
Таблица Regetur
Рисунок 10 – Таблица БД Regetur
Таблица Union
Рисунок 11 – Таблица БД Union
Таблица Regictracia
Рисунок 12 – Таблица БД Regictracia
Сущности базы данных, а также их атрибуты и значения сведены в таблицу 1.
Таблица 1 — Сущности и атрибуты базы данных
Сущность
| Атрибут
| Значение
| Администратор
(таблица admin)
| Nick
| Ник-нэйм администратора
| Password
| Пароль администратора
| Регестратура
(таблица regetur)
| Famil_u_reg
| Фамилия пользователя для заявки
| Name_u_reg
| Имя пользователя для заявки
| Otch_u_reg
| Отчество пользователя для заявки
| Tel_u_reg
| Контактный телефон
| Date_reg
| Желаемая дата
| Регестрация на сайте
(таблица Regictracia)
| Nick_u
| Ник-нэйм пользователя
| Pass_u
| Пароль пользователя
| Famil_u
| Фамилия пользователя
| Name_u
| Имя пользователя
| Tel
| Телефонный номер
| Личная информация (таблица union)
| Famil
| Фамилия
| Name
| Имя
| Otch
| Отчество
| tel
| Телефон
| mail
| Почта
| Date_r
| Дата регистрации
|
Схема построенной базы данных приведена на рисунке 13
Рисунок 13 - Инфологическая модель базы данных
2.5.2 Проектирование приложения для работы с базой данных
Данный программный продукт предназначен для предоставления информации о стоматологической клинике и оказываемых услугах, обеспечении возможности доступа к регистратуре, предоставлении услуг размещения заявки только зарегистрированным пользователям, предоставлении интерфейса для изменения заявок, • предоставление онлайн - общение «вопрос - ответ».
Следовательно, можно определить список общих функций, выполняемых программой. Этот список включает в себя: функцию соединения с базой данных, предоставление понятного интерфейса пользователя и регистрации заявки на лечение, а также системы связи «Вопрос - Ответ». Данный список графически представлен на рисунке 14
Рисунок 14 – Функциональная схема программного обеспечения
Схема работы пользователя через сайт представлена на рисунке 15.
Рисунок 15 – Схема работы пользователя через сайт
2.5.3 Проектирование внешнего интерфейса
Пользовательский интерфейс – это совокупность элементов, позволяющих пользователю программы управлять ее работой и получать требуемые результаты. Фактически, пользовательский интерфейс - это канал, по которому осуществляется взаимодействие пользователя и программы. Основу такого взаимодействия составляют диалоги. Под диалогом в данном случае понимают регламентированный обмен информацией между человеком и компьютером, осуществляемый в реальном масштабе времени и направленный на совместное решение конкретной задачи.
Каждый диалог состоит из отдельных процессов ввода / вывода, которые физически обеспечивают связь пользователя и компьютера. Обмен информацией осуществляется передачей сообщения.
Интерфейс сайта – элементы и компоненты сайта, обеспечивающие быстрый, удобный и интуитивно-понятный доступ к информации, размещенной на сайте.
Основные составляющие интерфейса сайта:
- Система навигации сайта.
- Блок-схема сайта, в т.ч. глубина сайта.
- Компоновка страниц сайта.
- Основная палитра цветов сайта.
- Вспомогательная цветовая палитра сайта.
- Типы и размеры основных шрифтов сайта.
Тематически дизайн данного проекта сделан в светлых тонах. Сайт снабжен модулями поиска, записи на прием, информации и связью, а также моулями администрирования такими как регистрация, управление пользователями, управление предоставляемых услуг и т.д.. Структура меню пользовательского интерфейса представлена на рисунке 16.
Рисунок 16 – Структура меню пользовательского интерфейса
2.6 Реализация программного обеспечения
Осуществление записи
Запись проводится с помощью заполнение полей
<?
function forma()
{
print("
<form action=dob.php method=get>
<input type=text name=n1>
<input type=text name=n2>
<input type=text name=n3>
<input type=text name=n4>
<input type=text name=n5>
<input type=submit name=submit>
");
}
$z1=$_GET['n1'];
$z2=$_GET['n2'];
$z3=$_GET['n3'];
$z4=$_GET['n4'];
$z5=$_GET['n5'];
if (empty($_GET['submit'])){forma();}
else
{
@mysql_connect( "localhost", "root")
or die("Could not connect to MySQL server!");
@mysql_select_db( "restoran" )
or die("Could not select products database!");
$query = "insert into blud(sostav,nazvaniye,cena) values ($z1,$z2,$z3)";
$result = mysql_query($query);
mysql_close( );
}
?>
Быстрый поиск клиента
Поиск клиента по фамили быстро удобно сделан для того чтобы врач быстро орентировался по заказам
<?
function forma()
{
print("
<form action=15.php method=get>
Клиент
<br><input type=text name=n1><br>
<input type=submit name=submit>
");
}
if (empty($_GET['submit'])){forma();}
else
{
$n=$_GET['n1']
@mysql_connect( "localhost", "root")
or die("Could not connect to MySQL server!");
@mysql_select_db( "restoran" )
or die("Could not select products database!");
$result = mysql_query("select * from regetur where Famil_u='$n'");
$x=0;
print "<table border=2>\n";
print "<tr>\n<th>blud_id</th><th>sostav</th>
<th>Famil_u</th><th>cena</th>\n</tr>\n";
while ($x < mysql_numrows($result)):
$id = mysql_result($result, $x. 'Famil_u');
$head = mysql_result($result, $x, 'Name_u');
$body = mysql_result($result, $x, 'Otch_u');
$dat = mysql_result($result, $x, 'tel');
print "<tr>\n";
print "<td>$id</td>\n<td>$head</td>\n<td>$body</td>\n<td>$dat</td>\n";
print "</tr>\n";
$x++;
endwhile;
forma();
print "</table>";
mysql_close();
}
?>
Вывод информаций о дате п риёма
Заказ отосланный от клиента можно просмотреть здесь и коректировать дату и время приёма после чего уведомление отсылается на его почту
<?
@mysql_connect( "localhost", "root")
or die("Could not connect to MySQL server!");
@mysql_select_db( "restoran" )
or die("Could not select products database!");
$query = "SELECT * FROM regetur ";
$query = "SELECT * FROM regetur ";
$result = mysql_query($query);
$x = 0;
print "<table border=2>\n";
print "<tr>\n<th><font color=white>blud_id</th><th><font color=white>Famil_u</th>
<th><font color=white>Name_u</th><th><font color=white>Date_u</th>\n</tr>\n";
while ($x < mysql_numrows($result)) :
$id = mysql_result($result, $x. 'blud_id');
$head = mysql_result($result, $x, 'sostav');
$body = mysql_result($result, $x, 'nazvaniye');
$dat = mysql_result($result, $x, 'cena');
print "<tr>\n";
print "<td><font color=white>$id</td>\n<td><font color=white>$head</td>\n<td><font color=white>$body</td>\n<td><font color=white>$dat</td>\n";
print "</tr>\n";
$x++;
endwhile;
print "</table>";
mysql_close();
?>
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|