Основы баз данных для бизнес-аналитика: краткий ликбез

ERD, моделирование данных, модель данных , обучение системных и бизнес-аналитиков, курсы системный и бизнес-анализ, проектирование схемы БД, курсы бизнес-аналитик, основы баз данных, обучение системному и бизнес-анализу, Школа прикладного бизнес-анализа

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

Что такое SQL, реляционная база данных, чем это отличается от СУБД и какие они бывают

BABOK®Guide упоминает технику моделирования данных как одно из наиболее востребованных умений бизнес-аналитика. В частности, модель данных входит в спецификацию требований к ПО согласно шаблонам из стандартов ISO IEEE 29148-2018 и IEEE 830-1998, которые мы разбирали здесь. В этом практическом смысле модель данных, разработанная аналитиком, ляжет в основу схемы базы данных, которую создает ИТ-архитектор или ведущий разработчик.

База данных – это хранилище данных в структурированном виде. Причем структура может быть различной. В реляционных базах данные хранятся в виде связанных таблиц с ограниченным числом столбцов, в каждом из которых хранятся данные одного типа: строковые (символы и текст), числовые (целые и вещественные), временные (дата и время), логические. В качестве средства доступа к этим данным выступает язык структурированных запросов SQL, который поддерживается в системах управления базами данных (СУБД). Без СУБД как инструмента обращения к данным и манипулирования ими база данных является просто большим файлом на жестком диске и не представляет собой ценности. Примеры популярных реляционных СУБД: MySQL, PostgreSQL, Microsoft SQL Server, SQLite, Oracle Database и пр.

На концептуальном уровне каждая таблица в реляционной базе данных представляет собой сущность предметной области, характеристики которой, значимые с точки зрения рассматриваемого контекста, называются атрибуты. По аналогии с классом в ООП, таблица является хранилищем записей — объектов с одинаковыми характеристиками. Запись таблицы представляет собой строку и полностью описывает все характеристики рассматриваемого экземпляра сущности. В отличие от UML-диаграммы классов, диаграммы сущность-связь (ERD, Entity Relationship Diagram) не говорят о поведении объектов, т.е. не содержат методов. Однако, на концептуальном уровне при разработке модели предметной области это почти не имеет значения, и тогда ERD и UML-диаграмма классов будут выглядеть практически одинаково.

UML для бизнес-аналитика: основы ООП и разработка моделей

Код курса
BUML
Ближайшая дата курса
18 июля, 2022
Длительность обучения
8 ак.часов
Стоимость обучения
15 000 руб.

Например, сущность «Студент» (Student), у которого есть имя, отчество и фамилия, а также дата рождения и адрес. Студенты могут объединяться в группы (сущность Class), причем в одну группу может входить множество студентов и один студент может входить во множество групп. Получается, таблицы Student и Class будут связаны отношением с кратностью «много-ко-многим», что не считается хорошей практикой, т.к. не позволяет однозначно отслеживать изменение данных. Расшить такие множественные связи помогает дополнительная таблица, которая хранит ключи связываемых. В нашем примере это будет таблица Student_in_Class.

ERD, моделирование данных, модель данных
Реляционная модель данных

Ключ – это один или несколько столбцов, которые однозначно идентифицируют каждую запись в таблице. Ключ бывает первичный (Primary Key, PK), когда он не зависит от других таблиц и внешний (Foreign Key, FK), когда зависит. Внешний ключ показывает, что поведение записи в одной таблице (зависимой сущности) меняется при изменении или удалении записей из другой связанной таблицы (независимой сущности). Внешний или ссылочный ключ нужен для объединения двух таблиц. Можно сказать, FK в одной таблице – это один или несколько столбцов, значения которых соответствуют PK в другой таблице. Связь между двумя таблицами задается через соответствие Первичного ключа в одной таблице внешнему ключу во второй. Например, в таблице Student_in_Class внешними ключами будут поля class и student, соответствующие первичным ключам (id) в таблицах Class и Student.

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

Разработка ТЗ на информационную систему по ГОСТ и SRS

Код курса
TTIS
Ближайшая дата курса
6 июня, 2022
Длительность обучения
12 ак.часов
Стоимость обучения
20 000 руб.

Дополним вышерассмотренную ER-диаграмму таблицами для информационной системы формирования расписания. Появятся сущности, описывающие преподавателя (Teacher), учебную дисциплину (Subject), продолжительность занятия (Timepair), первичные ключи которых будут являться внешними ключами для агрегирующей таблицы с расписанием (Schedule).

ERD, моделирование данных, модель данных , обучение системных и бизнес-аналитиков, курсы системный и бизнес-анализ, проектирование схемы БД
Модель данных для информационной системы расписания занятий

Подобная структура, когда данные из нескольких таблиц агрегируются в одной, часто используется в OLAP-системах (Online Analytical Processing) для многомерного анализа данных. Например, показать данные по продажам отдельных товарных категорий по разным странам в заданные периоды времени. Для этого используется центральная таблица ключевых фактов, по которым делаются запросы. К ней присоединяется множество таблиц измерений, которые показывают, как могут анализироваться агрегированные реляционные данные.

Как уже было отмечено, для доступа к данным в реляционных СУБД используется язык структурированных запросов SQL (Structured Query Language) — декларативный язык программирования. Он содержит операторы определения данных (DDL), манипулирования данными (DML), определения доступа к данным (DCL) и управления транзакциями (TCL). Все эти операторы реализуют не только базовые CRUDL-операции, но и обеспечивают целостность и непротиворечивость информации.

На практике чаще всего используются DML-операторы, особенно SELECT для выбора отдельных записей из одной или нескольких таблиц. Например, следующий SQL-запрос покажет, сколько студентов в группе под названием Z22:

Select count(*) from Student_in_class

Join Class on Class.id=Student_in_class.class

WHERE Class.name=’ Z22

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

Также есть нереляционные базы данных, которые мы рассмотрим далее.

Основы бизнес-анализа: вход в профессию для начинающих

Код курса
INTRO
Ближайшая дата курса
11 июля, 2022
Длительность обучения
24 ак.часов
Стоимость обучения
50 000 руб.

Что такое NoSQL

Если структура данных не определена или может меняться, жесткий подход с типизацией столбцов не подойдет. Например, для хранения больших файлов, кэшей, JSON/XML-документов и графов используются NoSQL-хранилища (Not Only SQL). Они оптимизированы для распределенных приложений, которые должны быстро обрабатывать большие объемы данных с разной структурой. NoSQL-СУБД бывают следующих типов:

  • Ключ-значение (Key-value)– наиболее простой вариант хранилища данных, использующий ключ для доступа к значению в рамках большой хэш-таблицы, например, Oracle NoSQL Database, Berkeley DB, MemcacheDB, Redis, Riak, Amazon DynamoDB.
  • документное хранилище, где данные в виде пар ключ-значение представлены как полуструктурированный документ типа JSON, XML и пр. тегированные форматы, например, CouchDB, Couchbase, MongoDB, eXist, Berkeley DB XML;
  • колоночное хранилище, где ключами являются строки и столбцы разреженной матрицы. Примеры: Google Big Table, Apache HBase, Cassandra, ScyllaDB, Apache Accumulo и Hypertable;
  • графовое хранилище, где данные представлены в виде вершин, связанных ребрами. Благодаря сохранению ребер, обход такого графа не требует дополнительных вычислений подобно соединению таблиц через JOIN в SQL-запросе. Примеры графовых СУБД: InfoGrid, Neo4j, Amazon Neptune, OrientDB, AllegroGraph, Blazegraph, InfiniteGraph, FlockDB, Titan, ArangoDB.

Штурм BABOK за 5 дней - подготовка бизнес-аналитиков к экзамену на сертификат CBAP/CCBA (IIBA® Endorsed Сourse, 40 PD)

Код курса
CBAB
Ближайшая дата курса
20 июня, 2022
Длительность обучения
40 ак.часов
Стоимость обучения
75 000 руб.

Разумеется, каждая из отмеченных СУБД имеет свои варианты применения, особенности и недостатки, которые следует учитывать в качестве ограничений при выборе инструмента. Особенно важны такие характеристики, как способность к масштабированию, оптимизация на операции чтения (OLAP) или записи (OLTP), наличие интеллектуального вычислительного движка, например, полнотекстовый и нечеткий поиск как в Elasticsearch. Однако, выбор дизайна как средства реализации требования, т.е. СУБД уже выходит за компетенции аналитика и находится в области ответственности ИТ-архитектора или ведущего разработчика на проекте. Тем не менее, понимание основ теории баз данных поможет аналитику описать сущности предметной области и связи между ними, чтобы специфицировать функциональные и нефункциональные требования к информационной системе.

Проверить, как вы усвоили материал этой статьи можно бесплатно прямо на нашем сайте, выполнив интерактивный тест по основам баз данных и языку запросов SQL.

10 вопросов по основам теории баз данных и SQL: тест для начинающих

А на практике усвоить все упомянутые в статье темы вам помогут курсы Школы прикладного бизнес-анализа в нашем лицензированном учебном центре обучения и повышения квалификации системных и бизнес-аналитиков в Москве:

 

Добавить комментарий

Поиск по сайту

Напишите нам, мы онлайн!