40125

Физическая организация баз данных. Файлы: последовательные, с прямым доступом, с хеш-адресацией, индексно-последовательные, В-деревья

Доклад

Менеджмент, консалтинг и предпринимательство

Предполагается что для доступа к iой записи нужно просмотреть все i1 записи. Последовательный доступ с фиксированной длиной записи. Картинка i = 0 i 1L Если записи располагаются в оперативной памяти то это массив. Если записи расположены на диске то порядок ввода вывода данных зависит от языка программирования.

Русский

2013-10-15

78 KB

20 чел.

40. Физическая организация баз данных. Файлы: последовательные, с прямым доступом, с хеш-адресацией, индексно-последовательные, В-деревья.

Методы доступа – совокупность отношений о физической организации данных и алгоритмов выполнения.

Существуют три группы методов доступа:

  1.  Последовательные;
  2.  Индексные;
  3.  Адресные.
  4.  Последовательные методы доступа. Предполагается, что для доступа к i-ой записи нужно просмотреть все i-1 записи. Первая запись имеет фиксированный адрес имеются несколько разновидностей этого метода. Первые три характеризуются тем что данные располагаются на смежных участках памяти, остальные используют понятие списков.

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

  1.  Последовательный доступ с фиксированной длиной записи.

Картинка

Ai = A0 + (i - 1)L

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

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

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

  1.  Простой линейный список.
    •  Со встроенными указателями

Картинка

 

  •  С внешними указателями

Картинка

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

Картинки

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

  1.  Индексные методы доступ. В дополнение  к основному файлу создается индексный файл, который содержит значения ключей. Индексный файл упорядочен по значению ключа.
  2.  Метод доступа с полным индексом. Используется, когда основной файл не очень велик.

Картинка

Основной файл

Индексный файл

Замечания: Если надо упорядочить исходный файл по нескольким ключам, то для него создается столько же индексных файлов. Т.к. значения вторичных ключей не уникальны, то индексный файл организуется по методу b) или c) последовательного доступа. Основной эффект с инвертированным массивом (вторичные ключи) применяется при поиске файлов по нескольким условиям. Алгоритм поиска строится так чтобы обращаться к индексным файлам. Наибольший эффект достигается тогда, когда индексный файл помещается в оперативной памяти.

  1.  Индексно-последовательный. Основной файл всегда упорядочен по первичному ключу, индексный файл содержит не на каждую запись как c) или d), а на группу или блок записей, т.е. на значение одного из ключей группы. Повторение ключей в группе недопустимо. В группе должно быть одинаковое число записей. Обычно при таком подходе индексный файл ещё меньше.

Замечание: Поскольку индексный файл также упорядочен по ключу, то к нему можно применить ту же идею и для него построить индексный файл и т.д. пока на самом верхнем уровне не окажется один. Такая структура называется В-деревом.

  1.  Адресные методы доступа. В этих методах значение ключа с помощью специальной функции преобразуется в значение адреса записей такой функции называется адресной. Существует два вида адресной функции:
    1.  Реализует взаимнооднозначное соответствие Адрес ↔ Ключ (прямой доступ).

Прямой доступ к записи. Физический адрес записи непосредственно определяется из самой записи.

  1.  Реализует однозначное соответствие Ключ ↔ Адрес (хеширование - перемешивание).

Хэширование.

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

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

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

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

Существует два способа разрешения:

  •  Способ открытой адресации. Когда появляется коллизия во время добавления записей ищется свободный  участок памяти, куда помещается новая запись. При поиске записи поступают аналогично, т.е. сначала производят поиск  по адресу, а затем если запись с искомыми ключами не найдена, последовательно просматриваются остальные участки памяти.
  •  Способ цепочек. Каждая запись имеет ссылку на область переполнения, в  которую записываются цепочки коллизий.

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


 

А также другие работы, которые могут Вас заинтересовать

39785. Советский Союз в середине 1960-х – середине 1980-х гг. Период «застоя» 83.5 KB
  Брежнев занял пост Председателя Президиума Верховного Совета СССР что значительно увеличило его полномочия как главы государства. провозглашала также и создание в СССР развитого социалистического общества. Согласно новой установке победе коммунизма в СССР должен был предшествовать длительный исторический этап его хронологические рамки не устанавливались который и определялся как период развитого социализма. в СССР происходит фактическая консервация политической системы.
39786. СССР в годы «перестройки» (1985 – 1991 гг.) 76 KB
  Переломным этапом политического развития СССР в годы перестройки стала XIX партийная конференция КПСС проходившая летом 1988 г. На основании решений конференции Верховный Совет СССР принял в декабре 1988 г. закон согласно которому в стране учреждался новый орган высшей власти Съезд народных депутатов СССР из числа которых учреждался постоянно действующий парламент Верховный Совет СССР.
39787. Российская Федерация в 1990-е гг. 75 KB
  Было определено направление дальнейшего политического и социально-экономического развития России. Нижняя плата представлена Государственной Думой РФ куда входят депутаты напрямую избираемые гражданами России. между автономными республиками России был подписан Федеративный договор предусматривающий разделение полномочий между федеральными и республиканскими органами власти.
39788. Советская Россия в годы НЭПа 89 KB
  Лучшим обоснованием необходимости форсированной модернизации стала возможность внешней агрессии против СССР. После того как летом 1927 года СССР и Великобритания разорвали дипломатические отношения органы партийной пропаганды создали полное впечатление что готовиться нападение на СССР. Создание СССР.
39789. «Великие реформы» Александра II и контрреформы Александра III 65.5 KB
  Великие реформы Александра II и контрреформы Александра III Крестьянская реформа. То что он пересилил себя и согласился на перемены говорит о том что реформы назрели окончательно. Для подготовки и проведения реформы в январе 1857 г. Комитеты выдвинули различные варианты проекта реформы гг.
39790. Общественное движение в России во второй половине XIX в 68.5 KB
  Общественное движение в России во второй половине XIX в. Огарев и в России вокруг журнала Современник Н. Кроме того предполагалось ввести народное представительство широкое самоуправление передать землю народу а фабрики и заводы рабочим предоставить демократические свободы всему населению России. Энгельса и распространением их в России.
39791. Внешняя политика России во второй половине XIX начале XX вв. 49.5 KB
  Внешняя политика России во второй половине XIX начале XX вв. Участие России в европейских коалициях связано прежде всего с так называемым Балканским вопросом. После поражения в Крымской войне России было запрещено иметь военный флот на Черном море строить там крепости и форты. разрушили систему тяжелого и унизительного для России Парижского мирного трактата 1856 года.
39792. Экономическая модернизация России в конце XIX – начале ХХ вв. 42 KB
  Экономическая модернизация России в конце XIX начале ХХ вв. Экономическое развитие России и государственная программа Развития страны. верст новых железных дорог что позволило России выйти на второе место в мире по их протяженности. Своеобразие развития капитализма в России по сравнению с Западом заключалось в том что государство активно вмешивалось в экономическую жизнь страны.
39793. Первая русская революция 1905-1907 гг. 39 KB
  Второй путь объединял самые разнообразные слои общества с плохо сформулированными устремлениями и самые разнообразные формы социального протеста: от стихийных крестьянских антипомещичьих бунтов до забастовок рабочих и создания альтернативных органов власти Советов. рабочих. В поддержку рабочих начали выступать студенты. Забастовки длившиеся неделями и охватывавшие тысячи рабочих требовали своих организационных центров.