Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 522

.pdf
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
2.03 Mб
Скачать

ФГБОУ ВПО «Воронежский государственный технический университет»

Д.Г. Плотников

БАЗЫ ДАННЫХ И ИХ БЕЗОПАСНОСТЬ

Утверждено Редакционно-издательским советом университета в качестве учебного пособия

Воронеж 2015

УДК 004.05

Плотников Д. Г. Базы данных и их безопасность: учеб. пособие [Электронный ресурс]. – Электрон. текстовые, граф. данные (1,93 Мб) / Д. Г. Плотников. –Воронеж: ФГБОУ ВПО «Воронежский государственный технический университет», 2015. – 1 электрон. опт. диск (CD-ROM). – Систем. требования: ПК 500 и выше; 256 Мб ОЗУ; Windows XP;

AdobeReader; 1024x768; CD-ROM; мышь. – Загл. с экрана.

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

Издание соответствует требованиям Федерального государственного образовательного стандарта высшего профессионального образования по специальностям 090301 «Компьютерная безопасность», 090303 «Информационная безопасность автоматизированных систем», дисциплинам «Системы управления базами данных», «Основы построения защищенных СУБД», «Безопасность систем баз данных».

Табл. 53. Ил. 16. Библиогр.: 8 назв.

Рецензенты: ОАО «Концерн «Созвездие» (канд. техн. наук, ведущий науч. сотрудник О. В. Поздышева);

д-р техн. наук, проф. А. Г. Остапенко

©Плотников Д. Г., 2015

©Оформление. ФГБОУ ВПО «Воронежский государственный

технический

университет», 2015

ВВЕДЕНИЕ

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

Индустрия исследований систем баз данных – это история развития приложений, достигших большой производительности и оказавших существенное влияние на экономику. Сейчас на исследованиях баз данных основана индустрия информационных услуг. Достижения в исследованиях баз данных стали основой фундаментальных разработок коммуникационных систем, транспорта, финансового менеджмента, систем баз знаний, методов доступа к научной литературе, а также большого количества гражданских и военных приложений. Они также послужили фундаментом значительного прогресса в ведущих областях науки – от информатики до биологии [3].

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

Структурированный язык запросов (Structured Query Language – SQL или Sequel - результат) был разработан IBM в 1974-1979 гг. как язык взаимодействия с прототипом систем

3

управления реляционными базами данных System R. Первая коммерчески доступная СУБД, использующая SQL, была представлена в 1979 году Oracle Corporation. SQL давно стал стандартом, но его развитие продолжается. Многие существующие серверы реляционных баз данных поддерживают ту или иную версию или уровень стандарта ANSI/ISO SQL (ANSI – американский национальный институт стандартов, ISO – международная организация стандартов). Поддержка SQL позволяет пользователям и приложениям баз данных SQL – типа идентично работать со многими различными реляционными серверами баз данных.

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

4

ОСНОВНЫЕ ТЕРМИНЫ

База данных – поименованная совокупность структурированных данных предметной области.

Система управления базами данных (СУБД)

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

Структурирование данных – процесс группировки данных по определённым параметрам.

Таблица – это объект, предназначенный для хранения данных в виде записей (строк) и полей (столбцов).

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

Отчёт - объект базы данных, предназначенный для печати данных.

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

Ключ – поле, которое однозначно определяет соответствующую запись (например, № личного дела ученика).

Запись – совокупность логически связанных полей, характеризующих типичные свойства реального объекта.

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

5

1.ПОНЯТИЕ БАЗЫ ДАННЫХ. ФАЙЛОВЫЕ СИСТЕМЫ

ИБАЗЫ ДАННЫХ. КЛАССИФИКАЦИЯ ЗАДАЧ, РЕШАЕМЫХ С ИСПОЛЬЗОВАНИЕМ СУБД

Вобщем случае термины «Система с базами данных» и «Система управления базами данных» различны в том смысле, что второй термин – это подсистема управления системой с базами данных, которая является специализированным приложением. Но в некоторых контекстах оба этих термина, используются как имеющие одинаковый смысл.

Начнем с примеров некоторых приложений систем баз данных.

Складской учет.

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

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

6

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

Использование кредитной карточки.

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

Бухгалтерия учреждений.

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

7

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

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

-Понимание проблем, присущих файловым системам, может предотвратить их повторение в СУБД.

-Знать принципы работы файловых систем не только очень полезно, но и необходимо при выполнении перехода от файловой системы к системе баз данных.

Итак, ФАЙЛОВЫЕ СИСТЕМЫ – это набор программ, которые выполняют для пользователя некоторые операции, например, создание отчетов. Каждая программа определяет свои собственные данные и управляет ими.

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

8

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

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

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

В файловых системах используются следующие понятия.

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

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

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

9

Ограничения, присущие файловым системам

Разделение и

 

 

 

Дублирование

 

изоляция

 

 

 

данных

 

данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Несовместимость

 

 

Зависимость от

 

файлов

 

 

данных

 

 

 

 

 

 

Фиксированные запросы/быстрое увеличение количества приложений

Рис. 1.1. Ограничения, присущие файловым системам

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

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

10