Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка для ИГА.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.58 Mб
Скачать

Вопрос 5 Модели данных. Реляционная модель базы данных

В зависимости от вида организации данных различают следующие основные модели представления данных в БД:

    1. Иерархическую.

    2. Сетевую.

    3. Реляционную.

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

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

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

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

Реляционная модель БД.

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

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

Полям записи в отношении соответствуют атрибуты.

О: Отношение - некоторое множество кортежей, имеющих одинаковые атрибуты (некоторое множество строк таблицы).

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

Как правило, БД представлена более чем одним отношением и физически хранится на периферийных носителях как несколько файлов.

Атрибуты в каждом отношении относятся к определенному типу. Тип определяет множество возможных значений данного атрибута. В реляционной модели это множество называется доменом.

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

Вопрос 6 Ключи и индексы

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

Ключ обеспечивает:

  1. Однозначную идентификацию записей таблицы.

  2. Предотвращение повторений значений ключа.

  3. Ускорение выполнения запросов к БД.

  4. Установление связи между отдельными таблицами БД.

  5. Использование ограничений ссылочной целостности.

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

Общие правила построения ключей:

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

2). Ключ должен быть достаточным и неизбыточным, т. е. не должен содержать поля, которые можно удалить без нарушения уникальности ключа.

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

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

Использование индекса обеспечивает:

  1. Увеличение скорости доступа (поиска) к данным.

  2. Сортировку записей.

  3. Установление связи между отдельными таблицами БД.

  4. Использование ограничений ссылочной целостности.

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

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

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

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

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

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