Отчет по практике: Разработка систем управления базой данных MySQL

Название: Разработка систем управления базой данных MySQL
Раздел: Рефераты по информатике
Тип: отчет по практике

Министерство образования Российской Федерации

Выксунский металлургический техникум им.А.А.Козерадского

Разработка систем управления базой данных MySQL

Отчет по практике

ОП 230103.012.002.00

Руководитель проекта

Чалышев В.В.

Проект разработал

Короткова Ю.С.

Проверил

Пантелеев С.В.

г.Выкса

2007


Содержание

Аннотация

Введение

1 Анализ технического задания

2 Разработка алгоритма

3 Разработка программы

4 Блок-схема

5 Руководство по установке и использованию

Заключение

Список используемой литературы


Аннотация

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


Введение

PHP – язык написания сценариев, внедренный в HTML. Многое из синтаксиса заимствовано из С, Java, Perl, с добавлением специфичных для PHP возможностей. Задача языка состоит в том, чтобы дать возможность Web-разработчикам легко и быстро создавать динамично изменяемые html-страницы.

Написание Web-страницы, работающей с базой данных, невероятно проста. В настоящее время поддерживаются следующие базы данных: Oracle, Adabas D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, PostgreSQL.

В последнее время у разработчиков наиболее популярна СУБД MySQL.

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

MySQL является идеальным решением для малых и средних приложений. Исходники сервера компилируются на множестве платформ. Наиболее полно возможности сервера проявляются на Unix-серверах, где есть поддержка многопоточности, что дает значительный прирост производительности.

MySQL действительно очень быстрый сервер, но для достижения этого разработчикам пришлось пожертвовать некоторыми требованиями к реляционным СУБД.

В своей работе я отразила, как управлять базой данных MySQL через язык программирования PHP 4.


1 Анализ технического задания

Тема проекта «Разработка систем управления базой данных MySQL» подразумевает под собой создание скрипта на языке программирования php4, где управление базой данных организовано по схеме "ничего лишнего", поэтому и отсутствуют некоторые функции, которыми оснащены база данных MySQL.

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

- просмотр созданной базы данных;

- изменение значения в строках таблицы;

- добавление строки в уже существующую таблицу, либо добавление новой таблицы;

- удаление таблицы;

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

Для реализации данного проекта применяется язык программирования PHP (версии 4.0).

2 Разработка алгоритма

На данном этапе разработано несколько алгоритмов, по которым можно решить эту задачу.

1) Разработать систему управления базой данных таким образом, чтобы она выполняла 4 основные функции: просмотр, изменение данных в таблицах, добавление таблиц и их удаление.

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

3) Третий вариант является доработкой второго. Если пользователь захочет распечатать базу данных, то возможен вывод документа на печать.

Был выбран третий вариант реализации программы, потому что он более полный и обладает всеми важными функциями управления базой данных. Он также является наиболее практичным и работоспособным.

3 Разработка программы

В программе используется 6 файлов.

Файл index.html – начальный файл, он используется при запуске.

<?php

include('inc/config.php');

include('inc/function.php');

include('inc/header.php');

print "<div align=\"center\">

list_tab('connect');

if(@$action == "connect"){

$link = mysql_pconnect($mysql_host, $mysql_login, $mysql_password) or die ("Не могу подключиться к MySQL");

mysql_select_db ("$database") or die ("$database не найдена!");

$result = mysql_query ("SELECT * FROM `$db`") or die ("Ошибка запроса");

if ($myrow = mysql_fetch_array($result))

{

echo "<table bgcolor=\"#F3E7CD\" ><tr>

echo "<table width=\"100%\" rules=\"all\" align=\"center\" bgcolor=\"#ffffff\" bolder=\"4\">\n";

echo "<tr>

<td> Н а з в а н и е </td>

<td> И з д а т е л ь с т в о </td>

<td> Г о д в ы п у с к а </td>

</tr>\n";

do

{

print "<tr bgcolor=\"#111111\">

<td align=\"CENTER\">

<td align=\"CENTER\">

<td align=\"CENTER\">

"; }

while ($myrow = mysql_fetch_array($result));

echo "</table>\n";

echo "</td></tr></table>";}

print "<a target=\"blank\" href=\"/services/print.php?db=$db\">Версия для печати</a>";

}?>

Файл admin. php -в этом файле производится непосредственно обработка информации из базы данных, выполнение всех основных команд управления базой данных.

<?php

include('inc/config.php');

include('inc/function.php');

include('inc/header.php');

switch (@$actions) {

case ("add"):

print "<div align=\"center\">

list_tab('add');

print "<hr>";

print "<div align=\"center\">

print "<form action=\"?actions=add&s=2\" method=\"post\">

<table>

<tr>

<tr><td colspan=\"2\" align=\"CENTER\"><input type=\"submit\" value=\"Создать таблицу\"></td></tr>

</table>

</form>";

if (isset($tablename) && @$s==2) {

$link = mysql_pconnect($mysql_host, $mysql_login, $mysql_password) or die ("Не могу подключиться к MySQL");

mysql_select_db ("$database") or die ("$database не найдена!");

$sql = 'CREATE TABLE `.$tablename.` ('

. ' `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, '

. ' `nazvanie` VARCHAR(100) NOT NULL, '

. ' `izdatelstvo` VARCHAR(100) NOT NULL, '

. ' `god_vipuska` VARCHAR(100) NOT NULL,'

. ' PRIMARY KEY (`id`)'

. ' )';

$result = mysql_query($sql);

print "<meta http-equiv=\"refresh\" content=\"2 url=?action=add&db=$tablename\">";

}

if (isset($snazvanie) && @$s==1) {

$link = mysql_pconnect($mysql_host, $mysql_login, $mysql_password) or die ("Не могу подключиться к MySQL");

mysql_select_db ("$database") or die ("$database не найдена!");

$sql = "INSERT INTO `$db` (nazvanie,izdatelstvo,god_vipuska) VALUES

('$snazvanie','$sizdatelstvo','$sgod_vipuska')";

$result = mysql_query($sql);

}

break;

case ("edit"):

print "<div align=\"center\">

list_tab('update');

break;

case ("del"):

print "<div align=\"center\">

list_tab('delete');

break;

case ("config"):

print "<div align=\"center\">

print "

<form action=\"\" method=\"post\">

<table align=\"CENTER\" width=\"640\">

<tr>

<td><input type=\"text\" name=\"new_mysql_login\" value=\"$mysql_login\"></td></tr>

<tr>

<td><input type=\"text\" name=\"new_mysql_password\" value=\"$mysql_password\"></td></tr>

<tr>

<td><input type=\"text\" name=\"new_database\" value=\"$database\"></td></tr>

<tr>

</table>

</form>";

if(isset($new_mysql_host) && isset($new_mysql_login) && isset($database))

{

$config = "<?php

\$mysql_host = \"".$new_mysql_host."\";

\n

\$mysql_login = \"".$new_mysql_login."\";

\n

\$mysql_password = \"".$new_mysql_password."\";

\n

\$database = \"".$new_database."\";

?>";

$fp = fopen ("inc/config.php", "w+");

fwrite ($fp, $config);

fclose ($fp);

print "<meta http-equiv=\"refresh\" content=\"0 url=admin.php?actions=config\">";

}

break;

}

//Добавление таблицы

if (@$action == 'add' && isset($db)) {

print "<form action=\"?actions=add&s=1\" method=\"post\">

<table>

<tr><td colspan=\"2\">

таблицу $db</b></td></tr>

<tr>

name=\"snazvanie\"> </tr>

<tr>

<tr>

<tr>

<input type=\"hidden\" name=\"db\" value=\"$db\">

</form>"; }

//Удаление таблицы

if(@$action == "delete")

{

$link = mysql_pconnect($mysql_host, $mysql_login, $mysql_password) or die ("Не могу подключиться к MySQL");

mysql_select_db ("$database") or die ("$database не найдена!");

@$result = mysql_query ("DELETE FROM `$db`");

if ($result == TRUE){

$sql = mysql_query ("DROP TABLE `$db`");

}

print "<meta http-equiv=\"refresh\" content=\"0 url=admin.php?actions=del\">";

}

//Обновление данных в таблице

if(@$action == "update"){

$link = mysql_pconnect($mysql_host, $mysql_login, $mysql_password) or die ("Не могу подключиться к MySQL");

mysql_select_db ("$database") or die ("$database не найдена!");

$result = mysql_query("SELECT * FROM `$db`") or die ("Ошибка запроса!!!");

$myrow = mysql_fetch_array($result);

echo "<div align=\"center\">

echo "<table ><tr>

echo "<table border=\"0\" cellspacing=\"1\">\n <form action=\"?submit=Submit&db=$db\" method=\"POST\">";

$i=0;

do

{

print "

<tr>

<td>$myrow[0].</td><td>

<input type=\"text\" size=\"14\" name=\"nazvanie[$i]\" value=\"$myrow[nazvanie]\"></td>

<input type=\"hidden\" name=\"id\" value=\"$myrow[0]\"> <td align=\"CENTER\">

<input type=\"text\" size=\"2\" name=\"izdatelstvo[$i]\" value=\"$myrow[izdatelstvo]\"></td>

<td align=\"CENTER\"><input type=\"text\" size=\"3\" name=\"god_vipuska[$i]\" value=\"$myrow[god_vipuska]\"></td></tr> ";

$i++;}

while ($myrow = mysql_fetch_array($result));

echo "

<tr><td colspan=\"12\" align=\"center\"> <input type=\"submit\" name=\"submit\" value=\"Обновить\"></td></tr></form></table>\n";

echo "</td></tr></table>";

}

if (@$submit == "Обновить"){

$link = mysql_pconnect($mysql_host, $mysql_login, $mysql_password) or die ("Не могу подключиться к MySQL");

mysql_select_db ("$database") or die ("$database не найдена!");

$ids=$id;

do {

$id--;

$result = mysql_query("UPDATE `$db` SET nazvanie='$nazvanie[$id]', izdatelstvo='$izdatelstvo[$id]', god_vipuska='$god_vipuska[$id]' WHERE id=$ids");

$ids--;

} while($id>=1);

print "<meta http-equiv=\"refresh\" content=\"0 url=admin.php?action=update&db=$db\">";

}

include('inc/footer.php"; ?>