Материал: Базы данных и их безопасность. Плотников Д.Г

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

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

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

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

11

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

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

Определение данных содержится внутри приложений, а не хранится отдельно и независимо от них.

Помимо приложений не предусмотрено никаких других инструментов доступа к данным и их обработки.

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

БАЗА ДАННЫХ – это совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей группы пользователей.

12

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

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

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

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

13

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

Что такое «логически связанный»? При анализе информационных потребностей группы пользователей следует выделить сущности, атрибуты и связи (рис. 1.2). Сущностью называется отдельный тип объекта, который нужно представить в базе данных. Атрибутом называется свойство, которое описывает некоторую характеристику описываемого объекта; связь – это то, что объединяет несколько сущностей. Итак, база данных представляет сущность, атрибуты и логические связи между объектами. Иначе говоря, база данных содержит логически связанные данные.

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

Сущности

 

Атрибуты

 

 

 

Связи

Рис. 1.2. Данные, выделяемые при анализе информационных потребностей

СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

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

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

14

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

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

Существует две разновидности языков запросов –

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

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

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

15

Источник: https://studfile.net/preview/16563653/