9 Июнь 2008

1. Логическое и физическое описание данных. Избыточность, независимость данных.

написано в рубрике: Базы данных +УБД (Т) — Метки: , , — Михаил @ 20:22

ИЗБЫТОЧНОСТЬ

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

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

Неуправляемая избыточность имеет несколько недостатков.

· хранение нескольких копий данных приводит к дополнитель­ным затратам.

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

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

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

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

ЛОГИЧЕСКАЯ И ФИЗИЧЕСКАЯ НЕЗАВИСИМОСТЬ ДАННЫХ

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

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

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

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

10. Описание данных. Типы данных в языке Паскаль.

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

К простым типам относятся порядковые и вещественные типы, а также тип дата-время.

Порядковые типы отличаются тем, что каждый из них имеет конечное количество

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

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

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

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

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

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

Логические типы. В стандартном языке Паскаль определен тип Boolean. Значениями логического типа может быть одна из предварительно объявленных констант False (ложь) или True (истина). Для них справедливы правила:

Ord (False) = 0

Ord (True) <> 0

Succ (False) = True

Pred (True) = False

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

Символьный тип. Значениями символьного типа является множество всех символов клавиатуры компьютера. Каждому символу приписывается целое число в диапазоне 0…255. Это число служит кодом внутреннего представления символа, его возвращает функция Ord.

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

Соответствие между значениями перечисленного типа и порядковыми номерами этих значений устанавливается очередностью перечисления: первое значение в списке получает порядковый номер 0, второе – 1 и т.д. Максимальная мощность перечисленного типа составляет 65536 значений, поэтому фактически перечисленный тип задает некоторое подмножество целого типа Word и может рассматриваться как компактное объявление сразу группы целочисленных констант со значениями 0, 1, и т.д.

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

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

Тип-диапазон задается границами своих значений внутри базового типа:

<мин. знач.>..<макс. знач.>

Здесь <мин. знач.> - минимальное значение типа-диапазона, <макс. знач.> - максимальное его значение.

Тип-диапазон необязательно описывать в разделе type, а можно указывать непосредственно при объявлении переменной.

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

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

s

e

m

Здесь s – знаковый разряд числа; e – экспоненциальная часть; содержит двоичный порядок; m – мантисса числа.

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

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

© Проект «Студенты-Программеры»., 2008. Все права защищены.
Перепечатка материалов только при наличии активной ссылки на источник.
Powered by WordPress