Сделай Сам Свою Работу на 5

Проектирование базы данных





Для разрабатываемого приложения был выбран способ хранения с помощью базы данных, как и в большинстве случаев. Данный подход имеет несколько преимуществ:

· высокая скорость работы — СУБД использует различные оптимизации для работы с БД, увеличивающими скорость работы;

· структурированность данных — данные разделяются на различные структуры (в реляционных СУБД — на таблицы и поля), которые облегчают обращение к информации, ее поиск, сортировку, а также позволяют разделить данные логически, но в то же время поддерживать связи между ними;

· широкая поддержка в языке программирования — 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 Все материалы защищены законодательством РФ.