Главная страница
qrcode

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


НазваниеОбласть применения баз данных
Дата24.09.2019
Размер74.5 Kb.
Формат файлаdoc
Имя файлаlect1_m1_ipovs_pkims_bd_230100.62_niy48.doc
ТипДокументы
#157646
Каталог

Область применения баз данных.


Использование компьютерной техники связано с двумя большими об­ластями деятельности человечества. В первой области компьютерная тех­ника применяется для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную. Характерной особенно­стью данной области является наличие сложных алгоритмов обработки, кото­рые применяются к простым по структуре данным, объем которых сравни­тель­но невелик.

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

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

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

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

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

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

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

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

    Из-за децентрализованной работы с данными, проводимой пользователями независимо друг от друга, в файловой системе фактически допускается бесконтрольное дублирование данных, которое нежелательно по следующим причинам:
    дублирование данных сопровождается неэкономным расходованием ресурсов, поскольку на ввод избыточных данных требуется затрачивать дополнительное время и деньги;
  • для их хранения необходимо дополнительное место во внешней памяти, что связано с дополнительными накладными расходами;
  • дублирование данных может привести к нарушению их целостности.
    Физическая структура и способ хранения записей файлов данных жестко зафиксированы в коде приложений. Это значит, что изменить существующую структуру данных достаточно сложно. Кроме того, при модификации структуры данных программы должны быть изменены с целью соответствия новой структуре файла. А таких программ может быть очень много. Следовательно, программист должен прежде всего выявить все программы, нуждающиеся в доработке, а затем их перепроверить и изменить. Ясно, что выполнение всех этих действий требует больших затрат времени и может явиться причиной появления ошибок. Данная особенность файловых систем называется зависимостью программ от данных.

    Поскольку структура файлов определяется кодом приложений, она также зависит от языка программирования этого приложения. Например, структура файла, созданного программой на языке Паскаль, может значительно отличаться от структуры файла, создаваемого программой на языке С. Прямая несовместимость таких файлов затрудняет процесс их совместной обработки и может потребовать создания программного обеспечения, предназначенного для преобразования полей файлов в некоторый общий формат, поэтому этот процесс может оказаться весьма длительным и дорогим.

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

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

    Понятие базы данных (БД) и банка данных (БнД)


    Все перечисленные выше ограничения файловых систем связаны с определением данных внутри приложений вместо независимого хранения от них и отсутствием других инструментов доступа к данным и их обработки помимо приложений.

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

    База данных (БД) - это поименованная совокупность взаимосвязанных данных, управляемых специальной системой, называемой СУБД.

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

    БД и СУБД являются составными частями более сложной системы, именуемой банком данных [6]. Банк данных (БнД) - это система, состоящая из баз данных, программных, технических, языковых, организационно - методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных. Термин «банк данных» схож с понятием «система баз данных». Система баз данных представляет собой совокупность программного обеспечения, данных и аппаратного обеспечения компьютеров, которая реализует набор приложений и моделей данных, и использует СУБД и прикладное программное обеспечение для создания конкретной информационной системы [18]

    БнД является сложной человеко - машинной системой, состоящей из взаимосвязанных и взаимозависимых компонентов (рис. 1).

    . Компоненты БнД

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

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

    Языковые средства СУБД относятся к языкам четвертого поколения. Языковые средства предназначаются для пользователей разных категорий: конечных пользователей, системных аналитиков, профессиональных программистов. По функциональным возможностям выделяются 10 категорий языков [6]. По форме представления различают аналитические, табличные и графические языковые средства.

    Некоторые СУБД предоставляют пользователю несколько языков для достижения одной и той же цели. Например, в системе Delphi [19] для работы с базами данных могут использоваться:
    процедурный язык Object Pascal;
  • табличный язык запросов QBE (Query-By-Example);
  • язык SQL (Structured Query Language).
    В системе FoxPro доступны процедурный язык xBase, табличный язык запросов Relation QBE, а также язык SQL.

    Технические средства, используемые в БнД, - это компьютеры различных классов (от больших до персональных), периферийные устройства, коммуникационная (сетевая) аппаратура.

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

    Администраторы – это специалисты, которые обеспечивают создание, функционирование и развитие БнД. База данных и СУБД являются коллективными ресурсами, которыми следует управлять так же, как и любыми другими ресурсами [13]. Обычно управление данными и базой данных предусматривает управление и контроль за СУБД и помещенными в нее данными. Администратор данных отвечает за управление данными, включая планирование базы данных, разработку и сопровождение стандартов, прикладных алгоритмов и деловых процедур, а также за концептуальное и логическое проектирование базы данных. Администратор базы данных отвечает за физическую реализацию базы данных, включая физическое проектирование и воплощение проекта, за обеспечение безопасности и целостности данных, за сопровождение операционной системы, а также за обеспечение максимальной производительности приложений и пользователей. По сравнению с администратором данных обязанности администратора базы данных носят более технический характер, и для него необходимо знание конкретной СУБД и системного окружения. В одних организациях между этими ролями не делается различий, а в других важность коллективных ресурсов отражена именно в выделении отдельных групп персонала с указанным кругом обязанностей.

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

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

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

    - даталогическое проектирование базы данных, которое проводится с учетом особенностей выбранной модели данных.

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

    - преобразованием логической модели данных в набор таблиц и ограничений целостности данных;

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

    - проектированием любых требуемых мер защиты данных.

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

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

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

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

    Опытные пользователи знакомы со структурой базы данных и возможностями СУБД. Для выполнения требуемых операций они могут использовать такой язык запросов высокого уровня, как SQL. А некоторые опытные пользователи могут даже создавать собственные прикладные программы.
    перейти в каталог файлов


  • связь с админом