Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и ВТ Брукшир.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.07 Mб
Скачать

9Структуры баз данных

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

9.1 Общие вопросы

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

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

Еще одно преимущество интегрированной информационной системы состоит в контроле, который получает организация, когда вся ее информация размещена в одном общем хранилище. Если каждый отдел обладает собственными независимыми данными, эти данные обычно работают на конкретный отдел, а не на целую организацию. В противоположность этому, если в большой организации внедрена интегрированная база данных, управление информацией может быть отдано административной должности, известной как администратор базы данных (database administrator, DBA), которая исполняется одним или несколькими сотрудниками. Этот центральный администратор осведомлен как о данных, доступных внутри организации, так и о потребностях различных отделов. Таким образом, в структуре базы данных заложено, что решения относительно организации и доступа к данным можно принимать, учитывая интересы всей организации.

Там, где есть преимущества, есть и недостатки. Одна из проблем — управление доступом к данным, требующим деликатного обращения. Например, сотрудник, работающий с информационными бюллетенями организации, должен иметь доступ к именам и адресам всех сотрудников, но финансовые данные должны быть ему недоступны; аналогично, сотрудник, занимающийся платежными ведомостями, не должен иметь доступ к прочим финансовым записям корпорации. Можно утверждать, что правильное управление доступом к информации в базе данных зачастую так же важно, как и возможность совместно использовать ее.

Разграничение прав доступа в системах баз данных обычно осуществляется на основе схем и подсхем. Схема (schema) — это описание структуры всей базы данных, которое используется в приложениях базы данных. Подсхема — это описание только части базы данных, имеющей отношение к определенным задачам пользователя. Например, представим себе схему университетской базы данных, записи о студентах в которой содержат не только поля, относящиеся к учебе, но и текущий адрес, и номер телефона. Кроме того, в базе запись каждого студента связана с записью его факультетского научного руководителя. Записи каждого сотрудника факультета содержат имя, адрес, сведения о трудовой деятельности и т. д. На основе этой схемы поддерживается система указателей, которая в конечном итоге может даже связать информацию о студенте с данными о трудовой деятельности сотрудника факультета.

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

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

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