По такому же принципу построена и эта книга: из большого материала «отжаты» только те сведения, которые необходимы для общего понимания изучаемого предмета. Здесь нет детального описания существующих СУБД, пространных объяснений правил составления SQL-запросов, способов разделения данных и механизмов технической реализации запросов в распределённых базах данных, описания моделей построения объектно-ориентированных СУБД, особенностей алгоритмов функционирования NoSQL СУБД и других такого рода технических деталей, необходимых только специалистам довольно узкого профиля. Поэтому тем, кто ищет такую информацию лучше обратиться к другим книгам. Более того, некоторые вопросы рассматриваемой проблематики в книге намеренно подаются без особой научной строгости, присущей «солидным» толстым учебникам и монографиям. Есть в тексте и небольшие повторы, намеренно сделанные для того, чтобы не нужно было «отматывать» текст назад в поисках контекстно необходимых ранее приведённых сведений.
Изложение ориентировано на тех, кто пока не особо хорошо представляет себе, как устроены базы данных и хранилища данных, как функционируют системы управления базами данных, но хотел бы составить себе об этом сколько-либо цельное представление. Опыт показывает, что даже люди, неплохо осведомлённые о том «как нажимать кнопки» компьютера, чтобы решить некоторую вполне конкретную задачу, не имеют представления о том, как её «решает компьютер». Поэтому возникновение нестандартной ситуации ставит их тупик: почему компьютер это делает, а это делать отказывается.
Разумеется, можно успешно управлять машиной и совершенно не знать, как она устроена. Однако в этом случае любая её самая незначительная поломка на удалённой от «цивилизации» дороге вызовет большие проблемы. И потому лучше хотя бы в самых общих чертах представлять что случилось, а для этого нужно, хотя в самом общем виде, понимать её устройство. То же самое верно и в отношении информационных технологий: стоит хотя бы приблизительно понимать, как они функционируют хотя бы для того, чтобы не ждать от них невозможного.
Если Вы считаете, что что-то уже понимаете в базах данных и потому сомневаетесь в том, стоит ли Вам читать эту книгу, то уяснить необходимость в этом можете, пройдя тестирование на одном из сайтов автора https://shurem.ru в разделе «Поддержка книг -> Введение в базы данных». Тесты будут размещены в ближайшее время после опубликования книги. Там же будут размещаться дополнения к книге. Но для того, чтобы этим воспользоваться придётся зарегистрироваться на сайте, поскольку проходить тесты могут только авторизованные пользователи. Тесты очень простые: их автоматически генерирует программное обеспечение сайта по специализированным словарям терминов. Если даже прохождение этих элементарных тестов вызовет у Вас проблемы, то, наверное, книгу имеет смысл читать. В противном случае – решайте сами.
Введение
В современных информационных системах (ИС) хранятся и обрабатываются большие массивы разнородных данных, имеющих сложные системы взаимосвязей.
Например, фирма может иметь множество поставщиков. Сведения о каждом поставщике включают определенный набор реквизитов (название фирмы, юридический и фактический адрес, номера телефонов, факсов, адреса электронной почты, номер счета в банке, название банка, его адрес, ФИО руководителя, контактных лиц и т.д.). Каждый поставщик может поставлять определенный набор материальных ценностей (товаров, материалов, комплектующих). Соответственно, каждая материальная ценность может характеризоваться своим набором параметров (код, артикул, единица измерения, технические характеристики, характеристики качества и т.д.). Поставщики имеют свои условия поставок (цены, скидки, минимальная заказываемая партия и т.д.). С каждым поставщиком имеется своя история взаимоотношений (какие договоры были заключены, какие ценности, когда, в каких количествах, по каким ценам и на какие склады предприятия поставлялись, какие платежи поставщику производились, какие претензии по поставкам были выявлены и т.д.).
Одновременно с этим ведутся массивы сведений о наличии и движении товарно-материальных ценностей на складах (какие были остатки на начало периода, какие ценности и от кого поступали, какие сотрудники предприятия за какие ценности ответственны, по чьей заявке и куда ценности передавались и т.д.). Хранятся сведения о выпуске готовой продукции, затратах материалов на ее изготовление, о клиентах, которым продукция отпускалась, произведенной ими оплате и т. д.
Таким образом, массивы данных, ведущиеся в ИС, так или иначе взаимосвязаны. Для возможности их автоматизированной