<< Пред. стр.

стр. 10
(общее количество: 18)

ОГЛАВЛЕНИЕ

След. стр. >>

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

6.4. Каковы состав и назначение
языковых средств системы
управления базами данных?
Функциональные возможности моделей данных становятся
доступными пользователям СУБД благодаря языковым средствам
системы.
Реализация языковых средств интерфейсов может быть осу­
ществлена различными способами:
• для высококвалифицированных пользователей языковые
средства представляются в их явной синтаксической форме;
• в других случаях функции языков могут быть доступны
косвенным образом, когда они реализуются в форме различного
рода меню, диалоговых сценариев или заполняемых пользовате­
лем таблиц. По таким входным данным интерфейсные средства
формируют адекватные синтаксические конструкции языка ин­
терфейса и передают их на исполнение или включают в генериру­
емый код языка приложения. Интерфейсы с неявным использо­
ванием языка широко применяются в СУБД для персональных
84
ЭВМ. В этом случае используется (для реляционных СУБД),
например, табличный язык Query-By-Example (QBE), разрабо­
танный М. Злуфом.
Языковые средства используются для выполнения двух ос­
новных функций:
• для описания представления базы данных на управляемых
уровнях архитектуры системы;
• для инициирования выполнения операций манипулирова­
ния данными.
Первая из этих функций обеспечивается языком описания дан­
ных (ЯОД; Shema Definision Language). Его часто называют языком
определения данных. Описание данных средствами ЯОД называ­
ют схемой базы данных. Оно включает описание логической струк­
туры данных и налагаемых на нее ограничений целостности в
рамках тех правил, которые регламентированы моделью данных,
используемой СУБД. Помимо указанных функций, ЯОД некото­
рых СУБД обеспечивает ограничение доступа к данным или пол­
номочий пользователей.
Кроме того, многие системы не имеют своих самостоятельных
языков для спецификации многоуровневых отображений данных.
В таких случаях определение способов отображения также описы­
вается средствами ЯОД одного из смежных архитектурных уров­
ней. Они при этом включаются в схему базы данных.
ЯОД не всегда синтаксически оформляется в виде самостоятель­
ного языка. Он может быть составной частью языка данных, сочета­
ющего возможности определения данных и манипулирования ими.
Язык манипулирования данными (ЯМД; Shema Manipulation
Language) позволяет запрашивать предусмотренные в системе опе­
рации над данными из базы данных, то есть содержит набор опе­
раторов манипулирования данными, позволяющий заносить дан­
ные, удалять, модифицировать или выбирать их. Аналогично ЯОД,
ЯМД не обязательно выступает в качестве синтаксически само­
стоятельного языка СУБД.
В настоящее время имеются многочисленные примеры язы­
ков СУБД, объединяющих возможности описания данных и мани­
пулирования данными в единых синтаксических рамках. Более того,
в современных СУБД обычно поддерживается единый интегриро­
ванный язык, содержащий все необходимые средства для рабо­
ты с базой данных и обеспечивающий базовый пользовательс­
кий интерфейс с базами данных. Наиболее популярным и стан­
дартным для реляционных СУБД является язык SQL (Structured
Query Language), разработанный фирмой IBM и реализованный
в реляционной СУБД System R, а впоследствии и в коммерчес­
кой системе DB2. Другим примером языков этого класса могут
служить: язык Quel системы Ingres, созданный Калифорнийс­
ким университетом, языковые средства большинства СУБД для
персональных ЭВМ, например, язык dBase семейства СУБД фир-

85
мы Asthon — Tate и многочисленных совместимых с ним систем,
язык СУБД: R:Base фирмы Microrim.
Некоторые СУБД располагают такими языками, которые не
только реализуют функции определения и манипулирования дан­
ными, но и обладают управляющими структурами и другими сред­
ствами, свойственными традиционным языкам программирова­
ния. Благодаря этому они могут использоваться как функцио­
нально полное средство для создания прикладных программ и для
формулировки запросов пользователей к БД. Такие языки назы­
вают автономными (язык запросов). В качестве примера приведем
ранее упоминавшийся язык dBase, построенный в стиле струк­
турного программирования.
Хотя автономные языки современных СУБД и обладают раз­
витыми функциональными возможностями, существует много
приложений, для реализации которых этих возможностей оказы­
вается недостаточно. Наиболее распространены случаи, когда под­
держиваемая модель данных оказывается слишком бедна сред­
ствами моделирования семантики ПО.
Как уже отмечалось, конечные пользователи информацион­
ной системы разделяются на две категории — прямые и косвен­
ные. Те, кто относится к группе прямых пользователей, в отличие
от косвенных, самостоятельно без посредников общается с ЭВМ.
Они способны разрабатывать новые приложения.
В настоящее время акцент разработки приложений все более
переносится с профессиональных программистов на конечных
пользователей. Эта тенденция имеет очевидные достоинства: при­
ложения разрабатываются быстрее; реализуются именно те. алго­
ритмы, которые необходимы пользователю в момент разработки
приложений; снижается себестоимость программной реализации
системы и упрощается весь процесс ее разработки. Все это стано­
вится возможным, если в состав СУБД входят языки конечных
пользователей, которые относят к классу автономных непроцедур­
ных языков высокого уровня. Сегодня почти для всех промышлен­
ных систем такие языковые средства разработаны.
Языки конечных пользователей позволяют осуществлять вы­
борку данных, формировать отчеты, разрабатывать новые прило­
жения и запрашивать уже разработанные. В некоторых языках та­
кого типа обеспечены также возможности обновления базы дан­
ных и реализации достаточно сложных обработок данных.
Изучение простейших возможностей языков конечных пользо­
вателей не требует больших затрат времени. Такой уровень подго­
товки (обычно 1—3 дня) позволит пользователю разрабатывать
несложные приложения.
Использование всего арсенала языков, необходимых для со­
здания сложных процедур обработки данных, требует профессио­
нальной подготовки.

86
6.5. Как обеспечивается информационная
безопасность баз данных?
Системы управления базами данных стали основным инстру­
ментом, обеспечивающим хранение больших массивов информа­
ции. Современные информационные приложения опираются в пер­
вую очередь на многопользовательские СУБД. В этой связи при­
стальное внимание в настоящее время уделяется проблемам обес­
печения информационной безопасности, которая определяет сте­
пень безопасности организации, учреждения в целом.
Под информационной безопасностью понимают защищенность
информации от случайных и преднамеренных воздействий есте­
ственного или искусственного характера, чреватых нанесением
ущерба владельцам или пользователям информации.
В целях защиты информации в базах данных важнейшими яв­
ляются следующие аспекты информационной безопасности (ев­
ропейские критерии):
• условия доступа (возможность получить некоторую требуе­
мую информационную услугу);
• целостность (непротиворечивость информации, ее защищен­
ность от разрушения и несанкционированного изменения);
• конфиденциальность (защита от несанкционированного про­
чтения).
Проблема обеспечения информационной безопасности — комп­
лексная, поэтому ее решение должно рассматриваться на разных уров­
нях: законодательном, административном, процедурном и программ­
но-техническом. В настоящее время особенно остро в России стоит
проблема разработки законодательной базы, обеспечивающей безо­
пасное использование информационных систем.
К основным программно-техническим мерам, применение ко­
торых позволит решить некоторые из вышеперечисленных про­
блем, относятся:
• аутентификация пользователя и установление его идентич­
ности;
• управление доступом к базам данных;
• поддержание целостности данных;
• протоколирование и аудит;
• защита коммуникаций между клиентом и сервером;
• отражение угроз, специфичных для СУБД.
Проверка подлинности пользователя приложений базы дан­
ных чаще всего осуществляется либо через соответствующие ме­
ханизмы операционной системы, либо через определенный SQL-
оператор: пользователь идентифицируется своим именем, а сред­
ством аутентификации служит пароль. Подобная система создает
значительные сложности для повторных проверок и исключает
подобные проверки перед каждой транзакацией.

87
Управление доступом к базам данных базируется на реализа­
ции следующего минимального набора действий:
• произвольное управление доступом;
• обеспечение безопасности повторного использования объектов;
• использование меток безопасности;
• принудительное управление доступом.
Произвольное управление доступом — метод ограничения до­
ступа к объектам, основанный на учете личности субъекта или
групп, в которую субъект входит. Эта технология обеспечивает
владельцу объекта (представления, сервера базы данных, проце­
дуры, таблице) передачу по своему усмотрению привилегий дру­
гому лицу. Этим лицом в данной ситуации может выступать
субъект-пользователь, группа пользователей.
Главное достоинство произвольного управления доступом — гиб­
кость. Однако такие сопутствующие характеристики, как рассредо-
точенность управления и сложность централизованного контроля,
создают немало проблем для обеспечения безопасности данных.
Следует обратить внимание и на обеспечение безопасности
повторного использования баз данных субъектами. Это означает
лишение прав для входа в информационную систему всех пользо­
вателей, покинувших организацию.
Метка безопасности состоит из двух частей: уровня секретности
и списка категорий. Первая составляющая зависит от приложения
и в стандартном варианте может выглядеть как спектр значений от
«совершенно секретно» до «несекретно». Вторая составляющая по­
зволяет описать предметную область, разделяя информацию «по
отсекам», что способствует лучшей защищенности. Механизм ме­
ток безопасности не отменяет, а дополняет произвольное управле­
ние доступом: пользователи по-прежнему могут оперировать с таб­
лицами только в рамках своих привилегий, получать только часть
данных. Основная проблема при использовании меток безопаснос­
ти — поддержание их целостности. Это означает, что все объекты и
субъекты должны быть помечены, и при любых операциях с дан­
ными метки должны оставаться правильными.
Принудительное управление доступом основано на сопостав­
лении меток безопасности субъекта и объекта. Для чтения ин­
формации объекта необходимо доминирование метки субъекта
над меткой объекта. При выполнении операции записи инфор­
мации в объект необходимо доминирование метки безопасности
объекта над меткой субъекта. Этот способ управления доступом
называется принудительным, т. к. не зависит от воли субъектов.
Он нашел применение в СУБД, отличающихся повышенными
мерами безопасности.
Обеспечение целостности данных не менее важная задача, чем
управление доступом. С точки зрения пользователей СУБД, ос­
новными средствами поддержания целостности данных являются
ограничения и правила. Ограничения могут содержаться непос-

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

6.6. В чем состоят перспективы развития
систем управления базами данных?
Будучи основным фундаментальным средством построения
информационных систем, используемых в производстве, бизнесе
и научной деятельности, базы данных и системы управления ими
составляют обширную область исследований.
89
Несмотря на то, что реляционные СУБД давно и прочно заня­
ли основные позиции на рынке программного обеспечения по об­
работке данных, в этой области остается много нерешенных про­
блем. Во-первых, это касается нового стандарта языка SQL-3, воз­
можности которого должны быть расширены за счет определения
триггеров, работы с объектами, расширения типов данных. Во-
вторых, движение в сторону открытых систем предполагает пере­
смотр организации серверов баз данных, допуск в них внутренней
параллельности. В третьих, обозначилась проблема использования
старых баз данных в рамках новых программных продуктов.
Значительное число разработок осуществлено в области постре­
ляционных баз данных. Появились базы данных сложных объектов
(реляционная модель с отказом от первой нормальной формы), на­
шедшие применение в нетрадиционных приложениях, требующих
операций со сложно структурированными объектами; активные базы
данных, для которых СУБД выполняет не только указанные пользо­
вателем действия, но и дополнительные действия в соответствии с
правилами, заложенными в саму базу данных; темпоральные базы
данных как надстройка над реляционной базой данных, позволяю­
щие поддерживать исторические данные системы; интегрированные
системы, обеспечивающие решение задачи интеграции неоднород­
ных баз данных в единую глобальную систему.
Особое место в СУБД следующего поколения занимают объект­
но-ориентированные базы данных. Их возникновение определяется
потребностями практики: необходимостью разработки сложных ин­
формационных систем, для которых технология предшествующих
баз данных не была удовлетворительной. В таких СУБД должны быть
решены проблемы поддержки иерархии и наследования типов, уп­
равления сложными объектами. Однако для решения этих задач су­
ществуют значительные ограничения, а именно: отсутствие обще­
принятой объектно-ориентированной модели данных, декларатив­
ного языка запросов и т. п. Разработчики в области баз данных отво­
дят объектно-реляционным и объектно-ориентированным базам дан­
ных значительное место на рынке в ближайшее десятилетие.
Распределенные базы данных представляют еще одну разновид­
ность системы управления базами данных. Применение протоколов
синхронизации транзакций, сокращение расходов на пересылку
данных между узлами вычислительной сети в ходе выполнения
распределенного запроса посредством репликации данных — дале­
ко не все возможные проблемы в данной области.

Литература к главе б
1. Бойко В.В., Савинков В.М. Проектирование баз данных информацион­
ных систем. — М.: Финансы и статистика, 1989.
2. Дейт К. Введение в системы баз данных. — К., М„ СПб.: Издательский
Дом «Вильяме», 2000.
90
3. Джексон Г. Проектирование реляционных баз данных с использованием
микро-ЭВМ. - М.: Мир, 1991.
А.Диго СМ. Проектирование баз данных. — М.: Финансы и статистика, 1988.
5. Иванов Ю.Н. Теория информационных объектов и системы управления
базами данных. — М.: Наука, 1988.
6. Информационные системы в экономике: Учебник / Под ред. проф.
В.В. Дика. — М.: Финансы и статистика, 1996.
7. Кагаловский М.Р. Технология баз данных на персональных ЭВМ. — М.:
Финансы и статистика, 1992.
8. Мартин Д. Базы данных: практические методы. — М.: Радио и связь,
1983.
9. МейерД. Теория реляционных баз данных. — М.: Мир, 1987.
10. Озрарахан Э. Машины баз данных и управления базами данных. / Пер.
с англ., под pea. А.И. Китова. — М.: Сов.радио, 1973.
11. Организация работы с документами: Учебник / В.А. Кудряев, И. К. Кор-
неев, Г.Н. Ксандопуло и др. — М.: ИНФРА-М, 1998.
12. Тиори Т.,ФрайДж Проектирование структур баз данных. — М.: Мир, 1985.
13. Ульман Дж. Основы систем баз данных. — М.: Финансы и статистика, 1983.
14. ХаббардДж. Автоматизированное проектирование баз данных. — М.:
Мир, 1984.
15. ЦикритзисД., Лоховски Ф. Модели данных. — М.". Финансы и статис­
тика, 1985.
ГЛАВА 7
СЕТЕВЫЕ ТЕХНОЛОГИИ И СИСТЕМЫ
РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ
ИНФОРМАЦИИ

7.1. В чем заключаются основные различия
между локальными и крупномасштабными
вычислительными сетями?
Глобальная (крупномасштабная) вычислительная сеть WAN
(Wide Area Network) представляет собой множество географически
удаленных друг от друга компьютеров (так называемых host-уз­
лов), совместное взаимодействие которых обеспечивается комму­
никационной сетью передачи данных и специальными програм­
мами сетевой операционной системы. Основу WAN составляют
мощные многопользовательские вычислительные системы; явля­
ющиеся различного рода серверами, а также специализированные
компьютеры, выполняющие функции коммуникационных узлов.
Пользователи персональных компьютеров становятся абонентами
сети посредством подключения своих ПК именно к этим основ­
ным узлам.
Для WAN характерны, во-первых, значительный масштаб (как
по площади сети, так и по числу узлов), а, во-вторых, неодно­
родность (т. е. различный тип архитектуры и программного обес­
печения компьютеров-узлов). Эти особенности и определяют до­
полнительные сложности архитектуры и организации взаимодей­
ствия сетевых элементов в гетерогенных WAN.
Локальные вычислительные сети ЛВС или LAN (Local Area
Network), обеспечивая взаимодействие небольшого числа одно­
родных компьютеров на небольшой территории, имеют по срав­
нению с WAN менее развитую архитектуру и используют более
простые методы управления взаимодействием узлов сети. При этом
небольшие расстояния между узлами сети и простота управления
системой связи позволяют обеспечивать в более высокие скорос­
ти передачи данных.
92
7.2. Как осуществляется передача данных
по каналу связи, соединяющему
два соседних узла сети?
Кратко термин данные определяет единицы, передающие зна­
чение или смысл. Непрерывные (аналоговые) данные имеют не­
прерывно изменяемые в некотором интервале времени значения.
В качестве примеров аналоговых данных можно привести изме­
няющийся во времени звук или изменяющееся изображение, а
также информацию, собираемую о температуре и давлении с
помощью различных датчиков. Дискретные данные имеют диск­
ретные значения. Их примерами могут служить текст и числа.
В системах связи данные передаются из одной точки в другую
с помощью электрических сигналов. Аналоговый сигнал является
постоянно изменяющейся электромагнитной волной, которая в
зависимости от ее частоты может передаваться в различных средах.
Примерами таких сред могут служить обычный провод, витая
пара, коаксиальный кабель, оптико-волоконный кабель, атмос­
фера. Дискретный сигнал, в частности, представляет собой после­
довательность импульсов напряжения, которая может передаваться
по проводу. При этом, уровень постоянного положительного на­
пряжения может представлять двоичную 1, а уровень постоянно­
го отрицательного напряжения может представлять двоичный 0.
Любые данные (как непрерывные, так и дискретные) могут
быть представлены и, следовательно, переданы с помощью как
аналоговых, так и дискретных сигналов.
Непрерывные данные могут быть представлены непосредственно
электромагнитным сигналом. Лучшим примером этого является
простой телефон. Здесь на входе звук преобразуется в электромаг­
нитный сигнал, который на выходе с помощью обратной проце­
дуры вновь преобразуется в звук.
Дискретные данные также могут быть представлены напря­
мую с помощью дискретных сигналов (например, в бинарной
форме уровней напряжения), что и используется сегодня в диск­
ретных компьютерах. Однако дискретные данные могут быть пред­
ставлены и аналоговыми сигналами с помощью такого устрой­
ства, как модем (модулятор/демодулятор). Это устройство на вхо­
де линии связи преобразует серию бинарных (два уровня) им­
пульсов напряжения в аналоговый сигнал путем определенной
модуляции его несущей частоты. Формируемый таким образом

<< Пред. стр.

стр. 10
(общее количество: 18)

ОГЛАВЛЕНИЕ

След. стр. >>