Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Составные индексы




Простые индексы

Индексы

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

Простые индексы, состоящие из одного индексного выражения, использовались в FoxBase - предшественнике Visual FoxPro. В те древние времена для каждого индексного выражения использовался отдельный индексный файл. Вот и приходилось почти всегда при открытии таблиц специально открывать вместе с таблицей и все ее индексы. Для чего это делалось? Все просто - если не открыть необходимый индексный файл, Лис не сможет его модифицировать при добавлении или удалении записей из таблицы -он просто его не "увидит", ведь не могут все индексные файлы иметь имена, совпадающие с именем таблицы!

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

Никто не запрещает использовать в приложениях простые индексы с расширением idx, но применение составных индексов кажется более предпочтительным и вот почему:

• в один индексный файл можно включить несколько индексных выражений;

• если индексному файлу присвоить имя таблицы, то он всегда будет открываться вместе с таблицей - потерять такой файл невозможно;

• структурный индекс всегда автоматически привязывается к "своей" таблице.

Файлы данного типа могут содержать один или несколько тегов. Тег ( Tag ) - это и есть индексное выражение. Чтобы узнать, какие именно теги используются в индексе, можно воспользоваться функцией TAG, которая возвращает имя тега. А вот сколько этих самых тегов - подскажет функция TAGCOUNT (). Узнать имя самого индексного файла можно, применив функцию CDX () или аналогичную ей MDX ().

В Visual FoxPro имеется четыре типа индексов:

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

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

Regular (Регулярный или простой). Данный индекс может быть создан для любого значения поля;

Unique (Уникальный). Может быть создан только для неповторяющихся значений поля. Как и, Regular данный индекс широко применялся в ранних версиях FoxPro.

Теперь перейдем к практике и создадим в нашей базе данных три таблицы. Для этого откроем окно конструктора базы данных и, воспользовавшись кнопкой New Table (Новая таблица) панели Database Designer, создадим таблицу Countries.dbf со структурой, отображенной в табл. 21.

Таблица 21. Countries.dbf

Тип поля Имя поля Заголвок
Integer (4) Idcountry Идентификатор
Character (10) cCountry Страна

 

Таким же образом создадим таблицы Cities.dbf (табл. 22), Streets.dbf (табл. 23).

Таблица 22. Cities.dbf

Тип поля Имя поля Заголвок
Integer (4) Idcountry Идентификатор
Character (30) cCity Город
Integer (4) idcity Идентификатор города

 

Таблица 23. Streets.dbf

Тип поля Имя поля Заголвок
Integer (4) Idсшен Идентификатор города
Character (10) cStreet Улица

 

И проиндексируем их следующим образом:

. таблица Countries:

TAG: Idcountry Primary INDEX ON: idcountry

ТАG: country Regular INDEX ON: country

таблица: Cities.dbf

ТАС: Idcountry Regular INDEX ON: idcountry

TAG: ccities Regular INDEX ON: ccities

TAG: Idcity Candidate INDEX ON: idcity

таблица Streets.dbf:

TAG: idcity Regular INDEX ON: idcity

TAG: street Regular INDEX ON: street

Рассмотрим подробно процесс индексации на примере создания индексов для таблицы Countries.dbf. В окне конструктора таблиц (Table Designer) перейдем на вкладку Indexes (Индексы). В поле Name вводим имя индекса, а из раскрывающегося списка Туре (Тип) выберем необходимый тип. Затем, нажав кнопку справа от поля ввода Expression (Выражение), вводим значение индексного выражения в окне построителя выражений. Но в данном примере мы не будем применять сложные выражения и просто зададим имена полей (рис. 14).

Рис. 14. Создание индексов в окне конструктора таблиц

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




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 473; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.