Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11639
Последний выпуск: 19.06.2015

MySQL для начинающих

Марк Ильин

Как только мы задумываемся о каком-либо упорядоченном архивировании информации, мы неизбежно приходим к мысли о создании базы данных. Создав её, напрмер, в Microsoft Access, мы, облегчённо вздыхаем и на какое-то время успокаиваемся. Но это спокойствие длится не долго. И вот на нашем горизонте уже маячит следующая задача, продиктованная жизненной необходимостью, - нужно обеспечить доступ к этим данным через internet с рабочих станций, на которых, вполне возможно установлены, различные ОС. Естественно не мы первые, кому необходимо разрешить задачу подобного рода. Опыта других людей и средств для разрешению этой проблемы довольно много. Но хватит лирических отступлений. Мы воспользуемся языком , который позволяет пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять, и передавать информацию, независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ. 

SQL ( Обычно произносимая как "СЭКВЭЛ") символизирует собой Структурированный Язык Запросов. Это - язык, который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации сохраняемой в таблицах. 

Что такое - реляционная база данных?

Реляционная база данных - это тело связанной информации, сохраняемой в двухмерных таблицах. Напоминает адресную или телефонную книгу. 

В книге имеется большое количество входов, каждый из которых соответствует определенной особенности. Для каждой такой особенности, может быть несколько независимых фрагментов данных, например имя, телефонный номер, и адрес. Предположим, что мы должны сформатировать эту адресную книгу в виде таблицы со строками и столбцами. Каждая строка (называемая также записью) будет соответствовать определенной особенности; каждый столбец будет содержать значение для каждого типа данных - имени, телефонного номера, и адреса представляемого в каждой строке. Адресная книга могла бы выглядеть следующим образом: 

 

Имя

Телефон

Адрес

Petrov

3232323

Address1

Ivanov

3636666

Address2

Sidoroff

3434342

Address3

То, что вы получили, является основой реляционной базы данных, как и было определено в начале этого обсуждения - а именно, двухмерной (строка и столбец) таблицей информации. 
Однако реляционные базы данных редко состоят из одной таблицы. Такая таблица меньше, чем файловая система. Создав несколько таблиц взаимосвязанной информации, вы сможете выполнить более сложные и мощные операции с вашими данными. Мощность базы данных зависит от связи, которую вы можете создать между фрагментами информации, а не от самого фрагмента информации. 

Связывание одной таблицы с другой

Предположим, что персонажи в нашей первой таблице ( адресной книги ) - это пациенты больницы. В другой таблице, мы могли бы запомнить дополнительную информацию об этих пациентах. Столбцы второй таблицы могли бы быть помечены как Пациент, Доктор, Страховка, и Баланс.

Пациент

Доктор

Страховка

Баланс

Ivanov

Vostrikovr

B.C./B.S.

$272.99

Petrov

Vostrikovr

None

$44.76

Brock

Perepelkin

Health,Inc

$977.47

Много мощных функций можно выполнить, извлекая информацию из этих таблиц согласно указанным параметрам, особенно когда эти параметры включают в себя фрагменты информации связанные в различных таблицах друг с другом. Например, возьмем - докторов. Предположим, доктор Perepelkin захотел получить номера телефонов всех своих пациентов. Чтобы извлечь эту информацию, он мог бы связать таблицу с номерами телефонов пациентов (по адресной книге) с таблицей которая бы указывала, какой из пациентов - его. Хотя, в этом простом примере, он мог бы держать это в голове и сразу получать номера телефонов пациентов, эти таблицы могут быть слишком большими и слишком сложными. Программы реляционной базы данных разрабатывались для того чтобы обрабатывать большие и сложные совокупности данных такого типа, что, очевидно, является более универсальным методом в деловом мире. Даже если бы база данных больницы содержала сотни или тысячи имен - как это вероятно и бывает на практике - одна команда SQL могла бы выдать доктору информацию, в которой он нуждался, почти немедленно.

Язык SQL достаточно сложен и многогранен. При работе же небольшой фирмы, или базы данных в сети internet круг задач ограничен. Поэтому была создана небольшая, но очень быстрая и функциональная реляционная СУБД MySQL. Тоесть, как вы уже догадались в MySQL задействован не весь язык SQL, а только необходимая его часть. Но не нужно переживать относительно урезанности.

Перечислю основные приятные стороны пакета MySQL -это многопоточность, поддержка нескольких одновременных запросов, оптимизация связей с присоединением многих данных за один проход, записи фиксированной и переменной длины, ODBC драйвер в комплекте с исходником, гибкая система привилегий и паролей, до 16 ключей в таблице, каждый ключ может иметь до 15 полей. Также есть поддержка ключевых полей и специальных полей в операторе CREATE, поддержка чисел длинной от 1 до 4, строк переменной длины и меток времени, интерфейс с языками C и perl. Основанная на потоках, быстрая система памяти, утилита проверки и ремонта таблицы, все данные хранятся в формате ISO8859_1. Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках, псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице, все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей. Легкость управления таблицей, включая добавление и удаление ключей и полей.

Можно выполнять команды SQL непосредственно из командной строки системы unix или из интерактивного режима MySQL. СУБД MySQL имеет библиотеку C API. Ее можно использовать для запросов к базе данных, вставки данных, создания таблиц и т.п.

C API поддерживает все функции MySQL. Язык perl поддерживается сразу двумя способами: 

  • Портирован интерфейс с perl из mini-SQL, разработанный Андреасом Коенигом. 
  • Есть модуль perl DBD

Также доступен 32-битный ODBC драйвер для MySQL. Он позволяет запрашивать и получать данные из других источников с поддержкой ODBC.

Кроме технических подробностей можно добавить, что MySQL работает как на Unix, так и на платформе Windows 95/98, он очень прост и удобен в работе. 

Но понять насколько проста и удобна работа с MySQL на PHP можно только увидев воочию практику. Вот очень интересный, на мой взгляд, пример найденный мною.

http://www.nvkz.kuzbass.net/cyber-book/arhiv/first_in_PHP_and_MySQL.zip

Тем же кто пойдёт дальше предлагаю прочитать очень подробную инструкцию по установке и запуску MySQL.

http://www.nvkz.kuzbass.net/cyber-book/php+mysql/mysql_php.htm

И чтобы подвести итог, хотелось бы рассказать одну историю. Одной небольшой фирме потребовалось сделать на сайте базу данных по товарам. Человек, которому поручили сделать базу данных, создал её на Delphi. Так вот, когда пришло время размещать базу в сети, обнаружился очень неприятный факт. Все ISP работают на Unix, соответственно для размещения подобной базы нужно ставить у провайдера свой компьютер и платить, в среднем, около 50 у.е. за хостинг. В случае же если СУБД сделана под MySQL, то платить придется лишь за мегабайты:

MySQL - это удобно и практично. А скорость работы просто завораживает. Так что не теряйте время зря, за этой технологией - будущее.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
+16 / -3
Мне нравитсяМне не нравится
12 марта 2006, 14:23:16
Совершенно не понимаю, как можно хвалить такую статью. В тексте, занимающем около 20-30К – 148 строк и 999 слов, я насчитал 18 (!) понятий и терминов, непонятных, не определенных автором, без
каких-либо ссылок. Текст рассчитан на знающих, что такое «подмножество полей» и ISP, полон стилистических и орфографических ошибок. Автор проверял орфографию?
2.
Аноним
+5 / -1
Мне нравитсяМне не нравится
25 декабря 2005, 03:20:01
Почему "СЭКВЕЛ"?
"Structured English QUEry Language" ("SEQUEL")-унаследывалось и закрепилось изначальное название прародителя языка запросов.
3.
Аноним
+2 / -2
Мне нравитсяМне не нравится
15 ноября 2005, 19:53:27
"сИквел" (а не "сэквэл") - это не ошибка "маститых программистов", а жаргон. Скажите "эскьюэль", и на вас будут смотреть, как на ньюби. То же самое со SCSI: "скАзи" вместо "эссиэсай".
4.
Аноним
+2 / -3
Мне нравитсяМне не нравится
11 ноября 2005, 03:01:13
А Unix и Linux читают как Юних (или У-них) и Линух. Кто как может. Кстати, если читать именно латинскими буквами, то будет Эсквел, Мисквел и т.п. а букв v,w,y,x,z в латыни отсутствуют.
5.
Аноним
+2 / -1
Мне нравитсяМне не нравится
10 ноября 2005, 14:49:24
Потому что MySQL чаще всего пишут как "мускул"!
6.
Аноним
+2 / -5
Мне нравитсяМне не нравится
8 ноября 2005, 18:06:42
Хорошая статья. Одно нарекание - ну почему "СЭКВЭЛ"??? Ведь SQL - это аббривиатура и по правилам английского языка она должна произноситься как ЭсКьюЭль! Ни к чему, конечно, я развыступался, просто даже маститые программисты делают эту ошибку, а меня понемногу это начинает раздражать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог