Язык манипулирования данными SQL

Рассмотрим в качестве примера языка манипулирования данными некоторые команды языка SQL (от английских слов Structured Query Language), ставшего классическим языком реляционных баз данных.

Простейшая операция выборки представляется командой SELECT - FROM -WHERE (выбрать- из - где):

select <список атрибутов>

from <отношение>

where <условие>.

Помимо слов select, from, where в команде выборки можно использовать и другие служебные слова, к примеру:

order by< атрибут> asc - определяет сортировку результата выборки в порядке возрастания (asc) или убывания (desc) значения атрибута;

group by <атрибут1> - группирует данные по значениям атрибута;

having set <атрибут2>

minus - операция вычитания множеств (данных выборок).

Помимо команды выборки select, язык SQL имеет команды, позволяющие обновлять данные (update), вставлять (insert) и удалять (delete). К примеру, в случае если студенты переводятся со 2-го курса на третий, информацию можно обновить командой

update Студент

В случае если атрибут ʼʼСеменов С.С.ʼʼ сдал экзамен по информатике на ʼʼ5ʼʼ 15 января 1996 ᴦ. преподавателю Петрову П.П., то информация об этом должна быть добавлена в таблицу ʼʼУспеваемостьʼʼ командой

insert inio Успеваемость:

<ʼʼСеменов С.С.ʼʼ, ʼʼИнформатикаʼʼ, 5,15/01/96, Петров П.П.>.

Оператор insert должна быть использован для включения одной строки (как в данном примере) или произвольного числа строк, определœенных списком кортежей, заключенных в скобки, или операций выборки select из какой-либо другой таблицы. Команда delete используется для удаления информации из таблицы. К примеру,

delete Успеваемость

where Оценка=2

позволяет удалить информацию о студентах, получивших 2 (в случае их отчисления).

Существенно расширяют возможности языка библиотечные функции, такие как count (подсчет), sum (суммирование), avg (среднее), max и min.

4.5. СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ MICROSOFT ACCESS

Access - в переводе с английского означает ʼʼдоступʼʼ. MS Access - это функционально полная реляционная СУБД. Вместе с тем, MS Access одна из самых мощных, гибких и простых в использовании СУБД. В ней можно создавать большинство приложений, не написав ни единой строки программы, но если нужно создать нечто очень сложное, то на данный случай MS Access предоставляет мощный язык программирования - Visual Basic Aplication.

Популярность СУБД Microsoft Access обусловлена следующими причинами:

‣‣‣ Access является одной из самых легкодоступных и понятных систем как для профессионалов, так и для начинающих пользователœей, позволяющая быстро освоить основные принципы работы с базами данных;

‣‣‣ система имеет полностью русифицированную версию;

‣‣‣ полная интегрированность с пакетами Microsoft Office: Word, Excel, Power Point, Mail;

‣‣‣ идеология Windows позволяет представлять информацию красочно и наглядно;

‣‣‣ возможность использования OLE технологии, что позволяет установить связь с объектами другого приложения или внедрить какие-либо объекты в базу данных Access;

‣‣‣ технология WYSIWIG позволяет пользователю постоянно видеть всœе результаты своих действий;

‣‣‣ широко и наглядно представлена справочная система;

‣‣‣ существует набор ʼʼмастеровʼʼ по разработке объектов, облегчающий создание таблиц, форм и отчетов.

К основным объектам Access относятся таблицы, запросы, формы, отчеты, макросы и модули.

Таблица - это объект, который определяется и используется для хранения данных. Каждая таблица включает информацию об объекте определœенного типа. Как уже известно, таблица содержит поля (столбцы) и записи (строки). Работать с таблицей можно в двух базовых режимах: в режиме конструктора и в режиме таблицы.

В режиме конструктора задается структура таблицы, ᴛ.ᴇ. определяются типы, свойства полей, их число и названия (заголовки столбцов). Он используется, в случае если нужно изменить структуру таблицы, а не хранящиеся в ней данные. В этом режиме каждая строка верхней панели окна соответствует одному из полей определяемой таблицы.

Режим таблицы используется для просмотра, добавления, изменения, простейшей сортировки или удаления данных. Чтобы перейти в режим таблицы, нужно дважды щелкнуть мышью по имени нужной таблицы в окне базы данных (или, выделив в окне БД имя нужной таблицы, воспользоваться кнопкой открытого окна БД).

Из режима конструктора перейти в режим таблицы можно, щелкнувпо кнопкетаблицы на панели инструментов.

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

Вследствие того, что в таблицах, как правило, содержится большое количество записей, размещение всœех их на экране невозможно. Поэтом) для перемещения по таблице используют полосы прокрутки, расположенные в нижней и правой части окна. Левее нижней полосы прокрутки выводится номер текущей записи и общее число записей таблицы. Для перехода к записям с нужным номером крайне важно активизировать поле Номера записи, щелкнув по нему, или нажать клавишу F5, после чего набрать на клавиатуре новый номер записи и затем нажать клавишу .

Запрос - это объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Можно создать запросы на выбор, обновление, удаление или на добавление данных. С помощью запросов можно создавать новые таблицы, используя данные уже существующих одной или нескольких таблиц.

По сути дела, запрос - это вопрос, который пользователь задает Access о хранящейся в базе данных информации. Работать с запросами можно в двухбазовыхрежимах: в режиме конструктора и в режиме таблицы.

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

Форма - это объект, в основном, предназначенный для удобного ввода отображения данных. Надо отметить, что в отличие от таблиц, з формах не содержится информации баз данных (как это может показаться на первый взгляд). Форма - это всœего лишь формат (бланк) показа данных на экране компьютера. Формы могут строиться только на базе таблиц или запросов. Построение форм на базе запросов позволяет представлять в них информацию из нескольких таблиц.

В форму бывают внедрены рисунки, диаграммы, аудио (звук) и видео (изображение).

Режимы работы с формой:

‣‣‣режим формы используется для просмотра и редактирования данных; предоставляет дружественную среду для работы с данными и удобный дизайн их представления на экране;

‣‣‣режим конструктора форм необходим, в случае если крайне важно изменить определœение

формы (структуру или шаблон формы, а не представленные в ней данные), нужно открыть форму в режиме конструктора;

‣‣‣режим таблицы позволяет увидеть таблицу, включающую всœе поля формы; чтобы переключиться в данный режим при работе с формой, нужно нажать кнопку таблицы на панели инструментов.

Отчет - это объект, предназначенный для создания документа͵ который впоследствии должна быть распечатан или включен в документ другого приложения. Отчеты, как и формы, могут создаваться на базе запросов и таблиц, но не позволяют вводить данные.

Режимы работы с отчетом:

Режим предварительного просмотра позволяет увидеть отчет таким, каким он будет воплощен при печати. Для того чтобы открыть отчет в режиме предварительного просмотра,нужно

‣‣‣ щелкнуть по вкладке Отчеты,

‣‣‣ кнопкой выбрать необходимый отчет в окне базы данных;

‣‣‣ щелкнуть по кнопке Просмотра.

Режим конструктора предназначен для изменения шаблона (структуры отчета).

Макрос - это объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить Access в ответ на определœенное событие. К примеру, можно определить макрос, который в ответ на выбор некоторого элемента в основной форме открывает другую форму. С помощью другого макроса можно осуществлять проверку значения некоторого поля при изменении его содержания. В макрос можно включить дополнительные условия для выполнения или невыполнения тех или иных включенных в него действии. Возможно также из одного макроса запустить другой макрос или функцию модуля.

Работа с формами и отчетами существенно облегчается за счёт использования макрокоманд. В MS Access имеется свыше 40 макрокоманд, которые можно включать в макросы. Макрокоманды выполняют такие действия, как открытие таблиц и форм, выполнение запросов, запуск других макросов, выбор опций из меню, изменение размеров открытых окон и т.п. Макрокоманды позволяют нажатием одной (или нескольких одновременно) кнопки выполнять комплекс действий, который часто приходится выполнять в течение работы. С их помощью можно даже осуществлять запуск приложений, поддерживающих динамический обмен данных (DDE), к примеру MS Excel, и производить обмен данными между вашей базой данных и этими приложениями. Один макрос может содержать несколько макрокоманд. Можно также задать условия выполнения отдельных макрокоманд или их набора.

Модуль - объект, содержащий программы на MS Access Basic, которые позволяют разбить процесс на более мелкие действия и обнаружить те ошибки, которые невозможно было бы найти с использованием макросов.

Язык манипулирования данными SQL - понятие и виды. Классификация и особенности категории "Язык манипулирования данными SQL" 2017, 2018.

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

База данных

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

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

Немаловажной является и взаимосвязь информации в базе данных: изменение одной строчки может привести к значительным изменениям других строк. Работать с данными таким образом гораздо проще и быстрее, чем если бы изменения касались только одного места в базе данных.

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

Система управления базами данных

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

Что касается классификации баз данных, то тут возможны различные варианты.
К примеру, можно разделить базы по модели данных : иерархические (имеют древовидную структуру), сетевые (по своей структуре похожи на иерархические), реляционные (используются для управления реляционными базами данных), объектно-ориентированные (используются для объектной модели данных) и объектно-реляционные (некое слияние реляционного и объектно-ориентированного вида баз данных).

Либо, если деление идет по тому, где размещается СУБД , их можно разделить на локальные - вся СУБД размещается на одном компьютере, и распределенные - части системы управления базами данных находятся на нескольких компьютерах.

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

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

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

Зачем же нужны эти СУБД? Помимо основной своей функции - хранения и систематизации огромного количества информации - они позволяют быстро обрабатывать клиентские запросы и выдавать свежую и актуальную информацию.

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

Реляционные СУБД и язык SQL

Реляционные и объектно-реляционные СУБД являются одними из самых распространенных систем. Они представляют собой таблицы, у которых каждый столбец (который называется “field” или «поле») упорядочен и имеет определенное уникальное название. Последовательность строк (их называют “records” или «записи») определяется последовательностью ввода информации в таблицу. При этом обрабатывание столбцов и строк может происходить в любом порядке. Таблицы с данными связаны между собой специальными отношениями, благодаря чему с данными из разных таблиц можно работать - к примеру, объединять их - при помощи одного запроса.

Для управления реляционными базами данных применяется особый язык программирования - SQL. Сокращение расшифровывается как “Structured query language”, в переводе на русский «язык структурированных запросов».

Команды, которые используются в SQL, делятся на те, которые манипулируют данными, те, которые определяют данные, и те, которые управляют данными.

Схема работы с базой данных выглядит следующим образом:


MySQL

MySQL является одной из самых популярных и распространенных СУБД, которая используется во многих компаниях (например, Facebook, Wikipedia, Twitter, LinkedIn, Alibaba и других). MySQL представляет собой реляционную СУБД, которая относится к свободному программному обеспечению: она распространяется на условиях GNU Public License. Как правило, эту систему управления базами данных определяют как хорошую, быструю и гибкую систему, рекомендованную к применению в небольших или средних проектах. У MySQL есть множество различных преимуществ. Например, она поддерживает различные типы таблиц: как известные MyISAM и InnoDB, так и более экзотичные HEAP и MERGE; кроме того, количество поддерживаемых типов постоянно растет. MySQL выполняет все команды быстро - возможно, сейчас это самая быстрая СУБД из всех существующих. С этой системой управления базами данных может одновременно работать неограниченное количество пользователей, а число строк в таблицах может быть равно 50 миллионам.

Так как в сравнении с некоторыми другими СУБД MySQL поддерживает меньшее количество возможностей, то и работать с ней значительно проще, чем, к примеру, с PostgreSQL, о которой будет рассказано ниже.

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

Для работы с MySQL используется не только текстовый, но и графический режим. Это возможно благодаря приложению phpMyAdmin: для работы в приложении вам даже не нужно будет знать SQL-команды, а администрировать свою базу данных можно прямо через браузер.

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


PostgreSQL

Эта свободно распространяемая система управления базами данных относится к объектно-реляционному типу СУБД. Как и в случае с MySQL, работа с PostgreSQL основывается на языке SQL, однако, в отличие от MySQL, PostgreSQL поддерживает стандарт SQL-2011. Эта СУБД не имеет ограничений ни по максимальному размеру базы данных, ни по максимуму записей или индексов в таблице.

Если говорить о преимуществах PostgreSQL, то, безусловно, это надежность транзакций и репликаций, возможность наследования и легкая расширяемость. PostgreSQL поддерживает различные расширения и варианты языков программирования, такие как PL/Perl, PL/Python и PL/Java. Также есть возможность загружать C-совместимые модули.

Многие отмечают, что в отличие от MySQL данная СУБД имеет хорошую и подробную документацию, которая дает ответы практически на все вопросы.

О том, что это более масштабная, чем MySQL, СУБД, говорит и тот факт, что PostgreSQL периодически сравнивают с такой мощной системой управления данных, как Oracle.

Все это позволяет говорить о PostgreSQL как об одной из самых продвинутых СУБД на данный момент.


SQLite

На данный момент это одна из самых компактных СУБД; также она является встраиваемой и реляционной. SQLite позволяет хранить все данные в одном файле и, благодаря своему небольшому объему, отличается завидным быстродействием. SQLite значительно отличается от MySQL и PostgreSQL своей структурой: движок и интерфейс этой СУБД находятся в одной библиотеке - и именно это позволяет выполнять все запросы очень быстро. Другие СУБД (MySQL, PostgreSQL, Oracle и т.д.) используют парадигму клиент-сервер, когда взаимодействие происходит через сетевой протокол.

Из недостатков можно отметить отсутствие системы пользователей и возможности увеличения производительности.

SQLite можно посоветовать к использованию в проектах, где нужно иметь возможность быстро перенести приложение, и нет необходимости в масштабируемости.


Oracle

Эта СУБД относится к объектно-реляционному типу. Название произошло от названия разработавшей эту систему фирмы Oracle. Наравне с SQL СУБД использует процедурное расширение под названием PL/SQL, а также язык Java.

Oracle - это система, отличающаяся стабильностью уже не один десяток лет, поэтому ее выбирают крупные корпорации, для которых важна надежность восстановления после сбоев, отлаженная процедура бэкапа, возможность масштабирования и другие ценные возможности. К тому же эта СУБД обеспечивает отличную безопасность и эффектную защиту данных.

В отличие от других СУБД, стоимость покупки и использования Oracle достаточно высока, и именно это зачастую является значимым препятствием к ее использованию в небольших фирмах. Вероятно, именно это также является причиной того, что в рейтинге СУБД на 2016 год в России Oracle находится лишь на 6-м месте.



MongoDB

Эта СУБД отличается тем, что она предназначена для хранения иерархических структур данных, и поэтому ее называют документоориентированной (она представляет собой документное хранилище без использования таблиц или схем). MongoDB имеет открытый исходный код.

Используя идентификатор, вы можете производить быстрые операции над объектом; эта СУБД хорошо показывает себя и при сложных взаимодействиях. В первую очередь речь идет о быстродействии - в некоторых случаях приложение, написанное на MongoDB, будет работать быстрее, чем такое же приложение, использующее SQL, т.к. MongoDB относится к классу СУБД NoSQL и вместо SQL пользуется объектным языком запросов, который значительно легче SQL.

Однако этот язык имеет и свои ограничения, а поэтому MongoDB следует использовать в случаях, когда нет необходимости в сложных и нетривиальных выборках.

Вместо заключения

Выбор СУБД - это важный момент при создании своего ресурса. Отталкивайтесь от своих задач и возможностей, пробуйте и экспериментируйте, чтобы найти именно тот вариант, который будет наиболее подходящим.

1.2.1. Введение в MySql

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

Рисунок 1.2.1.1 – Схема передачи данных в архитектуре "клиент/сервер"

СУБД управляет одной или несколькими базами данных. База данных представляет собой совокупность информации, организованной в виде множеств. Каждое множество содержит записи унифицированного вида. Сами записи состоят из полей. Обычно множества называют таблицами, а записи - строками таблиц.

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

Строки таблиц могут быть связаны друг с другом одним из трех способов. Простейшее отношение - "один к одному". В этом случае строка первой таблицы соответствует одной единственной строке второй таблицы. На диаграммах такое отношение выражается записью 1:1.

Отношение "один ко многим" означает ситуацию, когда строка одной таблицы соответствует нескольким строкам другой таблицы. Это наиболее распространенный тип отношений. На диаграммах он выражается записью 1:N.

Наконец, при отношении "многие ко многим" строки первой таблицы могут быть связаны с произвольным числом строк во второй таблице. Такое отношение записывается как N:M.

Программист, работающий с базой данных, не заботится о том, как эти данные хранятся, и приложения, взаимодействующие с СУБД, не знают о способе записи данных на диск. "Снаружи" виден лишь логический образ данных, и это позволяет менять код СУБД, не затрагивая код самих приложений.

Подобная обработка данных осуществляется посредством языка четвертого поколения (4GL), который поддерживает запросы, записываемые и исполняемые немедленно. Данные быстро утрачивают свою актуальность, поэтому скорость доступа к ним важна. Кроме того, программист должен иметь возможность формулировать новые запросы. Они называются нерегламентированными (ad hoc), поскольку не хранятся в самой базе данных и служат узкоспециализированным целям.

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

Схема предназначена для контроля целостности данных. Если, к примеру, объявлено, что поле содержит целочисленные значения, то СУБД откажется записывать в него числа с плавающей запятой или строки. Отношения между записями тоже четко контролируются, и несогласованные данные не допускаются. Операции можно группировать в транзакции, выполняемые по принципу "все или ничего".

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

СУБД поддерживает параллельный доступ к базе данных. Приложения могут обращаться к базе данных одновременно, что повышает общую производительность системы. Кроме того, отдельные операции могут "распараллеливаться" для еще большего улучшения производительности.

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

Основные характеристики MySQL

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

Клиентские программы могут работать не только в режиме командной строки. Есть и графические клиенты, например MySQL GUI, PhpMyAdmin и др. Но они – тема отдельного курса.

MySQL взаимодействует с базой данных на языке, называемом SQL (Structured Query Language - язык структурированных запросов).

SQL предназначен для манипуляции данными, которые хранятся в Системах управления реляционными базами данных (RDBMS). SQL имеет команды, с помощью которых данные можно извлекать, сортировать, обновлять, удалять и добавлять. Стандарты языка SQL определяет ANSI (American National Standards Institute). В настоящее время действует стандарт, принятый в 2003 году (SQL-3).

SQL можно использовать с такими RDBMS как MySQL, mSQL, PostgreSQL, Oracle, Microsoft SQL Server, Access, Sybase, Ingres. Эти системы RDBMS поддерживают все важные и общепринятые операторы SQL, однако каждая из них имеет множество своих собственных патентованных операторов и расширений.

SQL является общим языком запросов для нескольких баз данных различных типов. Данный курс рассматривает систему MySQL, которая является RDBMS c открытым исходным кодом, доступной для загрузки на сайте MySQL.com.

Вот как характеризуют MySQL её разработчики.

MySQL - это система управления базами данных.

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

MySQL - это система управления реляционными базами данных.

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

Программное обеспечение MySQL - это ПО с открытым кодом.

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

Технические возможности СУБД MySQL

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

Безопасность

Система безопасности основана на привилегиях и паролях с возможностью верификации с удаленного компьютера, за счет чего обеспечивается гибкость и безопасность. Пароли при передаче по сети при соединении с сервером шифруются. Клиенты могут соединяться с MySQL, используя сокеты TCP/IP, сокеты Unix или именованные каналы (named pipes, под NT)

Вместимость данных

Начиная с MySQL версии 3.23, где используется новый тип таблиц, максимальный размер таблицы доведен до 8 миллионов терабайт (2 63 bytes). Однако следует заметить, что операционные системы имеют свои собственные ограничения по размерам файлов. Ниже приведено несколько примеров:

32-разрядная Linux-Intel – размер таблицы 4 Гб.

Solaris 2.7 Intel - 4 Гб

Solaris 2.7 UltraSPARC - 512 Гб

WindowsXP - 4 Гб

Как можно видеть, размер таблицы в базе данных MySQL обычно лимитируется операционной системой. По умолчанию MySQL-таблицы имеют максимальный размер около 4 Гб. Для любой таблицы можно проверить/определить ее максимальный размер с помощью команд SHOW TABLE STATUS или myisamchk -dv table_name. Если большая таблица предназначена только для чтения, можно воспользоваться myisampack, чтобы слить несколько таблиц в одну и сжать ее. Обычно myisampack ужимает таблицу по крайней мере на 50%, поэтому в результате можно получить очень большие таблицы.

От автора: недавно в мой монитор прилетел «очередной» булыжник. Один «умник» все допытывал меня, почему я пишу о СУБД MySQL? Мол, есть много других стоящих систем управления базами, также построенных на реляционной теории, имеющие архитектуру «клиент-сервер»… Я ему ответил, что все они «стоящие», а MySQL бесплатна. Но потом стало обидно «за державу»! Неужели это единственное достоинство любимой СУБД?

Немного нужной теории

Перед тем, как начать доказывать, что MySQL на самом деле заслуживает звания «всея интернетной» СУБД, давайте немного покопаем за пределами своей песочницы. Рассмотрим, как система управления БД работает с другими компонентами Сети и ОС на клиентской стороне. Это даст нам более четкое понимание ее особенностей во время сравнения MySQL с другими СУБД.

Любая современная реляционная система управления базами представляет собой серверное приложение, которое работает в операционной системе. Это значит, что СУБД построена на основе модели «клиент-сервер».

MySQL (или другая система управления) инсталлирована в ОС компьютера как приложение, но «общается» со всеми как сервер. В том числе и с программным обеспечением, установленным на этой же машине.

Для получения данных сервер БД использует TCP порт под номером 3306. Этот параметр требуется указывать при установке соединения и работе с MySQL через различные программные оболочки. Например, MySQL Administrator.

Через этот порт СУБД MySQL сервер ведет диалог со всеми клиентскими приложениями. Например, с phpMyAdmin, созданной вами на PHP программой и другими. Тут стоит немножко «притормозить» и объяснить, что такое порт TCP. Немного не в тему, но полезно для лучшего восприятия общей картины.

Любой порт нумеруется целым числом (1- 65535). Его номер указывается в заголовке каждого пакета, пересылаемого через Сеть (в том числе и локальную). Номер порта устанавливается клиентской стороной, и в дальнейшем используется для принятия и отправки всех данных между клиентом и сервером.

TCP является надстройкой над IP. Транспортный протокол TCP (transmission control protocol) работает на IP, и в отличие от него обеспечивает бесперебойный обмен данных. В случае отсутствия подтверждения от клиента об успешном получении информации (на этапе соединения с СУБД MySQL) пересылает пакет еще раз. Проще говоря, TCP управляет распределением полученных данных между приложениями (на клиенте) и отвечает за доставку отправленных пакетов. Все это я рассказываю к тому, чтобы вы лучше понимали принципы работы любой из современных СУБД.

Как я уже отметил, особенностью СУБД MySQL является то, что по умолчанию она использует порт 3306. Через него экземпляр сервера получает всю информацию от приложений. При этом «общение» происходит на языке структурированных запросов (SQL). После получения запроса сервер БД обрабатывает его (интерпретирует), и пересылает результаты выполнения клиентскому приложению.

Почему MySQL

Немного теории мы с вами почерпнули. Теперь докажем обоснованность выбора СУБД MySQL как главной во всемирной паутине. То есть, какие ее особенности поспособствовали тому, что она получила глобальное распространение в интернете.

Бесплатность – СУБД распространяется ее владельцем (корпорацией Oracle) под «Универсальной общественной лицензией» или «General Public License» (GNU), которой «снабжаются» все open-source ПО.

Благодаря этому она дала начало многим другим бесплатным популярным продуктам. Получается, что в возможности СУБД MySQL можно смело добавить «содействие» в развитии других интернет-платформ.

Высокая скорость обработки данных – мало кто знает, но первоначально СУБД создавалась для обработки огромных массивов информации в промышленных масштабах. И лишь потом из-за ее доступности и быстродействия MySQL «оккупировала» всемирную паутину.

Понятно, что существуют другие системы управления БД, и тоже бесплатные. Взять хотя бы PostgreSql. Но в отличие от MySQL эта платформа не отличается высокой скоростью обработки данных. Именно эта характеристика позволила «дельфину» заполонить весь интернет. И без указания данного факта СУБД MySQL описание было бы неполным.

Поддержка SQL – является еще одной важной «чертой» системы. Это обеспечивает высокий уровень кроссплатформенности данных и кода, созданных с помощью MySQL. Благодаря чему вы можете спокойно перенести БД в любую другую современную СУБД, также поддерживающую язык структурированных запросов. А весь сохраненный код (хранимые процедуры, триггеры и запросы) можно применять на любой из этих платформ. Теперь можно смело сказать о СУБД MySQL, что это удобно.

Входит в состав другого ПО – чаще всего «дельфин» применяется не в качестве самостоятельной платформы, а как составляющая других программных продуктов. Например, такие CMS, как WordPress, Joomla и другие.

Используется в связке с PHP – вместе с этим серверным языком программирования СУБД стала главным строительным материалом для всемирной паутины. Большая часть всех ресурсов интернета построена на основе PHP и MySQL.

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

Хэширование паролей – обеспечивает высокий уровень «противовзломности». Именно поэтому в MySQL восстановить пароль root очень сложно. Так что лучше не забывать его.

Я намеренно не стал сильно залазить в «дебри» технических описаний MySQL. Для этого нам бы потребовалось еще десять таких статей . Надеюсь, я убедил вас, что данная СУБД является пока самым оптимальным вариантом. Главным доказательством этого является факт использования СУБД MySQL в качестве главного стройматериала Сети. И с этим не поспоришь!

Курс предназначен для базовой подготовки администраторов сайтов, созданных на "1С-Битрикс: Управление сайтом" . Изучив курс, вы освоите основные методы администрирования системы, а также пополните знания по темам, изученным в курсе Контент-менеджер .

Если вы добросовестно изучите курс, то научитесь:

  • управлять доступом к системе, сайтами, пользователями, группами пользователей;
  • работать с инструментами системы;
  • использовать возможности интерфейса по управлению системой;
  • работать с модулями "1С-Битрикс: Управление сайтом", связанными с оптимизацией и безопасностью работы сайта;
  • выполнять работу по конфигурированию веб-системы для оптимальной работы.

Если вам предстоит самостоятельная установка системы или перенос сайта на хостинг, то без курса Установка и настройка Курс Установка и настройка предназначен для специалистов устанавливающих "1С-Битрикс: Управление сайтом" или "Битрикс24 в коробке".

Как проходить учебный курс?