Введение в базы данных. Коротко о главном
Евгений Шуремов
Книга содержит компактное представление основного понятийного аппарата, связанного с базами данных и системами управления базами данных (СУБД). Кратко разбираются основные особенности реляционных, объектно-ориентированных и NoSQL СУБД, а также хранилищ данных. Представленный материал рассчитан на читателей, желающих быстро составить целостное представление по данной тематике и не имеющих намерения углубляться в технические детали, приводимые в толстых учебниках и монографиях.
Введение в базы данных
Коротко о главном
Евгений Шуремов
© Евгений Шуремов, 2019
ISBN 978-5-0050-4770-0
Создано в интеллектуальной издательской системе Ridero
Предисловие
Данная книга основана на материалах лекций, которые автор читал студентам-заочникам ряда коммерческих ВУЗов. Поскольку лекции были только обзорными, а для их представления выделялось мало учебных часов, то излагаемый материал приходилось максимально ужимать, чтобы оставить только самое главное, без уточнения многих (не всегда нужных) технических деталей. При этом многие пояснения приходилось делать в наиболее простой и понятной форме, что называется «на пальцах». Опыт показал, что такая форма подачи материала оказалась достаточно эффективной и весьма приветствовалась слушателями, которые за короткое время могли сформировать системное представление об изучаемом предмете и потом вполне успешно сдать зачёт/экзамен.
По такому же принципу построена и эта книга: из большого материала «отжаты» только те сведения, которые необходимы для общего понимания изучаемого предмета. Здесь нет детального описания существующих СУБД, пространных объяснений правил составления SQL-запросов, способов разделения данных и механизмов технической реализации запросов в распределённых базах данных, описания моделей построения объектно-ориентированных СУБД, особенностей алгоритмов функционирования NoSQL СУБД и других такого рода технических деталей, необходимых только специалистам довольно узкого профиля. Поэтому тем, кто ищет такую информацию лучше обратиться к другим книгам. Более того, некоторые вопросы рассматриваемой проблематики в книге намеренно подаются без особой научной строгости, присущей «солидным» толстым учебникам и монографиям. Есть в тексте и небольшие повторы, намеренно сделанные для того, чтобы не нужно было «отматывать» текст назад в поисках контекстно необходимых ранее приведённых сведений.
Изложение ориентировано на тех, кто пока не особо хорошо представляет себе, как устроены базы данных и хранилища данных, как функционируют системы управления базами данных, но хотел бы составить себе об этом сколько-либо цельное представление. Опыт показывает, что даже люди, неплохо осведомлённые о том «как нажимать кнопки» компьютера, чтобы решить некоторую вполне конкретную задачу, не имеют представления о том, как её «решает компьютер». Поэтому возникновение нестандартной ситуации ставит их тупик: почему компьютер это делает, а это делать отказывается.
Разумеется, можно успешно управлять машиной и совершенно не знать, как она устроена. Однако в этом случае любая её самая незначительная поломка на удалённой от «цивилизации» дороге вызовет большие проблемы. И потому лучше хотя бы в самых общих чертах представлять что случилось, а для этого нужно, хотя в самом общем виде, понимать её устройство. То же самое верно и в отношении информационных технологий: стоит хотя бы приблизительно понимать, как они функционируют хотя бы для того, чтобы не ждать от них невозможного.
Если Вы считаете, что что-то уже понимаете в базах данных и потому сомневаетесь в том, стоит ли Вам читать эту книгу, то уяснить необходимость в этом можете, пройдя тестирование на одном из сайтов автора https://shurem.ru (https://shurem.ru/) в разделе «Поддержка книг -> Введение в базы данных». Тесты будут размещены в ближайшее время после опубликования книги. Там же будут размещаться дополнения к книге. Но для того, чтобы этим воспользоваться придётся зарегистрироваться на сайте, поскольку проходить тесты могут только авторизованные пользователи. Тесты очень простые: их автоматически генерирует программное обеспечение сайта по специализированным словарям терминов. Если даже прохождение этих элементарных тестов вызовет у Вас проблемы, то, наверное, книгу имеет смысл читать. В противном случае – решайте сами.
Введение
В современных информационных системах (ИС) хранятся и обрабатываются большие массивы разнородных данных, имеющих сложные системы взаимосвязей.
Например, фирма может иметь множество поставщиков. Сведения о каждом поставщике включают определенный набор реквизитов (название фирмы, юридический и фактический адрес, номера телефонов, факсов, адреса электронной почты, номер счета в банке, название банка, его адрес, ФИО руководителя, контактных лиц и т.д.). Каждый поставщик может поставлять определенный набор материальных ценностей (товаров, материалов, комплектующих). Соответственно, каждая материальная ценность может характеризоваться своим набором параметров (код, артикул, единица измерения, технические характеристики, характеристики качества и т.д.). Поставщики имеют свои условия поставок (цены, скидки, минимальная заказываемая партия и т.д.). С каждым поставщиком имеется своя история взаимоотношений (какие договоры были заключены, какие ценности, когда, в каких количествах, по каким ценам и на какие склады предприятия поставлялись, какие платежи поставщику производились, какие претензии по поставкам были выявлены и т.д.).
Одновременно с этим ведутся массивы сведений о наличии и движении товарно-материальных ценностей на складах (какие были остатки на начало периода, какие ценности и от кого поступали, какие сотрудники предприятия за какие ценности ответственны, по чьей заявке и куда ценности передавались и т.д.). Хранятся сведения о выпуске готовой продукции, затратах материалов на ее изготовление, о клиентах, которым продукция отпускалась, произведенной ими оплате и т. д.
Таким образом, массивы данных, ведущиеся в ИС, так или иначе взаимосвязаны. Для возможности их автоматизированной обработки с помощью компьютеров должны существовать определенные правила хранения данных с поддержкой существующих между ними связей. Поэтому все ведущиеся в целях решения тех или иных задач массивы данных ИС объединяются в базу данных.
Определения базы данных
Существует множество разных определений понятия «база данных».
База данных – представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ). (Гражданский кодекс РФ, ст. 1260).
Могут использоваться и другие определения.
База данных (БД) – это совокупность некоторых данных, предназначенных для хранения и обработки с помощью ЭВМ.
База данных – совокупность взаимосвязанных массивов данных, организованных по определенным правилам.
Определения из международных стандартов:
База данных – совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.
База данных – совокупность данных, организованных в соответствии с концептуальной структурой, описывающей характеристики этих данных и взаимоотношения между ними, причем такое собрание данных, которое поддерживает одну или более областей применения.
Определения из авторитетных монографий:
База данных – организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей.
База данных – некоторый набор перманентных (постоянно хранимых) данных, используемых прикладными программными системами какой-либо организации.
База данных – совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей пользователей.
Следует различать понятия «база данных» и «система управления базами данных». Пока ограничимся следующим определением.
Система управления базами данных (СУБД) – программный комплекс, обеспечивающий обслуживание баз данных.
В большинстве представленных выше определений понятия «база данных» явно или неявно присутствуют следующие отличительные признаки.
1) БД хранится и обрабатывается в компьютерной системе. Таким образом, любые внекомпьютерные хранилища информации (архивы, библиотеки, картотеки и т. п.) базами данных не являются.
2) Данные в БД логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе.
Структурированность подразумевает явное выделение составных частей (элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента (связи) соотносится определённая семантика и допустимые операции.
3) БД включает схему, или метаданные, описывающие логическую структуру БД в формальном виде (в соответствии с некоторой метамоделью).
В соответствии с ГОСТ Р ИСО МЭК ТО 10032—2007, «постоянные данные в среде базы данных включают в себя схему и базу данных. Схема включает в себя описания содержания, структуры и ограничений целостности, используемые для создания и поддержки базы данных. База данных включает в себя набор постоянных данных, определенных с помощью схемы.
Система управления данными использует определения данных в схеме для обеспечения доступа и управления доступом к данным в базе данных» (п. 4.3).
Таким образом, БД хранит не только сами данные, но и их формализованное описание, позволяющее СУБД эффективно извлекать и обрабатывать данные БД. Поэтому не принято называть базами данных файловые архивы, Интернет-порталы или электронные таблицы, несмотря на то, что они в некоторой степени обладают признаками БД.
Вы ознакомились с фрагментом книги.
Приобретайте полный текст книги у нашего партнера: