Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Выделение данных по их связям .

Если в базе данных реализована связь РАБОТАЕТ _ В _ ОТДЕЛЕ между СОТРУДНИК и ОТДЕЛ, то можно выполнить выделение по таким связям, т.е. можно выполнить выделение описаний всех отделов, в которых работают, например, сотрудники в возрасте до 20 лет.

 

Основные типы операций над данными

По характеру производимого действия операции над данными подразделяются на следующие типы:

· - идентификация данного и нахождение его позиции в базе данных;

· - выборка или чтение данного из базы данных;

· - запись данного в базу данных;

· - удаление данного из базы данных;

· - изменение данного в базе данных.

Идентификация данного и нахождение его позиции в базе данных. В качестве идентификатора в СУБД Access выступает элемент выражения, определяющий ссылку на значение поля, элемента управления или свойства. Например, выражение Forms![Заказы]![ Заказ] является идентификатором для значения элемента управления Заказ   в форме “Заказы".

Существуют идентификаторы двух видов: полные и неполные. Полный идентификатор, например, Forms![Заказы]![ Заказано].Form![Цена], всегда определяет один и тот же объект в активной базе данных вне зависимости от контекста. Неполный идентификатор, например, [Заказано].Form![Цена], может в зависимости от контекста определять ссылку на различные объекты базы данных.

 

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

Фильтр - это набор условий, применяемых для отбора подмножества записей или для сортировки записей. В Access существуют фильтры трех типов: фильтр по выделенному, обычный фильтр и расширенный фильтр.

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

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

Расширенный фильтр является самым мощным средством фильтрации Access. В окне расширенного фильтра можно указать как критерии отбора для различных полей, так и порядок сортировки этих записей.

 

Модель внешней памяти

Данные хранятся во внешней памяти на магнитных дисках, магнитных лентах и т.д., а их обработка выполняется в оперативной памяти ЭВМ. Поэтому при обработке некоторые порции данных пересылаются из внешней памяти в оперативную либо наоборот.

При больших объемах данных в БД может потребоваться несколько томов внешней памяти. Однако обмен между внешней и оперативной памятью выполняется небольшими порциями данных – обычно объемом не более нескольких сотен байт. С этой целью внешняя память разбивается на части, называемые блоками или страницами. Данные пересылаются блоками. Операцию пересылки еще называют обменом данными между внешней и оперативной памятью. Такой обмен называется чтением блока, а в обратном направлении – записью блока.

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

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

Каждый байт в блоке пронумерован: О, 1, 2,..., х. Номер байта блока, с которого начинается запись, определяет относительный адрес записи файла в блоке.

В качестве адресов записей файла во внешней памяти используют: машинный адрес, относительный адрес, ключ записи.

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

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

Запись обычно состоит из:

1) служебных полей, в которых хранятся указатели, реализующие связи с другими записями, и другая информация, необходимая для организации управления файлом,

2) полей хранимых данных.

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

Если файл базы данных состоит из записей фиксированной длины, то в одном блоке может разместиться k записей:

где к– обозначает целую часть числа; V бл. и V з. соответственно объем блока и записи в байтах.

Однако обычно блоки заполняются не полностью, например, наполовину. Оставшаяся область блока остается некоторое время при работе системы незаполненной (зарезервированной). В дальнейшем эта область заполняется при расширении (увеличении) записей, хранящихся в блоке, или при поступлении в систему новых записей, которые в соответствии со значениями их ключей или по другим условиям необходимо поместить в одном блоке с уже хранящимися записями. По истечении некоторого времени блок заполняют полностью.

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

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

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

 

где r < 1 – незаполненная часть блока; N з. количество записей в файле.

Считается, что все блоки каждого файла пронумерованы: 1, 2,..., β,..., N и система определяет требуемый блок по имени файла и номеру блока. Если файл состоит из записей фиксированной длины, записи организованы последовательно и имеют внутри файла системный номер, то по этому номеру вычисляют номер блока, в котором находится запись:

Среднее время выполнения операций обмена зависит от типа устройства внешней памяти (от его характеристик) и от размера блока:

 

где t o среднее время выполнения операции обмена; t p время считывания, приведенное к одному байту (т.е. время считывания одного байта); t подг. время подготовки устройства к выполнению операции обмена.

Время поиска данных в файле

где t п – время выполнения операции поиска; t с – среднее время выполнения в процессоре одной операции сравнения; Х о количество операций обмена; Х с количество операций сравнения.

Если t c << t o, то время поиска в основном определяется временем, затрачиваемым на обмен с внешней памятью. Поэтому при составлении алгоритмов поиска данных в файле стремятся к сокращению количества операций обмена.

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

· объем блока;

· объем байта;

· количество записей в блоке файла п з. бл.;

· количество записей в блоке индекса;

· количество блоков в файле данных n бл.ф.;

· доля резервируемой части блока r (при начальной организации данных в файле);

· длина поля, отведенного для указателя;

· количество записей в файле п з.ф.;

· число полей в записи n п.з.;

· размер записи V з.;

· длина ключевого поля в записи;

· число записей файла, удовлетворяющих условию поиска Q;

· среднее число блоков переполнения на один блок файла;

· среднее время обмена t o.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...