Система управления базами данных (СУБД) — это отдельная программа, которая работает как сервер, независимо от PHP.
Создавать свои базы данных, таблицы и наполнять их данными можно прямо из этой же программы, но для выполнения этих операций прежде придётся познакомиться с ещё одним языком программирования — SQL.
SQL или Structured Query Language (язык структурированных запросов) — язык программирования, предназначенный для управления данными в СУБД. Все современные СУБД поддерживают SQL.
На языке SQL выражаются все действия, которые можно провести с данными: от записи и чтения данных, до администрирования самого сервера СУБД. Для повседневной работы совсем не обязательно знать весь этот язык; достаточно ознакомиться лишь с основными понятиями синтаксиса и ключевыми словами.
Кроме того, SQL очень простой язык по своей структуре, поэтому его освоение не составит большого труда.
Язык SQL — это в первую очередь язык запросов, а кроме того он очень похож на естественный язык. Каждый раз, когда требуется прочитать или записать любую информацию в БД, требуется составить корректный запрос. Такой запрос должен быть выражен в терминах SQL.
Что умеет программа «МЕДУЧЕТ SQL»?
Например, чтобы вывести на экран все записи из таблицы города , составим такой запрос:
ПРОЧИТАТЬ всё ИЗ ТАБЛИЦЫ ‘города’
Если перевести этот запрос на язык SQL, то корректным результатом будет:
SELECT * FROM ‘cities’
Теперь напишем запрос на добавление в таблицу города нового города:
ВСТАВЬ В ТАБЛИЦУ ‘города’ ЗНАЧЕНИЯ ‘имя города’ = ‘Санкт-Петербург’
INSERT INTO ‘cities’ SET ‘name’ = ‘Санкт-Петербург’
Эта команда создаст в таблице города новую запись, где полю имя города будет присвоено значение Санкт-Петербург .
С помощью SQL можно не только добавлять и читать данные, но и:
- удалять и обновлять записи в таблицах;
- создавать и редактировать сами таблицы;
- производить операции над данными: считать сумму, получать самое большое или малое значение, и так далее;
- настраивать работу сервера СУБД.
MySQL
Существует множество различных реляционных СУБД. Самая известная СУБД — это Microsoft Access, входящая в состав офисного пакета приложений Microsoft Office. Нет никаких препятствий для использования в качестве СУБД MS Access, но для задач веб-программирования гораздо лучше подходит альтернативная программа — MySQL.
В отличие от MS Access, MySQL абсолютно бесплатна, может работать на серверах с Linux, обладает гораздо большей производительностью и безопасностью, что делает её идеальным кандидатом на роль базы данных в веб-разработке.
Подавляющее большинство сайтов и приложений на PHP используют в качестве СУБД именно MySQL.
Установка
Последняя версия MySQL доступна для загрузки по ссылке: https://dev.mysql.com/downloads/mysql/. На этой странице следует выбрать MySQL Installer for Windows и нажать на кнопку Download для загрузки.
В процессе установки запомните директорию, куда вы устанавливаете MySQL (скрывается под ссылкой Advanced options). На шаге Accounts and Roles установщик попросит придумать пароль для доступа к БД (MySQL Root Password) — обязательно запомните или запишите этот пароль — он вам ещё понадобится.
SQL за 13 минут
Если для своей работы вы используете программную среду OpenServer, то этот раздел можно смело пропустить, так как в состав OpenServer уже входит свежая версия MySQL.
Выполнение запросов
По умолчанию, если вы не устанавливали дополнительные программы, у MySQL нет графического интерфейса пользователя. Это значит, что единственный способ работы с ней — это использование командной строки.
- Откройте командную строку (Выполнить — cmd.exe ).
- Перейдите в каталог с установленной MySQL: cd /d /bin .
- Выполните: mysql -uroot -p .
- Введите пароль, заданный при установке.
Если вы всё выполнили верно, то в командной строке запустится клиент для работы с MySQL (вы поймете это по строке приглашения «mysql>»). С этого момента можно вводить любые SQL запросы, но каждый запрос обязательно должен заканчиваться точкой с запятой ; .
Оператор SQL create database: создание новой базы данных
Приступим к практике — начнём создавать базу данных для ведения погодного дневника.
Начать следует с создания новой базы данных для нашего сайта. Новая БД в MySQL создаётся простой командой:
CREATE DATABASE
После этого MySQL создаст для нас новую БД, в которой будет происходить вся дальнейшая работа. Это важно: после создания БД её невозможно будет переименовать, а только удалить и создать заново. По этой причине крайне внимательно подойдите к выбору имени для базы данных.
create table
Зачем нужен:создание таблиц
Создав новую БД, сообщим MySQL, что теперь мы собираемся работать именно с ней. Выбор активной БД выполняется командой:
Пришло время создать первые таблицы! Для ведения дневника по всем правилам, понадобится создать три таблицы: города ( cities ), пользователи ( users ) и записи о погоде weather_log . В подразделе «Запись» этой главы описано, как должна выглядеть структура таблицы weather_log . Переведём это описание на язык SQL:
CREATE TABLE weather_log ( id INT AUTO_INCREMENT PRIMARY KEY, city_id INT, day DATE, temperature INT, cloud TINYINT DEFAULT 0 );
Чтобы ввести многострочную команду в командной строке используйте символ в конце каждой строки, кроме последней.
Теперь создадим таблицу городов:
CREATE TABLE cities ( id INT AUTO_INCREMENT PRIMARY KEY, name CHAR(128) )
MySQL может показать созданную таблицу, если попросить об этом командой:
SHOW COLUMNS FROM weather_log
В ответе будут перечислены все поля таблицы, их тип и другие характеристики.
Что такое первичный ключ
В примере с созданием новой таблицы при перечислении необходимых полей первым полем идёт id INT AUTO_INCREMENT PRIMARY KEY . Это поле называется первичным ключом. Обязательно создавать первичный ключ в каждой таблице.
Первичный ключ — это особенное поле, в котором сохраняется уникальный идентификатор записи.
Первичный ключ нужен, чтобы у программиста и базы данных всегда была возможность однозначно обратиться к одной конкретной записи для её чтения, обновления или удаления. Если назначить поле первичным ключом, то БД будет следить за тем, чтобы значение в этом поле больше не повторялось в таблице.
А если ещё и добавить аттрибут AUTO_INCREMENT , то MySQL при добавлении новых записей будет заполнять это поле сама. AUTO_INCREMENT будет играть роль счётчика — каждая новая запись в таблице получит значение на единицу больше максимального существующего значения.
insert into
Зачем нужен: добавление записи в таблицу
Начнём с добавления новых данных в таблицу. Для добавления записи используется следующий синтаксис:
insert into set = , = .
В начале добавим город в таблицу городов:
insert into cities set name = ‘Санкт-Петербург’
При добавлении записи необязательно указывать значения для всех полей. Многие из полей имеют значения по умолчанию, которые сами заполняются при сохранении.
Теперь создадим запись о погоде за сегодня.
При определении таблицы weather_log мы решили ссылаться на город, путём записи в поле city_id идентификатора города из таблицы cities. Так как мы только что добавили новый город, ничего не мешает использовать его идентификатор в записи о погоде.
Идентификатором города будет первичный ключ, который также был определён в качестве первого поля таблицы. Нумерация этого поля начинается с единицы, значит первая добавленная запись имеет идентификатор 1 . Зная это, запрос на добавление записи о погоде в Санкт-Петербурге за третье сентября 2017 года выглядит так:
INSERT INTO weather_log SET city_id = 1, day = ‘2017-09-03’, temperature = 5, cloud = 1;
select. Чтение информации из БД
Для вывода информации из БД используются запросы типа SELECT .
В запросе нужно указать имя таблицы, необходимые поля, а также дополнительные параметры (будут рассмотрены в следующем уроке).
SELECT FROM
Например, чтобы получить список всех доступных городов:
SELECT id, name FROM cities
Все погодные записи:
SELECT id, day, city_id, temperature, cloud FROM weather_log
Вместо перечисления всех столбцов можно использовать знак звездочки — * .
Оператор update: обновление информации в БД
При добавлении записи очень легко совершить ошибку: сделать опечатку, не указать значение для одного из полей, и так далее. Естественно, язык SQL предлагает возможности для редактирования уже созданных записей.
Предположим, что при добавлении погодной записи пользователь ошибся и ввёл неверную дату. Чтобы исправить эту ошибку, нужно использовать оператор обновления — UPDATE . Запрос с этим оператором позволяет обновить значение одного или нескольких полей в существующей записи. Выглядит он так:
UPDATE SET = , = . WHERE =
Но чтобы правильно составить запрос, необходимо определить условие для поиска записи, которую предлагается обновить. В противном случае, если не указать это условие, то будут обновлены абсолютно все записи в таблице.
В качестве такого условия лучше всего использовать первичный идентификатор записи. Поэтому, прежде чем выполнять запрос обновления, нужно выполнить запрос на чтение информации из таблицы, чтобы узнать, под каким идентификатором сохранилась ошибочная запись. Допустим, этот идентификатор — единица, а правильная дата — седьмое декабря 2022 года.
Запрос на обновление:
UPDATE weather_log SET day = ‘2022-12-07’ WHERE join: объединение записей из двух таблиц
В нашей таблице для хранения погодного дневника город сохраняется как идентификатор, поэтому при обычном чтении данных из этой таблицы вместо названия города стоит непонятное число. Чтобы подставить на место числа действительное значение, а конкретнее — название города, в SQL существуют операторы объединения — JOIN . Поддержка операторов объединения и позволяет базе данных называться реляционной.
Поменяем запрос на показ погодных записей, чтобы он объединял две таблицы, а в поле города показывалось его название, а не идентификатор:
SELECT day, cities.name, temperature, cloud FROM weather_log JOIN cities ON weather_log.city_id = cities.id
Важно усвоить три самых главных момента:
- При чтении из объединённых таблиц, в перечислении полей после SELECT нужно явно указывать в поле имени также имя таблицы, с которой производится объединение.
- Всегда есть основная таблица (тб1), из которой читается большинство полей, и присоединяемая (тб2), имя которой определяется после оператора JOIN.
- Помимо указания имени второй таблицы, обязательно следует указать условие, по которому будет происходить объединение. В этом примере таким условием будет соответствие идентификатора города из тб1 ( weather_log.city_id ) первичному ключу города из тб2 ( cities.id ).
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Источник: htmlacademy.ru
Microsoft SQL: что это такое и зачем он нужен?
Microsoft SQL — популярная и мощная система управления базами данных (СУБД), разработанная компанией Microsoft. В данной статье мы подробно разберем, что такое Microsoft SQL, для чего он используется, и как его можно применить для решения различных задач.
- 1 Что такое Microsoft SQL?
- 2 Основные возможности Microsoft SQL
- 3 Microsoft SQL Server: основные компоненты
- 4 Использование Microsoft SQL в различных сферах
- 5 Установка и настройка Microsoft SQL Server
- 6 Преимущества и недостатки Microsoft SQL
- 7 Вопросы и ответы
Что такое Microsoft SQL?
Microsoft SQL (Structured Query Language) — это язык структурированных запросов, используемый для управления и работы с базами данных. Он позволяет создавать, изменять и удалять таблицы, а также выполнять запросы к данным. Microsoft SQL Server является одним из самых популярных продуктов, использующих язык SQL для управления базами данных.
Основные возможности Microsoft SQL
Microsoft SQL предлагает множество функций и возможностей для работы с базами данных:
- Создание и модификация таблиц, индексов, ограничений и триггеров
- Выполнение запросов для выборки, добавления, изменения и удаления данных
- Управление транзакциями и контроль доступа к данным
- Оптимизация запросов и производительности баз данных
- Работа с хранимыми процедурами и функциями
- Интеграция с другими продуктами Microsoft и сторонними приложениями
Хотите разобраться подробнее – приходите на бесплатный курс
Microsoft SQL Server: основные компоненты
Microsoft SQL Server состоит из нескольких ключевых компонентов:
- Database Engine: ядро системы, отвечающее за обработку запросов, выполнение транзакций и хранение данных
- SQL Server Management Studio (SSMS): инструмент для администрирования и управления базами данных
- Reporting Services: компонент для создания, публикации и управления отчетами
- Integration Services: инструмент для интеграции данных из различных источников и преобразования данных
- Analysis Services: компонент для анализа данных и создания OLAP-кубов
Использование Microsoft SQL в различных сферах
Microsoft SQL Server используется во множестве отраслей и сфер деятельности, таких как:
- Финансы
- Розничная торговля
- Здравоохранение
- Образование
- Телекоммуникации
- Производство
- Транспорт
- Государственное управление
Хотите разобраться подробнее – приходите на бесплатный курс
Установка и настройка Microsoft SQL Server
Для установки Microsoft SQL Server необходимо выполнить следующие шаги:
- Загрузите установочный пакет с официального сайта Microsoft
- Запустите установщик и следуйте инструкциям на экране
- Выберите компоненты для установки и определите параметры конфигурации
- Завершите установку и перезагрузите компьютер при необходимости
После установки SQL Server можно настроить параметры, такие как:
- Конфигурация памяти
- Контроль доступа и разрешений пользователей
- Базы данных и пути хранения файлов
- Резервное копирование и восстановление данных
- Мониторинг производительности и оптимизация запросов
Хотите разобраться подробнее – приходите на бесплатный курс
Преимущества и недостатки Microsoft SQL
Преимущества Microsoft SQL Server включают:
- Широкий функционал для управления и анализа данных
- Интеграция с другими продуктами Microsoft и сторонними приложениями
- Высокая производительность и масштабируемость
- Богатые возможности для настройки и оптимизации
- Поддержка разработчиками и большое сообщество пользователей
Однако существуют и некоторые недостатки:
- Высокая стоимость лицензий и поддержки для коммерческого использования
- Сложность в освоении и администрировании для начинающих пользователей
- Зависимость от операционной системы Windows
Вопросы и ответы
Q: Какие альтернативы существуют для Microsoft SQL Server? A: На рынке СУБД доступны альтернативы, такие как Oracle Database, MySQL, PostgreSQL, и IBM Db2.
Q: Чем отличается Microsoft SQL от других языков SQL? A: Microsoft SQL имеет ряд расширений и специфических функций, которые оптимизированы для работы с продуктами Microsoft, такими как интеграция с .NET Framework и использование Transact-SQL (T-SQL) для написания хранимых процедур и функций.
Q: Можно ли использовать Microsoft SQL Server на операционных системах, отличных от Windows? A: Да, начиная с версии SQL Server 2017, Microsoft предоставляет поддержку для Linux и Docker-контейнеров. Однако функциональность может быть ограничена по сравнению с версией для Windows.
Хотите разобраться подробнее – приходите на бесплатный курс
Q: Как обеспечить безопасность данных в Microsoft SQL Server? A: Для обеспечения безопасности данных в Microsoft SQL Server следует использовать следующие меры:
- Ограничение доступа к данным с использованием ролей и разрешений
- Шифрование данных при хранении и передаче
- Регулярное резервное копирование и тестирование процедур восстановления
- Мониторинг активности пользователей и аудит системы
- Обновление программного обеспечения и операционной системы для устранения уязвимостей
Microsoft SQL Server является мощным и гибким инструментом для работы с базами данных, который обладает широким функционалом и может использоваться в различных сферах деятельности. Он предлагает интеграцию с другими продуктами Microsoft, высокую производительность и возможности оптимизации, но также имеет свои недостатки, такие как высокая стоимость лицензий и сложность для начинающих пользователей. В целом, Microsoft SQL Server является отличным выбором для организаций и профессионалов, которые требуют надежной и масштабируемой системы управления базами данных.
Источник: gitjournal.tech
Язык SQL: что это такое и зачем его учить в 2023 году
Международная исследовательская компания IDC и крупнейший конгломерат Hitachi в прошлом году проводили исследование по аналитике данных. Оказалось, что 78% российских компаний постоянно обращаются к аналитике больших данных и более половины из этих фирм выделили бюджет на ближайший год под интеграцию аналитических решений и выделение отдельных новых рабочих мест. Востребованность специалистов со знанием SQL подтверждает и hh.ru, на котором открыто более 11 тысяч вакансий с упоминанием SQL.
Знание языка SQL позволит вам повысить свою ценность на рынке труда и освоить новые профессиональные горизонты. В этой статье расскажем, как использовать SQL, что такое СУБД и как в короткие сроки освоить язык запросов.
Содержание статьи скрыть
Что такое SQL
Весь мир ежесекундно генерирует огромное количество цифровой информации: денежные переводы, новости, лайки, сообщения в мессенджерах, поисковые запросы и др. Все эти данные рано или поздно пригодятся аналитикам, маркетологам, разработчикам, программистам и др. Быстро превратить рандомные цифры и слова в полезные сведения позволяет язык запросов SQL.
Прежде чем углубляться в терминологию SQL, приведём один пример. Представьте большую таблицу, в которой есть информация обо всех ресторанах и кафе в городе, готовящих суши и роллы. Из неё можно узнать адреса заведений, ассортимент, прайс на конкретную продукцию, наличие и стоимость доставки, состав блюд и др.
Предположим, вам необходимо понять, какие кафе и рестораны готовят роллы «Филадельфия» и доставляют круглосуточно. Вы можете потратить несколько дней, чтобы вручную сверить все данные и найти правильный, ответ либо составить корректный SQL-запрос и за пару минут узнать, в каких заведениях можно в любое время заказать «Филадельфию».
Подобные цифровые таблицы, где все данные структурированы по определённым типам так, чтобы легче было оперировать информацией, называются базами данных. А SQL — это язык запросов, который помогает находить нужную информацию в конкретной базе данных.
Ежедневные советы от диджитал-наставника Checkroi прямо в твоем телеграме!
Подписывайся на канал
Подписаться
Особенности SQL
В первую очередь SQL необходим для описания и сохранения данных, а также для их извлечения из базы, интерпретации и обработки. Многие ошибочно считают, что SQL— это один из языков программирования наравне с C#, JavaScript или Python, но это не совсем так. Если быть точными, SQL — это непроцедурный язык программирования, то есть с его помощью вы не создадите приложение, не разработаете игру и не соберёте сайт. SQL взаимодействуют только с базами данных, поэтому во всём мире его называют не языком программирования, а языком запросов.
Где используется SQL
Вы уже поняли, что язык SQL — это удобный инструмент для поиска важной информации среди большого объёма данных. Теперь разберёмся со сферами применения языка SQL: в основном это аналитика, маркетинг, разработка, программирование и управление проектами и компаниями.
Вот какие специалисты облегчают свою работу через SQL:
- аналитики — это довольно большая категория людей, в которую входят аналитики данных, бизнес-аналитики, системные аналитики, финансовые аналитики и др. Цели, задачи и итоговый результат у них разные, но все эти специалисты работают с большими массивами данных: запрашивают, обрабатывают, изучают и интерпретируют информацию. Их работа невозможна без знания SQL;
- д ата-сайе нтисты — эти специалисты тоже работают с большими данными. Они ищут связи и закономерности, чтобы создать модель или алгоритм, которые помогут спрогнозировать события и предсказать результат. Для поиска и анализа данных они используют не только SQL, но и математические алгоритмы;
- маркетологи — если маркетологи умеют корректно составлять SQL-запросы и направлять их в базу данных, им будет проще проводить исследования и принимать решения при разработке маркетинговых стратегий;
- разработчики — знание SQL позволяет таким специалистам создавать и внедрять новые базы данных, а также использовать язык запросов для разработки веб-сайтов, игр и приложений;
- тестировщики — используют SQL для создания автоматизированных модульных тестов, которые проверяют правильность работы базы данных;
- руководители — могут применять SQL, чтобы без сторонней помощи обращаться к базе данных и таким образом получать данные о работе отдела или целой компании и контролировать положение дел.
В упрощённом виде именно по такой схеме и работает специалист, знающий SQL, с базой данных
Как устроена база данных
В зависимости от того, какие данные нужно хранить и как с ними работать, все базы данных принято делить на реляционные и нереляционные. При этом нереляционные, в свою очередь, делятся на сетевые и иерархические. Проще всего их различия показать на схеме.
Схематический способ упорядочивания информации в различных типах баз данных
SQL-запросы составляют для реляционных баз данных. Иначе эти базы называют табличными, все данные в них представлены в виде разных таблиц, которые связаны друг с другом.
В реляционной базе данных есть несколько важных понятий, расскажем о них подробнее:
- отношение — так называют одну из таблиц, состоящую из строк и столбцов;
- атрибут — уникальный параметр группы объектов. В нашем примере про кафе, в которых готовят роллы «Филадельфия», атрибутами будут: название заведения, адрес, график работы и др. Если мы имеем дело с реляционной базой данных, атрибуты будут сохраняться в отдельном поле каждого столбца;
- домен — у любого атрибута есть свои допустимые значения. Так, в столбце «Название» все данные будут записаны только буквенными символами, а столбце «График работы» — цифровыми;
- кортеж — так называют строку с определённым порядковым номером, в которой можно найти все данные об одном конкретном объекте, в нашем случае об одном кафе или ресторане;
- значение — данные, содержащиеся в одной конкретной ячейке, которая находится на пересечении строк и столбцов;
- ключ — так обозначают столбец, в котором сохраняется уникальный идентификатор записи. Именно ключ позволяет обращаться к одной конкретной записи для её чтения, обновления или удаления. Также ключи связывают несколько таблиц.
Показываем на схеме, где искать те или иные понятия в реляционной базе данных
SQL-операторы: зачем нужны и какие бывают
В языке запросов есть своеобразные помощники — SQL-операторы. Это не люди, как может показаться из названия, а слова и символы, которые выполняют конкретные действия. В зависимости от решаемых задач и итогового результата операторы в SQL делятся на несколько видов — расскажем о каждом далее.
Data Definition Language
Операторы определения данных, в сокращении DDL, работают с целыми таблицами. Такие операторы могу добавить новую таблицу, внести изменения в существующую или удалить ненужную.
Набор команд для операторов определения данных: без этих команд невозможна одновременная работа с несколькими таблицами в базе данных
Data Manipulation Language
Операторы манипуляции данными, или сокращённо DML, работают со строками, атрибутами и значениями. Например, такой оператор поможет изменить адрес, если одно из заведений в нашей таблице сменит локацию.
Основные команды и их значения для операторов манипуляции данных. Если нашли ошибку в таблице, смело используйте команды «DELETE» и «UPDATE» для стирания и замены информации
Data Control Language
Оператор определения доступа к данным, или DCL, помогают открывать, изменять или отзывать пользовательский доступ к базе данных.
Команды для операторов определения доступа к данным позволяют одновременно работать над одной таблицей в базе данных сразу нескольким пользователям. Подобный принцип совместной работы реализован в Google Docs
Transaction Control Language
Язык управления транзакциями, или TCL, — это набор команд, которые выполняются друг за другом и позволяют контролировать обработку транзакций в базе данных. Транзакция считается успешной, когда все команды выполнены.
Чтобы понять суть транзакции, представьте, как вы онлайн оплачиваете заказанные роллы «Филадельфия». На странице оплаты вы введёте данные своей банковской карты, затем проверите их правильность, подтвердите операцию и введёте одноразовый код.
Если на каком-то из этих этапов вы передумаете оплачивать заказ — произойдёт откат транзакции. Тогда TCL заметит это и откатит транзакцию, убрав ранее совершённые операции из базы данных. А если пользователь не передумает оплачивать, TCL зафиксирует в базе все успешно выполненные команды.
Именно эти команды позволяют управлять транзакциями в базе данных
Что такое СУБД
Введём ещё один важный для этой темы термин — СУБД. Если база данных — это набор слов и чисел, организованных определённым способом, то системы управления базой данных или СУБД — это совокупность программ и инструментов, которые позволяют этой базой данных управлять.
СУБД помогает создавать новые таблицы, удалять и заменять неправильную информацию, настраивать ключи и обрабатывать запросы. Существует большое количество разных СУБД — такие системы создают и крупные технологические гиганты вроде Google или Microsoft, и небольшие IT-компании.
Выделяют два вида СУБД:
- коммерческие — с такими системами нужно работать по подписке;
- общедоступные — иначе их называют системы с открытым кодом, такой инструмент можно бесплатно использовать в любых проектах.
Выбор определённого вида СУБД зависит от конкретных целей компании. Крупные корпорации, работающие с масштабными проектами обычно используют коммерческие системы, а рядовые пользователи или небольшие фирмы — общедоступные СУБД.