Суббота, 19.05.2012, 20:18

Компьютерная тех. поддержка

Меню сайта
Наш опрос
Какой операционной системой вы пользуетесь??
Всего ответов: 183
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
E-mail:
Пароль:
Статьи
Новое
Поиск
Спонсоры
Светильники для любого интерьера - точечные светодиодные светильники.

рекомендуем

Главная » 2010 » Декабрь » 21 » Просмотр информации и индексы
21:04
Просмотр информации и индексы
Просмотр информации и индексы

Рассмотрим вторую задачу отбора данных — быстрый поиск в таблицах. Чтобы система могла достаточно быстро найти нужные записи, таблицу следует упорядочить по значениям ключа поиска (по возрастанию или убыванию). Что это значит? Рассмотрим простейший случай: таблица упорядочена по возрастанию значения первичного ключа, например, телефонный справочник — по номеру телефона. Пример такого упорядочивания показан на рис. 14.1. У В главе 2 вы узнали, что упорядочить можно и символьные поля: система точно знает, какая буква (точнее — символ) больше, а какая меньше. Допустим, вы хотите найти данные об абоненте с номером 357-14-18 в таблице из 526 строк. Система знает: (1) значения ключа (т. е. номера) — уникальны; (2) всего в справочнике 526 записей. Прежде всего система заглядывает в середину таблицы и читает 263-ю запись. Возможны три случая: (1) номер телефона этой записи равен искомому — запись найдена сразу; (2) номер меньше искомого (например, 214-14-52, — значит, искомый телефон находится в верхней половине таблицы); (3) номер больше искомого (например, 425-17-25, значит, искомый номер находится в нижней половине таблицы). Таким образом, с первого захода система исключает из области поиска сразу половину таблицы. Следующая запись берется из середины нижней или верхней половины (например, 141-я запись). В зависимости от результата сравнения, исключается половина новой группы записей и т. д. Выполнив всего несколько шагов (в нашем случае прочитав максимум 9-10 записей вместо 526), система либо найдет искомый номер, либо удостоверится, что его в таблице нет. Это самый простой метод поиска, и называется он двоичным (или бинарным, от слова «binary» — двоичный). В ряде случаев значения ключа поиска в таблице не уникальны. Например, в электронном каталоге библиотеки может оказаться несколько книг Чейза, которые мы хотим отыскать (см. п. 14.13.1). В этом случае система сначала найдет первую попавшуюся запись, а затем, сместившись назад, определит положение первой записи в искомой группе и будет читать карточки, пока автор книги — Чейз. Примерно так же действовали и вы, подходя сразу к ящику на букву «Ч» и не обращая внимания на остальные ящики. Вы уже догадались, что в этом примере каталог библиотеки должен быть упорядочен по алфавиту (а точнее — по фамилии автора). Если мы хотим найти книги по определенной тематике, каталог следует упорядочить по коду этой тематики (можно и по названию темы), и некоторые книги одного автора попадут в разные концы каталога. В этом случае быстрый поиск по фамилии автора станет невозможным. Списки сотрудников фирмы, например, упорядочивают (сортируют) по разным ключам — по табельному номеру, по зарплате, по году рождения, по образованию, полу и т. д. Ключ сортировки (ключ поиска) может составляться из не-скольких данных, — например, вы можете упорядочить свою видеотеку по коду рубрики и длительности. В этом случае ключ сортировки можно записать как сумму имен данных RUB+DLIT. От ключа сортировки зависит не только время поиска по определенному запросу, но и сама возможность ответить на запрос, не перебирая все записи. Как упорядочивают записи таблиц в информационных системах? Как правило, таблицу не трогают, но создают для нее специальный массив данных, который называется индексом. Индекс — это набор указателей на строки таблицы, упорядоченный по значениям ключа. Каждый элемент этого набора состоит из двух частей: порядкового номера записи в таблице и значения ключа сортировки. Например, индекс для таблицы TELEFON (сортировка по возрастанию номеров) может выглядеть так: 272 123-14-25 192 145-28-99 314 151-12-17 Слева указан номер записи в таблице (272, 192, 314, ...), а справа — номер телефона в данной записи (номера следуют по возрастанию). Принцип поиска описан выше: сначала система находит нужный элемент индекса (по номеру телефона), а затем — по номеру записи — сразу читает искомую запись таблицы. Ес¬ ли вернуться к аналогии с Чейзом, то можно сказать, что ящик с карточками — это и есть индекс. Мы находим карточку методом двоичного поиска, читаем на ней «адрес» стеллажа (шкафа) с книгами и сразу направляемся к нему. В разных системах индексы формируются по-разному. На-пример, в старых СУБД типа dBASE индекс — это отдельный индексный файл (например, с расширением .IDX), а в совре¬менных системах индекс обычно является частью файла базы данных. В этой главе мы рассмотрели частный случай индексирования — применительно к структурированным базам данных. Однако индексирование широко применяется для поиска информации и в неструктурированных документах, например, в глобальной се¬ ти Internet. В этом случае в качестве значений ключа индекса используются так называемые ключевые слова, т. е. фрагменты текста, каким-то образом отражающие содержание документа. Вместо номера записи указывается адрес документа, в котором обнаружено данное ключевое слово (подробнее см. п. 17.7).
Просмотров: 196 | Добавил: sergei4 | Рейтинг: 0.0/0
Всего комментариев: 1
0  
1 diurdyDup   (23.12.2011 03:06)
да, что-то на подобии этого

Имя *:
Email:
Код *: