Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kolokvium / MARTIN1.DOC
Скачиваний:
31
Добавлен:
19.04.2013
Размер:
91.14 Кб
Скачать

ЛОГИЧЕСКАЯ ОРГАНИЗАЦИЯ БАЗЫ ДАННЫХ

ЧТО ТАКОЕ БАЗА ДАННЫХ?

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

Такая единая база данных представляется очень сложной и в об­щем-то нереальной. Создание подобной базы данных остается долго­срочной целью развития средств обработки данных. Тем не менее слож­ные базы данных необходимо создавать, и делать это следует поэтапно. Действительно, большинство существующих на сегодняшний день баз данных предназначено для ограниченного ряда приложений. Час­то на одной ЭВМ создается несколько баз данных. Со временем базы данных, предназначенные для реализации отдельных родственных функций, можно будет объединить, если такое объединение будет спо­собствовать увеличению эффективности и интенсивности использова­ния всей системы.

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

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

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

ИЗБЫТОЧНОСТЬ

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

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

Если не использовать базы данных, то при обработке большого количества информации появится так много избыточных данных, что фактически станет невозможным сохранять их все на одном и том же уровне обновления. Очень часто пользователи обнаруживают явные противоречия в данных и поэтому испытывают недоверие к полученной от ЭВМ информации. Невозможность хранения избыточных данных на одинаковом уровне обновления является основным препятствием в обработке данных с помощью ЭВМ. НЕПРЕРЫВНОЕ РАСШИРЕНИЕ

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

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

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

УСТАНОВЛЕНИЕ МНОГОСТОРОННИХ СВЯЗЕЙ

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

В некоторых системах средства управления базами данных приме­няются для того, чтобы пользователи могли использовать данные та­ким способом, который не был предусмотрен разработчиками системы. Одно из широко рекламируемых фирмой IВМ достоинств «Систем управления информацией» (IМS) состоит в том, что администраторы или их сотрудники могут обращаться к вычислительной системе с вопросами, которые заранее в ней не предусматривались. Наличие этой возможности означает такую организацию данных в системе, при которой доступ к ним осуществляется по различным путям, причем одни и те же данные могут использоваться для ответов на различные вопросы. (При организации данных в виде ориентированных на конк­ретное приложение файлов, в которых адресация данных произво­дится одним и тем же определенным способом, описанная выше воз­можность отсутствует.) Вся существенная информация об объектах запоминается одновременно и полностью, а не только та ее часть, ко­торая необходима для одного приложения. Системы управления ин­формацией, использующие идею «хранилища» данных, так же как и другие подобные информационные системы, легко представить, но трудно реализовать. Для этого необходимо проделать очень сложную и большую работу по созданию баз данных, а при современных аппа­ратных средствах будет очень дорого стоить организация поиска дан­ных со скоростью, достаточной для получения ответов в реальном вре­мени на незапланированные заранее вопросы. В ближайшее время наиболее эффективными, по-видимому, будут такие базы данных, в которых структура выбрана с целью выполнения определенной последовательности операций с данными, а не для произвольного, не связанного со структурой поиска информации.

УСЛОВИЯ ИЗМЕНЕНИЯ СТРУКТУРЫ ДАННЫХ

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

Если бы использовались идеальные программные средства управле­ния данными, то можно было бы разрабатывать приложения «закуп­ка» и «расчеты по оплате» самостоятельно, а затем, позднее, объеди­нить разработанные для этих приложений файлы без перезаписи при­кладных программ. Программное обеспечение систем управления ба­зами данных (этап 3 на рис. 3.1) - это попытка осуществить такое объединение. Известно, что база данных представляет собой постоян­но развивающийся объект, который используется возрастающим коли­чеством приложений. К базе данных добавляются новые записи, а в существующие записи включаются новые элементы данных. Структура базы данных будет изменяться с целью повышения эффективности ее функционирования и при добавлении новых типов запросов. Пользователи будут изменять требования и модифицировать типы запросов на данные.

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

Из одних и тех же данных могут быть получены различные логи­ческие файлы, а доступ к одним и тем же данным со стороны различ­ных приложений может осуществляться различными путями, отвечающими требованиям этих приложений (этап 3). Это часто приводит к созданию сложных структур данных. Однако хорошее программное обеспечение баз данных избавляет прикладного программиста от трудностей, связанных со сложностью структуры. Независимо от того, каким образом данные организованы на самом деле, прикладной программист должен представлять себе файл в виде сравнительно простой структуры, которая спланирована в соответствии с требованиями его приложения.

Программное обеспечение баз данных должно располагать средствами отображения файлов структуры прикладного программиста (ле­вая часть диаграммы на рис. 3.1, этап 3) в такую физическую струк­туру данных, которая запоминается на реальном носителе (правая часть этой диаграммы), и наоборот.

Необходимость знания деталей физического расположения дан­ных прикладным программистом в различных системах различна. Если вы, например, собираетесь воспользоваться услугами нью-йоркского такси, то необходимость знать дорогу зависит от опыта шофера (степень независимости данных). Одному шоферу такси достаточно сказать название фильма - и таксист сам найдет вам кинотеатр, в котором показывают этот фильм. Если в этом кинотеатре фильм за­менили другим, вам не обязательно знать об этом или менять свой запрос: шофер такси сам найдет тот кинотеатр, в котором идет интересующий вас фильм. Для другого шофера такси вам, возможно, потре­буется самому узнать, где демонстрируется этот фильм и назвать кино­театр. Водитель в этом случае должен найти адрес этого кинотеатра. Может случиться и так, что вам придется самому узнать адрес кино­театра и предложить водителю проехать к нему по таким-то и таким-то улицам. В самом худшем случае вам, может быть, даже придется по дороге давать указания: «Повернуть налево... проехать пять кварта­лов... повернуть направо...»

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

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

ЛОГИЧЕСКАЯ И ФИЗИЧЕСКАЯ НЕЗАВИСИМОСТЬ ДАННЫХ

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

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

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

На рис. 3.1 (этап 4) иллюстрируется идея логической и физичес­кой независимости дачных; подробно она обсуждена в последующих главах. Большой прямоугольник в центре на рис. 3.1 (этап 4) пред­ставляет общую логическую структуру данных, иногда называемую глобальным логическим представлением данных. Это представление может сильно отличаться от физической структуры данных и от их представлений в конкретных прикладных программах. Программное обеспечение баз данных будет фактически получать представление данных прикладного программиста из общей логической структуры, а затем будет отображать общую логическую структуру в физическое представление данных.

КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ДАННЫХ

Центральный прямоугольник на рис. 3.1 (этап 4) является очень важным элементом в современных структурах баз данных. Он обозна­чает концептуальное представление данных в системе. Иногда его опре­деляют как модель данных или концептуальную модель. Иногда на­зывают схемой или концептуальной схемой. Концептуальная схема должна быть разработана таким образом, чтобы быть по возможности стабильной. В то время как представления программистов о данных изменяются, меняются физическое хранение и организация данных, концептуальная модель остается неизменной или увеличивается с целью включения дополнительных типов данных.

Не изменяются прикладные программы

Не изменяются глобальные логические описания данных

Не изменяется физическая организация данных

Добавляется новая прикладная программа, использующая новые типы данных

Прикладная программа использует измененное представление существующих данных

Добавляется новая прикладная программа, использующая существующие типы данных

Включаются новые экземпляры записи или удаляются старые

Совершенствуется глобальное логическое описание данных или создаются новые связи между типами данных

Две базы данных объединяются

Совершенствуется физическая организация данных, используются новые представления данных

Изменяются методы адресации

Данные перемещаются на том другого типа

Изменяется программное обеспечение

Изменяется аппаратура

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

Рис. 3.2. Средства обеспечения независимости данных в перспективных системах управления базами данных.

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

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

Назначением структуры, представленной на рис. 3.1 (этап 4), является обеспечение максимума свободы в изменении структур данных без переделки при этом выполненной ранее работы по формированию и использованию базы данных. На рис. 3.2 перечислены обычные для систем баз данных изменения и указано, какие из них могут выполняться без реструктуризации физической организация данных, их глобального логического представления или всех прикладных программ, кроме той программы, которая инициирует указанные изменения. Крестиками в колонках на рис. 3.2 отмечены вопросы, являющиеся предметом разработки современного программного обеспечения баз данных.

ТРИ ТИПА ОРГАНИЗАЦИИ

В этой книге мы рассматриваем организацию данных. Существует три типа организации данных. Этап 4 на рис. 3. 1 представляет каждый из этих аспектов. Мы будем называть их внешней организацией, гло­бальной логической организацией и физической организацией. Эти три типа организации, как правило, сильно отличаются друг от друга.

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

Глобальная логическая организация данных - это общая организа­ция или концептуальная модель базы данных (такая, как на рис. 6.1), на основании которой могут быть получены различные внешние орга­низации. Такое логическое представление данных является полностью независимым от физической организации данных. Оно будет описы­ваться на языке описания данных, который является частью програм­мных средств управления базами данных.

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

АДМИНИСТРАТОР БАЗЫ ДАННЫХ

Для проектирования и обслуживания структур баз данных было введено новое понятие - администратор базы данных.

Администратор базы данных охраняет данные всего учреждения или ту их часть, с которой связана его система. Он осуществляет конт­роль за всей структурой данных.

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

Отметим также, что, выполняя функции управления базой данных, администратор не знает содержимого записей. Ему известно, что за­пись ПЛАТЕЖНАЯ ВЕДОМОСТЬ содержит элемент данных ЗАРП­ЛАТА, но он не знает величины, записанной в этом элементе данных; он может специальным образом защитить этот элемент, так чтобы его нельзя было прочитать. Однако, если размер элемента данных ЗАРП­ЛАТА необходимо увеличить с 6 цифр до 7, такое изменение может вы­полнить только администратор базы данных.

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

Мы будем часто обращаться к администратору базы данных как к лицу, которое имеет глобальное представление об организации дан­ных. На самом деле администратор базы данных - это чаще всего не один человек, а отдел или группа людей, так как глубокое понимание природы базы данных, ее организации, экономики, критериев разра­ботки и требований многочисленных пользователей - круг вопросов, который слишком широк для компетенции одного человека.

ТРЕБОВАНИЯ, КОТОРЫМ ДОЛЖНА УДОВЛЕТВОРЯТЬ ОРГАНИЗАЦИЯ БАЗЫ ДАННЫХ

Существует много способов организации базы данных. Ка­кими принципами нужно руководствоваться при выборе средств и ме­тодов ее организации?

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

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

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

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

Базы данных широкого применения не могут быть построены быстро; они создаются постепенно. И программное обеспечение, и логи­ческое структурирование данных должны разрабатываться с учетом обязательного роста базы данных без ее разрушения.

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

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

Наиболее важными характеристиками систем баз данных являют­ся следующие:

1. Возможность представления внутренней структуры данных

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

2. Производительность

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

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

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

3. Минимальные затраты

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

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

4. Минимальная избыточность

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

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

Соседние файлы в папке Kolokvium