Смекни!
smekni.com

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

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

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

Разработка систем управления базой данных 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=&bsol;"center&bsol;" class=&bsol;"tabtop&bsol;">Пример системы управления базой данных</div>";

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=&bsol;"#F3E7CD&bsol;" ><tr class=&bsol;"tabletext&bsol;"><td>";

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

echo "<tr>

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

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

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

</tr>&bsol;n";

do

{

print "<tr bgcolor=&bsol;"#111111&bsol;">

<td align=&bsol;"CENTER&bsol;" class=&bsol;"taband&bsol;">$myrow[nazvanie]</td>

<td align=&bsol;"CENTER&bsol;" class=&bsol;"taband&bsol;">$myrow[izdatelstvo]</td>

<td align=&bsol;"CENTER&bsol;" class=&bsol;"taband&bsol;">$myrow[god_vipuska]</td></tr>

"; }

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

echo "</table>&bsol;n";

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

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

}?>

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

<?php

include('inc/config.php');

include('inc/function.php');

include('inc/header.php');

switch (@$actions) {

case ("add"):

print "<div align=&bsol;"center&bsol;" class=&bsol;"tabtop&bsol;">Добавить строку в таблицу</div>";

list_tab('add');

print "<hr>";

print "<div align=&bsol;"center&bsol;" class=&bsol;"tabtop&bsol;">Создать новую таблицу</div>";

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

<table>

<tr class=&bsol;"tabletext&bsol;"><td>Имя таблицы (соответственно имени группы):</td><td><input type=&bsol;"text&bsol;" name=&bsol;"tablename&bsol;"></td></tr>

<tr><td colspan=&bsol;"2&bsol;" align=&bsol;"CENTER&bsol;"><input type=&bsol;"submit&bsol;" value=&bsol;"Создать таблицу&bsol;"></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=&bsol;"refresh&bsol;" content=&bsol;"2 url=?action=add&db=$tablename&bsol;">";

}

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=&bsol;"center&bsol;" class=&bsol;"tabtop&bsol;">Изменить данные таблицы</div>";

list_tab('update');

break;

case ("del"):

print "<div align=&bsol;"center&bsol;" class=&bsol;"tabtop&bsol;">Удалить таблицу</div>";

list_tab('delete');

break;

case ("config"):

print "<div align=&bsol;"center&bsol;" class=&bsol;"tabtop&bsol;">Изменить параметры скрипта</div>";

print "

<form action=&bsol;"&bsol;" method=&bsol;"post&bsol;">

<table align=&bsol;"CENTER&bsol;" width=&bsol;"640&bsol;">

<tr class=&bsol;"tabletext&bsol;"><td>Имя пользователя базы данных:</td>

<td><input type=&bsol;"text&bsol;" name=&bsol;"new_mysql_login&bsol;" value=&bsol;"$mysql_login&bsol;"></td></tr>

<tr class=&bsol;"tabletext&bsol;"><td>Пароль для доступа к базе данных (по умолчанию пустой):</td>

<td><input type=&bsol;"text&bsol;" name=&bsol;"new_mysql_password&bsol;" value=&bsol;"$mysql_password&bsol;"></td></tr>

<tr class=&bsol;"tabletext&bsol;"><td>Имя базы данных:</td>

<td><input type=&bsol;"text&bsol;" name=&bsol;"new_database&bsol;" value=&bsol;"$database&bsol;"></td></tr>

<tr class=&bsol;"tabletext&bsol;"><td colspan=&bsol;"2&bsol;" align=&bsol;"CENTER&bsol;"><input type=&bsol;"submit&bsol;" value=&bsol;"Изменить&bsol;"></td></tr>

</table>

</form>";

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

{

$config = "<?php

&bsol;$mysql_host = &bsol;"".$new_mysql_host."&bsol;";

&bsol;n

&bsol;$mysql_login = &bsol;"".$new_mysql_login."&bsol;";

&bsol;n

&bsol;$mysql_password = &bsol;"".$new_mysql_password."&bsol;";

&bsol;n

&bsol;$database = &bsol;"".$new_database."&bsol;";

?>";

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

fwrite ($fp, $config);

fclose ($fp);

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

}

break;

}

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

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

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

<table>

<tr><td colspan=&bsol;"2&bsol;" class=&bsol;"tabtop&bsol;" align=&bsol;"CENTER&bsol;"><b>Добавление строки в

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

<tr class=&bsol;"tabletext&bsol;"><td> Название книги: </td><td><input type=&bsol;"text&bsol;"

name=&bsol;"snazvanie&bsol;"> </tr>

<tr class=&bsol;"tabletext&bsol;"><td> Издательство: </td><td><input type=&bsol;"text&bsol;" name=&bsol;"sizdatelstvo&bsol;"> </tr>

<tr class=&bsol;"tabletext&bsol;"><td> Год выпуска: </td><td><input type=&bsol;"text&bsol;" name=&bsol;"sgod_vipuska&bsol;"> </tr>

<tr class=&bsol;"tabletext&bsol;"><td colspan=&bsol;"2&bsol;" align=&bsol;"CENTER&bsol;"><input type=&bsol;"submit&bsol;" value=&bsol;"Добавить&bsol;"></td></tr></table>

<input type=&bsol;"hidden&bsol;" name=&bsol;"db&bsol;" value=&bsol;"$db&bsol;">

</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=&bsol;"refresh&bsol;" content=&bsol;"0 url=admin.php?actions=del&bsol;">";

}

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

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=&bsol;"center&bsol;" class=&bsol;"tabtop&bsol;">Внести изменения в таблицу $db</div>";

echo "<table ><tr class=&bsol;"tabletext&bsol;"><td>";

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