- •Вопрос 1
- •Вопрос 2
- •Лекция 2 (17.02.14)
- •Вопрос 3
- •Вопрос 4
- •Концептуальная модель
- •Инфологическая модель данных "Сущность-связь"
- •Вопрос 5
- •Вопрос 6
- •Вопрос 8
- •Вопрос 9
- •Вопрос 10
- •Вопрос 11
- •Вопрос 12
- •Изменение размера текстового поля
- •Вопрос 13
- •Вопрос 14
- •Вопрос15
- •Вопрос 16
- •Вопрос 17
- •Вопрос 18
- •Вопрос 19
- •Вопрос 20
- •Вопрос 21
- •8.2. Вычисления в запросах, возможности создания и редактирования формул.
- •8.4. Использование запросов на Удаление и на Обновление.
- •Вопрос 22 Условия отбора записей
- •Вопрос 23
- •Группировка
- •Управляющие запросы
- •Создание таблицы
- •Обновление
- •Добавление
- •Удаление
- •Запрос с параметром
- •Запрос на объединение таблиц
- •Вопрос 24
- •7.1. Запрос на обновление группы записей
- •7.2. Запрос на удаление записей
- •7.3. Запрос на добавление записей
- •7.4. Запрос на создание таблицы
- •Вопрос 25
- •Вопрос 26
- •Вопрос 27
- •Вопрос 28
- •Вопрос 29
- •Вопрос 30
Вопрос 14
При помощи индексов ускоряется сортировка и поиск записей. Индексы таблиц Microsoft Access используются так же, как и предметные указатели в книгах: при поиске данных выполняется их поиск в индексе. Индексы можно создавать по одному или нескольким полям. Составные индексы позволяют пользователю различать записи, в которых первые поля могут иметь одинаковые значения.
Выбор полей для индексирования
В основном требуется индексировать поля, в которых часто осуществляется поиск, поля сортировки или поля, объединенные с полями из других таблиц в запросах. Однако индексы могут замедлить выполнение некоторых запросов на изменение, например, запросов на добавление, при выполнении которых требуется обновление индексов многих полей.
Поля первичного ключа таблиц индексируются автоматически, а поля с типом данных «Поле объекта OLE» индексировать нельзя. Для остальных полей индексирование используется, если выполняются следующие условия.
Поле имеет тип данных «Текстовый», «Числовой», «Денежный» или «Дата/время».
Предполагается выполнение поиска значений в поле.
Предполагается выполнение сортировки значений в поле.
Предполагается выполнение сортировки большого числа различных значений в поле. Если поле содержит много одинаковых значений, то применение индекса незначительно ускорит выполнение запросов.
Составные индексы
Если предполагается частое выполнение одновременной сортировки или поиска в нескольких полях, можно создать для этих полей составной индекс. Например, если в одном и том же запросе часто задаются условия для полей «Имя» и «Фамилия», то для этих двух полей имеет смысл создать составной индекс.
При сортировке таблицы по составному индексу Microsoft Access сначала выполняет сортировку по первому полю, определенному для данного индекса. Если в первом поле содержатся записи с повторяющимися значениями, то выполняется сортировка по второму полю, определенному для данного индекса, и так далее.
В составной индекс можно включить до 10 полей.
Вопрос15
Структура реляционной базы данных в Access задается схемой данных, которая имеет иерархическую структуру и называется канонической реляционной моделью предметной области. Схема данных графически отображается в отдельном окне, в котором таблицы представлены списками полей, а связи — линиями между полями разных таблиц. При построении схемы данных Access автоматически определяет по выбранному полю тип связи между таблицами. Если поле, по которому нужно установить связь, является уникальным ключом, как в главной таблице, так и в подчиненной, Access устанавливает связь типа один к одному. Если поле связи является уникальным ключом в главной таблице, а в подчиненной таблице является не ключевым или входит в составной ключ, Access устанавливает связь типа один ко многим от главной таблицы к подчиненной. Кроме указанных типов связей в Access существуют связи-объединения, обеспечивающие объединение записей таблиц не по ключевому полю, а в следующих случаях:
связываемые записи в обеих таблицах совпадают (связи устанавливаются по умолчанию);
для всех записей первой таблицы, для которых отсутствуют связи со второй таблицей, устанавливаются связи с пустой записью второй таблицы;
для всех записей второй таблицы, для которых отсутствуют связи с первой таблицей, устанавливаются связи с пустой записью первой таблицы.
Обеспечение целостности данных При создании схемы данных пользователь включает в нее таблицы и устанавливает связи между ними. Причем для связей типов один к одному и один ко многим можно задать параметр, обеспечивающий целостность данных, а также автоматическое каскадное обновление или удаление связанных записей. Обеспечение целостности данных означает выполнение для взаимосвязанных таблиц следующих условий корректировки базы данных:
в подчиненную таблицу не может быть добавлена запись, для которой не существует в главной таблице ключа связи;
в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
изменение значений ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы.
В случае если пользователь нарушил эти условия в операциях обновления или удаления данных в связанных таблицах, Access выводит соответствующее сообщение и не допускает выполнения операции. Access автоматически отслеживает целостность данных, если между таблицами в схеме данных установлена связь с параметрами обеспечения целостности. При вводе некорректных данных в связанные таблицы выводится соответствующее сообщение. Access не позволяет создавать связи с параметрами обеспечения целостности в схеме данных, если ранее введенные в таблицы данные не отвечают требованиям целостности. Отметим, что установление между двумя таблицами связи типа один к одному или один ко многим и задание параметров целостности данных возможно только при следующих условиях:
связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;
обе таблицы сохраняются в одной базе данных Access;
главная таблица связывается с подчиненной по первичному простому или составному ключу (уникальному индексу) главной таблицы.
Если для выбранной связи обеспечивается поддержание целостности, то можно задать режимы каскадного обновления и удаления связанных записей. В режиме каскадного обновления связанных записей при изменении значения в поле связи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях. В режиме каскадного удаления связанных записей при удалении записи из главной таблицы Access выполняет каскадное удаление подчиненных записей на всех уровнях.