Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД вопросики.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.33 Mб
Скачать

15. Индексные файлы. Сортировка файлов бд.

Теория БД предлагает два основных механизма для поиска данных:

■ Сортировка данных

■ Индексирование данных

Сортировка данных.

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

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

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

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

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

16. Поиск записей в файле бд.

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

■ Сортировка данных

■ Индексирование данных

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

17. Стратегии ссылочной целостности.

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

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

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

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

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

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

Дополнительные стратегии:

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

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

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