- •Донецкий национальный университет
- •Пояснительная записка
- •Задание
- •Аннотация
- •Введние
- •1 Анализ предметной области
- •Состояние вопроса
- •1.2 Моделирование существующих бизнес-процессов
- •1.3 Актуальность и цель работы
- •2 Техническое задание
- •2.1 Описание области применения и исходных данных приложения
- •2.2 Требования к пользовательским интерфейсам
- •2.3 Требования к аппаратным и программным интерфейсам
- •2.4 Требования к пользователям продукта
- •2.5 Функции продукта
- •2.6 Ограничения
- •3 Обоснование выбора инструментальных средств
- •3.2 Север баз данных mysql
- •3.3 Язык программирования серверных скриптов php
- •4 Реализация web-приложения Федерации хоккея
- •4.1 Концептуальное проектирование бд
- •4.2 Логическое проектирование бд
- •4.3 Создание и декомпозиция универсальных отношений
- •4.4 Физическое проектирование бд
- •5 Проектирование структуры web-приложения
- •6 Описание программного продукта
- •6.1 Входные и выходные данные
- •6.2 Описание алгоритма работы и sql-запросов скриптов web-приложения
- •7 Тестирование программного продукта
- •7.1 Системные и программные требования
- •Описание установки программных средств
- •Установка web-сервера Apache 2.4
- •Установка php 7
- •Установка MySql 5.6
- •7.3 Описание контрольных примеров
- •Заключение
- •Список использованных источников
- •Приложение а Экранные формы
- •Приложение б Фрагменты листинга
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].
