русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Индексы


Дата добавления: 2015-06-12; просмотров: 522; Нарушение авторских прав


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

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

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

Теперь откройте утилиту Database Desktop, и загрузите в нее нашу таблицу d:\data\books.db

Далее выбираем команду Table – Restructure. Откроется то самое окно, в котором мы вводили названия и типы полей таблицы.

Перед тем, как мы установим индексы для полей, давайте изменим языковой драйвер таблицы. Если этого не сделать, то при использовании индексирования по текстовому полю, где содержится текст на русском языке, могут возникнуть проблемы. Для изменения языкового драйвера в поле Table Properties выберите Table Language, а в открывшемся окне – Pdox ANSI Cyrillic.

Теперь вот что еще важно – чтобы индексы работали, необходимо иметь главный ключ, так что если у вас поле Key1 не установлено, как ключевое, сделайте это. Кстати, поле Key2 во второй таблице тоже должно быть ключевым.

Далее приступим к созданию индексов. Поскольку сортировку мы будем делать по полю "Автор" и по полю "Название", то и индексов у нас должно быть два. В поле Table Properties выберите Secondary Indexes, и нажмите кнопку Define. Откроется окно, в левой части которого будут находиться все поля нашей таблицы, а в правой – индексные поля. Правая часть пока что пуста. Установите галочку "Maintained", без этого вы сможете пользоваться индексом только в режиме чтения, при добавлении новой записи будет выходить ошибка. Установка этой галочки говорит о том, что в дальнейшем индексация данных будет автоматической.



Выделите поле Avtor, и кнопкой со стрелкой вправо скопируйте его в правую часть. Таким образом, мы указали это поле как вторичный индекс.

Далее нажимаем кнопку OK. Выйдет окошко с запросом имени индекса, укажем там "Sort_Avtor". Называть индексы теми же именами, что и таблица, не рекомендуется – индексов может быть много, да и вам легче будет запутаться в одинаковых названиях. После этого, индекс Sort_Avtor должен появиться в окне ниже кнопки Define. При выделении этого индекса станут доступными еще две кнопки – Modify и Erase. Первой кнопкой вы сможете изменить этот индекс, второй – удалить его. Но нам это не нужно.

Далее точно также делаем другой индекс – нажимаем кнопку Define, копируем направо поле Nazvanie, и сохраняем индекс по имени "Sort_Nazvanie". Теперь в окошке вы должны видеть два индекса. Сохраните таблицу и выйдите из утилиты. Посмотрите на каталог с базой данных – он увеличился на 4 файла, по 2 файла на каждый индекс. Именно поэтому базы данных в серьезных приложениях бывают довольно большими и содержат сотни взаимосвязанных файлов.

С модификацией таблицы закончили, открываем наш проект. По команде меню "Сортировка – По автору" напишем такой код:

fDM.TBooks.IndexName := 'Sort_Avtor';

"Сортировка – По названию книги" будет содержать

fDM.TBooks.IndexName := 'Sort_Nazvanie';

Сохраните проект, скомпилируйте его и посмотрите, как он работает.



<== предыдущая лекция | следующая лекция ==>
Тема: «Методы редактирования баз данных» | Подсчет данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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