Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_13.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
143.36 Кб
Скачать

Логические и физические записи данных, виды организации файлов

БД состоит из 3-х основных компонентов:

Данные хранятся в файлах БД, например, для MS Access - в файлах типа . mdb ( до версии 2007) или .accdb (версия MS Access 2007 и выше, это новый формат файлов Access, более совершенный).

Между приложением БД и физическими файлами данных находится ядро СУБД (резидентная часть СУБД). Ядро преобразует команды и запросы приложения БД в соответствующие операции над файлами данных: операции чтения, записи, удаления, вставки.

Функции ядра могут выполнять также драйверы БД стандартов ODBC, OLE DB, JDBC, ADO, Borland DataBase Engine (BDE) и др.

Целью данной лекции является рассмотрение особенностей физического хранения данных, т.е. организации файлов в БД.

Диск – одно из наиболее медленных устройств компьютера. Среднее время доступа к нужному сектору диска составляет ≈ 10 мс, в то время как время записи/чтения для оперативной памяти ≈50нс. Т.е. доступ к данным в оперативной памяти примерно в 200000 раз быстрее, чем к диску.

Единицей обмена между внешней и основной (оперативной) памятью является физическая запись (страница, блок, сегмент). Физическая запись, или страница, состоит из нескольких секторов диска: 2-х, 4-х, или 8-ми. Для компьютеров IBM PC с размером сектора 512 байт размер физической страницы составляет соответственно 1, 2 или 4 Кбайт.

Для каждой СУБД определен конкретный размер страницы. Например, в MS Access размер страницы – 2 Кбайт (4 сектора). Таким образом, в MS Access обмен между основной памятью и диском осуществляется блоками (страницами) по 2 Кбайт.

Обычно каждая физическая запись содержит одну или несколько логических записей. Логическая запись соответствует одной строке (кортежу, записи) определенной таблицы БД. Она представляет собой логическую (не физическую!) единицу доступа к файлу, характерную именно для СУБД, т. к. она при доступе к данным оперирует со строками таблиц.

В операциях поиска (выборки) и записи/чтения данных на диске принимают участие СУБД, а также программы диспетчера файлов и диспетчера дисков, входящие в операционную систему (ОС) компьютера. При этом некоторые СУБД, например, Oracle, для ускорения используют собственные средства работы с файлами, игнорируя операционную систему. Под организацией файла понимается порядок хранения записей в файле, т.е. физическое распределение данных файла по страницам диска.

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

    • Смешанный файл,

    • Последовательный файл

    • Индексированный файл,

    • Индексно – последовательный файл,

    • Хешированный файл (файл прямого доступа).

Смешанные файлы

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

Запись

Поле

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

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

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