Администрирование сервера баз данных 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/», увидим ссылку «Перечень абонентов».
Задачей приложения-клиента в данной лабораторной работе является вывод состояния отношения в виде таблицы. Для этого необходимо выполнить следующие действия:
Установить соединение с базой данных.
Выполнить выборку данных.
Отобразить данные в виде таблицы.
Для обращения к MySQL из PHP понадобятся следующие функции:
создать соединение с MySQL: int mysql_connect(string hostname, srting username, srting password). Аргументы функции: hostname – имя хоста, на котором находится база данных, username – имя пользователя, password – пароль пользователя. Функция возвращает параметр типа int, который больше 0, если соединение прошло успешно, и равен 0 в противном случае.
выбрать базу данных для работы: int mysql_select_db (string database_name, int link_identifier). Аргументы функции: database_name – имя базы данных, int link_identifier – ID соединения, которое получено в функции mysql_connect (параметр не обязательный, если он не указывается, то используется ID от последнего вызова mysql_connect). Функция возвращает значение true или false.
запрос к базе данных: int mysql_query (string query, int link_identifire). Аргументы функции: query – строка, содержащая запрос, link_identifire – см. предыдущую функцию. Функция возвращает ID результата или 0, если произошла ошибка.
В цикле выбираем записи, полученные в результате запроса: arraymysql_fetch_array(
resource result [, int result_type]). Аргументы функции: result – указатель на ресурс результатов выборки, второй (необязательный) – флаг, отвечающий за содержимое возвращаемого функцией ассоциативного массива. Функция возвращает массив, соответствующий извлечённому ряду, или false, если рядов больше нет. Функция mysql_fetch_array() – это расширенная версия mysql_fetch_row(). Помимо сохранения данных в числовых индексах результирующего массива, она также хранит данные в ассоциативных индексах, используя в качестве ключей имена полей.
закрыть соединение: intmysql_close(intlink_
identifire). Аргументы функции: link_identifire – см. выше. Функция возвращает значение true или false.