Проблема организации и хранения данных

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.06.2016
Размер файла 502,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

файловый коллизия иерархический

Введение

1. Основная часть

1.1 Физические модели таблиц базы данных

1.2 Физические модели хранения данных

1.3 Файловые структуры организации базы данных

1.4 Разрешение коллизии с помощью области переполнения

1.5 Разрешение коллизии методом свободного замещения

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

1.6.1 Файлы с плотным индексом или индексно-прямые файлы

1.6.2 Файлы с неплотным индексом или индексно-последовательные файлы

1.6.3 Организация индексов в виде В-дерева -- многоуровневой иерархической структуры

1.7 Способы организации памяти для хранения данных

1.7.1 Иерархическая организация памяти

1.7.2 Организация кэш-памяти

1.7.3 Организация основной памяти

1.7.4 Виртуальная память как средство организации защиты данных

1.7.5 Страничная организация памяти

1.7.6 Сегментация памяти

2. Специальная часть

2.1 Назначение и функции программной системы

2.2 Системные требования

2.3 Связывание таблиц

2.4 Запросы

2.5 Формы

2.6 Отчеты

2.7 Макросы

Заключение

Список использованной литературы

Введение

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

В общем смысле термин база данных -- это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области или разделе предметной области.

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

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

Объект данной работы -- «ИС Библиотека»

Предмет -- проблема организации и хранения данных в данной ИС.

Цель работы -- разработать эффективную и удобную базу данных.

Для достижения поставленной цели необходимо решить следующие задачи:

Разработать и заполнить таблицы соответствующими данными.

Установить тип связей в таблице.

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

Создать формы, отчеты и макросы.

1. Основная часть

1.1 Физические модели таблиц базы данных

Физическая модели таблицы базы данных предполагает описание свойств каждого поля таблицы. Для описания свойств полей необходимо составить проект таблицы по форме, показанной на рис. 1.

№ п/п

Имя поля

Подпись поля

Тип данных

Количество символов

Точность

Ключ (да)

Рис. 1. Проект описания структуры базы данных

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

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

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

Тип данных -- обозначение типа данных в соответствии с конкретной программной системой.

Количество символов - предполагаемое количество символов, которые будут, храниться в ячейках поля.

Точность -- число знаков после запятой в числовых полях.

Ключ -- указание, что данное поле является ключевым.

Данный состав свойств является минимально необходимым для описания данных, хранимых в таблице.

1.2 Физические модели хранения данных

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

1.3 Файловые структуры организации базы данных

В каждой СУБД по-разному организованы хранение и доступ к данным, однако существуют некоторые файловые структуры, которые применяются практически во всех СУБД.

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

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

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

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

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

Размещено на http://www.allbest.ru/

Рис. 2. Классификация файловых структур

Файлы с постоянной длиной записи, расположенные на устройствах прямого доступа (УПД), являются файлами прямого доступа. В этих файлах физический адрес расположения нужной записи может быть вычислен по номеру записи (NZ). Каждая файловая система -- система управления файлами -- поддерживает некоторую иерархическую файловую структуру, включающую чаще всего ограниченное число уровней иерархии в представлении внешней памяти (рис. 9).

Для каждого файла в системе хранится следующая информация:

имя файла;

тип файла (например, расширение или другие характеристики);

размер записи;

число занятых физических блоков; - базовый начальный адрес;

ссылка на сегмент расширения;

способ доступа (код защиты).

Размещено на http://www.allbest.ru/

Рис. 3 Иерархическая файловая структура

Для файлов с постоянной длиной записи адрес размещения записи с номером К может быть вычислен по формуле

ВА+(К - 1) * LZ + 1,

где ВА - базовый адрес; LZ - длина записи.

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

На устройствах последовательного доступа могут быть организованы файлы только последовательного доступа.

Они могут быть организованы двумя способами:

1. конец записи отмечается специальным маркером;

2. в начале каждой записи записывается ее длина.

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

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

Поэтому при использовании хеширования как метода доступа необходимо принять два независимых решения:

выбрать хеш-функцию;

выбрать метод разрешения коллизий.

Существует множество различных стратегий разрешения коллизий, наиболее распространенными из которых являются:

разрешение коллизии с помощью области переполнения;

разрешение коллизии методом свободного замещения.

1.4 Разрешение коллизии с помощью области переполнения

При выборе этой стратегии область хранения разбивается на две части: основную область и область переполнения.

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

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

При таком алгоритме время размещения любой новой записи составляет не более двух обращений к диску, с учетом того, что номер первой свободной записи в области переполнения хранится в виде системной переменной.

1.5 Разрешение коллизии методом свободного замещения

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

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

После перемещения «незаконной» записи вновь вносимая запись занимает свое законное место и становится первой записью в новой цепочке синонимов.

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

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

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

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

1.6.1 Файлы с плотным индексом или индексно-прямые файлы

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

Значение ключа

Номер записи

Здесь значение ключа -- это значение первичного ключа, а номер записи - это порядковый номер записи в основной области, которая имеет данное значение первичного ключа.

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

где N - число элементов.

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

В соответствии с формулой число обращений к диску при поиске записи определится следующим образом:

где - число индексных блоков, в которых размещаются все записи.

Учитывая что после поиска записи в индексном блоке нужно еще раз обратиться к основной области, в формуле, добавилась единица (+1).

В табл. 1 представлена схема организации такого файла на дисковом пространстве (фоном выделены свободные зоны).

Таблица 1. Схема организации файла с плотным индексом

Блок

Ключи

Ссылки на № записи

Свободная зона

Области

Блок 1

01-10/01

3

Индексная область

02-20/02

4

03-20/00

5

Блок 2

06-40/00

7

07-50/01

8

08-30/01

9

Блок 3

10-44/01

1

11-44/02

2

09-35/01

6

Блок 4

17-20/03

18-40/02

20-35/02

Номер записи

Ключ

Содержание

Основная область

1

10-44/01

Математика

2

11-44/02

Физика

3

01-10/01

Информатика

4

02-20/02

Теория информации

5

03-20/00

Базы данных

6

09-35/01

Интерфейс АСОиУ

7

06-40/00

Защита информации

8

07-50/01

АСТПП и САПР

9

08-30/01

Языки программирования

10

17-20/03

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

11

18-40/02

Цифровые сети интегрального обслуживания

12

20-35/02

Технологии программирования

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

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

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

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

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

Тn = log2 Nинд. обл. + 1 + 1 + 1.

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

Таким образом, в файлах с плотным индексом при обработке одной записи требуется дополнительно два обращения к дисковому пространству компьютера.

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

1.6.2 Файлы с неплотным индексом или индексно-последовательные файлы

Структура записей данных в таких файлах имеет вид, представленный на рис. 4.

Размещено на http://www.allbest.ru/

Рис. 4 Структура записей данных в файлах с неплотным индексном

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

определяется номер блока основной области, в который необходимо поместить новую запись;

найденный блок считывается в оперативную память;

в оперативной памяти производится корректировка блока;

откорректированный блок записывается на диск на прежнее место.

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

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

1.6.3 Организация индексов в виде В-дерева -- многоуровневой иерархической структуры

Данное направление совершенствования организации файловой структуры связано с преобразованием индексной области файлов с неплотным индексом, который изначально предполагает описание этой области как одного упорядоченного списка, в вид иерархического симметрического поискового дерева. В таких деревьях число узлов на каждом уровне одинаково. Теоретические основы организации машинной памяти при построении таких иерархических систем были изложены в 1967 г. автором языка ассоциативного программирования АЛГЭМ, преподавателем Московского энергетического института А.И. Китовым.

Однако в современной литературе по теории баз данных иерархическую поисковую структуру принято называть B-деревом (читается: «Б-деревом») (от англ. B-tree - сбалансированное дерево).

На рис. 5 показан пример организации файловой структуры в виде В-дерева.

Размещено на http://www.allbest.ru/

Рис. 5 Пример организации файловой структуры в виде B-дерева

1.7 Способы организации памяти для хранения данных

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

иерархическая организации памяти;

организация кэш-памяти;

организация основной памяти;

виртуальная память - как средство организации защиты данных.

1.7.1 Иерархическая организация памяти

Иерархическая организация памяти современных компьютеров строится на нескольких уровнях, причем более высокий уровень меньше по объему, быстрее и имеет большую стоимость в пересчете на байт, чем более низкий уровень. Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне, и все данные на этом более низком уровне могут быть найдены на следующем лежащем ниже уровне и так далее, пока мы не достигнем основания иерархии.

Успешное или неуспешное обращение к более высокому уровню называются соответственно попаданием (hit) или промахом (miss). Попадание есть обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне. Доля попаданий (hit rate), или коэффициент попаданий (hit ratio), есть доля обращений, найденных на более высоком уровне. Иногда она выражается в процентах. Доля промахов (miss rate) есть доля обращений, которые не найдены на более высоком уровне.

Чтобы описать некоторый уровень иерархии памяти, надо ответить на четыре вопроса.

1.7.2 Организация кэш-памяти

Концепция кэш-памяти возникла раньше, чем архитектура IBM/360. Сегодня кэш-память имеется практически в любом классе компьютеров, а в некоторых компьютерах - во множественном числе.

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

Где может размещаться блок в кэш-памяти? Принципы размещения блоков в кэш-памяти определяют три основных типа их организации:

если каждый блок основной памяти имеет только одно фиксированное место, на котором он может появиться в кэш-памяти, то такая кэш-память называется кэшем с прямым отображением (direct mapped). Это наиболее простая организация кэш-памяти, при которой для отображения адресов блоков основной памяти на адреса кэш-памяти просто используются младшие разряды адреса блока. Таким образом, все блоки основной памяти, имеющие одинаковые младшие разряды в своем адресе, попадают в один блок кэш-памяти, т.е. (адрес блока кэш-памяти) = (адрес блока основной памяти)Чmod (число блоков в кэш-памяти);

если некоторый блок основной памяти может располагаться на любом месте кэш-памяти, то кэш называется полностью ассоциативным (fully associative);

если некоторый блок основной памяти может располагаться на ограниченном множестве мест в кэш-памяти, то кэш называется множественно-ассоциативным (set associative).

Блок может размещаться на любом месте данного множества.

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

Какой блок кэш-памяти должен быть замещен при промахе? При возникновении промаха контроллер кэш-памяти должен выбрать подлежащий замещению блок. Как правило, для замещения блоков применяются две основные стратегии: случайная и Least-Recently Used (LRU). В первом случае, чтобы иметь равномерное распределение, блоки-кандидаты выбираются случайно. В некоторых системах, чтобы получить воспроизводимое поведение, которое особенно полезно но время отладки аппаратуры, используют псевдослучайный алгоритм замещения.

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

Достоинство случайного способа заключается в том, что его проще реализовать в аппаратуре. Когда число блоков для поддержания трассы увеличивается, алгоритм LRU становится все более дорогим и часто только приближенным. В табл. 5 показаны различия в долях промахов при использовании алгоритма замещения LRU и случайного алгоритма.

Таблица 2. Доля промахов при использовании алгоритма замещения LRU и случайного алгоритма (Random)

Размер, кэш-памяти, Кбайт

Ассоциативность, %

2-канальная

4-канальная

8-канальная

LRU

Random

LRU

Random

LRU

Random

16

5,18

5,69

4,67

5,29

4,39

4,96

64

1,88

2,01

1,54

1,66

1,39

1,53

256

1,15

1,17

1,13

1,13

1,12

1,12

Очень часто организация кэш-памяти в разных машинах отличается именно стратегией выполнения записи. Когда выполняется запись в кэш-память, имеются две базовые возможности:

сквозная запись (write through, store through) - информация записывается в два места (в блок кэш-памяти и блок более низкого уровня памяти);

запись с обратным копированием (write back, copy back, store in) - информация записывается только в блок кэш-памяти. Модифицированный блок кэш-памяти записывается в основную память только тогда, когда он замещается. Для сокращения частоты копирования блоков при замещении обычно с каждым блоком кэш-памяти связывается так называемый бит модификации (dirty bit). Этот бит состояния показывает, был ли модифицирован блок, находящийся в кэш-памяти. Если он не модифицировался, то обратное копирование отменяется, поскольку более низкий уровень содержит ту же самую информацию, что и кэш-память.

При промахе во время записи имеются две дополнительные возможности: разместить запись в кэш-памяти и не размещать запись в кэш-памяти.

Разместить запись в кэш-памяти (write allocate) (называется также выборкой при записи (fetch on write)) означает, что блок загружается в кэш-память, вслед за чем выполняются действия, аналогичные выполняющимся при выполнении записи с попаданием. Это похоже на промах при чтении.

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

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

1.7.3 Организация основной памяти

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

Задержка памяти традиционно оценивается двумя параметрами: временем доступа (access time) и длительностью цикла памяти (cycle time). Время доступа представляет собой промежуток времени между выдачей запроса на чтение и моментом поступления запрошенного слова из памяти. Длительность цикла памяти определяется минимальным временем между двумя последовательными обращениями к памяти.

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

В отличие от динамических статические ЗУПВ не требуют регенерации, и время доступа к ним совпадает с длительностью цикла. Для микросхем, использующих примерно одну и ту же технологию, емкость ДЗУПВ в 4-8 раз превышает емкость СЗУПВ, но последние имеют в 8-16 раз меньшую длительность цикла и большую стоимость.

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

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

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

Память с расслоением. Наличие в системе множества микросхем памяти позволяет использовать потенциальный параллелизм, заложенный в такой организации. Одна из общих методик, используемых для этого, называется расслоением памяти. При расслоении банки памяти обычно упорядочиваются так, чтобы JV последовательных адресов памяти i, i+1, i+2, ..., i+(N-1) приходились на N различных банков. В i-м банке памяти находятся только слова, адреса которых имеют вид kN + i, где k=М-1 (М - число слов в одном банке).

Можно достичь в N раз большей скорости доступа к памяти в целом, чем у отдельного ее банка, если обеспечить при каждом доступе обращение к данным в каждом из банков.

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

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

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

блочный режим;

страничный режим;

режим статического столбца.

Блочный режим (nibble mode) может обеспечить выдачу четырех последовательных ячеек для каждого сигнала RAS.

При страничном режиме (page mode) буфер работает как статическое ЗУПВ; при изменении адреса столбца возможен доступ к произвольным битам в буфере до тех пор, пока не поступит новое обращение к строке или не наступит время регенерации.

Режим статического столбца (static column) очень похож на страничный режим, за исключением того, что не обязательно переключать строб адреса столбца каждый раз для изменения адреса столбца.

Начиная с микросхем ДЗУПВ емкостью 1 Мбит, большинство ДЗУПВ допускают любой из этих режимов, причем выбор режима осуществляется на стадии установки кристалла в корпус путем выбора соответствующих соединений. Страничный режим и режим статического столбца также могут использоваться, обеспечивая даже большую степень расслоения при несколько более сложном управлении.

1.7.4 Виртуальная память как средство организации защиты данных

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

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

Виртуальная память автоматически управляет двумя уровнями иерархии памяти: основной и внешней (дисковой) памятью.

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

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

1.7.5 Страничная организация памяти

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

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

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

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

1.7.6 Сегментация памяти

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

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

2. Специальная часть

2.1 Назначение и функции программной системы

Разработанная база данных «Библиотека» предназначена для использования в учреждениях библиотек. Основной функцией является хранение данных и простота поиска взятых книг по их типам, авторам, либо за определенную дату.

Основные объекты:

книги;

читатели.

2.2 Системные требования

Для работы базы данных необходимы следующие ресурсы:

процессор Pentium 133 или выше;

минимальный объем оперативной памяти -- 32 Мбайт;

жесткий диск с объемом свободного пространства не менее 100 Мбайт;

рекомендуется монитор типа VGA или с лучшей разрешающей способностью;

CD-ROM, клавиатура, мышь.

Для запуска данной базы данных требуется Visual Fox Fox Pro 6 и операционную систему: Windows 98/ME/NT 4.0/2000/XP.

Основные объекты данной информационной системы:

«Сведения о книге» -- хранит информацию о книгах;

«Сведения о читателе» -- содержит личные данные читателя;

«Учет выдачи» -- содержит информацию о выдачах и возвратах книг.

2.3 Связывание таблиц

Access 2007 позволяет строить реляционные базы данных, отдельные таблицы которых могут быть связаны между собой.

Простейшей и наиболее редкой формой связи между таблицами является связь «один к одному», при которой для каждой записи в одной таблице существует в лучшем случае одна связанная с ней запись в другой таблице.

Гораздо чаще встречается связь «один ко многим», при которой для каждой записи в одной таблице существует одна, несколько или ни одной записи в другой таблице.

Нередко приходится иметь дело также со связью «многие ко многим», при которой отсутствуют ограничения на множества пар записей, принадлежащих связи. Такая связь в Access не используется. Ее необходимо представить в виде двух связей «один ко многим».

С базе данных «Библиотека» таблицы связаны друг с другом двумя связями «один ко многим» и представляют, тем самым, связь «многие ко многим».

Рис. 6. Связи

2.4 Запросы

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

Таблица 3. Функции и выполняемые операции

Функция

Выполняемая операция

Sum

Суммирование значений определенного поля

Avg

Вычисление среднего значения

Min

Вычисление минимального значения

Мах

Вычисление максимального значения

Count

Вычисление количества записей в определенном поле

First

Определяется первое значение в указанном поле

Last

Определяется последнее значение в указанном поле

StDev

Вычисляется стандартное отклонение значений данного поля

Var

Вычисляется вариация значений данного поля

Перечень запросов, применявшихся в данной базе данных приведен ниже.

Рис. 7. Запрос «История прочитанных книг»

Запрос «История прочитанных книг» отображает все книги, бравшиеся читателем в данной библиотеке.

Рис. 8. Запрос «Книги, бравшиеся несколькими читателями»

Запрос «Книги, бравшиеся несколькими читателями» показывает номер книги, которая неоднократно бралась читателями.

Рис. 9. Запрос «Книги, выданные зимой»

Запрос «Книги, выданные зимой» показывает, какие книги были выданы в зимние месяцы.

Рис. 10. Запрос «Поиск книги по автору»

Запрос «Поиск книги по автору» позволяет отыскать книгу по ФИО автора.

Рис. 11. Запрос «Книги изданные раньше 2000 года»

Запрос «Книги изданные раньше 2000 года» отображает все книги, год издания которых раньше 2000 года.

Рис. 12. Запрос «Книги, находящиеся на руках»

Запрос «Книги, находящиеся на руках» показывает те книги, которые были выданы читателю но не возвращены им.

Рис. 13. Запрос «Поиск книги по интересующему жанру»

Запрос «Поиск книги по интересующему жанру» позволяет найти книгу по интересующему жанру.

Рис. 14. Запрос «Постоянные читатели»

Запрос «Постоянные читатели» показывает тех читателей, которые брали книги в данной библиотеке 3 и более раз.

Рис. 15. Перекрестный запрос «Учет выдачи»

Перекрестный запрос «Учет выдачи» выводит читателей и номер книги, которая была взята конкретным читателем, а также подсчитывает количество книг, которое брал читатель в библиотеке.

2.5 Формы

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

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

Любая форма строится на основе Access-таблицы или запроса. Имена полей извлекаются из спецификации таблицы, а поля в форме можно расположить по своему усмотрению. На основе одной таблицы можно построить несколько форм.

В Access 2007 существует несколько способов создания форм:

Таблица 4 Способы создания форм

Автоформа

Автоматическое создание формы с использованием одного из стандартных шаблонов. Это наиболее простой и быстрый способ создания формы

Мастер форм

Создание формы с помощью мастера; в зависимости от назначения формы мастер предлагает на выбор стандартные шаблоны и стили оформления

Конструктор

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

Сводная диаграмма

Создание формы с диаграммой на основе выбранных полей таблицы

Сводная таблица

Создание сводной таблицы Microsoft Excel на основе таблиц или запросов Access XP

Существует несколько разновидностей автоформ:

Форма -- создание формы для ввода данных по одной записи за раз.

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

Несколько элементов -- создание формы, в которой записи отображаются в виде таблицы, при этом каждая запись занимает отдельную строку.

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

Рис. 16. Форма «Личные данные о читателе»

Форма «Личные данные о читателе» показывает все поля, относящиеся к сведениям о читателе. Вид представления формы выбран в виде столбца, что позволяет просматривать каждого читателя отдельно.

Рис. 17. Форма «Сведения о книге»

Форма «Сведения о книге» выполнена в ленточном виде и позволяет просматривать большое количество полей одновременно.

Рис. 18. Форма «Учет выдачи»

Форма «Учет выдачи» представлена в ленточном виде и показывает все поля, относящиеся к учету о выдачах и возвратах книг.

Рис. 19. Форма «Читатель и бравшиеся им книги»

Форма «Читатель и бравшиеся им книги» представляет собой подчиненную форму, включающую в себя таблицу «Учет выдачи» и позволяет просмотреть данные о читателе и книгах, взятых им.

Рис. 20. Главная кнопочная форма

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

2.6 Отчеты

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

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

Использование отчетов имеет следующие достоинства:

данные могут быть представлены в удобной для чтения и анализа форме;

отчет позволяет включать и печатать графические объекты (например, диаграммы);

обеспечивается возможность работы с материалом, напечатанным на бумаге.

Отчеты можно создавать двумя способами:

при помощи мастеров отчетов/автоотчетов;

«вручную».

Рис. 21. Отчет «Полная информация о книге»

Отчет «Полная информация о книге» выводит полную информацию о книге и представлен в виде столбца.

Рис. 22. Отчет «Сведения о читателе»

Отчет «Сведения о читателе» сортирует читателей по номеру читательского билета и представлен в ленточном виде.

Рис. 23. Отчет «Учет выданных книг»

Отчет «Учет выданных книг» позволяет просмотреть данные о выдачах книг, сроках использования.

2.7 Макросы

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

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

Заключение

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

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

Список использованной литературы

1. Дейт К.Дж. Введение в системы баз данных / Пер. с англ. 6-е изд. К.: Диалектика, 1999.

2. Замулин А.В. Системы программирования баз данных и знаний. Новосибирск: Наука. Сиб. Отд., 2002.

3. Мартин Дж. Организация баз данных в вычислительных системах. / Пер. с англ. М.: Мир, 2000.

4. Романов Б.Л., Кушниренко А.С. dBase IV. Назначение, функции, применение. М.: Радио и баз данных, 1999.

5. Ульман Дж. Основы систем баз данных. М.: Финансы и статистика, 2003.

6. Бородаев В.А., Кустов В.Н. Банки и базы данных. Уч. пособие. Л.: ВИКИ, 2000.

7. Кузнецов С.Д. Введение в СУБД: часть 4.// Системы Управления Базами Данных, № 4, 1999. -- С. 114-122.

Размещено на Allbest.ru


Подобные документы

  • Описание процедуры выбора структуры хранения данных. Программная реализация одномерного неоднородного массива. Представление бинарного дерева в виде динамической структуры данных. Изучение способов поиска в упорядоченном дереве. Содержание базы данных.

    практическая работа [850,0 K], добавлен 16.04.2015

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

    реферат [30,5 K], добавлен 22.02.2011

  • Минимизация количества операций ввода-вывода данных как цель упорядочения расположения данных на диске (структуры хранения), используемые в данном процессе методы. Принципы обработки файлов. Назначение индексов и индексирования. Техники хеширования.

    реферат [22,7 K], добавлен 21.06.2016

  • Модели данных как формальный аппарат для описания информационных потребностей пользователей. Структура информационной базы. Типы взаимосвязей. Разработка логической структуры базы для хранения данных о пяти поставщиках. Детализация реляционной модели.

    презентация [28,9 K], добавлен 07.12.2013

  • Организация хранения мультимедийных данных, основные виды систем управления базами данных и их характеристика. Магнитные и оптические запоминающие устройства. Файловые системы для оптических носителей. Иерархическое управление запоминающими устройствами.

    презентация [93,4 K], добавлен 11.10.2013

  • Понятие базы данных, её структура. Общие принципы хранения информации. Краткая характеристика особенностей иерархической, сетевой и реляционной модели организации данных. Structured Query Language: понятие, состав. Составление таблиц в Microsoft Access.

    лекция [202,8 K], добавлен 25.06.2013

  • Индексирование в базах данных. Создание индекса, его типы, виды и структура. Индексы для последовательных файлов. Неупорядоченные и упорядоченные файлы. Типы хеширования, древовидные структуры для многомерных данных. Деревья квадрантов и их вершины.

    реферат [2,6 M], добавлен 19.06.2015

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

    дипломная работа [4,6 M], добавлен 27.08.2012

  • Разработка информационной системы для хранения данных для предметной области "Самолеты аэропорта". Формат хранения исходных данных, их загрузка в табличный процессор. Тестирование программного комплекса. Возможности пакета MS Excel по обработке данных.

    курсовая работа [1,2 M], добавлен 23.04.2014

  • Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.

    презентация [17,1 K], добавлен 19.08.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.