Лекция: Обработка структурированной информации. Удаленные базы данных с использованием сервера MySQL. Установка драйвера ODBC.Реализация запросов. Разработка интерфейсов на Delphi.

MySQL — это система управления реляционными базами данных. В реляционной базе данных данные хранятся не все скопом, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.

Работа с базой данных имеет как свои преимущества, так и недостатки. К достоинствам можно отнести значительное упрощение кода(иногда в 2 — 3 раза) по сравнению с файловыми вариантами веб-приложений, что сокращает время разработки и упрощает процесс отладки. К недостаткам причисляется зависимость приложения не только от работоспособности веб-сервера, но и от работоспособности сервера баз данных. Вероятность того, что один из серверов может выдти из строя, выше по сравнению, если бы работа веб-приложений зависила только от одного сервера. Кроме того, непосредственная работа с файловой системой осуществляется быстрее по сравнению со случаем, когда в качестве посредника для работы с ней выбирается СУБД. Так поисковая система Google, известная высокой скоростью обработки запросов, основана на модели интерпретируемый язык, не может достич производительности баз данных, реализованных на С.

SQL состоит из двух частей: серверной и клиентской.

Сервер MySQL постоянно работает на компьютере. Клиентские программы (например, скрипты PHP) посылают серверу MySQL SQL-запросы через механизм сокетов (то есть при помощи сетевых средств), сервер их обрабатывает и запоминает результат. То есть скрипт (клиент) указывает, какую информацио он хочет получить от сервера баз данных. Затем сервер баз данных посылает ответ (результат) клиенту (скрипту).

Почему всегда передается не весь результат? Очень просто: дело в том, что размер результирующего набора данных может быть слишком большим, и на его передачу по сети уйдет чересчур много времени. Да и редко когда бывает нужно получать сразу весь вывод запроса (то есть все записи, удовлетворяющие выражению запроса). Например, нам может потребоваться лишь подсчитать, сколько записей удовлетворяет тому или иному условию, или же выбрать из данных только первые 10 записей. Механизм использования сокетов подразумевает технологию клиент-сервер, а это означает, что в системе должна быть запущена специальная программа — MySQL-сервер, которая принимает и обрабатывает запросы от программ. Так как вся работа происходит в действительности на одной машине, накладные расходы по работе с сетевыми средствами незначительны (установка и поддержание соединения с MySQL-сервером обходится довольно дешево).

Cтруктура MySQL трехуровневая: базы данных — таблицы — записи. Базы данных и таблицы MySQL физически представляются файлами с расширениями frm, MYD, MYI. Логически — таблица представляет собой совокупность записей. А записи — это совокупность полей разного типа. Имя базы данных MySQL уникально в пределах системы, а таблицы — в пределах базы данных, поля — в пределах таблицы. Один сервер MySQL может поддерживать сразу несколько баз данных, доступ к которым может разграничиваться логином и паролем. Зная эти логин и пароль, можно работать с конкретной базой данных. Например, можно создать или удалить в ней таблицу, добавить записи и т. д. Обычно имя-идентификатор и пароль назначаются хостинг провайдерами, которые и обеспечивают поддержку MySQL для своих пользователей.

SQL запросы с примерами.

Все достаточно просто, существует четыре вида типа основных запросов в SQL:

SELECT – выбрать строки из таблиц;
INSERT – добавить строки в таблицу;
UPDATE – изменить строки в таблице;
DELETE – удалить строки в таблице;

Каждый такой запрос имеет свои различные операторы и функции, для того чтобы выполнить определенные действия с данными в базе. Так как, я остановлюсь на стандартных и самых простых вариациях. Поэкспериментировать с запросами вы можете с помощью phpMyAdmin в разделе SQL.

SELECT – SQL запрос формирования выборки данных

Для получения информации хранящейся в базе данных используется запрос SELECT. Давайте составим самый простой SQL запрос:

SELECT column1, column2 FROM table_name;

В данном примере формируется выборка данных столбцов column1 column2 из таблицы table_name. Если нам необходимо сделать выборку всех столбцов таблицы, запрос будет выглядеть так:

SELECT * FROM table_name;

Также запрос SELECT позволяет делать выборку с дополнительными условиями, например составим запрос с условием WHERE:

SELECT * FROM table_name WHERE column1=123;

Данный SQL запрос сформирует выборку с условием, что column1 будет содержать 123. Таких условий может быть несколько, но я не буду останавливаться на них подробно.

INSERT – SQL запрос вставки новых данных

Запрос INSERT используется для записи новых строк в базу данных. Запрос INSERT отличается от запроса SELECT. Приведу пример:

INSERT INTO table_name (column1, column2, column3) VALUES (‘data1’, ‘data2’, ‘data3’);

Как видно из SQL запроса, сначала перечисляются столбцы с которые будет производиться запись, затем параметром VALUES вводится информация в соответствии со столбцами. Если запись производиться во все столбцы и по порядку, то перечислять их не обязательно, но желательно.

UPDATE – SQL запрос обновления существующих данных

Запрос UPDATE используется для изменения существующих данных на новые значения. Чаще всего данный запрос применяется с условием WHERE и выглядит так:

UPDATE table_name SET column1 = ‘data1’, column2 = ‘data2’ WHERE column3 = ‘data3’;

Данный запрос обновляет строки в столбцах column1, column2, в которых выполняется условие column3 = ‘data3’.

DELETE – SQL запрос удаления записи

Запрос DELETE удаляет не нужные вам строки. Будьте внимательны запрос удаляет все строку целиком:

DELETE FROM table_name WHERE column1 = ‘data1’;

Этот SQL запрос удаляет все строки где выполняется условие column1 = ‘data1’. Помните после выполнения запроса, удаленная строка не подлежит восстановлению.

еще рефераты
Еще работы по информатике