Хелпикс

Главная

Контакты

Случайная статья





Вычисляемые поля БД



 

Занятие № 13

Тема: Индексированные и вычисляемые поля

Цель:

Сформировать представление о способах связывания таблиц в БД. Формировать умения создания вычисляемых полей в БД.

 

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

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

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

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

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

Типы индексов

Для ускорения доступа к данным применяется несколько типов индексов.

Основные из них перечислены ниже.

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

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

- Вторичный индекс - это индекс, который определен на поле файла данных, отличном от поля, по которому выполняется упорядочение.

Файл может иметь не больше одного первичного индекса или одного индекса кластеризации, но дополнительно к ним может иметь несколько вторичных индексов. Индекс может быть разреженным (sparse) или плотным (dense). Разреженный индекс содержит индексные записи только для некоторых значений ключа поиска в данном файле, а плотный индекс имеет индексные записи для всех значений ключа поиска в данном файле. Ключ поиска для индекса может состоять из нескольких полей.

Вычисляемые поля БД

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

Для создания такого поля вместо имени поля записывается формула в следующем формате:

имя поля: выражение,

где выражение – формула для вычисления нужного значения.

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

Действия могут быть:

- арифметические: + (сложение), - (вычитание), * (умножение), / (деление), ^ (возведение в степень)

- логические: And (логическое умножение), Or (логическое сложение) , Not (логическое отрицание)

- сравнения: > (больше), >= ( больше либо равно), < (меньше), <= (меньше либо равно), = (равно),<> (не равно)

- соединения текстовых цепочек: & (например: [Фамилия] & " " & [Имя])

Например: Налог: [Оклад]*0,13 Здесь значение в поле Налог вычисляется как произведение значения в поле Оклад на число 0,13.

Задание

Выполнить тестовые задания по работе с индексированными полями БД №10-20. Файл прилагается.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.