Файл: Руководство для профессиональных аналитиков москва 2009 rv удк 001. 51 Ббк72 с 40.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.12.2023

Просмотров: 524

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

10.4. Понятие базы данных н
информационного хранилища
Профессиональным аналитикам часто приходится изучать крайне сложные процессы и события, которые сами выступают в виде сложных иерархических полиструктурных систем. Естественно, что без помощи современных компьютерных технологий и информационных систем в современном сетевом мире высококачественное аналитическое исследование выполнить просто невозможно. При этом нужно учесть, что далеко не все системные аналитики свободно владеют основными понятиями, с помощью которых формулируются задачи, решаемые на основе использования компьютерных систем. Кроме того, системные аналитики иногда сталкиваются с задачами, решение которых требует участия профессиональных разработчиков и программистов, перед которыми тоже нужно уметь правильно ставить задачу.
Предлагаемый ниже перечень необходимых понятий может показаться излишне сухим и похожим на справочник или словарь по информационным технологиям. Но в действительности этот перечень крайне полезен для любого практического аналитика, позволяя ему систематизировать и ускорять проводимые исследования.
Обратимся теперь к базам данных. База данных
(БД) в общем смысле - структурированный источник
информации, объект КС, обладающий определенными
свойствами. В рамках теории БД взаимосвязанные данные, содержащие сведения о хозяйственной или иной деятельности любого предприятия, называются информационной системой (ИС). Таким образом, ИС есть объектная компонента КС, содержащая информацию и знания. Совокупность нескольких баз данных образует информационное хранилище.
Содержащиеся в ИС данные должны быть доступны, чтобы предоставлять достоверную информацию в определенное время конкретному лицу в определенном месте и с минимальными затратами. Информация, хранящаяся в БД, должна удовлетворять следующим требованиям:
334
• непротиворечивости;
• неизбыточности;
• целостности;
• полноты.
В теории БД объектом называется элемент ИС, информация о котором сохраняется в
ИС, удовлетворяющей только что перечисленным свойствам.
В теории БД объект также может называться сущностью. Сведения, содержащиеся в ИС, могут относиться к людям, населенным пунктам, реальным предметам, а также к событиям, финансовым счетам и т.д. При построении БД, относящейся, например, к деятельности организации, необходимы сведения о персонале, заработной плате, товарах, накладных, счетах, отчетах по сбыту. При продаже автомобилей ИС будет содержать такие объекты как модель автомобиля
(например, «ВАЗ»), клиент (например, «Сидоров»), номер счета. На товарном складе это будут: поставщик, товар, отгрузка товара и т.д. Каждый объект обладает набором свойств, которые зафиксированы в БД, образующие подсистему ИС. При обработке данных часто встречаются однородные объекты с одинаковыми свойствами, которые необходимо классифицировать.
Классом объектов называется совокупность объектов, обладающих одинаковым набором свойств.
Например, класс объектов «модель автомобиля» будет иметь одинаковый набор свойств, описывающих характеристики автомобиля, и каждая модель будет иметь различные значения этих характеристик.
Свойства, характеризующие объект, называются атрибутами объекта. Например, модель автомобиля характеризуется типом кузова, рабочим объемом двигателя, количеством цилиндров, мощностью двигателя, габаритами и т.д. Каждый атрибут имеет свое имя, которое также называют идентификатором, или идентификатором атрибута.
Атрибут, записанный на каком-либо носителе информации, называют элементом данных, полем данных или, для краткости, просто полем. Значения данных представляют собой действительные (реальные) данные,


335
содержащиеся в каждом поле. Например, поле
«Наименование модели» для автомобильной продукции может принимать значения «Volvo», «ВАЗ», «ГАЗ» и т.д.
Совокупность характеристик объекта называется записью базы данных. Теория БД оперирует также понятием таблицы. Таблица - это некоторая структурированная информация, содержащая характеристики объекта или класса объектов. Каждая строка таблицы является записью, а каждый столбец - полем.
Данные характеризуются различным типом.
Различают символьные, числовые, двоичные данные, данные специальных форматов - дата и время. Говорят, что какое-либо поле имеет числовой тип. Иногда в символьном типе данных, который представляет собой просто строки читаемых символов, выделяют Интернет- адреса или ссылки на страницы в сети. Уточнением понятия типа является формат - описание структуры.
Формат даты и времени может быть последовательностью из трех чисел, разделенных точками, а расположение дня, месяца и года (часов, минут и секунд) может меняться в зависимости от принятых в стране правил.
Таблица 17
Фамилия
Пол
Дата рождения
Должностной оклад
Аванс
Хоботов
М
10.10.1960 10900 3000
Орлович
М
01.01.1958 14700 4000
Сидорова
Ж
18.03.1975 13200 3500
Рязанова
Ж
25.06.1984 11500 3500
Таб. 17 характеризует класс объектов «Сотрудник» и содержит 5 полей и 4 записи. Поля «Фамилия» и «Пол» - это символьные поля, «Дата рождения» относится к типу дат, «Зарплата» и «Аванс» - относятся к числовому типу
(суммы).
Доменом называют набор допустимых значений поля. Для приведенного примера:
Домен поля «Фамилия» - в самом простом случае допустимы любые русские буквы, поле не должно содержать латинских букв, цифр, знаков препинания или каких-либо других символов (естественно, критерии выбора можно усложнить, например, не допускать фамилии, начинающиеся с мягкого или твердого знака);
Домен поля «Пол» - допустимы значения "М", V,
"Ж" "-яг"-
./IV , 2IS. ,
Домен поля
«Дата рождения» - задается определенным набором цифр, обозначающих год, месяц и день рождения;
«Зарплата» и «Аванс» - могут принимать только положительные значения.
Введенные понятия дают некоторый простой инструмент для оценки достоверности информации, почерпнутой аналитиком из используемых им БД.
Итак, база данных - это совокупность таблиц, объединенных вместе по какому-либо признаку. База данных характеризует класс объектов или информационную систему. В качестве примера можно рассмотреть БД отдела кадров, расписание движения поездов, записную книжку, конспект по какой-либо учебной дисциплине и т.д.
Система управления базами данных (СУБД) - это
совокупность языковых и программных средств,
предназначенных для создания, ведения и использования
баз данных. По характеру применения СУБД разделяют на следующие классы:
• персональные - обеспечивают возможность созда ния локальных баз данных, т.е. преимущественно рабо тающих на одном компьютере (к таким относятся Access,
FoxPro, dBase, Paradox);
• многопользовательские - это СУБД, позволяющие создавать информационные системы, функционирую щие в архитектуре «Клиент-Сервер», например: SyBase,
Oracle, MS SQL Server, InterBase, Informix.
Ряд современных СУБД (Access, Paradox, FoxPro)
также обеспечивают и многопользовательскую обработку данных, но используют архитектуру «Файл-


Сервер».
336 337

Ключевым элементом данных (ключевым полем или просто ключом) называется такой уникальный элемент, по которому можно определить значения других полей.
Подобно тому, как номерной знак однозначно определяет автомобиль, ключ однозначно определяет запись в соответствующих регистрационных документах.
В предыдущем примере таким полем можно считать
«Фамилию». Ключи строятся по одному или нескольким полям. Ключевые поля используются для создания межтабличных связей
(отношений).
Различают первичный и альтернативный ключи.
Первичный ключ - это поле или группа полей,
которые однозначно идентифицируют каждую строку в
таблице. Таблица может иметь только один
первичный ключ. Альтернативный ключ - это поле или
группа полей, не совпадающих с первичным ключом и
также однозначно идентифицирующих каждую строку
в таблице. Таблица может содержать несколько альтернативных (вторичных) ключей. Смысл понятий первичного и альтернативного ключа состоит в однозначной идентификации поля для поиска. Поле
«Личный номер сотрудника» можно использовать в качестве первичного ключа. Поскольку значение поля
«Серия и номер паспорта» также не повторяется и может однозначно идентифицировать каждую запись в таблице, это поле является альтернативным ключом. Поиск по личному номеру или паспортным данным всегда однозначно приведет к результату (если, конечно, искомое значение содержится в БД). Поле «Фамилия» ни первичным, ни альтернативным ключом быть не может, поскольку фамилии могут повторяться.
Таблица 18
Личный №
Фамилия
Паспорт
Категория
Должность
14
Аксененко
46 05 123456
2
Бухгалтер
75
Сидорова
44 01 234561
1
Продавец
27
Тарасов
33 00 345679
1
Продавец
102
Савельев
45 04 325476
3
Товаровед
338
Одна из главных операций с таблицами - поиск информации. Можно выполнить поиск нужной информации, последовательно просматривая записи одну за другой, начиная с первой. Но этот способ хорош для таблиц небольшого размера. Для таблиц с большим числом записей требуется более быстрый способ. В этом случае используется индексация. Индексация - это
упорядочение по полю или арифметико-логическому
выражению, зависящему от нескольких полей.
Например, можно проиндексировать таб. 18 по первой букве фамилии. Тогда таблица индексов будет содержать четыре элемента (А, С, Т, С). При поиске фамилий в базе не будет необходимости прочитывать все поля, достаточно обратиться к файлу индексов и проверить в нем первую букву фамилии. При совпадении первой буквы уже есть смысл просмотреть соответствующее поле. Очевидно, что процедуры поиска будут существенно ускорены по сравнению с последовательным перебором всех полей с фамилиями. В данном примере при поиске фамилий на «С» нужно будет проверить два поля, но легко улучшить индексацию, введя таблицу вида «АК», «СИ», «ТА», «СА». В этом случае каждое поле будет выбираться однозначно. Также легко отсеять не содержащиеся в базе фамилии.
Таким образом, индексы используются для упорядочения записей, ускорения поиска информации и создания отношений между таблицами. Индекс может быть построен по любому полю или выражению от нескольких полей.
Значения индексов могут повторяться. Применение индексов, как мы видели в примере, позволяет значительно ускорить поиск информации. Индексация существует в виде объекта и используется СУБД вместе с таблицей.
Итак, база данных - это совокупность нескольких таблиц со связями (отношениями) между ними.
Отношения между таблицами строятся через совпадающие поля. Между таблицами возможны 4 типа отношений:
• «один к одному»;
• «один ко многим»;
• «многие к одному»;
339


ш
• «многие ко многим».
Эти формулировки нуждаются в некоторых пояснениях, помогающих системному аналитику использовать имеющиеся в его распоряжении БД и ИС или «заказать» специалисту по созданию БД, какие таблицы должны быть построены, какие они должны содержать индексы и ключи. «Один к одному» — каждая запись одной таблицы соответствует одной записи в другой таблице, а связь между таблицами осуществляется по совпадающему полю, например,
«Личный №». Отношение «один к одному» целесообразно использовать, если часть данных используется нечасто.
Использование данного отношения позволит увеличить скорость работы с БД. «Один ко многим» - каждой записи в одной таблице соответствует несколько записей в другой таблице. Например, одному сотруднику может соответствовать несколько выполненных работ.
Отношение «один ко многим» используется очень часто и поддерживается всеми СУБД. «Многие к одному» - нескольким записям в одной таблице соответствует одна запись в другой таблице. Отношение «многие к одному» аналогично отношению «один ко многим». Тип отношения зависит от вашей точки зрения. Например, если вы будете рассматривать отношение между выполненной работой и сотрудниками, то получите отношение «многие к одному». «Многие ко многими - нескольким записям в одной таблице соответствует несколько записей в другой таблице. Например, между таблицами «Поставки товаров» и «Заказанные товары» существует отношение «многие ко многим», т.к. на каждый товар может быть более одного заказа или каждый поставляемый товар может производиться более чем одним производителем.
Системный аналитик, хорошо ориентирующийся в различных БД и СУБД, должен знать и уметь пользоваться различными моделями данных. В настоящее время распространены 3 модели данных:
• иерархическая;
• сетевая;
• реляционная.
Иерархическая модель данных строится по принципу иерархии типов объектов, т.е. один тип объекта является главным, а остальные - подчиненными. Между главными и подчиненными объектами устанавливается отношение
«один ко многим».
Для каждого подчиненного типа объекта может быть только один вышестоящий (исходный) тип объекта. Для сетевой
модели данных понятие главного (исходного) и подчиненного объекта несколько расширено. Любой объект может быть главным и подчиненным. Каждый объект может участвовать в любом числе взаимодействий. В реляционной модели объекты и взаимодействия между ними представляются с помощью рассмотренных выше таблиц. Каждая таблица должна иметь первичный ключ - поле или комбинацию полей, который однозначно идентифицирует каждую строку таблицы. Реляционная модель данных является наиболее простой и популярной. На ее идеологии построены практически все современные СУБД.
Исторически она появилась самой первой.
10.5. Понятие распределенной
компьютерной системы.
Информационно-телекоммуникационные системы
Обратимся теперь к понятию распределенной компьютерной системы. Заметим, что в качестве синонима часто употребляют термин информационно-телекоммуникационная система. Чтобы понять, что это такое, введем понятия локального и внешнего сегмента КС.
Локальный сегмент КС (АС КС) - подмножество
субъектов и объектов компьютерной системы,
выделяемое по одному из следующих критериев:
• критерию группирования в одно множество всех субъектов с возможностью непосредственного управле ния субъектами;
• критерию локализации некоторого подмноже ства объектов и субъектов в рамках некоторой техни ческой компоненты КС (одного компьютера или одной локальной сети);
340 341


• критерию присвоения объектам и субъектам КС некоторой информации, однозначно характеризующей субъект или объект (которая, как правило, называется адресом или сетевым адресом ЛС КС).
Поясним введенные критерии выделения локальных сегментов. В первом случае (все субъекты управляются одним или несколькими пользователями) речь идет о персональном рабочем месте аналитика. Во втором - о корпоративной локальной сети, содержащей несколько (возможно, что и достаточно большое число) рабочих мест. В третьем - о «скрытии» некоторой структуры за сетевым именем или адресом (например, mail.ru -огромное количество серверов, управляющих компьютеров и каналов связи, расположенных в нескольких странах, но решающих одну задачу по хранению и доставке электронной почты).
Внешний сегмент КС - дополнение множества
субъектов и объектов локального сегмента до всего
множества объектов КС. Очевидно, что во внешнем сегменте может быть выделено несколько локальных сегментов. В дальнейшем для простоты будем рассматривать один произвольно выделенный ЛС КС.
Речь идет о том, что, выделив ЛС КС по одному из предложенных критериев, мы весь остальной «мир» компьютерных систем считаем уже «внешним».
Удаленным субъектом будем называть субъект,
принадлежащий множеству субъектов внешнего
сегмента КС. Очевидно, что множества субъектов локального и внешнего сегмента КС не пересекаются.
Доступ удаленного субъекта к локальному объекту подразумевает организацию потока информации
(формальное определение потока мы дадим ниже) от удаленного субъекта к объектам локального субъекта.
Понятие потока описывает реальную работу компьютерной системы под управлением аналитика.
Потоки во «внешний мир» соответствуют запросам аналитиков во внешние информационные хранилища и базы данных, обратные потоки - ответы на эти запросы.
Потоки от одного ЛС КС к другому через внешний сегмент
342
КС означают информационный обмен между аналитиками. Не всегда эти потоки могут быть
«дружественны». Например, регулярный внешний поток от вашей локальной сети к неизвестному локальному сегменту, скорее всего, означает, что у вас крадут корпоративную информацию или, что еще более печально, в корпоративной сети имеется внутренний злоумышленник
(«крот»), который передает конфиденциальную информацию вовне. Не всегда это человек, чаще - программа, но подробнее об этом - ниже.
Потоком информации между объектом О
т
и
объектом О называется произвольная операция над
объектом О. реализуемая в субъекте S
t
и зависящая от
О
т
. Обозначения: Stream(S
i
, OJ —» О - поток информации от объекта О
т
к объекту О. Для практической исследовательской работы полезно и следует выделять источник (OJ и получателя
(приемника) потока (О). Значения индексов принимают целые положительные значения и означают тот простой факт, что все субъекты и объекты могут быть перенумерованы. Приведенные только что определения и разъяснения важны еще и потому, что они позволяют понять, как конструируются узко локальные
КС и КС, соединяющие несколько локальных систем, и притом, конструируются так, чтобы сохранить конфиденциальность компьютерной информации и предотвратить доступ к ней злоумышленников, например, аналитиков или программистов конкурирующей организации.
Во внешнем сегменте КС логично предположить существование субъекта, который управляется внешним злоумышленником (мы помним, что доступ к данным ЛС КС возможно получить только через программы).
Целью удаленного злоумышленника является организация потоков от данных локальных объектов в своих интересах. В случае разделения КС на локальный и внешний сегменты множество всех потоков можно разделить на четыре группы конструкций:
1. Потоки между локальными субъектами и локальными объектами.
343