Рандомизированный индекс (адресная функция; хешированная функция) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Рандомизированный индекс (адресная функция; хешированная функция)



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

Рассмотрим пример, в котором сделано допущение: ключи записей, информация о которых выносится в индекс, приближенно образуют арифметическую прогрессию. Индекс с номером n хранит номер записи основного массива, ключ которой = или > значения p(1)+z*(n-1), где p(1) – значение ключа 1-ой записи основного массива, z – шаг арифметической прогрессии.

Поиск записи по значению ключа q в таком индексе осуществляется также в два этапа:

1) номер требуемого индекса представляется по формуле:

результат деления округляется в меньшую сторону

2) поиск осуществляется в основном массиве в интервале, определяемом индексами n и n+1

Пример: дан массив: 14 26 31 35 39 42 47 52 54 58 63 66 68 72 75 z=20, q=42

индекс: 14 35 54 34

n = (42-14)/20+1 = 2 n+1 = 2+1 = 3

номера записей в индексе: 2 и 3 è поиск между 35 и 54 (записи 4 и 9) в основном массиве. Искомая запись: q=42, №6

Кластеризованный индекс

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

ERwin создает такие индексы для MS Access, MS SQL Server, Informix, SYBASE.

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

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

На сервере создаются хранимые процедуры и триггеры.

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

Триггер – это процедура, выполняемая автоматически как реакция на событие.

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

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

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

Erwin наиболее удобен для проектирования реляционных моделей.

 

IV. ЯЗЫК СТРУКТУРИРОВАННЫХ ЗАПРОСОВ SQL

ОСНОВНЫЕ ИНСТРУКЦИИ

 

Этот язык начал разрабатываться с 1970-х гг. и сейчас это фактически отраслевой стандарт.

SQL позволяет пользователям:

1) создавать и удалять данные

2) налагать обеспечивающие целостность реляционных данных правила

3) выполнять полный набор операций реляционной алгебры

Язык имеет несколько диалектов, и мы будем рассматривать диалект для СУБД Access.

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

Основные типы инструкций SQL:

1) инструкции определения данных

2) инструкции манипулирования данными

3) инструкции управления данными, обеспечивающие доступ к таблицам и представлениям.



Поделиться:


Последнее изменение этой страницы: 2017-01-27; просмотров: 280; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.185.194 (0.004 с.)