Несмотря
на высокую эффективность хэш-адресации, в файловых структурах далеко не всегда
удается найти соответствующую функцию, поэтому при организации доступа по первичному
ключу широко используются индексные файлы. В некоторых коммерческих системах
индексными файлами называются также и файлы, организованные в виде инвертированных
списков, которые используются для доступа по вторичному ключу. Мы будем придерживаться
классической интерпретации индексных файлов и надеемся, что если вы столкнетесь
с иной интерпретацией,
то сумеете разобраться в сути, несмотря на некоторую путаницу в терминологии.
Наверное, это отчасти связано с тем, что область баз данных является достаточно
молодой областью знаний, и несмотря на то, что здесь уже выработалась определенная
терминология, многие поставщики коммерческих СУБД предпочитают свой упрощенный
сленг при описании собственных продуктов. Иногда это связано с тем, что в целях
рекламы они не хотят ссылаться на старые, хорошо известные модели и методы организации
информации в системе, а изобретают новые названия при описании своих моделей,
тем самым пытаясь разрекламировать эффективность своих продуктов. Хорошее знание
принципов организации данных поможет вам объективно оценивать решения, предлагаемые
поставщиками современных СУБД, и не попадаться на рекламные крючки.
Индексные
файлы можно представить как файлы, состоящие из двух частей. Это не обязательно
физическое совмещение этих двух частей в одном файле, в большинстве случаев
индексная область образует отдельный индексный файл, а основная область образует
файл, для которого создается индекс. Но нам удобнее рассматривать эти две части
совместно, так как именно взаимодействие этих частей и определяет использование
механизма индексации для ускорения доступа к записям.
Мы предполагаем,
что сначала идет индексная область, которая занимает некоторое целое число блоков,
а затем идет основная область, в которой последовательно расположены все записи
файла.
В зависимости
от организации индексной и основной областей различают 2 типа файлов: с плотным
индексом и с неплотным индексом. Эти файлы имеют еще дополнительные
названия, которые напрямую связаны с методами доступа к произвольной записи,
которые поддерживаются данными файловыми структурами.
Файлы с плотным
индексом называются также индексно-прямыми файлами, а файлы с неплотным индексом
называются также иидексно-последовательными файлами. Смысл этих названий нам
будет ясен после того, как мы более подробно рассмотрим механизмы организации
данных файлов.
Знаете ли Вы, почему "черные дыры" - фикция? Согласно релятивистской мифологии, "чёрная дыра - это область в пространстве-времени, гравитационное притяжение которой настолько велико, что покинуть её не могут даже объекты, движущиеся со скоростью света (в том числе и кванты самого света). Граница этой области называется горизонтом событий, а её характерный размер - гравитационным радиусом. В простейшем случае сферически симметричной чёрной дыры он равен радиусу Шварцшильда". На самом деле миф о черных дырах есть порождение мифа о фотоне - пушечном ядре. Этот миф родился еще в античные времена. Математическое развитие он получил в трудах Исаака Ньютона в виде корпускулярной теории света. Корпускуле света приписывалась масса. Из этого следовало, что при высоких ускорениях свободного падения возможен поворот траектории луча света вспять, по параболе, как это происходит с пушечным ядром в гравитационном поле Земли. Отсюда родились сказки о "радиусе Шварцшильда", "черных дырах Хокинга" и прочих безудержных фантазиях пропагандистов релятивизма. Впрочем, эти сказки несколько древнее. В 1795 году математик Пьер Симон Лаплас писал: "Если бы диаметр светящейся звезды с той же плотностью, что и Земля, в 250 раз превосходил бы диаметр Солнца, то вследствие притяжения звезды ни один из испущенных ею лучей не смог бы дойти до нас; следовательно, не исключено, что самые большие из светящихся тел по этой причине являются невидимыми." [цитата по Брагинский В.Б., Полнарёв А. Г. Удивительная гравитация. - М., Наука, 1985] Однако, как выяснилось в 20-м веке, фотон не обладает массой и не может взаимодействовать с гравитационным полем как весомое вещество. Фотон - это квантованная электромагнитная волна, то есть даже не объект, а процесс. А процессы не могут иметь веса, так как они не являются вещественными объектами. Это всего-лишь движение некоторой среды. (сравните с аналогами: движение воды, движение воздуха, колебания почвы). Подробнее читайте в FAQ по эфирной физике.