Работой с базами данных занимается большая часть написанных программ. Мы расскажем вам, что такое реляционные базы данных. Как работает SQL? Зачем нужен этот язык запросов, а так же какие существуют базы SQL?
Разберемся с терминологией
Что такое база данных? По сути, это некий контейнер содержащий в себе ту или иную информацию. Простой пример телефонный справочник. Справочник – база, телефонные номера – данные.
Для того чтобы управлять и работать с этими данными существуют системы управлениями базы данных или сокращенно субд.
Сам же SQL – это формальный язык программирования применяемый для создания модификации управления данных в базах данных для работы.
Представление или вьюха – объект БД, которые есть результатом выполнения запроса.
SQL stuff – функция, позволяющая удалять последовательность символов из исходной строки и затем вставлять другую последовательность.
Для удобства работы с информацией ее нужно каким-либо образом структурировать. Что она из себя представляет? Это могут быть, например, числа, текст, картинки, видео. Необходимо описать взаимосвязи между данными, необходимо определить методы работы с этими данными, необходимо определить, как одни данные соотносится с другими. Все это называется логической моделью данных.
Логические модели
Существует несколько видов логических моделей.
Например, один из видов это иерархической модель. Мы можем вспомнить, как в операционной системе Windows устроенны папки и каталог. Например, у нас есть родительская папка, в ней могут быть подпапки, в каждой из этих подпапок могут быть еще папки, в них файлы и так далее. То есть это дерево, в которой наблюдается некоторая иерархия данных.
Большую часть СУБД для программиста базы данных изнутри составляет реляционные базы данных. Есть модель сущность-связь, есть модель сущность-атрибут-значения и многие другие. Но когда речь заходит про реляционные базы данных для чайников, а именно с ними имеет дело язык запросов SQL или мы говорим про реляционную модель данных.
Реляционная модель данных – это логическая модель данных, в основе которой лежат отношения и реляционные операции над этими отношениями.
Что такое отношения? Отношения или по английский relations, отсюда и пошло название реляционная модель — это по сути таблицы, в которых лежат наши данных. Над таблицами определён ряд операций. Можно добавлять данные, можно удалять данные, можно делать выборки из таблиц, можно соединять таблицы, можно делать пересечение таблиц и другие действия. И вот эти действия над таблицами, или как мы их называем над отношениями, и являются реляционными операциями.
Собственно говоря, языком обращений и запросов к этой базе данных и является SQL — structured query language — язык структурированных запросов. И вы не можете просто по другому получить данные из базы данных. Только с помощью такого языка можно проводить манипулирование данными в системе. Ни на каком другом языке вы не сможете ни получить данные из базы данных, сделав запросы, и положить данные в БД невозможно. Соответственно, вам нужен именно язык работы с базами данных – SQL. Что делает этот язык незаменимым.
Зачем нужна база данных сайта или программы?
Термин SQL непосредственно связан с БД. Изначально, в принципе, работа с базами данных это то, чем вообще занимается большая часть программ. Они хранят какие-то данные о том, что делал пользователь или что нам сохранить, что связано с предметной областью. Соответственно, она должна это где-то хранить.
Так для чего для работы с SQL нужно работать с базой? Почему нельзя хранить всю информацию в памяти? Пример простой. В один момент просто может внезапно выключится электричество. Это первое. А второе – данных может быть слишком много, чтобы хранить их в памяти. Это могут быть гигабайты, терабайты и так далее информации. И естественно, хранить эти данные в памяти просто не получится, памяти столько нет. Ваша программа просто не сможет с ними работать. В связи с этим, почти любая система должна работать с какими-то данными. И тогда возникает вопрос: в чем суть программ, которые не работают с данными?
Основные базы SQL
При работе с БД, зачастую пользуются такими продуктами:
- Oracle database — это объектно-реляционная СУБД, созданная компанией Oracle. Она позволяет автоматизировать управление серверами и данными. Его универсальность позволяет работать и с MacOS, и с Windows , и с Linux.
- SQL и MySQL. Эта база данных также разработана компанией Oracle. Проектирование базы данных при помощи этой СУБД возможно бесплатно как для юр лиц, так и для частников.
- Microsoft SQL. Она отлично совместима с Linux и Windows. А также замечательно подходит для веб-серверов под управлением Windows.
- PostgreSQL – также является одной из популярных СУБД. Также она является бесплатной. PostgreSQL – является объектно-реляционной СУБД, что дает ей преимущество.
Все эти популярные базы данных чаще всего используются на практике.
Также, более продвинутый и опытный разработчик SQL может использовать различные программы для тренировки написания кода для разного типа баз данных. Примером может выступать SQL Fiddle или Сайт SQL Test.
Функции SQL
Нужно отметить, что функции языка являются или SQL агрегатными, или скалярными. Рассмотрим чуть подробнее:
- COUNT() — функция, возвращающая количество записей (строк) таблицы.
- AVG() — функция, возвращающая среднее значение столбца.
- MIN() — функция, возвращающая минимальное значение столбца.
- MAX() — функция, возвращающая максимальное значение столбца таблицы.
- SUM() — функция, возвращающая сумму значений столбца таблицы.
- ROUND() — функция для округления десятичных чисел.
и другие.
Эти функции позволяют сделать быстрое создание и выполнение SQL кода.
SQL разработчик
Нужно отметить, что SQL разработчик и разработчик баз данных – это различные специальности. Если разработчик SQL занимается анализом, обработкой и хранением информации из баз данных. То разработчик баз данных думает непосредственно, как создать локальную и простую базу данных, ее модернизировать и обслужить.
Чем же занимается Data-разработчик?
Существует три основные направления работы Data инженера:
- Разработка архитектуры БД/Бизнес-логики/структуры данных. В первую очередь дата инженер занимается тем, что он в базах данных может строить какую-то примерную структуру таблиц или структуру взаимодействия таблиц, в которой, соответственно, вся информация сохраняется. Он может строить архитектуру, может строить бизнес-логику. То есть имеется ввиду, что он на основе языка SQL, Transact-SQL либо еще есть список более расширенных языков, может собирать какую-то логику, какие-то про бизнес-процессы и, соответственно, собирать информацию, необходимую бизнесу.
- Разработка ETL процессов. Переводится, как извлечь какие-то данные, трансформировать и куда-то их загрузить. Всегда в любой крупной компании есть много систем, а это означает, что есть много баз данных, и есть много источников, в которых вся эта информация хранится в разрозненном виде. При этом она еще может быть вперемешку со всякой технической информацией, которая для бизнеса может быть не полезна, но в системах она существует. И вот дата инженер, по сути, должен заниматься разработкой и ETL процессов или настройка загрузки данных из одних систем в компании в другие системы. То есть в некое хранилище, где потом вся эта информация копится и может быть дальше уже полезно бизнесу.
- Разработка витрин данных/отчетов/графиков. Любому бизнес заказчику, либо владельцу магазина, либо сайта, всегда нужно понимать сколько компания приносит прибыли, куда она идет, развивается ли вообще. Либо он хочет, например, поднять лояльность клиента, какие-то KPI. В свою очередь, для этого разработчик может создавать и отчеты, и графики строить, и витрины данных тоже. В работе ему может прийти на помощь программа для построения различных графиков.
Мы рассмотрели с вами основы языка SQL. С чем он работает, для чего существует. Чем открыть базы данных, каким образом с ними возможно взаимодействовать.