Администрирование сервера баз данных MYSQL. Разработка простейшего клиентского приложения

Автор: Пользователь скрыл имя, 27 Февраля 2013 в 08:05, лабораторная работа

Краткое описание

Цель работы: Ознакомиться с процессом инсталляции СУБД MySQL и оболочки Denwer. Научится устанавливать соединение с сервером из программных систем, создавать базу данных и произвести элементарные действия на удаленном и локальном компьютере.
Методика выполнения работы:
Установить на персональном компьютере инструментальный набор Web-разработчика Denwer, включающий сервер Apache с дополнениями к нему: PHP, Perl, MySQL, phpMySqlAdmin и т.д. Инсталляционную программу можно скачать с сервера www.denwer.ru.

Файлы: 1 файл

Лабораторная работа №1.docx

— 1.20 Мб (Скачать)

Заполняем колонку «Value» в интерфейсе ввода данных и нажимаем на кнопку «Go» (см. рис. 1.8). Обратите внимание, что поле «ID» оставляем пустым.

Рисунок 1.8 – Ввод данных в таблицу

SQL-скрипт добавления записи имеет вид:

INSERT INTO `laba1`.`PhoneLib`

(`id` ,

FIO` ,

BDate`

)

VALUES (

NULL , 'Иванов Иван Иванович', '1990-04-18'

);

Переходим на вкладку «Browse» для того чтобы убедиться в правильности заполнения данных. При этом выполняется SQL-скрипт выборки данных из таблицы (см. рис. 1.9)

SELECT *  
FROM `PhoneLib`

LIMIT 0 , 30

Рисунок 1.9 – Выборка данных из таблицы PhoneLib

Администрирование базы данных. Создание новых пользователей, паролей и привилегий. Пользователь имеет определенные привилегии (может редактировать, удалять, создавать новые  таблицы и позиции в базе данных) и авторизуется по заданному логину и паролю.

При покупке хостинга у большинства хостинг-провайдеров для вас автоматически создается база данных и аккаунт пользователя с логином и паролем, имеющий все необходимые привилегии. На нормально функционирующей хостинге есть точно такая же среда phpMyAdmin, посредством которой можно управлять таблицами и их содержимым, а также импортировать данные из локальной базы данных в базу данных хостинга. Логин и пароль для доступа к базе данных, а также ссылка на  phpMyAdmin высылается хостинг-провайдером на e-mail.

На локально же компьютере нужно будет самостоятельно создать пользователя. Для этого выберите базу данных «laba1» и вкладку «Priveleges » (рис. 1.10).

Рисунок 1.10 –Редактирование привилегий

Переходим по ссылке «Add a new User» и в интерфейсе администратора создаем нового пользователя и пароль. Например, пусть имя пользователя совпадает с паролем (рис. 1.11). В расположенном ниже интерфейсе определяем права пользователя при работе с базой данных. Как минимум для обеспечения функциональности необходимо разрешить добавлять записи в таблицу и выбирать данные из нее (операции INSERT и SELECT). Разрешим также обновлять и удалять записи (операции UPDATE и DELETE).

Рисунок 1.11 –  Создание нового пользователя базы данных, пароля и привилегий

Разработка клиентского приложения. Клиентское приложение –  это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу. Программа, являющаяся клиентом взаимодействует с сервером используя определённый протокол. Она может запрашивать с сервера какие-либо данные, манипулировать данными непосредственно на сервере, запускать на сервере новые процессы и т.п. Полученные от сервера данные клиентская программа может предоставлять пользователю или использовать как-либо иначе в зависимости от назначения программы. Программа-клиент и программа-сервер могут работать как на одном и том же компьютере, так и на разных. Во втором случае для обмена информацией между ними используется сетевое соединение.

Веб-приложение – клиент-серверное приложение, в котором клиентом выступает браузер, а сервером – веб сервер и сервер баз данных. Логика веб- приложения распределена между сервером и клиентом, хранение данных осуществляется преимущественно на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными сервисами. Для создания веб-приложений на стороне сервера используются разнообразные технологии и любые языки программирования, способные осуществлять вывод в  стандартную консоль.

В данном курсе клиент-приложение будем разрабатывать средствами языков HTML, JAVA-скрипт, PHP.

Рассмотрим структуру информации после установки пакета разработчика «Denwer». Предположим, что папка «C:\ WebServers», в которую был установлен пакет Denwer. Тогда в папке «C:\usr\local\mysql-5.1\data\laba1\» находится разработанная база данных.

Для создания клиентского приложения необходимо войти в папку «C:\WebServers\home\» и создать в ней каталог «Laba1.loc» для создания сайта на локальном компьютере (с последующей его переброской на удаленный компьютер). В этой папке создайте каталог «www», а в нем – текстовый файл с именем «index.html»  с адресом «C:\WebServers\home\Laba1.loc\www\ index.html», в котором будет размещен HTML-скрипт титульной страницы проекта.

<HTML>

   <HEAD>

      <META HTTP = equiv="Content=Type" content ="text/html; charset=window=1251">

      <META NAME = "Author" content="ФИО студента">

      <META NAME = "ROBOTS" CONTENT="ALL">

      <META NAME = "Keywords" CONTENT="лабораторная работа, MySQL, соединение с базой данных">

      <META NAME = "Description" CONTENT="Лабораторная работа №1. Соединение с базой данных">

   </HEAD>

   <TITLE> Лабораторная работа №1. Соединение с базой данных </TITLE>

   <BODY>

      <A HREF="phlib.php">Перечень абонентов</A>

   </BODY>

</HTML>

Если в обозревателе теперь ввести адрес «http://laba1.loc/», увидим ссылку «Перечень абонентов».

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

  1. Установить соединение с базой данных.

  1. Выполнить выборку данных.

  1. Отобразить данные в виде таблицы.

Для обращения к MySQL из PHP понадобятся следующие функции:

  1. создать соединение с MySQL: int mysql_connect(string hostname, srting username, srting password). Аргументы функции: hostname – имя хоста, на котором находится база данных, username – имя пользователя, password – пароль пользователя. Функция возвращает параметр типа int, который больше 0, если соединение прошло успешно, и равен 0 в противном случае.

  1. выбрать базу данных для работы: int mysql_select_db (string database_name, int link_identifier). Аргументы функции:  database_name – имя базы данных, int link_identifier – ID соединения, которое получено в функции mysql_connect (параметр не обязательный, если он не указывается, то используется ID от последнего вызова mysql_connect). Функция возвращает значение true или false.

  1. запрос к базе данных: int mysql_query (string query, int link_identifire). Аргументы функции: query – строка, содержащая запрос, link_identifire – см. предыдущую функцию. Функция возвращает ID результата или 0, если произошла ошибка.

  1. В цикле выбираем записи, полученные в результате запроса: arraymysql_fetch_array(resource result [, int result_type]). Аргументы функции: result – указатель на ресурс результатов выборки, второй (необязательный) – флаг, отвечающий за содержимое возвращаемого функцией ассоциативного массива. Функция возвращает массив, соответствующий извлечённому ряду, или false, если рядов больше нет. Функция mysql_fetch_array() – это расширенная версия mysql_fetch_row(). Помимо сохранения данных в числовых индексах результирующего массива, она также хранит данные в ассоциативных индексах, используя в качестве ключей имена полей.

  1. закрыть соединение: intmysql_close(intlink_identifire). Аргументы функции: link_identifire – см. выше. Функция возвращает значение true или false.

Скрипт PHP для выдачи списка абонентов в виде таблицы, расположенный в файле «C:\WebServers\home\Laba1.loc\www\phkib.php»» будет иметь вид:

<HTML>

   <HEAD>

      <META HTTP = equiv="Content=Type" content = "text/html; charset=window=1251">

      <META NAME = "Author" content="ФИО студента">

      <META NAME = "ROBOTS" CONTENT="ALL">

      <META NAME = "Keywords" CONTENT="лабораторная работа, MySQL,

соединение с базой  данных">

      <META NAME = "Description" CONTENT="Лабораторная работа №1.

Соединение с базой  данных">

   </HEAD>

   <TITLE> Лабораторная  работа №1. Соединение с базой  данных </TITLE>

   <BODY>

      <?

      /* Переменные  для соединения с базой данных */

      $hostname="localhost";

      $username="student";

      $password="student";

      $dbName="laba1";

      /*Таблица  MySql, в которой хранятся данные */

      $userstable = "PhoneLib";

      /* создать соединение */

      mysql_connect($hostname, $username,$password) OR DIE

("Не могу создать соединение");

      /* выбрать базу данных. Если произойдет ошибка – вывести ее */

      mysql_select_db($dbName) OR DIE (mysql_error());

      /* составить запрос для выборки информации */

      $query = "SELECT * FROM $userstable";

      /* выполнить запрос */

      $result=mysql_query($query) OR DIE (mysql_error());

      echo "<TABLE BORDER=1>";

      echo

  "<tr>

   <th>Идентификатор</th>

   <th>Ф.И.О.</th>

   <th>Дата рождения</th>

  </tr>";

      /* Выбрать  очередную запись из таблицы  */

      while ($row=mysql_fetch_array($result)){

      echo "";

      /* Вывести  ее в виде HTML */

      echo "<tr><td>".$row['id']."</td><td>".$row['FIO']."</td><td>".$row['BDate'].

"</td></tr>";

      };

      echo "</TABLE>";

      /* Закрыть  соединение */

      mysql_close();

      ?>

   </BODY>

</HTML>

Результат работы скрипта приведен на рис. 1.12

Рисунок 1.12 – Результат выполнения скрипта выборки данных из базы данных


Информация о работе Администрирование сервера баз данных MYSQL. Разработка простейшего клиентского приложения