- •1. Возможность представления внутренней структуры данных
- •2. Производительность
- •3. Минимальные затраты
- •4. Минимальная избыточность
- •5. Возможности поиска
- •6. Целостность
- •7. Безопасность и секретность
- •8. Связь с прошлым
- •Связь с будущим
- •10. Настройка
- •11. Перемещение данных
- •12. Простота
- •13. Эффективные языки пользователей
ЛОГИЧЕСКАЯ ОРГАНИЗАЦИЯ БАЗЫ ДАННЫХ
ЧТО ТАКОЕ БАЗА ДАННЫХ?
Существует хорошо известное, но трудно реализуемое на практике понятие базы данных как большого по объему хранилища, в которое фирма помещает все обрабатываемые ею данные и из которого различные пользователи могут эти данные получать. Устройства памяти, в которых хранятся все данные, могут быть расположены в одном или в нескольких местах; в последнем случае они должны быть связаны средствами передачи данных. К данным должны иметь доступ программы.
Такая единая база данных представляется очень сложной и в общем-то нереальной. Создание подобной базы данных остается долгосрочной целью развития средств обработки данных. Тем не менее сложные базы данных необходимо создавать, и делать это следует поэтапно. Действительно, большинство существующих на сегодняшний день баз данных предназначено для ограниченного ряда приложений. Часто на одной ЭВМ создается несколько баз данных. Со временем базы данных, предназначенные для реализации отдельных родственных функций, можно будет объединить, если такое объединение будет способствовать увеличению эффективности и интенсивности использования всей системы.
Базу данных можно определить как совокупность взаимосвязанных хранящихся вместе данных при наличии такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений; данные запоминаются так, чтобы они были независимы от программ, использующих эти данные; для добавления новых иди модификации существующих данных, для поиска данных в базе данных применяется общий управляемый способ. Данные структурируются таким образом, чтобы была возможность дальнейшего наращивания приложений. Говорят, что система содержит совокупность баз данных, если эти базы данных структурно полностью самостоятельны.
В системах с простой организацией данных для каждого приложения создается своя совокупность записей. Назначение базы данных заключается в том, чтобы одну и ту же совокупность данных можно было использовать для максимально возможного числа приложений. Исходя из этого, базу данных часто разрабатывают в качестве хранилища такой информации, необходимость в которой возникает в процессе выполнения определенных функций на заводе, в правительственном учреждении или в какой-либо другой организации. Такая база данных должна обеспечивать не только получение информации, но также постоянную модификацию данных, необходимую для процессов управления в данной организации. Может оказаться, что при получении информации для планирования или ответов на вопросы потребуется осуществлять поиск в базе данных. Совокупностью данных могут пользоваться несколько ведомств независимо от того, имеются ли при этом между ними ведомственные барьеры.
База данных может разрабатываться для пакетной обработки данных, обработки в реальном времени или оперативной обработки (в этом случае обработка каждой транзакции завершается к определенному моменту времени, но при этом на время обработки не накладывается жестких ограничений, существующих в системах реального времени). Во многих базах данных предусмотрена совокупность этих методов обработки, а во многих системах с базами данных обслуживание терминалов в реальном времени происходит одновременно с пакетной обработкой данных.
ИЗБЫТОЧНОСТЬ
Большая часть дисковых или ленточных библиотек, которые существовали до использования средств управления базами данных, содержала большое количество повторяющейся информации. При запоминании многих элементов данных допускалась избыточность так как на носители информации для различных целей записывались одни и те же данные и, кроме того, хранились различные варианты модификаций одних и тех же данных. База данных представляет возможность в значительной степени избавиться от такой избыточности. Базу данных иногда определяют как неизбыточную совокупность элементов данных; однако в действительности для уменьшения времени доступа к данным или упрощения способов адресации во многих базах данных избыточность в незначительной степени присутствует. Некоторые записи повторяются для того, чтобы обеспечить возможность восстановления данных при их случайной потере. Чтобы база данных была не избыточной и удовлетворяла другим требованиям, приходится идти на компромисс. В этом случае говорят об управляемой или минимальной, избыточности или о том, что хорошо разработанная база данных свободна от излишней избыточности.
Неуправляемая избыточность имеет несколько недостатков. Во-первых, хранение нескольких копий данных приводит к дополнительным затратам. Во-вторых, (что особенно серьезно) приходится выполнять многократные операции обновления для нескольких избыточных копий. Избыточность поэтому обходится значительно дороже в тех случаях, когда при обработке файлов обновляется большое количество информации или, что еще хуже, часто вводятся новые элементы или уничтожаются старые. В-третьих, вследствие того что различные копни данных могут соответствовать различным стадиям обновления, информация, выдаваемая системой, может быть противоречивой.
Если не использовать базы данных, то при обработке большого количества информации появится так много избыточных данных, что фактически станет невозможным сохранять их все на одном и том же уровне обновления. Очень часто пользователи обнаруживают явные противоречия в данных и поэтому испытывают недоверие к полученной от ЭВМ информации. Невозможность хранения избыточных данных на одинаковом уровне обновления является основным препятствием в обработке данных с помощью ЭВМ. НЕПРЕРЫВНОЕ РАСШИРЕНИЕ
Одной из наиболее важных характеристик большинства баз данных является их постоянное изменение и расширение. По мере добавления новых типов данных или при появлении новых приложений должна быть обеспечена возможность быстрого изменения структуры базы данных. Реорганизация базы данных должна осуществляться по возможности без перезаписи прикладных программ и в целом вызывать минимальное количество преобразований. Простота изменения базы данных может оказать большое влияние на развитие приложений баз данных в управлении производством.
Специалисту по анализу систем часто удобно считать, что разрабатываемая им для некоторого применения структура данных является полностью завершенной как в смысле создания, так и в смысле использования. Он добавляет к записи несколько лишних символов и считает, что они позволяют приспосабливаться к любым возможем изменениям в будущем. Следовательно, он планирует размещение данных в виде такой физической организации, которая является эффективной для выбранной конкретной структуры данных. В этом случае системные исследователи глубоко заблуждаются. Требования к обработке изменяются случайным образом. Если возникает необходимость модификации выбранных структур данных, то приходится соответственно перезаписывать и отлаживать прикладные программы. Чем большее количество прикладных программ имеется в наличии на установке, тем более дорогой становится эта процедура.
О независимости данных часто говорят как об одном из основных свойств базы данных. Под этим подразумевается независимость данных и использующих их прикладных программ друг от друга в том смысле, что изменение одних не приводит к изменению других. В частности, прикладной программист изолирован от влияния изменений данных и их организации, а также от изменения характеристик физических устройств, на которых они хранятся. В действительности же полностью независимыми данные бывают так же редко, как и полностью не избыточными. Как мы увидим ниже, независимость данных определяется с различных точек зрения. Сведения, которыми должен располагать программист для доступа к данным, различны для различных баз данных. Тем не менее независимость данных - это одна из основных причин использования систем управления базами данных.
УСТАНОВЛЕНИЕ МНОГОСТОРОННИХ СВЯЗЕЙ
В том случае, когда один набор элементов данных используется для многих приложений, между элементами этого набора устанавливается множество различных взаимосвязей, необходимых для соответствующих прикладных программ. Организация базы данных в значительной степени зависит от реализации связей между элементами данных и записями. В базе данных, используемой многими приложениями, должны быть установлены многочисленные промежуточные взаимосвязи между данными. В этом случае при хранении и использовании данных контролировать их правильность, обеспечивать их защиту и секретность труднее, чем при хранении данных в простых, несвязанных файлах. Что касается обеспечения секретности данных и восстановления их после сбоев, то этот вопрос является очень важным при конструировании баз данных.
В некоторых системах средства управления базами данных применяются для того, чтобы пользователи могли использовать данные таким способом, который не был предусмотрен разработчиками системы. Одно из широко рекламируемых фирмой 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. Минимальная избыточность
В системах обработки данных, существовавших до использования систем управления базами данных, информационные фонды обладали очень высоким уровнем избыточности. Большинство ленточных библиотек содержало большое количество избыточных данных. Даже при использовании баз данных по мере возрастания объема информации, объединяемой в интегрированные базы данных, существует потенциальная возможность появления избыточных данных. Как мы уже отмечали, избыточные данные дороги в том смысле, что они занимают больше памяти, чем это необходимо, и требуют более одной операции обновления. Вследствие того что различные копии данных могут находиться на различных стадиях обновления, система может выдавать противоречивую информацию.
Целью организации базы данных должно быть ограничение избыточных данных там, где это выгодно, и контроль за теми противоречиями, которые вызываются наличием избыточных данных.