2.6. Особенности и компромиссы реализаций баз данных
В заключение приведем основные отличительные особенности обработки данных, характерные для файловых систем и систем управления базами данных.
Файлы обладают следующими свойствами:
- файл, как правило, представляет собой совокупность записей одного типа, доступ к которым определяется типом организации файла и осуществляется только средствами операционной системы;
- файл описывают и используют в прикладной программе, работающей с данными.
Базы данных имеют следующие особенности:
- база данных представляет собой совокупность данных разного типа, причем часто по одним данным получают другие;
- база данных существует независимо от конкретной прикладной программы – база создается с целью интеграции данных, объединяющей данные многих приложений (но определенного назначения). База данных предназначена для совместного, многофункционального использования многими пользователями один раз введенных данных.
Надо отметить, что с точки зрения управления данными СУБД оперируют данными на содержательном уровне, хотя физические структуры, используемые для этих целей, могут и совпадать с аналогичными структурами, создаваемые ОС.
Коренное же отличие СУБД от файловых систем ОС состоит в том, что СУБД устанавливает связь между содержанием и адресом, а ОС - между именем и адресом данных.
В то же время эта граница постоянно подвергается "атакам" с обеих сторон. Например, ОС-360 с "индексным доступом к данным", IN-PICK, включающая язык поиска записей файлов по содержанию, UNIX, включающая команды сортировки, коррекции или объединения содержимого текстовых файлов, наподобие того, как это осуществляется с таблицами данных в СУБД. Тем не менее, следует признать это скорее исключением, чем правилом и в компетенцию ОС надо относить только связь "имя-адрес", оставляя другие зависимости на ответственность прикладных программ и оболочек СУБД и АИПС (автоматизированные информационно-поисковые системы).
В общем случае можно сказать, что основные задачи обработки данных, решаемые на основе концепций баз данных, сводятся к следующим вопросам:
1) Каким образом сложные нелинейные структуры данных представить в виде линейных – наиболее соответствующих принципу последовательного представления (хранения) в машинной памяти.
2) Каким образом организовать данные, чтобы была возможность эффективного внесения, удаления и редактирования данных.
3) Как организовать данные, чтобы использование пространства памяти (плотность данных) было достаточно рациональным, а скорость доступа к записям данных высокой.
4) Каким образом организовать данные, чтобы поиск был эффективным и позволял отыскивать записи по нескольким ключам.
При этом, с точки зрения прагматики, создание базы данных - это по существу попытка найти компромисс сразу по нескольким направлениям и сочетаниям нескольких взаимообратных факторов (с точки зрения их влияния на показатель общей эффективности системы), в том числе, следующих:
1) Эффективность – простота;
2) Скорость выборки – стоимость (сложность) аппаратных средств;
3) Скорость выборки – сложность процедур доступа;
4) Плотность данных – время доступа и сложность процедур;
5) Независимость данных – производительность;
6) Гибкость средств поиска – избыточность данных или
7) Гибкость поиска – скорость поиска;
8) Сложность процедур доступа – простота обслуживания.
Контрольные вопросы
1. Перечислите основные задачи обработки данных, решаемые на основе концепций баз данных.
2. Проведите сравнительный анализ понятий «физического» и «логического» представлений.
3. Определите соотношение физической и логической записи.
4. Приведите примерную схему организации файлового ввода-вывода.
5. Проведите сравнительный анализ процессов обработки данных средствами файловой системы и СУБД.
6. Перечислите основные этапы эволюции систем обработки данных.
7. Определите отличия в концепциях обработки данных 1-го и 2-го этапов.
8. Определите отличия в концепциях обработки данных 3-го и 4-го этапов.
9. Проведите сравнительный анализ объектов и функций, используемых в разных концепциях обработки данных.
10. Перечислите систему основных показателей эффективности обработки данных.
11. Приведите схему управления данными в СУБД.