Банки данных, их особенности, этапы разработки
Банк данных (БнД) — это автоматизированная система, представляющая совокупность информационных, программных, технических средств и персонала, обеспечивающих хранение, накопление, обновление, поиск и выдачу данных. Главными составляющими банка данных являются база данных и программный продукт, называемый системой управления базой данных (СУБД).
Развитие технологий баз и банков данных определяется рядом факторов: ростом информационных потребностей пользователей, требованиями эффективного доступа к информации, появлением новых видов массовой памяти, увеличением ее объемов, новыми средствами и возможностями в области коммуникаций и многим другим.
База данных является интегрированной системой информации, удовлетворяющей ряду требований:
- сокращению избыточности в хранении данных;
- устранению противоречивости в них;
- совместному использованию для решения большого круга за
дач, в том числе и новых;
- удобству доступа к данным;
- безопасности хранения данных в базе, защиты данных;
- независимости данных от изменяющихся внешних условий в
результате развития информационного обеспечения;
- снижению затрат не только на создание и хранение данных,
но и на поддержание их в актуальном состоянии;
- наличию гибких организационных форм эксплуатации.
Реализация указанных требований дает высокую производительность и эффективность работы с данными.
База данных — это динамичный объект, меняющий значения при изменении состояния отражаемой предметной области (внешних условий по отношению к базе). Под предметной областью понимается часть реального мира (объектов, процессов), которая должна быть адекватно, в полном информационном объеме представлена в базе данных. Данные в базе организуются в единую целостную систему что обеспечивает более производительную работу пользователей с большими объемами данных.
Кроме важнейших составляющих БД и СУБД банк данных включает и ряд других составляющих.
Языковые средства включают языки программирования, языки запросов и ответов, языки описания данных.
Методические средства — это инструкции и рекомендации по созданию и функционированию БнД, выбору СУБД.
Технической основой БнД является ЭВМ, удовлетворяющая определенным требованиям по своим техническим характеристикам.
Обслуживающий персонал включает программистов, инженеров по техническому обслуживанию ЭВМ, административный аппарат, в том числе администратора БД. Их задача — контроль за работой БнД, обеспечение совместимости и взаимодействия всех составляющих, а также управление функционированием БнД, контроль за качеством информации и удовлетворение информационных потребностей.
Особую роль играет администратор базы или банка данных (АБД). Администратор управляет данными, персоналом, обслуживающим БнД. Важной задачей администратора БД является защита данных от разрушения, несанкционированного и некомпетентного доступа. Администратор предоставляет пользователям большие или меньшие полномочия на доступ ко всей или части базы. Для выполнения функций администратора в СУБД предусмотрены различные служебные программы. Администрирование базой данных предусматривает выполнение функций обеспечения надежной и эффективной работы БД, удовлетворение информационных потребностей пользователей, отображение в базе данных динамики предметной области.
Главными пользователями баз и банков данных являются конечные пользователи, т.е. специалисты, ведущие различные участки экономической работы. Они различаются по квалификации, степени профессионализма, уровню в системе управления: главный бухгалтер, бухгалтер, операционист, начальник кредитного отдела и т.д. Удовлетворение их информационных потребностей — это решение большого числа проблем в организации внутримашинного информационного обеспечения.
Специальную группу пользователей БнД образуют прикладные программисты. Обычно они играют роль посредников между БД и конечными пользователями, так как создают удобные пользовательские программы на языках СУБД.
Преимущества работы с БнД для пользователя окупают затраты и издержки на его создание, так как:
- повышается производительность работы пользователей, достигается эффективное удовлетворение их информационных потребностей;
- централизованное управление данными освобождает прикладных программистов от организации данных, обеспечивает независимость прикладных программ от данных;
- развитая организация БД позволяет выполнять разнообразные нерегламентированные запросы, новые приложения;
- снижаются затраты не только на создание и хранение данных, но и на их поддержание в актуальном и динамичном со
стоянии; уменьшаются потоки данных, циркулирующих в
системе, сокращается их избыточность и дублирование.
Как банк данных, так и база данных могут быть сосредоточены на одном компьютере или распределены между несколькими компьютерами. Для того чтобы данные одного исполнителя были доступны другим и наоборот, эти компьютеры должны быть соединены в единую вычислительную систему с помощью вычислительных сетей.
Банк и база данных, расположенные на одном компьютере, называются локальными, а на нескольких соединенных сетями ПЭВМ называются распределенными. Распределенные банки и базы данных более гибки и адаптивны, менее чувствительны к выходу из строя оборудования.
Локальные базы данных эффективны при работе одного или нескольких пользователей, когда имеется возможность согласования их деятельности административным путем. Такие системы просты и надежны за счет своей локальности и организационной независимости.
Назначение распределенных баз и банков данных состоит в предоставлении более гибких форм обслуживания множеству уда ленных пользователей при работе со значительными объемами информации в условиях географической или структурной разобщенности. Распределенные системы баз и банков данных обеспечивают широкие возможности по управлению сложных многоуровневых и многозвенных объектов и процессов.
Моделирование базы данных ведется поэтапно.
1 этап - предпроектная стадия, которая включает сбор материалов в процессе обследования, оформление их в виде технического задания. В них обосновывается целесообразность создания банка и базы данных. В качестве основных факторов раскрываются и приводятся следующие:
- многоцелевое использование данных;
- обеспечение многопользовательского доступа к данным в диалоговом режиме;
- наличие сложных связей между данными;
- необходимость поддержания системы в актуальном состоянии.
Материалы, содержащие выводы и предложения по созданию банка и базы данных исходя из конкретных условий и возможностей, включаются в технико-экономическое обоснование проекта и служат основанием для формирования технического задания на разработку системы банка данных, оно является частью общего технического задания на проектирование компьютерной системы. В нем ставятся цели и круг решаемых проблем, оговариваются масштабы и сферы деятельности системы, глобальные ограничения.
На стадии технического проектирования результаты разработок и проектных решений оформляются в виде технического проекта. Он включает общие вопросы: такие, как определение конфигурации вычислительных, средств, создание логической модели базы данных, ее уточнение и доводка в виде моделей других уровней, выбор операционной системы и СУБД, физическое проектирование. Затем разрабатываются конкретные пользовательские применения БД, определяются подмодели, доступные каждому из пользователей.
Технический проект является основным проектным документом,
в котором приводятся разработки и их описания по всем компонентам создаваемого банка данных. При моделировании базы данных используются различные методы и средства, ориентированные
на выбор конкретной СУБД. Сюда же относятся и предбазовые
процессы подготовки информации и работы с ней, определение
технологических особенностей по всем процессам, возникающим в
результате создания и внедрения банка данных. В техническом
проекте отражаются организационные изменения, связанные с работой технических и программных средств, с новой организацией
информации.
На этапе рабочего проектирования доводятся и детализируются решения технического проекта. Рабочий проект имеет ту же структуру, что и технический, но с более глубокой проработкой и проверкой. На этом этапе выполняется сбор и предварительная подготовка нормативно-справочных материалов, разработка должностных, технологических инструкций для работы в условиях новой информационной технологии.
На этапе внедрения проекта выполняется проверка проектных решений и их доводка, при необходимости дорабатывается технология работы с банком данных, пользователями, выполняется перераспределение обязанностей, устанавливаются категории и иерархия доступа пользователей к данным.
Использование технологий базы и банка данных ставит вопросы дальнейшего развития компьютерных информационных систем: их реорганизацию, подключение новых пользователей, предоставление новых информационных услуг.
Современные СУБД предоставляют возможность пользователям быстро и удобно создавать несложные базы данных.
Базы данных. Модели данных
База данных (БД) – это совокупность взаимосвязанных, характеризующаяся возможностью использования для большого количества приложений, возможностью быстрого получения и модификации необходимой информации, минимальной избыточностью информации, независимостью прикладных программ, общим управляемым способом поиска
Возможность применения баз данных для многих прикладных программ пользователя упрощает реализацию комплексных запросов, снижает избыточность хранимых данных и повышает эффективность использования информационной технологии. Основное свойство баз данных — независимость данных и использующих их программ. Независимость данных подразумевает, что изменение данных не приводит к изменению прикладных программ и наоборот.
Ядром любой базы данных является модель данных. Модель данных – это совокупность структур данных и операций их обработки.
Модели баз данных базируются на современном подходе к обработке информации, состоящем в том, что структуры данных обладают относительной устойчивостью. Структура информационной базы, отображающая в структурированном виде информационную модель предметной области, позволяет сформировать логические записи, их элементы и взаимосвязи между ними. Взаимосвязи могут быть типизированы по следующим основным видам:
- "один к одному", когда одна запись может быть связана
только с одной записью;
- "один ко многим", когда одна запись взаимосвязана со многими другими;
- "многие ко многим", когда одна и та же запись может входить в отношения со многими другими записями в различных вариантах.
Применение того или иного вида взаимосвязей определило три основные модели баз данных: иерархическую, сетевую и реляционную.
Для пояснения логической структуры основных моделей баз
данных рассмотрим такую простую задачу: необходимо разработать логическую структуру БД для хранения данных о трех
поставщиках: П1, П2, П3, которые могут поставлять товары Т1,
Т2, Т3 в следующих комбинациях: поставщик П1 — все три вида
товаров, поставщик П2 — товары Т1 и Т3, поставщик П3 — товары Т2 и Т3.
Иерархическая модель представляется в виде древовидного
графа, в котором объекты выделяются по уровням соподчиненности (иерархии) объектов (рис. 5.1.)
Рис. 5.1. Иерархическая модель БД
На верхнем, первом уровне находится информация об объекте "поставщики" (П), на втором — о конкретных поставщиках П1, П2, П3, на нижнем, третьем, уровне — о товарах, которые могут поставлять конкретные поставщики. В иерархической модели должно соблюдаться правило: каждый порожденный узел не может иметь больше одного порождающего узла (только одна входящая стрелка); в структуре может быть только один непорожденный узел (без входящей стрелки) — корень. Узлы, не имеющие входных стрелок, носят название листьев. Узел интегрируется как запись. Для поиска необходимой записи нужно двигаться от корня к листьям, т.е. сверху вниз, что значительно упрощает доступ.
Достоинство иерархической модели данных состоит в том, что она позволяет описать их структуру, как на логическом, так и на физическом уровне. Недостатками данной модели являются жесткая фиксированность взаимосвязей между элементами данных, вследствие чего любые изменения связей требуют изменения структуры, а также жесткая зависимость физической и логической организации данных. Быстрота доступа в иерархической модели достигнута за счет потери информационной гибкости (за один проход по дереву невозможно получить информацию о том, какие поставщики поставляют, например, товар Ti).
В иерархической модели используется вид связи между элементами данных "один ко многим". Если применяется взаимосвязь вида "многие ко многим", то приходят к сетевой модели данных.
Сетевая модель базы данных для поставленной задачи представлена в виде диаграммы связей (рис. 5.2.). На диаграмме указаны независимые (основные) типы данных П1, П2, П3, т.е. информация о поставщиках, и зависимые — информация о товарах T1, T2, и Т3. В сетевой модели допустимы любые виды связей между записями и отсутствует ограничение на число обратных связей. Но должно соблюдаться одно правило: связь включает основную и зависимую записи
Рис. 5.2. Сетевая модель базы данных
Достоинство сетевой модели БД — большая информационная гибкость по сравнению с иерархической моделью. Однако сохраняется общий для обеих моделей недостаток — достаточно жесткая структура, что препятствует развитию информационной базы системы управления. При необходимости частой реорганизации информационной базы (например, при использовании настраиваемых базовых информационных технологий) применяют наиболее совершенную модель БД — реляционную, в которой отсутствуют различия между объектами и взаимосвязями.
В реляционной модели базы данных взаимосвязи между элементами данных представляются в виде двумерных таблиц, называемых отношениями. Отношения обладают следующими свойствами: каждый элемент таблицы представляет собой один элемент данных (повторяющиеся группы отсутствуют); элементы столб ца имеют одинаковую природу, и столбцам однозначно присвоены имена; в таблице нет двух одинаковых строк; строки и столбцы могут просматриваться в любом порядке вне зависимости от их информационного содержания.
Преимуществами реляционной модели БД являются простота логической модели (таблицы привычны для представления информации); гибкость системы защиты (для каждого отношения может быть задана правомерность доступа); независимость данных; возможность построения простого языка манипулирования данными с помощью математически строгой теории реляционной алгебры (алгебры отношений).
Для приведенной выше задачи о поставщиках и товарах логическая структура реляционной БД будет содержать три таблицы (отношения): R1, R2, R3, состоящие соответственно из записей о поставках, о товарах и о поставках товаров поставщиками (рис. 5.3.)
Рис. 5.3. Реляционная модель БД
СУБД и ее функции
Системой управления базами данных (СУБД) называют программную систему, предназначенную для создания на ЭВМ общей базы данных, используемой для решения множества задач. Подобные системы служат для поддержания базы данных в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках
предоставленных пользователям полномочий.
СУБД предназначена для централизованного управления базой данных в интересах всех работающих в этой системе.
По степени универсальности различают два класса СУБД:
- системы общего назначения;
- специализированные системы.
СУБД общего назначения не ориентированы на какую-либо предметную область или на информационные потребности какой-либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной операционной системе и поставляется многим пользователям как коммерческое изделие. Такие СУБД обладают средствами настройки на работу с конкретной базой данных. Использование СУБД общего назначения в качестве инструментального средства для создания автоматизированных информационных систем, основанных на технологии баз данных, позволяет существенно сокращать сроки разработки, экономить трудовые ресурсы. Этим СУБД присущи развитые функциональные возможности.
Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
СУБД общего назначения — это сложные программные комплексы, предназначенные для выполнения всей совокупности функций, связанных с созданием и эксплуатацией базы данных информационной системы.
Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование. Продукты, функционирующие в среде WINDOWS, выгодно отличаются удобством пользовательского интерфейса и встроенными средствами повышения производительности.
Производительность СУБД оценивается:
- временем выполнения запросов;
- скоростью поиска информации в неиндексированных полях;
- временем выполнения операций импортирования базы данных из других форматов;
- скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
- максимальным числом параллельных обращений к данным в многопользовательском режиме;
- временем генерации отчета.
На производительность СУБД оказывают влияние два фактора:
- СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;
- производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.