Бизнес-разведка - Алекcандр Доронин
Шрифт:
Интервал:
Закладка:
«Шьется дело!» — устало хмыкали сотрудники Департамента полиции, скрепляя досье «цыганской» иглой с суровой ниткой.
Каждая категория объектов разработки, агентов и секретных сотрудников, каждая форма учета имела собственный цвет документации. Это позволяло исключительно быстро находить любые материалы. В годы после Октябрьской революции многое из этого передового опыта с успехом применялось на Лубянке для нужд Советской власти.
В качестве зарубежного примера можно привести механическую систему картотечной обработки информации, разработанную директором ФБР Эдгаром Гувером. Он предложил заполнять сведения о преступниках на специальных карточках, на которых помимо анкетных данных указывались ответы на многочисленные вопросы о преступной «специализации» каждого фигуранта картотеки. Каждый положительный ответ фиксировался путем перфорации соответствующего поля карточки. При необходимости отбора подозреваемых по совокупности определенных признаков сквозь соответствующие отверстия (указывающие на необходимые признаки) продевались металлические спицы, и таким образом, отбирались искомые подозреваемые. {Костин В.П. Тайная полиция США. ФБР: прошлое и настоящее, М.: Мысль, 1981.}
После появления компьютеров правоохранительные органы и спецслужбы стали одними из самых первых и благодарных их пользователей. «Призыв на секретную службу» компьютеров, способных за доли секунды обрабатывать тысячи записей, положил конец эре картотек, заполненных сотнями тысяч бумажных карточек.
3. Модели представления данных в электронных базах данныхВнедрение новых информационных технологий не обошлось без трудностей, так как поначалу поиск в электронных картотеках оказался хотя и очень быстрым, но зачастую гораздо менее эффективным, чем поиск в обычной картотеке или традиционное изучение архивных дел. Это во многом было связано с тем, что в то время доступ к обрабатываемым данным осуществлялся прикладными программами напрямую, а сами данные были организованы в виде плоских файлов.
Возрастающие потребности в обработке информационных массивов стали мощным стимулом развития теоретических основ информационных технологий и их практической реализации. Возникавшие проблемы с логической целостностью данных, а также невозможность представить логические связи между ними в указанных выше системах стали причиной возникновения первой модели данных — иерархической.
На сегодняшний день существует четыре модели* представления данных: иерархическая, сетевая, реляционная (объектно-реляционная) и объектно-ориентированная. Между собой они различаются в основном способами представления взаимосвязей между объектами. {Моделирование данных — это выявление сущностей (объектов), которые должны быть представлены в базе данных, и связей между ними.}
Иерархическая модель данных стала применяться в системах управления базами данныхв начале 60-х годов. {Программные продукты, призванные работать со структурированными информационными массивами, стали называться системы управления базами данных (СУБД). Система управления базами данных предоставляет возможность контролировать задание структуры и описания своих данных, работу с ними и организацию коллективного использования этой информации. СУБД также существенно увеличивает возможности и облегчает каталогизацию и ведение больших объемов хранящейся информации. СУБД включает в себя три основных типа функций: определение (задание структуры и описание) данных, обработка и управление данными.}
Она представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф).
Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии, — подчиненными. Между главным и подчиненными объектами устанавливается взаимосвязь «один ко многим».
Иными словами, для данного главного типа объекта существует несколько подчиненных типов объекта. В то же время для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов. Таким образом, взаимосвязи между объектами напоминают взаимосвязи в генеалогическом дереве за единственным исключением: для каждого порожденного (подчиненного) типа объекта может быть только один исходный (главный) тип объекта. То есть иерархическая модель данных допускает только два типа связей между объектами: «один к одному» и «один ко многим».
При моделировании событий, как правило, необходимы связи типа «многие ко многим». Как одно из возможных решений снятия этого ограничения можно предложить дублирование объектов. Однако дублирование объектов создает возможности рассогласования данных. Приведу пример: объект «Иванов» может проходить как подчиненная связь объекта «Петров», и одновременно имеется объект «Иванов» с подчиненной связью «Петров». Установить реально существующие связи ближайшего окружения «Иванова» и «Петрова» в этом случае достаточно проблематично.
Иерархические базы данных по существу являются навигационными, т.е. доступ возможен только с помощью заранее определенных связей.
Достоинство иерархической базы данных в том, что ее навигационная природа обеспечивает очень быстрый доступ при следовании вдоль заранее определенных связей. Однако негибкость модели данных и, в частности, невозможность наличия у объекта нескольких родителей, а также отсутствие прямого доступа к данным делают ее непригодной в условиях частого выполнения запросов, не запланированных заранее. Еще одним недостатком иерархической модели данных является то, что информационный поиск из нижних уровней иерархии нельзя направить по вышележащим узлам.
Чтобы устранить ограничения, свойственные иерархической модели данных, в начале 60-х годов, задолго до появления компьютерных сетей, проектировщики баз данных создают сетевую модель данных, описывающую сети связей между данными.
В сетевой модели данных понятия главного и подчиненных объектов несколько расширены. Любой объект может быть и главным, и подчиненным (в сетевой модели главный объект обозначается термином «владелец набора», а подчиненный — термином «член набора»). Один и тот же объект может одновременно выступать и в роли владельца, и в роли члена набора. Это означает, что каждый объект может участвовать в любом числе взаимосвязей.
Сетевая модель базы данных похожа на иерархическую, однако характер отношений основных ее составляющих принципиально иной. В сетевой модели принята свободная связь между элементами разных уровней, т.е. она допускает связи «многие ко многим». В качестве примера используемой на сегодняшний день СУБД, поддерживающей принципы сетевой модели данных, можно привести инструментальную СУБД «Cronos Plus».
Понятие реляционная модель ввел в 1970 г. Э. Ф. Кодц. В реляционной модели данных объекты и взаимосвязи между ними представляются с помощью таблиц. Взаимосвязи также рассматриваются в качестве объектов. Каждая таблица представляет один объект и состоит из строк и столбцов. В реляционной базе данных каждая таблица должна иметь первичный ключ (ключевой элемент) — поле или комбинацию полей, которые единственным образом идентифицируют каждую строку в таблице. Благодаря своей простоте и естественности представления реляционная модель получила наибольшее распространение среди СУБД для персональных компьютеров.
Название «реляционная» (relational) связано с тем, что каждая запись в такой базе данных содержит информацию, относящуюся (related) только к конкретному объекту. Кроме того, с данными двух типов можно работать как с единым целым, основанным на значениях связанных между собой данных.
Преимуществом реляционной модели перед другими моделями является простая и удобная для пользователя схема данных, представляемая в виде таблиц.
Физическая независимость реляционной модели состоит в том, что модель данных не включает никаких физических описаний. В действительности физическое представление отношений и путей доступа описывается независимо от описания логической схемы отношений.
Недостатком реляционной модели данных является избыточность по полям (из-за создания связей).
В качестве примера можно привести реляционные СУБД Microsoft Access и Borland Paradox.
Объектно-ориентированная модель данных в отличие от вышеописанных моделей, в которых информация и процедуры хранились раздельно (данные и связи между ними — в базе данных, а процедуры — в прикладной программе), позволяет хранить процедуры обработки сущностей вместе с данными. Такое совместное хранение считается шагом вперед в методах управления данными. Но объектно-ориентированные базы данных являются навигационными, что представляется шагом назад.