Базы данных. Курс лекций. Учебное пособие
Рамиля Рамисовна Латыпова
Рассматриваются принципы и механизмы обработки данных и знаний в информационных системах. Подробно описаны все этапы проектирования баз данных, требования к реляционным СУБД и перспективы их развития.
Р. Р. Латыпова
Базы данных. Курс лекций
Учебное пособие
[битая ссылка] ebooks@prospekt.org
Лекция 1
Базы данных. Общие понятия
С самого начала развития вычислительной техники образовались два основных направления ее использования: выполнение численных расчетов и разработка информационных систем.
В самом широком смысле информационная система представляет собой программный комплекс, функции которого состоят в поддержке надежного хранения информации в памяти компьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса. Обычно объемы информации, с которыми приходится иметь дело таким системам, достаточно велики, а сама информация имеет достаточно сложную структуру. Классическими примерами информационных систем являются банковские системы, системы резервирования авиационных или железнодорожных билетов, мест в гостиницах и т. д.
Первые информационные системы появились в 1950-х гг. Они были предназначены для обработки счетов и расчета зарплаты и реализовывались на электромеханических бухгалтерских счетных машинах, что приводило к некоторому сокращению затрат и времени на подготовку бумажных документов.
В 1960-е гг. происходит изменение отношения к информационным системам. Информация стала применяться для периодической отчетности по многим параметрам. Для этого организациям требовалось компьютерное оборудование широкого назначения, способное обслуживать разнообразные функции.
В 1970-х – начале 1980-х гг. информационные системы начинают широко использоваться в качестве средства управленческого контроля, поддерживающего и ускоряющего процесс принятия решений. Принятие решения – акт целенаправленного воздействия на объект управления, основанный на анализе ситуации, определении цели, разработке программы достижения этой цели [5].
К концу 1980-х гг. концепция использования информационных систем вновь изменяется: они становятся стратегическим источником информации и используются на всех уровнях организации любого профиля. Информационные системы помогают организации достичь успеха в своей деятельности, создавать новые товары и услуги, находить новые рынки сбыта, партнеров, организовывать выпуск продукции по низкой цене и т. д. [4].
Структура управления любой организации традиционно делится на три уровня: операционный, функциональный и стратегический. Чем сложнее задача, тем более высокий уровень управления требуется для ее решения (рис. 1) [5].
Рис. 1. Пирамида уровней управления
Стратегическому уровню соответствует долгосрочное планирование, тактическому – среднесрочное, операционному – краткосрочное.
Простых задач, требующих немедленного (оперативного) решения, возникает значительно большее количество, чем задач тактического и тем более стратегического уровня [5].
На уровне операционного управления (нижнем уровне) большой объем занимают учетные задачи, такие как:
• учет количества произведенной продукции;
• учет затрат времени, сырья и материалов при выполнении отдельных производственных операций;
• учет произведенной продукции;
• бухгалтерский учет и т. д.
На операционном уровне находятся исполнители и менеджеры низшего звена (бригадиры, инженеры, ответственные исполнители, мастера, нормировщики, техники, лаборанты и т. п.).
Тактический (средний) уровень управления обеспечивает решение задач, требующих предварительного анализа информации, подготовленной на операционном уровне. На тактическом уровне большое значение приобретает такая функция управления, как анализ. Объем решаемых задач уменьшается, но возрастает их сложность. При этом не всегда удается выработать нужное решение оперативно, требуется дополнительное время на анализ, осмысление, сбор недостающих сведений и т. п. Управление связано с некоторой задержкой от момента поступления информации до принятия решений и их реализации, а также от момента реализации решений до получения реакции на них.
На тактическом уровне работают менеджеры среднего звена и специалисты (начальники служб, отделов, цехов, начальник смены, участка, научные сотрудники и т. п.).
Стратегический (верхний) уровень обеспечивает выработку управленческих решений, направленных на достижение долгосрочных стратегических целей организации. Поскольку результаты принимаемых решений проявляются спустя длительное время, особое значение на этом уровне имеет такая функция управления, как стратегическое планирование. Прочие функции управления на этом уровне в настоящее время разработаны недостаточно полно.
На стратегическом уровне управления находятся менеджеры высшего звена руководства организации (руководители фирм и их заместители).
При создании или классификации информационных систем возникают проблемы, связанные с формальным – математическим и алгоритмическим – описанием решаемых задач. Чем точнее математическое описание задачи, тем выше возможности компьютерной обработки данных и тем меньше степень участия человека в процессе ее решения.
Различают три типа задач, для решения которых создаются информационные системы (рис. 2):
1. Формализуемые (структурированные);
2. Неформализуемые (неструктурированные);
3. Частично формализуемые.
Рис. 2. Классификация задач в информационной системе
Формализуемая задача – это задача, где известны все ее элементы и взаимосвязи между ними. Содержание такой задачи можно выразить в форме математической модели, имеющей точный алгоритм решения. Подобные задачи обычно приходится решать многократно, и они носят рутинный характер. Целью использования информационной системы для решения структурированных задач является полная автоматизация их решения, т. е. сведение роли человека к нулю.
Например, задача расчета заработной платы. Это структурированная задача, где полностью известен алгоритм решения. Рутинный характер этой задачи определяется тем, что расчеты всех начислений и отчислений просты, но объем их велик, поскольку они должны многократно повторяться ежемесячно для всех категорий работающих.
Классические базы данных ориентированы на решение формализуемых задач.
Неформализуемая задача – та, в которой невозможно выделить элементы и установить между ними связи. При решении неформализуемых задач возникают трудности из-за невозможности создания точного математического описания. Здесь большое значение могут иметь эвристические соображения человека на основе опыта и косвенной информации из разных источников.
На практике о большинстве задач можно сказать, что известна лишь часть их элементов и связей между ними. Такие задачи называются частично формализуемыми. В этих условиях можно создать информационную систему. Получаемая в ней информация анализируется человеком, который будет играть определяющую роль. Такие информационные системы являются автоматизированными, так как в их функционировании принимает участие человек [5].
Для решения неформализуемых и частично формализуемых задач разрабатываются экспертные системы, или системы обработки знаний [14].
Лекция 2
История развития баз данных
В настоящее время базы данных (БД) – наиболее массовая область информационных технологий.
Всякая программа для ЭВМ является моделью некоторой предметной области. База данных – это также модель взаимосвязей между объектами реального мира и описание этих объектов.
В настоящее время наиболее распространены реляционные БД, исторически им предшествовали иерархические и сетевые БД.
Первые БД, появившиеся в 1960-е гг., были предназначены для планирования выпуска продукции. Очень часто возникала потребность определить, сколько требуется комплектующих для выпуска того или иного вида продукции. Таким задачам соответствует древовидная (иерархическая) структура.
Например, при выпуске автомобиля получается структура, показанная на рис. 3.
Каждому прямоугольнику на рис. 3 соответствует запись в БД.
Рис. 3. Пример иерархической структуры
Между записями существуют отношения «предок – потомок». Для получения доступа к данным в иерархической БД можно указать номер записи, а также выполнить ряд действий: