...

Основы создания и управления базами данных

Основы систем управления базами данных

Основными функциями любой информационной системы являются хранение данных и их обработка. Под термином «данные» мы будем понимать любую информацию об объектах окружающего мира, представленную в формализованном виде, пригодном для ее передачи, хранения и обработки при помощи некоторого процесса. Для обеспечения процесса хранения и обработки данных средствами вычислительной техники во все современные информационные системы входит специальная программа, а точнее, комплекс программных средств, называемых системой управления базами данных (СУБД). Эта система обеспечивает создание, сопровождение 1 и использование специальных хранилищ данных – баз данных (БД), которые являются современной формой организации хранения и доступа к информации.

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

2.1. Традиционный подход к организации данных

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

  • файл последовательного доступа;
  • файл произвольного доступа.

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

К примеру, если рассматривать в качестве предметной области доменное производство (рис. 2.1), то фрагмент такой информационной системы будет содержать следующие приложения:

  • приложение для мастера печи, осуществляющего выбор системы загрузки, управление тепловым режимом конкретной печи и т.п.;
  • приложение для отдела снабжения, решающего задачи по бесперебойному обеспечению работы доменного цеха материалами и топливно-энергетическими ресурсами;
  • приложение для главного технолога, решающего задачи по анализу технологии доменной плавки, например оптимальному распределению материалов и топливно-энергетических ресурсов между несколькими печами цеха;
  • приложение для технического управления предприятием, решающего задачи управления технологией доменного производства, анализа перспективных решений, планирования работы цеха и т.п.

Каждое приложение (прикладная программа) использует для обработки данные, расположенные в одном или нескольких файлах. Чтобы приложение правильно считывало данные из файлов, последние должны быть организованы по определенным правилам, которые «понятны» приложению. Другими словами, при разработке прикладной программы необходимо продумать и реализовать хранение данных таким образом, чтобы осуществлять доступ к ним наиболее эффективным способом. Критерием эффективности в большинстве случаев является скорость доступа к данным, которая зависит от множества факторов, в частности типа накопителя, способа доступа к записям файла, размера файла и др. В этом случае говорят, что логика организации файлов данных встроена в само приложение, т.е. в код его программы.

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

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

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

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

Сложности в организации и управлении. Жесткая зависимость между данными и использующими их программами создает серьезные проблемы в ведении данных и делает использование их менее гибким. Разработчики прикладных программ, написанных, например, на языках программирования Basic, Pascal или С, размещают нужные им данные в файлах, организуя их наиболее удобным для себя образом с целью достижения максимальной эффективности работы программы (повышение скорости доступа к данным, оптимизация расположения данных во внешней памяти, реализация усиленных средств защиты данных и др.). Система программирования накладывает на структуру загрузочного модуля прикладной программы специфичную для этой системы логику обработки данных. Одни и те же данные могут иметь в разных приложениях совершенно разную организацию (разную длину и последовательность размещения записей, разные форматы одних и тех же полей и т.п.). Обобществить такие данные очень трудно. Например, любое изменение структуры или способа доступа к файлу данных, производимое одним из разработчиков, приводит к необходимости изменения другими разработчиками тех прикладных программ, которые используют записи этого файла. Кроме того, из-за избыточности данных в файлах трудно реализовать новые изменения данных во всей предметной области.

Дополнительные трудности создания информационных систем на базе файловых систем проявились в следующем:

  • недостаточность средств защиты хранимых данных;
  • низкопроизводительная работа в многопользовательской среде;
  • отсутствие процедур восстановления данных после возникновения отказов;
  • отсутствие средств манипулирования данными;
  • высокая стоимость программирования и сопровождения;
  • негибкость к изменениям и др.

Попытки интеграции, объединения данных до появления технологии систем баз данных наталкивались на ряд трудностей. Информационные системы ориентированы, главным образом, на хранение, выбор и модификацию постоянно существующей информации о предметной области. Понятно, что эта информация каким-то образом должна быть упорядочена, т.е. структурирована. Логическая структура информации зачастую очень сложна, и хотя структуры организации данных различны в разных информационных системах, между ними часто бывает много общего. Стремление выделить и обобщить общую часть информационных систем, ответственную за управление сложно структурированными данными, явилось, пожалуй, главной побудительной причиной создания систем управления базами данных (СУБД).

10.4. Принципы построения баз данных

В основе построения БД лежат определенные научные принципы, позволяющие создавать высококачественные системы, отвечающие современным требованиям.

Из множества используемых принципов создания БД (рис.10.1) выделим наиболее су­щественные:

  • интеграции данных;
  • централизации управления данными.

Оба принципа отражают суть БД. Интеграция является основой организации БД, централизация управления – основой организации и функциони­рования СУБД. Остальные принципы в той или иной степени связаны с первыми.

Суть принципа интеграции данных состоит в объединении отдельных, взаимно не связанных данных в единое целое, в роли которого выступает база данных, в результате чего пользователю и его прикладным программам все данные представляются единым информационным массивом. Следование принципу интеграции обеспечивает:

  • упрощение поиска взаимосвязанных данных и их совместную обработку;
  • уменьшение избы­точности данных;
  • упрощение процесса ведения БД.

Принцип централизации управления состоит в передаче всех функций управления данными единому комплексу управляющих программ – СУБД.

Рис.10.1. Основные принципы построения баз данных

10.5. Этапы создания баз данных

Процесс создания БД обычно включает следующие этапы:

  1. проектирование БД;
  2. создание проектных файлов БД;
  3. создание БД (формирование и связывание таблиц, ввод данных);
  4. создание меню приложения;
  5. создание запросов;
  6. создание экранных форм, отчетов;
  7. генерация приложения как исполняемой программы.

Приведенный перечень этапов не является строгим в смысле очередности. Процесс создания БД, как правило, имеет итерационный характер.

Наиболее ответственными и трудоемкими этапами считаются этапы (1-3). На сегодняшний день эти этапы могут быть автоматизированы с помощь использования CASE-средств. CASE-средства оказывают существенное содействие разработчикам БД с момента постановки задачи и начала анализа предметной области до построения физической модели данных, ориентированной на управление конкретной СУБД.

Этапы (4-7) также автоматизированы, но уже в рамках возможностей современных СУБД.

10.6. Классификация и архитектура баз данных

По количеству пользователей выделяют БД:

  • персональные;
  • корпоративные (многопользовательские).

Корпоративные БД, в свою очередь, различают по архитектуре построения:

  • централизованные;
  • распределенные.

Работа с централизованной БД напоминает работу в системе централизованной обработки данных, когда каждый пользователь для решения своих задач имеет в распоряжении терминальную часть вычислительной системы (монитор, клавиатуру, аппаратуру связи с центральной ЭВМ), а все информационные и вычислительные ресурсы размещены на центральной ЭВМ.

Распределенные БД в настоящее время строятся в соответствии с перспективной технологией клиент-сервер. В достаточно распространенном варианте она предполагает наличие компьютерной сети и распределенной БД, включающей корпоративную БД и персональные БД. Корпоративная БД размещается на компьютере-сервере, персональные БД – на компьютерах со­трудников подразделений, являющихся клиентами корпоративной БД.

Сервером определенного ресурса в компьютерной сети называется компьютер, управляющий этим ресурсом, клиентом – компьютер, использую­щий этот ресурс. Если управляемым ресурсом является БД, то соответствующий сервер называется сервером БД.

Достоинством организации информационной системы по архитектуре клиент-сервер является удачное сочетание:

  • централизованного хранения, обслуживания и коллектив­ного доступа к общей корпоративной информации;
  • индивидуальной работой над персо­нальной информацией.

Структура распределенной БД, построенной по архитектуре кли­ент-сервер, показана на рис.10.2.

Рис.10.2 Структура распределенной базы данных

Использование архитектуры клиент-сервер дает возможность постепенного наращивания информационной системы организации (фирмы):

  • по мере разви­тия предприятия;
  • по мере развития самой информационной системы.

Разделение общей БД на корпоративную БД и персональные БД позволяет умень­шить сложность проектирования БД по сравнению с централизованным вариантом, а значит, снизить вероятность ошибок при проектировании и стоимость проектирования.

При подготовке материала использовались источники:
https://studfile.net/preview/9121951/
https://studfile.net/preview/7781992/page:2/