КАТЕГОРИИ: Архитектура-(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) |
Общие сведения. Лабораторная работа 4: Сортировка, индексация, поиск и фильтрация данных
Лабораторная работа 4: Сортировка, индексация, поиск и фильтрация данных. Цель работы Освоение методов поиска в БД нужной информации и способов ускорения поиска. В функции любой СУБД, в том числе и СУБД Access, входит не только хранение информации, но и организация быстрого и удобного доступа к ней. Для упрощения просмотра и для ускорения поиска нужной информации она упорядочивается. В базах данных используется как физическое, так и логическое упорядочение данных. Физическое упорядочение данных называется сортировкой. Результатом является новая таблица, в которой строки расположены в порядке возрастания или убывания значений одного или нескольких полей. Поле или группа полей, по которым осуществляется упорядочение, называется ключом сортировки. Если ключ состоит из одного поля, и это поле типа Дата, то строки упорядочиваются в хронологическом порядке. Например, 12.10.1812 < 12.10.1912 < 12.12.1912 < 01.02.2002 < 02.02.2002. Если ключевое поле текстового типа, то порядок лексикографический в соответствие с таблицей кодирования. Например, Иванов < Ивановский < Ивашко < Иващук. Если ключ сортировки состоит из n полей, а x1,x2,…,xn и y1,y2,…,yn - это значения ключей для двух строк таблицы, тогда x1,x2,…,xn < y1,y2,…,yn, если для всякого i >= 1 x1= y1, …, xi=yi и xi+1 < yi+1. Например, пусть ключом сортировки является группа из трех полей: C, N, D. Ключи для пяти строк таблицы имеют следующие значения:
В результате сортировки по возрастанию получим:
Сортировка большой базы данных занимает много времени, но зато впоследствии она позволяет сократить время при поиске данных. Сортировку рекомендуется использовать для редко корректируемых таблиц, к которым адресуется множество запросов. Поскольку большинство таблиц, составляющих БД, корректируется часто, для упорядочения данных используется индексация. Индексацию еще называют логическим упорядочением данных. При логическом упорядочении данных создается дополнительная таблица, которая называется таблицей индексов. Она состоит из двух столбцов: значение индекса и ссылка на запись (строку данных) таблицы БД. Упорядочиваются только данные таблицы индексов, а порядок хранения данных во внешней памяти не изменяется. Индексация, с одной стороны, сокращает время упорядочения БД по сравнению с сортировкой, а с другой, - ускоряет процесс поиска и извлечения данных. Не следует, однако, забывать, что любая операция вставки или удаления данных требует обновления индекса, следовательно индексация замедляет процесс обновления данных. Кроме того, для размещения индексов на диске требуется выделить дополнительное пространство, размер которого может быть ощутимым при большом количестве индексов. Таким образом использование индексов наряду с преимуществами имеет и весьма ощутимые недостатки. В СУБД Access термин «сортировка» используется в другом смысле. Сортировка в Access позволяет изменить порядок строк в таблице только при выводе ее на экран. Сортировка производится в режиме таблицы по одному или нескольким полям, как по возрастанию, так и по убыванию. Проще всего можно отсортировать таблицу по одному полю (столбцу), щелкнув в любом месте нужного столбца, а затем по одной из пиктограмм сортировки (по возрастанию или по убыванию). Таким же способом можно отсортировать таблицу и одновременно по нескольким полям. Сортировка при этом осуществляется сначала по первому полю, при равенстве значений первого поля – по второму и т.д., причем для всех полей по возрастанию или для всех по убыванию. Перед осуществлением такой операции столбцы таблицы при выводе ее на экран должны располагаться рядом, и их порядок должен соответствовать порядку сортировки. Если требуется осуществить сортировку по нескольким полям, причем по одному из них – по возрастанию, а по другому – по убыванию, придется воспользоваться расширенным фильтром (Записи4Фильтр4Расширенный фильтр…). Порядок расположения полей в окне расширенного фильтра должен соответствовать порядку сортировки. Фильтры используют не только и не столько для упорядочения данных, сколько для их отбора по заданному условию. Задать условие отбора строк из таблицы по каждому из полей можно, как в окне формирования расширенного фильтра, так и при помощи простого фильтра, воспользовавшись командой Записи4Фильтр4Изменить фильтр. При задании условия и в том и в другом случае допускается использование операций сравнения, логических операций и предикатов, уже описанных в лабораторной работе 1. Для каждой таблицы система сохраняет последний созданный фильтр. Обычно желательно иметь возможность в разных случаях по-разному упорядочивать и отбирать данные из таблицы, т.е. хранить одновременно несколько фильтров. Такая возможность может быть реализована только путем сохранения каждого созданного фильтра, как запроса – команда Файл4Сохранить как запрос…. Запросам присваиваются имена, поэтому в любой момент, открыв соответствующий запрос, вы можете получить на экране интересующую вас информацию. Поскольку сортировка в Access не приводит к физическому упорядочению данных, то она и не ускоряет последующий поиск в таблице. Ускорить поиск можно или, поместив упорядоченные данные в новую таблицу, или, выполнив индексацию таблицы. В Access используются индексыдвух типов: простыеи составные. Простой индекс содержит только одно поле и задается при определении поля в структуре таблицы (свойство Индексированное поле). Одновременно можно создать для одной таблицы несколько, но не более 32 индексов. При этом, если в критерии поиска содержится более одного поля, то поиск будет осуществляться по индексу с меньшим числом строк, имеющих указанное значение поля. Для ускорения поиска в больших таблицах по нескольким полям создается составной индекс, содержащий до 10 полей. Составной индекс создается в режиме определения структуры таблицы с помощью команды Вид4Индексы или соответствующей пиктограммы. В окне индексов для построения составного индекса в пустую строку столбца Индекс вводится имя индекса, а в нескольких строках столбца Поле последовательно задаются имена полей, которые составляют этот индекс. В столбце Порядок сортировки против каждого поля можно выбором из списка указать По возрастанию или По убыванию. В свойствах индекса можно указать, является ли он уникальным и надо ли пропускать пустые поля. Созданные индексы, как простые, так и составные, сохраняются при сохранении структуры таблицы. Последовательность полей в составном индексе должна совпадать с последовательностью, в которой поля включаются в условие поиска при формировании фильтра. Наличие составного индекса для поиска по нескольким полям ускоряет поиск, но не является обязательным, таблица может быть упорядочена по одному полю или вообще не упорядочена. С другой стороны, можно, имея индекс, состоящий, например, из трех полей, осуществлять поиск не по всем трем полям, а только по первому или по первому и второму, но при этом только последнее условие поиска может быть неравенством, а остальные должны быть равенствами. Нельзя также осуществлять поиск по значению второго поля, пропустив первое, или искать одновременно по первому и третьему полям, пропустив втрое. Например, создав составной индекс по полям A, B, C, можно осуществить поиск по всем трем полям, а можно только по полю A или по полям A и B. При этом, поскольку только последнее условие может быть неравенством и пропускать поля нельзя, то возможны следующие критерии поиска: A = «значение» A > «значение» A = «значение» AND B = «значение» A = «значение» AND B < «значение» A = «значение» AND B = «значение» AND C >«значение». а недопустимыми являются следующие критерии поиска: A > «значение» AND B = «значение» A > «значение» AND B > «значение» A > «значение» AND B = «значение» AND C >«значение». B = «значение» AND C >«значение». A = «значение» AND C >«значение». Возможность поиска данных по значению одного из полей обеспечивает также команда Правка4Найти. Поиск осуществляется в выделенном столбце по образцу. При задании образца можно использовать символы * и ?, образец может быть только частью значения поля, регистр может учитываться или нет. Поиск может осуществляться с начала таблицы или ее конца, с текущей строки, вверх или вниз. Результатом поиска является перемещение курсора на первую строку таблицы, соответствующую условию поиска. Для поиска следующей строки, соответствующей заданному условию, надо щелкнуть по кнопке Найти далее.
Дата добавления: 2015-05-09; Просмотров: 691; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |