Автор работы: Пользователь скрыл имя, 09 Июля 2015 в 12:50, курсовая работа
Цель исследования — изучение методов защиты реляционных баз данных.
Задачи исследования:
1. Исследовать сущность баз данных.
2. Изучить историю развития реляционных баз данных.
3. Описать необходимость защиты баз данных.
4. Проанализировать проблемы защиты реляционных баз данных и методы их защиты.
ВВЕДЕНИЕ
Базы данных составляют в настоящее время основу компьютерного обеспечения информационных процессов, входящих практически во все сферы человеческой деятельности.
Базы данных являются эффективным средством представления структур данных и манипулирования ими. Концепция баз данных предполагает использование интегрированных средств хранения информации, позволяющих обеспечить централизованное управление данными и обслуживание ими многих пользователей.
Высокий темп внедрения вычислительных средств во все сферы жизнедеятельности человека стал причиной стремительного повышения количества угроз безопасности. Это связано с тем, что информация, как результат
автоматизированной обработки, с каждым годом определяет действия не только все большего числа людей, но и все большего числа технических систем, созданных человеком. Отсюда становятся понятны последствия потери, подлога или хищения данных, хранящихся в вычислительных системах, а также нарушения работоспособности самих вычислительных средств.
Следовательно, можно сделать вывод, что исследование данной темы является актуальным.
Одним из основных видов угроз целостности и конфиденциальности информации, а также работоспособности вычислительных систем являются преднамеренные угрозы, реализация которых заранее планируется злоумышленником для нанесения вреда.
Проблема исследования состоит в заданиях, которые необходимо использовать при многопользовательском доступе к информации, хранящейся в базах данных. Требования, выдвигаемые к системе безопасности типичных реляционных баз данных, бывают различными. Таким образом, целью исследования является обзор возможных схем обеспечения безопасности в реляционных базах данных.
Объект исследования — реляционные базы данных.
Предмет исследования — современные проблемы защиты реляционных баз данных и способы их решения.
Цель исследования — изучение методов защиты реляционных баз данных.
Задачи исследования:
1. Исследовать сущность баз
2. Изучить историю развития
3. Описать необходимость защиты баз данных.
4. Проанализировать проблемы
Методы исследования: сравнительный анализ источников литературы.
Данная тема актуальна в данный момент и широко исследована различными авторами. Сущность и характеристика баз данных описана в источниках[2,3]. Источники [4,5] освещают особенности реляционных баз данных. В источнике [1] рассмотрены проблемы защиты информации в базах данных. В источниках [6,7] описаны методы защиты баз данных.
РАЗДЕЛ 1
ПОНЯТИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ
1.1 Основные сведения о базах данных
Большинство приложений, предназначенных для выполнения работы, тем или иным образом используют структурированную информацию или, другими словами, упорядоченные данные. Такими данными могут быть, например, списки заказов на тот или иной товар, списки предъявленных и оплаченных счетов или список телефонных номеров.
При компьютерной обработке информации, упорядоченные каким-либо образом данные принято хранить в базах данных — особых файлах, использование которых вместе со специальными программными средствами позволяет пользователю, как просматривать необходимую информацию, так и, по мере необходимости, манипулировать ею. Например: добавлять, изменять, копировать, удалять, сортировать и т.д.
Таким образом, дать простое определение базы данных можно следующим образом. База данных (БД) — это организованный набор фактов в определенной предметной области. БД — это информация, упорядоченная в виде набора элементов, записей одинаковой структуры. Для обработки записей используются специальные программы, позволяющие их упорядочить, делать выборки по указанному правилу.
В литературе даются следующие определения БД:
1. База данных — организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей [3].
2. База данных — некоторый набор перманентных (постоянно хранимых) данных, используемых прикладными программными системами какого-либо предприятия [2].
3. База данных — совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей организации [2].
4. База данных — это взаимосвязанная информация (данные) об объектах, которая организованна специальным образом и хранится во внешней памяти компьютера [2].
БД — это совокупность взаимосвязанных данных при предельно малой избыточности, допускающей их оптимальное использование в определённых областях человеческой деятельности. В зависимости от способа представления данных и отношений между ними, они могут иметь реляционную, сетевую или иерархическую структуры. На эффективность БД с той или иной структурой влияют условия её применения.
Данные в БД организованы, как правило, в виде таблиц. Табличный способ отображения информации широко используется в документах и отчётах, поскольку он удобен и позволяет наглядно представлять различного рода данные. Невзирая на то, что в БД может храниться великое множество записей, в любое время можно найти необходимую в данный момент запись. Результатом поиска информации в приведенной БД могут быть названия, суммы, количество, даты.
Структуру простейшей базы данных можно рассматривать как прямоугольную таблицу, состоящую из вертикальных столбцов и горизонтальных строк. Вертикальные столбцы принято называть полями, а горизонтальные строки — записями. Единицей хранимой информации является горизонтальная строка.
Благодаря все более интенсивному развитию информационных технологий, компьютеры чаще используются для построения систем обработки документов, а точнее, содержащейся в них информации. Таким образом, можно сделать вывод, что информационная система требует создания в памяти ЭВМ динамически обновляемой модели внешнего мира с использованием единого хранилища — базы данных, для удовлетворения информационных потребностей пользователя.
1.2. История развития реляционных баз данных
Задача длительного хранения и обработки информации появилась практически сразу с созданием первых компьютеров. Для решения этой задачи в конце 60-х годов XX века были разработаны специализированные программы, получившие название систем управления базами данных (СУБД).
СУБД проделали длительный путь эволюции от системы управления файлами через иерархические и сетевые базы данных к реляционным моделям.
Основоположником теории реляционных баз данных считается сотрудник фирмы IBM доктор Э. Кодд, опубликовавший 6 июня 1970 г. статью
"A Relational Model of Data for Large-Shared Data Banks" ("Реляционная модель данных для больших коллективных банков данных"). В этой статье впервые был использован термин "реляционная модель данных" [2].
Теория реляционных баз
Особенно следует отметить проект System R, разработанный в корпорации IBM в конце 70-х годов. Этот проект был задуман с целью доказать практичность реляционной модели, что достигалось посредством реализации предусмотренных ею структур данных и требуемых функциональных
возможностей. На основе этого проекта были получены важнейшие результаты. Был разработан структурированный язык запросов SQL, который с тех пор стал стандартным языком любых реляционных СУБД.
1.3. Сущность реляционных баз данных
Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного вида. Каждая строка таблицы содержит данные об одном объекте, а столбцы таблицы содержат различные характеристики этих объектов — атрибуты [5].
Строки таблицы называются записями. Все записи таблицы имеют одинаковую структуру — они состоят из полей (элементов данных), в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и представляет собой заданный тип данных (например, текстовая строка, число, дата). Для идентификации записей используется первичный ключ. Первичным ключом называется набор полей таблицы, комбинация значений которых однозначно определяет каждую запись в таблице.
При помощи SQL можно выполнять запросы, которые возвращают наборы данных, получаемых из одной или нескольких таблиц. В рамках одного запроса данные получаются из нескольких таблиц путем их соединения, чаще всего для соединения используются те же колонки, которые определяют отношения между таблицами.
Доступ к реляционным базам данных осуществляется через реляционные системы управления базами данных (РСУБД).
В реляционной базе данных все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой данных сводятся к манипуляциям с таблицами.
Таблица состоит из столбцов (полей) и строк (записей); имеет имя, уникальное внутри базы данных. Таблица отражает тип объекта реального мира (сущность), а каждая ее строка — конкретный объект. Каждый столбец таблицы — это совокупность значений конкретного атрибута объекта. Значения выбираются из множества всех возможных значений атрибута объекта, которое называется доменом (domain).
В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементам данных. Если при вычислении логического условия относительно элемента данных в результате получено значение «истина», то этот элемент принадлежит домену. В простейшем случае домен определяется как допустимое потенциальное множество значений одного типа. Если два значения берутся из одного и того же домена, то можно выполнять сравнение этих двух значений.
Каждый столбец (поле) имеет имя, которое обычно записывается в верхней части таблицы. При проектировании таблиц в рамках конкретной СУБД имеется возможность выбрать для каждого поля его тип, а также определить те операции, которые можно выполнять над данными, хранящимися в этом поле.
Имя поля должно быть уникальным в таблице, однако различные таблицы могут иметь поля с одинаковыми именами. Любая таблица должна иметь, по крайней мере, одно поле; поля расположены в таблице в соответствии с порядком следования их имен при ее создании. В отличие от полей, строки не имеют имен; порядок их следования в таблице не определен, а количество логически не ограничено.
Любая таблица имеет один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку. Такой столбец (или комбинация столбцов) называется первичным ключом (primary key). Ключ должен обладать следующими свойствами:
1. Уникальностью. В каждый момент времени никакие два различных кортежа отношения не имеют одинакового значения для комбинации входящих в ключ атрибутов.
2. Минимальностью. Ни один из входящих в ключ атрибутов не может быть исключен из ключа без нарушения уникальности.
Каждое отношение имеет, по крайней мере, один возможный ключ, поскольку совокупность всех его атрибутов удовлетворяет условию уникальности — это следует из самого определения отношения. Один из возможных ключей произвольно выбирается в качестве первичного ключа. Остальные возможные ключи, если они есть, принимаются за альтернативные ключи.
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Таблицы реляционной БД должны отвечать требованиям нормализации отношений. Нормализация отношений — это формальный аппарат ограничений на формирование таблиц, который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение базы данных.
Имеется три нормальные формы отношений:
1. Первая нормальная форма. Реляционная таблица приведена к первой нормальной форме тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто.
2. Вторая нормальная форма. Реляционная таблица задана во второй нормальной форме, если она удовлетворяет требованиям первой нормальной формы и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом. Чтобы привести таблицу ко второй нормальной форме, необходимо определить функциональную зависимость полей. Функциональная зависимость полей — это зависимость, при которой в экземпляре информационного объекта определенному значению ключевого реквизита соответствует только одно значение описательного реквизита.
3. Третья нормальная форма. Таблица находится в третьей нормальной форме, если она удовлетворяет требованиям второй нормальной формы, ни одно из ее не ключевых полей не зависит функционально от любого другого не ключевого поля [5].
Реляционные таблицы могут быть связаны друг с другом, следовательно, данные могут извлекаться одновременно из нескольких таблиц. Таблицы связываются между собой для того, чтобы, в конечном счете, уменьшить объем БД. Связь каждой пары таблиц обеспечивается при наличии в них одинаковых столбцов.