Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kudelya_Oxana_Otchyot.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
13.5 Mб
Скачать

3.2 Север баз данных mysql

Сервер БД MySQL - СУБД (т.е. система управления базами данных), часто применяемая совместно с PHP. MySQL – это система управления реляционными базами данных, в которых данные хранятся не все в куче, а в отдельных таблицах, благодаря чему получается выигрыш в гибкости и скорости. Связь таблиц осуществляется с помощью отношений, что даёт возможность объединения, при выполнении запроса, данных из нескольких таблиц. SQL как часть системы MySQL можно описать как самый распространенный стандартный язык для доступа к БД и основной язык структурированных запросов.

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

MySQL-сервер является системой клиент-сервер, содержащей многопоточный SQL-сервер с поддержкой разных вычислительных машин баз данных, а также нескольких библиотек и различных клиентских программ, средств администрирования и широкий спектр программных интерфейсов (API). MySQL ещё поставляется в виде многопоточной библиотеки, с возможностью подключения к пользовательскому приложению и получения компактного, более легкого и быстрого в управлении продукта [5].

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

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

Использование сокетов понимает под собой технологию клиент-сервер, а это означает, что в системе должна быть запущена специальная программа — сервер БД MySQL, которая принимает и обрабатывает запросы от программ. Учитывая, что вся работа происходит в реальности на одной машине, накладные расходы по работе с сетевыми средствами незначительны (установка и поддержание соединения с MySQL-сервером обходится дешево).

MySQL очень быстр, легок в использовании и надёжен. Этот сервер имеет ещё ряд удобных возможностей, разработанных совместно с пользователями. Исходно сервер БД MySQL был написан для управления большими базами данных с целью обеспечения гораздо более высокой скорости работы по сравнению с существующими аналогами. И вот уже много лет данный сервер успешно используется в промышленной эксплуатации с высокими требованиями. Сервер MySQL постоянно совершенствуется, и обеспечивает большое количество полезных функций. Благодаря своей безопасности, доступности и скорости MySQL идеально подходит для доступа к базам данных по интернет.

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

Главные возможности MySQL-сервера:

1. Внутренние характеристики и переносимость:

    • работает на разных платформах;

    • используется GNU Automake, Autoconf и Libtool для переносимости;

    • API для C, C++, Eiffel, Java, Perl, PHP, Python, Ruby и Tcl;

    • многопоточный полностью, с использованием потоков ядра;

    • быстрые дисковые таблицы на основе В-деревьев;

    • быстрая система распределения памяти, основанная на потоках;

    • очень быстрые соединения, которые используют оптимизированный метод однопроходного мультисоединения (one-sweep multi-join);

    • хеш-таблицы в памяти, используемые как временные таблицы;

    • SQL-функции выполняются настолько быстро, насколько это возможно, т.к. они реализованы с помощью хорошо оптимизированной библиотеки классов;

2. Функции и команды:

    • полная поддержка для операторов SQL GROUP BY и ORDER BY с выражениями SQL. Поддержка групповых функций;

    • поддержка LEFT OUTER JOIN и RIGHT OUTER JOIN с синтаксисом ANSI SQL и ODBC;

    • полная поддержка функций и операторов в SELECT- и WHERE- частях запросов;

    • INSERT, DELETE, REPLACE and UPDATE возвращают число строк, которые были изменены. Вместо этого можно задать возвращение совпавших строк;

    • SHOW команду, которая является специфической для MySQL, можно использовать для получения информации о базах данных, таблицах и индексах;

    • имена функций не конфликтуют с именами столбцов и таблиц;

    • в одном и том же запросе могут указываться таблицы из разных баз данных.

3. Типы столбцов:

  • множество: целочисленные со знаком/беззнаковые, длиной в 1, 2, 3, 4 и 8 байтов, CHAR, VARCHAR, TEXT, FLOAT, DOUBLE, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET и ENUM;

  • с записями переменной длины и фиксированной;

  • всем столбцам присвоены значения по умолчанию. С помощью INSERT можно вставить подмножество столбцов таблицы.

4. Безопасность: система основана на привилегиях и паролях, за счет чего обеспечивается гибкость и безопасность, и с возможностью верификации с удаленного компьютера. Пароли защищены, т.к. они при передаче по сети при соединении с сервером шифруются.

5. Ограничения и масштабируемость:

    • управляет очень большими базами данных;

    • для каждой таблицы разрешается иметь до 32 индексов. Каждый индекс может содержать от 1 до 16 столбцов или частей столбцов. Максимальная ширина индекса 500. Для индекса может использоваться префикс поля CHAR или VARCHAR.

6. Установка соединений:

    • клиенты могут соединяться с MySQL, используя сокеты TCP/IP, сокеты Unix или именованные каналы (named pipes, под NT);

    • поддержка ODBC (Open-DataBase-Connectivity) для Win32 (с исходным кодом). Все функции ODBC 2.5 и многие другие. Например, для соединения с MySQL можно использовать MS Access.

7. Локализация:

    • MySQL-сервер может выдавать сообщения об ошибках для клиентов на различных языках;

    • поддержка различных кодировок;

    • выбранный набор символов используется для хранения всех данных. Любые сравнения для столбцов с нормальными строками проводятся с учетом регистра символов;

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

8. Инструментарий и клиенты:

  • имеет myisamchk – очень быструю утилиту для проверки, оптимизации и восстановления таблиц. Все функциональные возможности этой утилиты также доступны через SQL-интерфейс.

  • любые MySQL-программы можно запускать с опциями -help или -? для получения помощи [6].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]