Работа с базами данных — это одна из важнейших составляющих программирования сайтов динамического типа. Будь то формирование страниц «на лету» или же реагирование на действия посетителей сайтов — почти все эти задачи требуют взаимодействия с базами данных.
Базы данных (БД) для сайтов используются с целью хранения различной информации и, упрощенно, представляют собой некоторый набор взаимосвязанных таблиц. Именно в базах данных хранится на сервере требуемая для работы сайта информация, например, информация о клиентах, каталог товаров, статистические данные и т. д.
Управление БД как правило, осуществляется при помощи клиент-серверных систем управления базами данных (СУБД), таких как Oracle, MS SQL Server, PostgreSQL, MySQL и др. Клиент-серверные СУБД обрабатывают запросы централизованно, к их достоинствам относят обеспечение высокой надежности баз данных, доступности и безопасности.
Для построения запросов к базам данных широко применяется SQL (Structured Query Language) — «язык структурированных запросов». С помощью SQL может осуществляться добавление, удаление, редактирование записей в таблицах баз данных, выборка данных в соответствии с различными условиями, сортировка данных и многое другое.
|
|
Язык PHP для создания web-приложений обычно применяют в связке с СУБД MySQL, хотя на нем можно писать программы, которые работают с базами данных, управляемыми другими СУБД.
Основы СУБД MySQL
MySQL – это система управления реляционными базами данных. Это означает, что данные в таких базах хранятся в отдельных таблицах, которые связываются между собой. Этот способ хранения данных обеспечивает с одной стороны минимальную избыточность данных, а, с другой, эффективное выполнение любых типов запросов на поиск информации.
Базы данных состоит из таблиц, а, каждая таблица состоит из строк (записей). Один сервер MySQL может поддерживать сразу несколько баз данных, доступ к которым может разграничиваться логином и паролем. Зная эти логин и пароль, можно работать с конкретной базой данных. Например, можно создать или удалить в ней таблицу, добавить записи и т. д. Обычно имя-идентификатор и пароль назначаются хостинг-провайдерами, которые и обеспечивают поддержку MySQL для своих пользователей.
Для создания новой базы данных MySQL существует несколько способов:
через запросы на языке SQL
через интерфейс, предоставляемый СУБД.
Первый способ требует достаточно глубоких знаний в теории баз данных, поэтому в рамках данного курса ограничимся вторым способом.
В практической части данного курса мы будем реализовывать клиент-серверное взаимодействие с применением пакета разработчика Денвер. В этот пакет входит web-сервер Аpache, СУБД MySQL и интерфейс пользователя для удобной работы с СУБД MySQL, который называется PHPMyAdmin.
|
|
Для создания базы данных в среде PHPMyAdminнеобходимо выполнить следующие шаги:
1. Создать пустую базу данных
2. Создать пустую таблицу в этой базе данных
3. Описать структуру (набор столбцов) который будет необходим в этой таблице
4. Ввести конкретные данные в эту таблицу.
Если база данных должна состоять из нескольких таблиц, то необходимо повторить пункты 2-4 для каждой таблицы.
Описание структуры (набора столбцов) требует задания следующей информации: имя столбца, тип столбца, информация о ключах, значение по умолчанию (при необходимости).
При определении имени столбца необходимо помнить лишь то, что имя не должно содержать пробелов и должно быть содержательно понятным, например cena_tovara (Цена товара)
Опишем наиболее часто встречающиеся типы данных:
Таблица 7.1.
Типы данных СУБД MySQL
Тип | Название в MySQL | Описание, диапазон возможных значений |
Целый | INT | -2 147 483 648...+2 147 483 647 |
Вещественный | FLOAT | Небольшая точность |
DECIMAL | Дробное число, хранящееся в виде строки | |
Символьный | CHAR | Строка длиной до 255 |
VARCHAR | Строка длиной до 255 (обрезается до реального размера +1 символ) | |
Строка | TEXT | Максимальная длина 65535 символов (64 Кб) |
Дата и время | DATE | Дата в формате ГГГ-ММ-ДД |
TIME | Время в формате ЧЧ:ММ:СС | |
DATETIME | Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС |
Каждая таблица должна иметь ключевой столбец. Он содержит данные, которые однозначно определяют другие данные в этой строке таблицы. Примером ключевого столбца может быть библиотечный код книги или номер студенческого билета студента.
Приведем пример описания структуры таблицы для реализации базы данных в среде СУБД MySQL.
Таблица 7.2.
Таблица knigi
Имя столбца | Тип столбца | Длина | Сведения о ключах | Пояснения |
bibl_kod | VARCHAR | 20 | Первичный ключ | библиотечный код |
name_knigi | VARCHAR | 100 | название | |
avtor | VARCHAR | 100 | автор | |
god_izd | INT | - | год издания | |
izdatelstvo | VARCHAR | 100 | издательство | |
kol_stranic | INT | - | количество страниц | |
cena | DECIMAL | - | цена книги | |
data_vidachi | DATE | - | дата выдачи книги читателю | |
annotacia | TEXT | - | краткое содержание |
На самом деле, в реальных базах данных такую таблицу использовать нежелательно, она не соответствует многим правилам проектирования промышленных баз данных и используется здесь только в качестве иллюстрации описания всех типов полей таблиц MySQL.
После описания такой структуры таблицы PHPMyAdmin предложит пользователю пустую форму с окнами, в которые можно будет вводить строки таблицы с конкретными сведениями про книги.