Язык структурированных запросов, SQL, произносится как «sequel» (или, если хотите, ess-cue-ell), является очень важным инструментом, который должны иметь в своем арсенале специалисты по данным. Возможно, вы слышали это название и задавались вопросом, что это такое, как оно работает и стоит ли вам его изучать. Проще говоря, SQL — это язык баз данных, и почти все компании используют базы данных для хранения своих данных.

Из-за этого, независимо от того, предпочитаете ли вы использовать Python, R или что-то еще для анализа, вам необходимо иметь хотя бы базовые знания SQL, чтобы иметь доступ к данным для начала. Система поиска вакансий Действительно показывает более 100 000 списков вакансий в США, в которых на момент написания статьи упоминается SQL. Существует несколько различных систем баз данных (MySQL, PostgreSQL, Microsoft SQL Server и многие другие), но все они говорят на языке SQL, поэтому, освоив основы, вы сможете работать с любой из них. В лекции и задании на этой неделе мы использовали SQLite.

Реляционные базы данных

Реляционная база данных — это просто база данных, которая хранит связанную информацию в нескольких таблицах и позволяет запрашивать информацию более чем в одной таблице одновременно.

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

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

С реляционной базой данных, такой как на приведенной выше диаграмме, вы избегаете всех этих проблем. Вы можете настроить две таблицы, одну для заказов и одну для клиентов. Таблица «клиенты» будет включать уникальный идентификационный номер для каждого клиента, а также имя, адрес и номер телефона, которые мы уже отслеживали. Таблица «заказы» будет включать номер вашего заказа, дату, сумму к оплате, номер для отслеживания, и вместо отдельного поля для каждого элемента данных клиента в ней будет столбец для идентификатора клиента. Это позволяет нам получать всю информацию о клиенте для любого данного заказа, но нам нужно сохранить ее только один раз в нашей базе данных, а не выводить ее снова для каждого отдельного заказа.