Изучаем PHP программирование

   Search   

Русская версия | English version   

Скрипты :: Секреты профессионалов :: Link :: FAQ   Пишите письма  



 

главная :: основы PHP

Заголовок

Что такое SQL? SQL обычно описывается как стандартный язык, используемый для взаимодействия с реляционными базами данных (см. ниже). Однако SQL не является языком программирования, как С, C++ или РНР. Скорее, это интерфейсное средство для выполнения различных операций с базами данных, предоставляющее в распоряжение пользователя стандартный набор команд. Возможности SQL не ограничиваются выборкой данных из базы. В SQL поддерживаются разнообразные возможности для взаимодействия с базой данных, в том числе: определение структуры данных — определение конструкций, используемых при хранении данных; выборка данных — загрузка данных из базы и их представление в формате, удобном для вывода; обработка данных — вставка, обновление и удаление информации; контроль доступа — возможность разрешения/запрета выборки, вставки, обновления и удаления данных на уровне отдельных пользователей; контроль целостности данных — сохранение структуры данных при возникновении таких проблем, как параллельные обновления или системные сбои. Обратите внимание: в определении SQL было сказано, что этот язык предназначен для работы с реляционными базами данных. В реляционных СУБД данные организуются в виде набора взаимосвязанных таблиц. Связи между таблицами реализуются в виде ссылок на данные других таблиц. Таблицу можно представить себе как двухмерный массив, в котором расположение каждого элемента характеризуется определенными значениями строки и столбца. Пример реляционной базы данных изображен на рис. 11.1. Рис. 11.1. Пример реляционной базы данных Как видно из рис. 11.1, каждая таблица состоит из строк (записей) и столбцов (полей). Каждому полю присваивается уникальное (в рамках данной таблицы) имя. Обратите внимание на связь между таблицами customer и orders, обозначенную стрелкой. В информацию о заказе включается короткий идентификатор клиента, что позволяет избежать избыточного хранения имени и прочих реквизитов клиента. В изображенной базе данных существует еще одна связь — между таблицами orders и products. Эта связь устанавливается по полю prod_id, в котором хранится идентификатор товара, заказанного данным клиентом (определяемого полем custjd). Наличие этих связей позволяет легко ссылаться на полные данные клиента и товара по простым идентификаторам. Правильно организованная база данных превращается в мощное средство организации и эффективного хранения данных с минимальной избыточностью. Запомните эту базу данных, я буду часто ссылаться на нее в дальнейших примерах. Итак, как же выполняются операции с реляционными базами данных? Для этого в SQL существует специальный набор общих команд — таких, как SELECT, INSERT, UPDATE и DELETE. Например, если вам потребуется получить адрес электронной почты клиента с идентификатором 2001cu (см. рис. 11.1), достаточно выполнить следующую команду SQL: SELECT cust_email FROM customers WHERE custjd = '2001cu' Все вполне логично, не правда ли? В обобщенном виде команда выглядит так: SELECT имя_поля FROM имя_таблицы [ WHERE условие ] Квадратные скобки означают, что завершающая часть команды является необязательной. Например, для получения адресов электронной почты всех клиентов из таблицы customers достаточно выполнить следующий запрос: SELECT cust_email FROM customers Предположим, вы хотите включить в таблицу products новую запись. Простейшая команда вставки выглядит так: INSERT into products VALUES ('1009pr', 'Red Tomatoes', '1.43'); Если позднее эти данные потребуется удалить, воспользуйтесь следующей командой: DELETE FROM products WHERE prod_id = 1009r'; Существует много разновидностей команд SQL, и полное их описание выходит за рамки этой книги. На эту тему вполне можно написать отдельную книгу! Я постарался сделать так, чтобы команды SQL, используемые в примерах, были относительно простыми, но достаточно реальными. В Web существует много учебной информации и ресурсов, посвященных SQL. Некоторые ссылки приведены в конце этого раздела. Записывать команды SQL символами верхнего регистра необязательно. Впрочем, я предпочитаю именно такую запись, поскольку она помогает различать компоненты запроса. Раз вы читаете эту книгу, вероятно, вас интересует вопрос, как же организуется работа с базами данных в среде Web? Как правило, сначала при помощи какого- либо интерфейсного языка (РНР, Java или Perl) создается соединение с базой данных, после чего программа обращается к базе с запросами, используя стандартный набор средств. Интерфейсный язык можно рассматривать как своего рода «клей», связывающий базу данных с Web. Я перехожу к своему любимому интерфейсному языку — РНР. Дополнительные ресурсы Ниже перечислены некоторые ресурсы Интернета, посвященные SQL. Они пригодятся как новичкам, так и опытным программистам. Учебники по SQL: http://perl.about.com/compute/perl/cs/beginningsql/index.htm. SQLCourse.com (с примером базы данных): http://www.sqlcourse.com. SQL для вундеркиндов Web: http://www.arsdigita.com/books/sql. Введение в SQL (применительно к MySQL): http://www.devshed.com/Server_side/MySQL/Intro.

Designed by Fedin
All right reserved
2003-2004
Hosted by uCoz