Запросы

Ввод и редактирование данных таблицы.

Установка связей между таблицами.

Создание таблицы

Индексирование таблиц

Структура таблицы.

Таблицы.

Основные объекты БД Access.

Основными объектами базы данных, с которыми позволяет работать Access являются:

- таблицы;

- формы;

- запросы;

- отчеты;

- страницы доступа к данным;

- макросы;

- модули.

Для создания этих объектов и их редактирования имеются специальные средства конструирования. Каждый объект имеет свои свойства, определяя которые можно его настроить.

Таблицы являются главным хранилищем данных в базе данных.

Запросы создаются пользователем для выборки нужных данных из одной или нескольких связанных таблиц по заданному в нем условию. С помощью запроса можно также обновить, удалить или добавить данные в таблицы, можно также создать новые таблицы.

Формы предназначены для ввода, просмотра и редактирования взаимосвязанных данных на экране дисплея в удобном для пользователя виде. Форму можно также вывести на печать.

Отчеты используются для формирования выходного документа, предназначенного для вывода на печать. Предварительно отчет можно просмотреть на экране.

Макрос - это описание действий, которые должны быть выполнены в ответ на некоторое событие. Каждое действие реализуется макрокомандой. С помощью макросов можно выполнять такие действия, например, как открытие какой либо фор­мы, таблицы или отчета, выход из Aсcess и др.

Модули содержат программы на языке Visual Basic, которые разрабатываются пользователем для реализации нестандартных процедур обработки данных.

Страницы доступа к данным представляют собой специальный тип Web-страниц, предназначенный для просмотра и работы через Интернет или интрасеть с данными, хранящимися в базах данных Microsoft Access или базах данных Microsoft SQL Server. Страница доступа к данным может также включать данные из других источников, таких как Microsoft Excel.

Таблицы составляют основу базы данных Access - именно в них хранятся все данные. Таблицы должны быть тщательно спланированы. Прежде всего, должна быть спла­нирована структура каждой таблицы. Структура таблиц определяется содержанием тех выходных форм и отчетов, которые должны быть затем получены. При планировании таблиц необходимо избежать дублирования информации в разных таблицах.

Структура таблицы определяется перечнем полей, для каждого из которых задается:

- имя поля;

- тип данных;

- перечень свойств;

- описание.

Имя поля должно быть уникальным, максимальная длина имени 64 символа, в имени можно использовать любые символы кроме «'», «.», «,», «!», «[», «]». Имя не должно начинаться с пробела.

Тип данных определяет вид и диапазон допустимых значений, которые могут быть введены в поле, а также объем памяти, выделяющийся для этого поля.

Таблица может содержать следующие 9 типов полей:

- Текстовый. Короткий текст. Текст и числа, например, имена и адреса, номера телефонов и почтовые индексы. Текстовое поле может содержать до 255 символов.

- Поле Memo. Длинный текст и числа, например, комментарии и пояснения. Memo-поле может содержать до 64 000 символов.

- Числовой. Общий тип для числовых данных, допускающих проведение математических расчетов, за исключением расчетов для денежных значений. Свойство Размер поля позволяет указать различные типы числовых дан­ных. Длина - 8 байт.

- Дата/время. Значения даты и времени. Пользователь имеет возможность выбрать один из многочисленных стандартных форматов или создать специальный формат. Длина - 8 байт.

- Денежный. Денежные значения. Числа представляются с двумя знаками по­­с­ле запятой. Не рекомендуется использовать для проведения денежных расчетов значения, принадлежащие к числовому типу данных, так как последние могут округляться при расчетах. Значения типа "Денежный" всегда выводятся с указанным числом десятичных знаков после запятой. Длина - 8 байт.

- Счетчик. Автоматически вставляющиеся последовательные номера. Счетчик увеличивается на единицу для каждой следующей записи. Нумерация начинается с 1. Поле счетчика удобно для создания ключа. В таблице может быть только одно такое поле. Длина - 4 байта.

- Логический. Значения "Да"/"Нет", "Истина"/"Ложь", "Вкл"/"Выкл", т.е. одно из двух возможных значений. Длина - 1 байт.

- Поле объекта OLE. Объекты, созданные в других программах, поддержива­ю­щих протокол OLE, например графики, рисунки и т.п. Объекты связываются или внедряются в базу данных Micro­soft Access через элемент управления в форме или отчете.

- Гиперссылка. Строка, состоящая из букв и цифр, и представляющая адрес гиперссылки. Адрес гиперссылки может состоять максимум из трех частей: текст (текст, выводимый в поле или в элементе управления); адрес (путь к файлу или странице), дополнительный адрес (смещение внутри файла или страницы). Гиперссылка может содержать до 2048 символов.

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

Свойства полей зависят от выбранного типа данных. Наиболее важными являются следующие свойства:

- размер поля задает максимальный размер данных сохраняемых в поле;

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

- число десятичных знаков задает для числового и денежного типов данных число знаков после запятой (может быть от 0 до 15);

- маска ввода задает маску ввода, облегчающую ввод данных в элемент управления - поле. Например, удобно создать следующую маску ввода для поля «Телефон», позволяющую вводить только цифры и автоматически добавляющую промежуточные символы: (___) ___-____.

- подпись задает текст, который выводится в таблицах, формах и отчетах для обозначения (маркирования) поля, если подпись не задана, то выводится название поля;

- значение по умолчанию позволяет указать значение, автоматически вводящееся в поле при создании новой записи. Например, в таблице «Адреса» может оказаться удобным указать автоматический ввод значения «Москва» в поле «Город». При заполнении таблицы пользователи смогут оставить в этом поле стандартное значение или, при необходимости, указать другой город.

- условие на значение позволяет осуществить контроль ввода, определяет требования к данным, вводящимся в запись, в поле или в элемент управления;

- сообщение об ошибке позволяет указать текст сообщения, выводящегося на экран, если введенные данные нарушают условие, определенное в свойстве "Условие на значение";

- обязательное поле указывает, требует ли поле обязательного ввода значения. Если это свойство имеет значение «Да», то при вводе новой записи необходимо ввести значение в это поле или в любой присоединенный к нему элемент управления. Пустые значения в этом поле не допускаются. Например, можно потребовать, чтобы в элементе управления «Фамилия» в каждой записи обязательно выводилась какая-либо фамилия;

- индексированное поле определяет индекс, создаваемый по одному полю. Индекс ускоряет выполнение запросов, в которых используются индексированные поля, и операции сортировки и группировки. Например, если часто выполняется поиск по полю "Фамилия" в таблице "Сотрудники", следует создать индекс для этого поля.

Описание представляет собой краткий комментарий, который не является обязательным. Комментарий, например, можно использовать для напоминания разработчику БД оснований для выбора типа и свойств поля.

Индексирование позволяет ускорить сортировку и поиск данных в таблице. Можно индексировать числовые, денежные, текстовые, логические поля, а также поля типа Счетчик и Дата. Не следует создавать слишком много индексов для одной таблицы, т.к. это замедлит ввод и редактирование ее данных.

Индексированное поле может содержать как уникальные, так и повторяющиеся значения. Например, в таблице Сотрудники можно создать индекс по полю КодСотрудника, которое содержит уникальные значения кода, или по полю Фамилия, которое может содержать повторяющиеся значения.

Не допускается создание индексов для полей MEMO, гиперссылок и объектов OLE.

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

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

Ключевые поля таблицы индексируются автоматически.

Существует пять способов создания новой таблицы:

1). В режиме таблицы: данные вводятся в табличном режиме по строкам и столбцам. Имена полей определены по умолчанию ПОЛЕ1, ПОЛЕ2 и т.д. Тип поля и длину поля Access определяет на основании введенных значений. Структура таблицы формируется в соответствии с введенными значениями и потом может быть модифицирована.

2). В режиме конструктора: здесь вначале создается структура таблицы, а затем таблица заполняется данными.

3). В режиме мастера таблиц: создание таблицы на основе имеющихся шаблонов из мастера баз данных.

4). В режиме мастера импортирования таблиц: создание таблицы на основе данных, импортируемых из внешнего источника.

5). В режиме мастера связи с таблицами. Этот мастер позволяет создать новую таблицу не импортированием данных из внешнего источника, а установкой связи с внешними данными из новой таблицы.

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

Создание структуры таблицы представляет собой многошаговый процесс:

- Определение имен полей, их типов и описаний;

- Определение свойств полей;

- Определение ключевого поля.

Желательно, чтобы каждая таблица имела ключевое поле. Ключ однозначно определяет каждую запись в таблице; повторяющиеся значения ключа не допускаются. Связываться могут только таблицы, имеющие ключевые поля.

Для определения ключа выделяется, как правило, одно поле, и на панели инструментов нажимается кнопка "Ключ" с изображением ключа (логотип Access). Однако в ситуации, когда данные одного поля не могут быть уникальными для каждой записи, можно назначить ключевыми два или более полей.

Ключевые поля таблицы индексируются автоматически. Если при создании таблицы в качестве ключа не определено ни одно из полей, то Access предлагает создать поле Счетчик, содержащее уникальный номер записи таблицы.

Для осуществления одновременной выборки данных из нескольких таблиц, их следует связать между собой. Связать можно только те таблицы, которые содержат поля с одинаковыми значениями. Имена этих полей могут не совпадать, однако обязательно должны совпадать типы данных, длины полей, а главное, значения. Связь устанавливается на схеме данных. Схема данных строится в соответствии с информационно-логической моделью данных. При построении схемы данных Access автоматически определяет по выбранному полю тип связи между таблицами. Создание схемы данных позволяет упростить конструирование многотабличных форм, запросов и отчетов, а также обеспечить целостность взаимосвязанных данных.

Access позволяет устанавливать связи следующих типов:

Связь один-к-одному, при которой одной записи из первой таблицы соответствует только одна запись из второй. Такая связь устанавливается для таблиц, которые могли бы быть объединены в одну, но разделены с целью ускорения работы.

Связь один-ко-многим используется для связи одной записи из первой таблицы с несколькими записями из второй таблицы.

Связь многие-к-одному указывает, что несколько записей одной таблицы связаны с одной записью другой таблицы.

Access позволяет устанавливать не только связи между таблицами, но и правила, определяющие условия взаимодействия между таблицами и поддерживающие целостность данных.

Одна из связанных таблиц является базовой, а вторая – подчиненной.

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

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

Если связанное поле базовой таблицы индексировано, то тип связи определяется в соответствии со следующими правилами:

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

- если в подчиненной таблице содержатся повторяющие значения в связанном поле, то имеет место связь типа «один-ко-многим».

Схема данных отображается в окне Схема данных, в котором таблицы представлены списками полей, а связи линиями между полями

Для того, чтобы вызвать окно Схема данных можно выполнить команду СЕРВИС/Схема данных и щелкнуть по кнопке инструментальной панели с соответствующим названием.

Добавить таблицу на схеме данных можно щелчком правой клавиши и выбрать в контекстном меню пункт Добавить таблицу, выполнив команду СВЯЗЬ/Добавить таблицу или щелкнув по кнопке с таким названием на инструментальной панели Связь.

В окне Схема данных отдельные таблицы можно скрывать и отображать.

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

Для устанавливаемой связи следует задать параметры.

В окне Связи можно изменить связь, если она была установлена неверно, выбрав в списках полей связываемых таблиц нужные поля.

Обычно следует включить поддержку целостности данных с помощью флажка Обеспечение целостности данных. Если такая установка произведена, то становятся доступными параметры Каскадное обновление связанных полей и Каскадное удаление связанных полей.

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

Если включена поддержка целостности данных в установленной связи, то на схеме линия типа 1 — ∞ изображается более жирной.

Ввод данных в таблицы и их редактирование ведется в режиме таблицы. В режиме таблицы данные отображаются в строках и столбцах. Строки (записи) таблицы в зависимости от выполняемых операций помечаются маркерами:

► - маркер текущей операции;

! («карандаш») – маркер редактируемой записи;

Æ - маркер блокированной записи при работе в многопользовательском режиме;

*- маркер новой записи.

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

Ввод данных осуществляется после установки курсора в поле таблицы. При вводе данных в поле осуществляется автоматическая проверка данных типов: числовой, денежный, дата/время, логический. Кроме того, можно установить дополнительные правила проверки вводимых данных в свойстве поля «Условие на значение». Для ввода в поле текущей записи значения того же поля предыдущей записи следует нажать комбинацию клавиш CTRL+’ (апостроф), для ввода текущей даты – CTRL+; для ввода текущего времени – CTRL+:.

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

Настройка отображения записей в режиме таблицы

Access позволяет:

Изменить порядок следования полей в режиме таблицы. Для этого необходимо выделить столбец или группу столбцов и перетащить их в нужное место. Изменение порядка следования столбцов в режиме таблицы не вызывает изменения в структуре таблицы.

Изменить ширину поля. Это можно сделать командой ФОРМАТ/Ширина столбца или перетаскиванием правой границы столбца (указатель мыши должен принять вид крестика с двунаправленной стрелкой ¬½½®). Если дважды щелкнуть мышью у правой границы столбца, ширина столбца будет выровнена по значению поля.

Изменить высоту записи. Это действие можно выполнить командой ФОРМАТ/Высота строки или перетаскиванием верхней границы строки таблицы. Установленная высота будет применена ко всем записям. Высота строки указывается в пунктах.

Изменить шрифт отображения данных с помощью команды ФОРМАТ/Шрифт.

Столбцы можно скрывать и отображать.

Сортировка записей

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

Для восстановления первоначального порядка расположения записей следует выполнить команду ЗАПИСИ/Удалить фильтр.

Фильтрация записей

Фильтрация – это способ быстрого отбора записей таблицы в соответствии с заданным критерием. Установить критерий отбора можно с помощью следующих команд:

- фильтр по выделенному;

- исключить выделение;

- изменить фильтр;

- расширенный фильтр.

Фильтр по выделенному отбирает записи таблицы на основании текущего выделения (выделяется значение поля). Фильтр обладает свойством накопления условий отбора. Условия добавляются одно к другому и образуют итоговый критерий, связывающий условия отбора логической функцией «И». Функция «Исключить выделение» позволяет произвести отбор всех записей, кроме тех, которые удовлетворяют критерию отбора по выделенному.

Команда Изменить фильт р позволяет сформировать критерий отбора, используя для формирования условий отбора значения полей и связывая условия отбора логической операцией «ИЛИ».

Команда Расширенный фильтр позволяет сформировать критерий отбора в окне команды, связывая условия отбора операциями «И» и «ИЛИ». В результате выполнения команды появится окно расширенного фильтра для формирования условия отбора (фактически запроса).

Команда Применить фильтр позволяет выполнить отбор записей на основании критерия отбора.

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

Access позволяет создавать запросы двух типов: QBE – запросы и SQL – запросы.

QBE – запросы (Query By Example – запрос по образцу) строится с помощью конструктора в окне конструктора запросов.

SQL – запросы – запросы, представляющие собой последовательность операторов и функций языка SQL (Structured Query Language –структурированный язык запросов).

QBE – запросы в Access можно преобразовать в SQL – запрос.

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

Access позволяет создать запрос двумя способами: с помощью конструктора или с помощью мастеров.

Для создания запросов имеются следующие мастера:

- Мастер создания простого запроса.

- Мастер создания перекрестного запроса.

- Мастер создания запросов на поиск повторяющихся записей.

- Мастер запросов на поиск записей без подчиненных записей.

Окно конструктора запроса состоит из двух частей: схемы данных и бланка запроса.

Схема данных – это место, где размещаются таблицы или запросы и устанавливаются связи между ними.

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

Выбор таблицы осуществляется в окне Добавление таблицы, в котором отображаются все таблицы и запросы базы данных.

Окно Добавление таблицы вызывается:

- при создании нового запроса конструктором;

- при выполнении команды ЗАПРОС/Добавить таблицу;

- при нажатии кнопки Добавление таблицы (кнопка с рисунком «таблица со знаком плюс»);

- щелчком правой кнопкой мыши по области схемы данных и выбором в контекстном меню команды Добавить таблицу.

Добавить таблицу в запросе можно также, перетащив значок таблицы из окна базы данных в окно конструктора с открытым запросом.

Удалить таблицу можно клавишей DEL или командой ЗАПРОС/ Удалить таблицу – для предварительно выбранной таблицы.

Многотабличные запросы позволяют получить информацию нескольких таблиц, которые должны быть связаны. Создать связи в запросах можно следующим образом:

1. Предварительно перед созданием запроса создать связи. В этом случае связь таблиц в запросе будет установлена автоматически.

2. При создании связанных таблиц необходимо для связываемых полей задать одно имя и определить один тип, указав в одной из таблиц данное поле – ключевым. Связь будет установлена автоматически.

Создать связь можно в окне конструктора запросов. Созданные в окне конструктора запросов связи функционируют только в запросе. Кроме того, Access позволяет изменить в окне запросов установленные в схеме данных связи.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: