В моей нынешней компании, например, база данных такого типа используется для поиска cookie конкретного пользователя и всех соответствующих идентификаторов для этого cookie. Кроме того, этот тип данных часто используется социальными сетями для хранения информации не только о пользователях, но и об отношениях каждого пользователя с другими.
Основные понятия о базах данных
Прежде чем приступить к изучению SQL, необходимо ознакомиться с основными понятиями баз данных. Это поможет нам понять использование SQL и среду его выполнения.
База данных — это совокупность данных, хранящихся в структурированном виде.
По сути, это просто хранилище информации, не более того. Базы данных сами по себе не представляли бы интереса, если бы не существовало систем управления базами данных.
Система управления базами данных — это набор языковых и программных средств, которые обеспечивают доступ к данным, позволяют создавать, изменять или удалять данные, обеспечивают безопасность данных и т.д.
Проще говоря, система управления базами данных — это система, которая позволяет создавать и редактировать данные из баз данных.
Самый простой способ работы с базой данных:
Рейтинг СУБД
В настоящее время системы управления базами данных классифицируются на основе движков БД следующим образом:
- Oracle — реляционная СУБД
- MySQL — реляционная СУБД
- Microsoft SQL Server — реляционная СУБД
- PostgreSQL — реляционная СУБД
- MongoDB — документоориентированная СУБД
- Redis — хранилище по типу «ключ-значение»
- IBM Db2 — реляционная СУБД
- Elasticsearch — поисковой движок
- Microsoft Access — реляционная СУБД
- SQLite — реляционная СУБД
Вы обнаружите, что 7 из 10 наиболее распространенных СУБД являются реляционными системами.
Реляционные базы данных
Реляционные базы данных — это базы данных, основанные на реляционной модели.
Данные в реляционных структурах организованы в виде серии таблиц, называемых отношениями, состоящих из столбцов и строк. Каждая строка таблицы — это набор относительных значений, которые относятся к объекту или сущности. Каждой строке в таблице может быть присвоен уникальный идентификатор, называемый первичным ключом, а строки из нескольких таблиц могут быть связаны с помощью внешних ключей.
Пример реляционной базы данных
Особенности реляционных БД
- Модель данных в реляционных БД определена заранее и является строго типизированной
- Данные хранятся в таблицах, состоящих из столбцов и строк
- На пересечении каждого столбца и строчки допускается только одно значение
- Каждый столбец проименован и имеет определенный тип, которому следуют значения со всех строк в данном столбец
- Столбцы располагаются в определённом порядке, который определяется при создании таблицы
- В таблице может не быть ни одной строчки, но обязательно должен быть хотя бы один столбец
- Запросы к базе данных возвращают результат в виде таблиц
Язык запросов SQL
SQL — язык структурированных запросов — используется как эффективный способ хранения данных, поиска сегментов данных, их обновления, извлечения из базы данных и удаления.
Доступ к реляционным СУБД осуществляется с помощью SQL, который можно использовать для выполнения всех основных операций с базами данных, включая некоторые:
- Извлекать данные из базы данных
- Вставлять записи в базу данных
- Обновлять записи в базе данных
- Удалять записи из базы данных
- Создавать новые базы данных
- Создавать новые таблицы в базе данных
- Создавать хранимые процедуры в базе данных
- Создавать представления в базе данных
- Устанавливать разрешения для таблиц, процедур и представлений
Что такое база данных и зачем она?
Компании часто собирают информацию о своих клиентах, сотрудниках, сделках, финансах и т.д. Затем эту информацию можно выгодно использовать. Например, его можно использовать для анализа того, как увеличить прибыль. Они могут использовать его для создания интеллектуальных ML-моделей, которые помогут улучшить продукт. Или же информация может быть просто перепродана другим компаниям.
Чтобы собирать и анализировать информацию, необходимо иметь возможность ее хранить. Конечно, можно хранить информацию и в бумажном виде в стандартных папках или файлах Excel. Многие не
Существует множество различных типов баз данных. Наиболее распространенными типами являются:
- В базе данных можно хранить очень огромное количество данных – миллиарды и триллионы записей;
- Базы помогают защищать данные — они позволяют давать доступ к данным только определенному кругу лиц. При этом можно ставить ограничения, кому к каким данным можно давать доступ и какого типа доступ, только чтение или редактирование тоже;
- Базы данных могут помогать следить за правильностью данных с помощью различного вида проверок;
- Также, базы данных могут позволять большому количеству людей одновременно взаимодействовать с данными.
Ниже я расскажу о каждом из этих типов. Однако я начну с реляционных баз данных и обсужу их более подробно, поскольку этот тип баз данных наиболее часто используется аналитиками данных и специалистами по исследованию данных.
Реляционная база данных — это база данных, состоящая из таблиц. Реляционная база данных обладает двумя очень важными свойствами:
Типы баз данных
Давайте рассмотрим пример реляционной базы данных. Допустим, у нас есть служба доставки еды. Если мы затем создадим реляционную базу данных для этой службы, она, скорее всего, будет содержать следующие таблицы:
- Реляционные базы данных
- Key-value базы данных
- Документно-ориентированные базы данных
- Графовые базы данных
- Колоночные базы данных
На рисунке 1 я попытался представить реляционную базу данных в графическом виде. Мы можем видеть таблицы, составляющие базу данных, а также видеть, какие столбцы содержит каждая таблица.
Реляционные базы данных (MySQL, PostgreSQL, Oracle DB)
Как упоминалось ранее, второй важной особенностью реляционных баз данных является наличие связей между таблицами. Связь между таблицами определяется первичным ключом и внешним ключом.
- Данные распределены по смыслу по таблицам
- Между таблицами есть отношения
Первичный ключ — это столбец (или группа столбцов) таблицы, который содержит уникальные значения для каждой строки. В приведенном выше примере я выделил первичный ключ каждой таблицы зеленым цветом. Например, в таблице с заказами на поставку каждая строка будет описывать отдельный заказ на поставку. Не будет двух строк, описывающих один и тот же заказ на покупку, потому что идентификатор заказа на покупку отличается для каждой строки.
- Таблица с заказами
- Таблица с клиентами
- Таблица с курьерами
- Таблица с ресторанами
Внешний ключ — это столбец в таблице, который содержит первичный ключ другой таблицы. На рисунке внешний ключ выделен желтым цветом. Это означает, что таблица Orders содержит идентификатор клиента, который является первичным ключом в таблице Customers, но внешним ключом в таблице Orders.
Первичные и внешние ключи используются не только для связи реляционных таблиц в реляционной базе данных. Они также помогают обеспечить целостность и правильность данных в базе данных. Например, если мы неправильно вводим идентификатор клиента при добавлении нового заказа в таблицу клиентов, база данных выдает ошибку, поскольку не может найти соответствующий идентификатор клиента в таблице клиентов.
Язык SQL (Structured QueryLanguage) обычно используется для взаимодействия с реляционными базами данных. Это специальный язык программирования, используемый для написания запросов в реляционной базе данных. Вы можете использовать SQL-запросы для создания и удаления таблиц в реляционной базе данных, изменения данных в существующих таблицах и получения информации из таблиц.
Как упоминалось ранее, реляционные базы данных подходят для анализа, потому что информация, которую они содержат, структурирована и семантически распределена, что, конечно, является мечтой каждого аналитика.