Федеральное агентство по образованию Тверской государственный технический университет
Г.П. Виноградов, Н.В. Кирсанова
...
8 downloads
305 Views
986KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Федеральное агентство по образованию Тверской государственный технический университет
Г.П. Виноградов, Н.В. Кирсанова
ПРОЕКТИРОВАНИЕ СТРУКТУРЫ И СОЗДАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ СРЕДСТВАМИ СУБД Access Учебное пособие Издание первое
Тверь 2006
2
УДК 681.3.01(075.8) ББК 32.973-018.2Я7 Виноградов Г.П., Кирсанова Н.В. Проектирование структуры и создание реляционных баз данных средствами СУБД Access: Учебное пособие. 1-е изд. Тверь: ТГТУ, 2006. 84 с. В учебном пособии даны ответы на многие вопросы начинающих пользователей СУБД MS Access, возникающие при проектировании структуры базы данных. Уровень изложения материала доступен студентам технических и экономических специальностей вузов. Пособие предназначено широкому кругу читателей, можно использовать преподавателям для проведения занятий. Содержатся примеры и рекомендации, варианты заданий. Рецензенты: доктор физ.-мат. наук, профессор ТГУ А.А. Андреева; кандидат технических наук, профессор АВН Н.М. Расолько.
ISBN 5-7995-0341-4
©Тверской государственный технический университет, 2006
3
СОДЕРЖАНИЕ Введение ......................................................................................................4 1. Реляционные базы данных.....................................................................5 2. Проектирование нормализованных баз данных..................................7 3. Создание базы данных .........................................................................11 4. Создание таблиц ...................................................................................13 5. Модификация структуры таблицы .....................................................32 6. Свойства полей .....................................................................................35 7. Печать структуры таблицы..................................................................48 8. Основные операции с таблицами в окне базы данных .....................48 9. Определение связей между таблицами ..............................................49 10. Работа с информацией в таблицах. Режим Таблицы. .....................56 11. Работа со связанными таблицами .....................................................77 12. Варианты заданий...............................................................................80 Библиографический список .....................................................................84
4
ВВЕДЕНИЕ Почти все современные информационные системы основаны на реляционной модели управления базами данных. Название «реляционная» связано с тем, что каждая запись в такой базе данных содержит сведения, относящиеся только к одному конкретному объекту. Как начинающий, так и опытный пользователи при разработке реляционной базы данных в Microsoft Access сталкиваются с трудностями. В учебном пособии рассмотрены почти все аспекты, в которых может возникать необходимость. Простые и полезные приемы помогают создать хороший проект реляционной базы данных без особых усилий. Наличие хорошего проекта – ключ к построению удобного в работе приложения. Процесс проектирования базы данных и соответствующего приложения становится более ясным, если осознавать различие между данными и информацией, что облегчит выявление сведений, которые необходимо хранить в базе данных. Различие состоит в том, что данные – это статистические значения, хранящиеся в таблицах базы данных, в то время как информация – это сведения, которые запрашиваются пользователем и предоставляются ему в наиболее удобном виде. Другими словами, данные хранятся, а информация запрашивается. Отличие данных от информации надо учитывать при разработке проекта. Сначала определяем задачи: какую информацию можно будет запрашивать и получать. Затем выясняем, что нужно хранить в базе данных для выполнения этих задач: какие данные нужны для получения и представления требуемой информации. Когда мы ссылаемся на элементы, хранимые в таблицах, запросах, макросах и процедурах, или работаем с ними, то имеем дело с данными. Когда мы работаем с наборами записей запросов, фильтрами, формами или отчетами, то имеем дело с информацией. При создании реляционной базы данных необходимо учитывать особенности таблиц. Все изменения в таблицах сохраняются автоматически в режиме реального времени. Режим реального времени означает, что пока мы работаем с таблицей, происходит непрерывное сохранение. Как только заканчивается ввод данных в одно поле и происходит переход к следующему полю, данные немедленно записываются на жесткий диск. Все изменения, которые вносятся в содержание таблиц, имеют необратимый характер. Эта особенность требует аккуратного отношения к работе с таблицами. Для экспериментов надо создавать отдельные копии базы данных и работать с ними.
5
1. РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ Теория реляционных баз данных была разработана в начале 70-х годов Кодом на основе математической теории отношений. В реляционной базе данных все данные хранятся в виде таблиц, при этом все операции над базой данных сводятся к манипулированию таблицами. Основными понятиями являются: таблица, отношение, строка, столбец, первичный и внешний ключи. Таблица состоит из строк и столбцов и имеет уникальное имя в базе данных. База данных содержит множество таблиц, связь между которыми устанавливается с помощью совпадающих полей - ключей. В каждой из таблиц содержится информация о каких-либо объектах одного типа (группы). В качестве примера рассмотрим базу данных, предназначенную для учета заказов покупателей и состоящую из двух таблиц: Клиенты (табл.1) и Заказы (табл.2). В первой таблице содержится информация о покупателях (фамилия, имя, отчество, адрес, телефон и т.п.), а во второй таблице содержится информация о заказах различных покупателей. Таблица 1. Структура таблицы Клиенты
Таблица 2. Структура таблицы Заказы
Первичный ключ Наименование 1 Код клиента 2 Фамилия 3 Имя 4 Отчество 5 Телефон 6 Адрес 7 Предприятие 8 Руководитель 9 Кредит 10 Примечание
Ключ связи Ключ связи
Счетчик Текстовый Текстовый Текстовый Текстовый Текстовый Текстовый Текстовый Денежный Меmо
1 2 3 4 5 6 7 8 9 10
Наименов Код товара Код клиента Дата заказа Заказано Дата продажи Продано Цена Примечание Категория Наименование товара
Тип Числовой Числовой Текстовый Текстовый Текстовый Текстовый Денежный Memo Числовой Текстовый
С помощью этой базы данных можно получить информацию о каждом клиенте (таблица Клиенты) и сделанных им заказах (таблица Заказы). Каждая запись в таблицах идентифицирует один объект группы (покупатель или сделанный заказ). Предполагается, что один и тот же покупатель может сделать несколько заказов. Таким образом, между покупателями и сделанными ими заказами существует отношение один–ко–многим. Связь таблиц осуществляется на основании данных в совпадающих полях Код клиента. Другие примеры - отношения между предприятием и работающими на нем сотрудниками. Аналогичный тип отношения существует между компьютером и входящими в него компонентами. При иерархической организации данных тип отношения один-ко-многим является наиболее общим.
6
MS Access поддерживает четыре типа отношений между таблицами: один– к–одному, один–ко–многим, много–к–одному, много–ко–многим. 1.1. Отношение один-к-одному Отношение один-к-одному означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице. В качестве примера рассмотрим отношение между группами полей Физические лица (табл. 3) и Сотрудники (табл. 4). Таблица 3. Структура таблицы Физические лица № Наименование Тип 1 КодФизЛица Счетчик Текстовый 2 Фамилия Текстовый 3 Имя Текстовый 4 Отчество Текстовый 5 Телефон Текстовый 6 Адрес 7 ДатаРождения Дата/время OLE 8 Фотография Memo 9 Примечание
Таблица 4. Структура таблицы Сотрудники № 1 2 3 4 5 6 7
Наименование Код сотрудника Должность Разряд Зарплата Рейтинг Дата приема Примечание
Тип Счетчик Текстовый Числовой Числовой Числовой Дата/время Memo
В табл. 3 содержатся данные о личности сотрудника, а в табл. 4 профессиональные сведения. Между таблицами Физические лица и Сотрудники существует отношение один-к-одному, поскольку для одного человека может существовать только одна запись, содержащая профессиональные сведения. Связь между этими таблицами поддерживается при помощи совпадающих полей: Код сотрудника (табл. 4) и КодФизЛица (табл. 3). Отметим, что эти поля имеют разные наименования, но один и тот же тип данных. Связь между таблицами устанавливается на основании значений совпадающих полей, но не их наименований. 1.2. Отношение много-к-одному Отношение много-к-одному аналогично рассмотренному ранее типу одинко-многим. Тип отношения между объектами зависит от вашей точки зрения. Например, если мы будем рассматривать отношение между сделанными заказами и клиентами, то получим отношение много-к-одному. 1.3. Отношение много-ко-многим Отношение много-ко-многим возникает между двумя таблицами в тех случаях, когда: одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы; одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы.
7
В качестве примера обратимся к магазину оптовой торговли. Рассмотрим две группы объектов. 1. В таблице Поставки товаров (табл. 5) представлен список товаров, производимых предприятиями-поставщиками. 2. В таблице Заказы потребителей (табл. 6) содержится список товаров, заказанных потребителями, Таблица 5. Структура таблицы Поставки товаров № Наименование 1 Код предприятия 2 Код товара 3 Цена поставки
Тип Числовой Числовой Денежный
Таблица 6. Структура таблицы Заказы потребителей № 1 2 3 4
Наименование Код потребителя Код товара Цена продажи Количество
Тип Числовой Числовой Денежный Числовой
Между таблицами Поставки товаров и Заказы потребителей существует отношение много-ко-многим, так как каждый поставляемый товар может входить в несколько заказов. Аналогично каждый заказанный товар может производиться более чем одним предприятием. Связь между таблицами устанавливается на основании значений в совпадающих полях Код товара. 2. ПРОЕКТИРОВАНИЕ НОРМАЛИЗОВАННЫХ БАЗ ДАННЫХ При проектировании реляционной базы данных необходимо решить вопрос о наиболее эффективной структуре данных. Основные цели проектирования: обеспечить быстрый доступ к данным таблицы; исключить ненужное повторение данных, которое является причиной ошибок при вводе и нерационального использования дискового пространства вашего компьютера; обеспечить целостность данных таким образом, чтобы при изменении одних объектов автоматически происходило соответствующее изменение связанных с ними объектов. Процесс уменьшения избыточности информации в базе данных называется нормализацией. В теории нормализации базы данных разработаны достаточно формализованные подходы к разбиению данных, обладающих сложной структурой на несколько таблиц. Теория нормализации структуры оперирует пятью нормальными формами таблиц. Каждая следующая нормальная форма должна удовлетворять требованиям предыдущей формы и некоторым дополнительным условиям. Ограничимся рассмотрением первых трех нормальных форм, поскольку при практическом проектировании баз данных четвертая и пятая формы используются в редких случаях.
8
В качестве примера рассмотрим таблицу Продажи (табл.7). Таблица 7. Структура таблицы Продажи № 1 2 3 4 5 6 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Наименование Код клиента Фамилия Имя Отчество Телефон Факс Адрес Предприятие Руководитель Кредит Примечание Код товара Дата заказа Заказано Дата продажи Продано Цена Примечание к заказу Категория Наименование товара
Тип Числовой Текстовый Текстовый Текстовый Текстовый Текстовый Текстовый Текстовый Текстовый Денежный Memo Числовой Дата/время Числовой Дата/время Числовой Денежный Memo Числовой Текстовый
Таблицу Продажи можно рассматривать как однотабличную базу данных. Основная проблема заключается в том, что в ней содержится значительное количество повторяющейся информации. Например, сведения о покупателе повторяются для каждого сделанного им заказа. Такая структура данных является причиной следующих проблем, возникающих при работе с базой данных: значительные затраты времени на ввод повторяющихся данных. Например, для всех заказов, сделанных одним из покупателей, придется каждый раз вводить одни и те же данные о покупателе; при изменении адреса или телефона покупателя необходимо корректировать все записи, содержащие сведения о заказах этого покупателя; наличие повторяющейся информации приведет к неоправданному увеличению размера базы данных. В результате снизится скорость выполнения запросов. Кроме того, повторяющиеся данные нерационально используют дисковое пространство вашего компьютера; любые внештатные ситуации потребуют значительного времени для получения требуемой информации. Например, при больших размерах таблиц поиск ошибок будет занимать значительное время.
9
2.1. Первая нормальная форма Табл. 7 является ненормализованной таблицей. Требования к таблице в первой нормальной форме: 1. Таблица не должна иметь повторяющихся групп полей; 2. В таблице должны отсутствовать повторяющиеся записи. Для выполнения условия пункта 2 каждая таблица должна иметь первичный ключ. Таблица Продажи (табл. 7) не содержит первичного ключа, что допускает наличие в ней повторяющихся записей. Для выполнения условия 2 добавим поле Код клиента, которое будет содержать значение первичного ключа. Требование 1 постулирует устранение повторяющихся групп полей. Поскольку каждый покупатель может сделать несколько заказов, каждый из которых в свою очередь может содержать несколько товаров, то необходимы две таблицы. Каждая запись одной таблицы будет содержать сведения об одном из покупателей, а второй таблицы – информацию о каждом заказе. Поэтому надо разбить таблицу Продажи на две отдельные таблицы Клиенты и Заказы и определить поля Код клиента в качестве ключей связи. Структуры таблиц Клиенты и Заказы приведены на рис.1. Тип связи между таблицами Клиенты и Заказы будет один-ко-многим. Таким образом, для таблицы Клиенты решена проблема повторяющихся групп полей. Клиенты Код клиента Фамилия Имя Отчество Телефон
Заказы 1
∞
Код клиента Код товара Дата заказа Заказано Дата продажи Продано Цена Примечание к заказу Категория Наименование товара
Рис.1. Первая нормальная форма
Таблица Заказы содержит сведения о товарах, включенных в конкретный заказ. Для исключения повторяющихся записей можно воспользоваться одним из способов: 1) добавить в таблицу новое уникальное ключевое поле Код заказа, что позволит однозначно идентифицировать каждый из заказов. Однако при работе с Ms Access это далеко не лучший метод, так как при разработке многотабличных форм и отчетов связь между таблицами осуществляется посредством ключевых полей с совпадающими значениями;
10
2) использовать уникальный составной ключ, состоящий из полей Код клиента, Код товара и Дата заказа. После того как мы разделили повторяющиеся записи и определили ключевые поля в каждой таблице, таблицы Клиенты и Заказы находятся в первой нормальной форме (рис.1). Структура связей между таблицами называется схемой данных. 2.2. Вторая нормальная форма Таблица находится во второй нормальной форме, если: она удовлетворяет условиям первой нормальной формы; любое неключевое поле однозначно идентифицируется полным набором ключевых полей, входящих в составной ключ. Из приведенного выше определения следует, что понятие второй нормальной формы применимо только к таблицам, имеющим составной ключ. В рассматриваемом примере такой таблицей является таблица Заказы, в которой составной ключ образуют поля Код клиента, Код товара и Дата заказа. Она является таблицей во второй нормальной форме, поскольку поля Категория, Наименование товара и Цена однозначно определяются только одним из ключевых полей (Код товара). Для приведения таблицы ко второй нормальной форме выделим из таблицы Заказы таблицу Товары, которая будет содержать информацию о товарах каждого типа. Для связывания таблиц Заказы и Товары используется поле Код товара (рис.2). Клиенты Код клиента Фамилия Имя Отчество Телефон Факс Индекс Страна Город Адрес Предприятие Руководитель Кредит Примечание
Заказы 1
∞
Код клиента ∞ Код товара Дата заказа Заказано Дата продажи Продано Цена Примечание к заказу
Рис.2. Вторая нормальная форма
Товары 1
Код товара Категория Наименование товара
11
2.3. Третья нормальная форма Таблица находится в третьей нормальной форме, если она удовлетворяет условиям второй нормальной формы; ни одно из неключевых полей таблицы не идентифицируется с помощью другого неключевого поля. Обратимся к таблице Клиенты. Поле Руководитель этой таблицы содержит имена руководителей компаний, которые однозначно определяются значением поля Предприятие. Поскольку неключевое поле Руководитель однозначно определяется другим неключевым полем Предприятие, таблица Клиенты не является таблицей в третьей нормальной форме. Для приведения ее к третьей нормальной форме создадим новую таблицу Предприятие (рис.3.) Клиенты Код клиента Фамилия Имя Отчество Телефон Факс Индекс Страна Город Адрес Предприятие Кредит Примечание
Заказы 1
∞
∞ 1
Код клиента ∞ Код товара Дата заказа Заказано Дата продажи Продано Цена Примечание к заказу
Товары 1
Код товара Категория Наименование товара
Предприятие Предприятие Руководитель
Рис. 3. Третья нормальная форма
3. СОЗДАНИЕ БАЗЫ ДАННЫХ База данных в MS Access представляет собой совокупность средств для ввода, хранения, просмотра, выборки и управления информацией. К этим средствам относятся таблицы, формы, отчеты, запросы. Access позволяет создать новую базу данных следующими способами: в процессе запуска Access без использования Мастера; в процессе запуска Access с использованием Мастера; из меню Файл; с использованием кнопки Создать. 3.1 Создание базы данных без использования Мастера Для этого необходимо: 1) в разделе Создание диалогового окна Microsoft Access выбрать переключатель Новая база данных. Появится диалоговое окно Файл новой базы данных;
12
2) в раскрывающемся списке Папка открыть папку, в которой будет храниться создаваемая база данных; 3) в поле ввода Имя файла указать имя создаваемого файла и нажать кнопку Создать. По умолчанию Access присваивает новой базе данных имя dbl, если оно уже существует, то db2 и т.д. После задания имени новой базе данных появляется окно базы данных (рис.4), можно приступать к созданию таблиц базы данных и определению связей между ними.
Рис. 4. Окно базы данных
3.2. Создание базы данных с помощью Мастера Для создания новой базы данных можно использовать соответствующий Мастер, который предложит нам создать базу данных по заранее заготовленному шаблону. Для запуска Мастера надо: 1) в разделе Шаблоны диалогового окна Microsoft Access выбрать переключатель На моем компьютере. Появится диалоговое окно Шаблоны; 2) чтобы создать пустую базу данных надо раскрыть вкладку Общие, выделить элемент Новая база данных и нажать кнопку ОК; 3) вкладка Базы данных позволяет использовать в качестве основы один из шаблонов наиболее популярных баз данных. Чтобы создать базу данных на основе шаблона, надо выделить ярлык шаблона и нажать кнопку ОК, далее необходимо следовать указаниям Мастера. При работе с Мастером создания базы данных сначала приводятся краткие сведения о содержимом базы. Затем показываются таблицы и поля, используемые в базе. Установив или сбросив флажки у имени поля, можно включить или исключить это поле из будущей таблицы. Следующие шаги (переход к новому шагу осуществляется нажатием
13
кнопки Далее) позволяют выбрать стилевое оформление форм и отчетов, задать название базы данных и определить файл рисунка, используемого в качестве логотипа при печати отчетов. На последнем шаге работы с Мастером можно либо запустить созданную базу данных, либо отказаться от ее открытия после окончания создания. Кнопка Готово – окончание процедуры создания базы данных с помощью Мастера. 3.3. Создание базы данных после запуска Access Создать базу данных в процессе работы с Access можно двумя способами: 1. Выполнить команду Файл, Создать, после чего появится диалоговое окно Файл новой базы данных. Далее выполнить пункты 2, 3 раздела 3.1; 2. Нажать кнопку Создать на панели инструментов, после этого выполнить пункты 2, 3 раздела 3.1. 4. СОЗДАНИЕ ТАБЛИЦ Таблицы базы данных – это фундаментальные объекты реляционной базы данных, в которых хранится основная часть данных приложения. Отдельная таблица, как правило, содержит информацию о конкретном объекте, например сведения о сотрудниках организации или данные о поставщиках товара и т.п. Таблица создается в два этапа: вначале определяется ее структура, а затем таблица заполняется данными. 4.1. Структура таблиц Структура таблицы определяет, какие данные будут храниться в таблице, а также правила, используемые для контроля правильности ввода, редактирования или удаления данных. Для создания структуры необходимо: 1. Создать новую таблицу, для чего можно использовать следующие способы: щелкнуть по кнопке Создать окна базы данных; выполнить команду главного меню: Вставка, Таблица; щелкнуть по кнопке Новый объект на панели инструментов базы данных и выбрать из появившегося меню пункт Таблица; дважды щелкнуть на одном из ярлыков, например Создание таблицы в режиме конструктора. Этот способ можно применять, если установлен флажок Новые ярлыки объектов в окне Параметры, которое появляется после выполнения команды Сервис, Параметры; 2. Для каждого поля ввести имя, тип данных и описание; 3. Определить свойства для полей; 4. Назначить первичный ключ; 5. Создать индексы для требуемых полей; 6. Сохранить созданную таблицу, задав ей имя. Щелкнем по кнопке Создать окна базы данных, чтобы начать процесс
14
создания таблицы. При этом должна быть нажата кнопка Таблицы для перехода на вкладку Таблицы. Откроется диалоговое окно Новая таблица (рис. 5), в правой части которого находится список вариантов создания таблицы: Режим таблицы позволяет создать новую таблицу путем ввода данных. Конструктор позволяет создать новую таблицу с помощью конструктора таблиц. Мастер таблиц позволяет создать новую таблицу путем выбора предварительно построенной таблицы. Импорт таблиц позволяет осуществлять импорт таблиц из внешнего файла в текущую базу данных в новую таблицу. Связь таблиц позволяет установить для создаваемой таблицы связь с другими таблицами. Способы создания таблицы, приведенные в диалоговом окне Новая таблица, требуют от пользователя разную степень полноты данных об именах и свойствах полей.
Рис. 5. Диалоговое окно Новая таблица
Процесс создания структуры таблицы различными способами рассмотрим на примере таблицы Клиенты. На первом шаге следует определить имена полей создаваемой таблицы. 4.2. Наименование поля Наименование каждого из полей таблицы, как правило, выбирается произвольно, но таким образом, чтобы отразить характер информации, которая будет храниться в данном поле по следующим правилам: наименование поля может содержать до 64 символов, но не следует задавать слишком длинные имена; наименование поля может содержать буквы, цифры, пробелы и специальные символы, за исключением точки, восклицательного знака, квадратных скобок ([]) и управляющих символов с кодами ASCII 0-31; наименование поля не может начинаться с пробела, нельзя использовать двойные кавычки (“,”); два поля в одной таблице не могут иметь одинаковых наименований; в качестве наименования поля рекомендуется использовать аббревиатуры или краткие названия.
15
4.3. Создание таблицы с помощью мастера Мастер таблиц позволяет использовать набор таблиц, содержащихся в MS Access в качестве прототипов при создании новых таблиц. Это позволяет не только сэкономить время на создании таблиц, но и обеспечить стандартные имена, типы данных полей таблиц и их свойства. Для того чтобы вызвать мастера для создания таблицы в окне диалога Новая таблица, выберем опцию Мастер таблиц и нажмем кнопку ОК. На экране откроется окно диалога (рис.6). В левой части окна диалога ниже блока Назначение таблицы находится список Образцы таблиц. При выборе таблицы из этого списка меняется расположенный рядом список Образцы полей, содержащий предлагаемые образцы полей для выбранной таблицы.
Рис. 6. Выбор таблиц и полей при создании таблицы с помощью Мастера
Для выбора полей используются кнопки со стрелками, которые расположены правее списка Образцы полей (табл.8). Таблица 8. Кнопки выбора полей Кнопка Назначение > Выделенное в списке Образцы полей поле добавляется в список полей создаваемой таблицы >> Все поля из списка Образцы полей добавляются в список полей создаваемой таблицы < Удаляет из списка полей создаваемой таблицы поле, выделенное в списке Поля новой таблицы << Удаляет все элементы из списка Поля новой таблицы Сначала необходимо из списка Образцы таблиц выбрать прототип
16
таблицы, которая похожа на создаваемую таблицу. Затем из списка Образцы полей выбрать поля таблицы и разместить их в списке Поля новой таблицы. При необходимости переименовать какое-либо поле его нужно выделить и нажать кнопку Переименовать поле, затем ввести в диалоговом окне Переименовать поле новое имя поля и нажать кнопку ОК. Сформировав список полей создаваемой таблицы, нажмем кнопку Далее. При использовании Мастера данным после выбора поля из списка Образцы полей назначается заранее заданный тип данных, который можно посмотреть после создания таблицы в режиме Конструктора таблиц. На следующем шаге создания таблицы надо задать имя таблицы и определить ключевое поле (рис. 7).
Рис. 7. Задание имени таблицы и ключевого поля
Мастер предлагает свой вариант имени, который можно принять, нажав клавишу Tab. Если оно не подходит, то можно ввести в текстовое поле другое имя. Здесь же выбирается способ определения первичного ключа: Microsoft автоматически определяет ключ или Пользователь определяет ключ самостоятельно. В первом случае в таблицу будет добавлено поле автоматической нумерации типа Счетчик. Во втором случае в поле со списком Выберите поле с уникальными для каждой записи данными надо выбрать поле, которое станет ключевым. Затем нужно выбрать тип данных, которые будут содержаться в ключевом поле. Мастер предлагает три варианта: 1) последовательные числа, автоматически присваиваемые каждой новой записи; 2) числа, вводимые пользователем при добавлении новых записей; 3) сочетание чисел и символов, вводимое пользователем при добавлении новой записи.
17
После этого нажать кнопку Далее. Если в базе данных уже существуют ранее созданные таблицы, то в следующем окне Мастер таблиц предлагает установить связи между существующими таблицами и создаваемой таблицей. Для связывания создаваемой таблицы с другими таблицами данные из списка уже существующих в базе данных таблиц выберем таблицу, с которой ее надо связать, и нажмем кнопку Связи. На экране откроется окно диалога Связи. В нем по умолчанию выбрана опция Таблицы не связаны. Следует установить одну из двух возможных типов создаваемых связей и нажать кнопку ОК. Вся необходимая информация для создания таблицы введена. На следующем шаге можно указать режим дальнейшей работы с создаваемой таблицей: • Изменить структуру таблицы: после завершения работы мастера на экране открывается режим конструктора для возможной модификации созданной структуры таблицы. • Ввести данные непосредственно в таблицу: после завершения работы мастера на экране открывается режим таблицы, позволяющий приступить к вводу данных в таблицу. • Ввести данные в таблицу с помощью формы, создаваемой мастером: после завершения работы мастера на экране открывается экранная форма для ввода информации в созданную таблицу. Установив требуемый режим, нажмем кнопку Готово. Этим шагом мастеру будет дано указание на формирование таблицы. После завершения этого процесса в зависимости от выбранной нами опции на экране откроются окно конструктора таблицы, окно просмотра таблицы или экранная форма ввода данных в таблицу. При выборе первого варианта можно продолжить процесс формирования структуры таблицы, а два вторых позволяют приступить к вводу данных в созданную таблицу. 4.4. Создание таблицы в окне Конструктора Создание таблицы в окне конструктора предоставляет более широкие возможности по определению параметров создаваемой таблицы. Конструктор позволяет задавать значения всех свойств параметров, характеризующих поле. Активизировать Конструктор для создания новой таблицы можно либо непосредственно из окна диалога Новая таблица, выбрав из списка вариантов значение Конструктор и нажав кнопку ОК, либо дважды щелкнув кнопкой мыши на ярлыке Создание таблицы с помощью Конструктора. В результате выполнения этих действий откроется окно Конструктора таблиц (рис.8), в котором можно выделить три основные области: панель инструментов Конструктор таблиц, область ввода имен и типов полей, область для задания свойств полей. Область ввода имен и типов полей представляет собой таблицу, которая содержит следующие атрибуты создаваемой таблицы: наименование поля, тип
18
данных и описание. Панель инструментов Конструктор таблиц содержит кнопки для активации команд, используемых при создании структуры таблицы (табл. 9).
Рис.8. Окно Конструктора таблиц
В окне Конструктора таблиц в столбце Имя поля вводятся имена полей создаваемой таблицы. В столбце Тип данных вводится или выбирается из раскрывающегося списка тип данных, которые будут содержаться в поле, для каждого поля таблицы. В столбце Описание можно ввести описание данного поля, хотя это необязательно, однако при работе приложения эта информация выводится в строке состояния окна приложения и может служить справкой пользователю. В нижней части Конструктора таблиц на вкладках Общие и Подстановка можно ввести свойства каждого поля или оставить значения свойств по умолчанию. После описания всех полей будущей таблицы нажать на кнопку Закрыть. На вопрос Сохранить изменения макета или структуры таблицы < имя таблицы> ? надо нажать на кнопку Да. В окне Сохранить как в поле Имя таблицы ввести имя создаваемой таблицы и нажать кнопку ОК. В ответ на сообщение Ключевые поля не заданы и вопрос Создать Ключевое поле сейчас? нажмем Да, если ключевое поле необходимо, и Нет в противном случае. После указанных действий в списке таблиц в окне базы данных появится имя и значок новой таблицы. Ввести данные в создаваемую таблицу можно, открыв таблицу в Режиме таблицы.
19
Таблица 9. Панель инструментов Конструктора таблиц Кнопка Вид
Описание Отображает таблицу в режиме таблицы или в режиме Конструктора Сохранить Сохраняет таблицу Печать Вывод таблицы на принтер Предварительный Используется для контроля процесса создания структуры просмотр таблицы Вырезать Удаляет выделенный объект или текст и помещает его в буфер Копировать Копирует в буфер текст или объект, выделенный в окне Конструктора таблиц Вставить Размещает копию содержимого буфера в выбранном месте Отменить/Вернуть Перемещение по этапам процесса создания таблицы Ключевое поле Позволяет пользователю выбирать столбцы и определять их в качестве ключевых полей; переключает ключевое поле в состояние включено/выключено Индексы Отображает окно индексов для текущего выделенного объекта Добавить строку Вставляет строку над текущей выделенной строкой Удалить строку Удаляет выделенную строку или строки Свойства Открывает окно свойств текущего выбранного объекта. Построить Помогает создавать элемент или свойство, например, поле или маску ввода Окно базы данных Отображает раскрывающийся список новых объектов, которые можно создавать, например: таблицы, формы, отчеты, запросы и макросы Помощник Вызов помощника 4.5. Определение типа данных После ввода имени поля надо определить его тип. Подходящий тип данного позволяет уменьшить размеры базы данных, увеличивает скорость выполнения операций. Для определения типа используется раскрывающийся список в столбце Тип данных. После щелчка на ячейке столбца Тип данных ячейка становится полем со списком. Справа в ней появится кнопка со стрелкой вниз, после щелчка на которой раскрывается список типов данных. В MS Access допустимыми являются данные следующих типов: • Текстовый • Логический • Числовой • Поле Memo • Денежный • Поле объекта OLE • Счетчик • Гиперссылка
20
4.5.1. Текстовые поля В этом поле хранится произвольный текст или комбинация текста и чисел, например адрес, а также цифры, с которыми не предполагается производить вычислений, например, номера телефонов, почтовый индекс или табельные номера. Кроме того, эти поля могут содержать и специальные символы. По умолчанию MS Access задает размер текстового поля равным 50. Для установки требуемого размера поля используется свойство Размер поля раздела Свойства поля, с помощью которого можно задать число, определяющее ширину поля (от 0 до 255). Независимо от длины текстового поля оно хранится в базе данных в формате переменной длины, Access не сохраняет пустые символы в используемой части текстового поля. 4.5.2. Поля типа Счетчик Поля типа Счетчик предназначены для хранения данных, значения которых не редактируются, а устанавливаются автоматически при добавлении каждой новой записи в таблицу. Их значения являются уникальными: либо последовательно возрастающими на 1 при добавлении каждой новой записи, либо могут быть любыми случайными числами. Для создания возрастающего счетчика следует задать в свойстве Размер поля значение Длинное целое, а в свойстве Новое значение - Последовательные. Для создания счетчика случайных чисел для свойства Новые значения нужно установить значение Случайные, размер поля 4 байт, а для Кодов репликации 16 байт. Код репликации используется при репликации базы данных для создания уникальных идентификаторов, обеспечивающих синхронизацию реплик. При репликации базы данных необходимо определить подходящий размер для поля типа Счетчик, используемого в качестве ключевого поля таблицы. В этом случае можно установить два значения для свойства Размер поля: Длинное целое или Код репликации. Если между операциями синхронизации реплик добавляется менее 100 записей, то для экономии дискового пространства для свойства Размер поля используется значение Длинное целое. Если между операциями синхронизации добавляется более 100 записей, то для предотвращения повторения значений в ключевых полях в разных репликах используется значение Код репликации. 4.5.3. Числовые поля В поле этого типа хранятся числовые данные, используемые в математических расчетах. Числовой тип обладает следующими свойствами: 1. При вводе данных числового типа автоматически производится проверка данных. Если данные содержат текстовые или специальные символы, MS Access выдаст предупреждение и не введет ошибочные данные.
21
2. Только над числовыми полями возможно выполнение математических операций, за исключением вычислений над денежными данными, для которых используется денежный тип. Числовой тип имеет ряд подтипов, которые устанавливаются значением свойства Размер поля (табл. 10). От выбора подтипа зависит точность вычислений. Таблица 10. Значения свойства Размер поля Значение Байт
Описание Дробная часть Числа от 0 до 255 (без дробной Отсутствует части) Целое Числа от -32768 до 32767 (без Отсутствует дробной части) Длинное (Значение по умолчанию) Числа от Отсутствует целое -2147483648 до 2147483647 (без дробной части) С плаваю- Числа от –3.402823E38 до 7 щей точкой 3.402823E38 (4 байт) С плаваю15 щей точкой Числа от -1.79769313486232E38 (8 байт) до 1.79769313486232E38 Код Уникальный глобальный иденти- Не определено репликации фикатор (GUID) при репликации объектов данных
Размер 1 байт 2 байта 4 байта 4 байта 8 байт
16 байт
Прежде чем установить размер поля, подумаем, какие значения будем хранить в нем. Выбрав оптимальное значение, можно сэкономить место для хранения данных. Обычно по умолчанию используется подтип Длинное целое. Для указания количества десятичных знаков используется свойство поля Число десятичных знаков. Оно может принимать значение от 0 до 15. Атрибут Авто данного свойства служит для автоматической установки количества знаков после запятой. 4.5.4. Поля денежного типа Денежный тип используется для предотвращения округлений во время вычислений. Предполагает до 15 знаков в целой и до 4 знаков в дробной частях. При этом размер поля составляет 8 байт. 4.5.5. Поля Дата/время Тип для представления даты и времени. Позволяет вводить даты с 100 по 9999 год. Все изменения, внесенные в форматы дат и времени в окне Язык и стандарты Панели управления Windows, будут автоматически отражены в полях типа Дата/Время. Размер поля 8 байт. Даты и время хранятся в
22
специальном фиксированном числовом формате. Дата является его целой частью, а время – дробной. 4.5.6. Гиперссылка В поле этого типа хранятся строки, состоящие из букв и цифр, представляющие адрес гиперссылки. Адрес гиперссылки (табл.11) может состоять максимум из трех частей. Каждая из них может содержать до 2048 символов. Каждая часть гиперссылки отделяется символом #. Таблица 11. Части адреса Гиперссылки Часть поля Описание гиперссылки Текст Текст, выводимый в поле или в элементе управления Адрес Путь к файлу (в формате UNC) или странице (URL) Дополнительный Подадрес внутри файла или страницы (положение адрес внутри файла или страницы). Примером подадреса внутри файла может служить имя формы, отчета Гиперссылка позволяет вставить в поле гиперссылку, с помощью которой можно ссылаться на произвольный фрагмент данных внутри файла или страницы на том же компьютере, в локальной сети или в Internet. Для вставки адреса гиперссылки в поле или в элемент управления выберите команду Вставка, Гиперссылка. 4.5.7. Поле Memo Используется для хранения длинного текста или большого количества цифр, например комментариев или описаний, длина которых превышает 255 символов. Этот тип данных отличается от Текстового тем, что в таблице хранятся не сами данные, а ссылки на блоки данных, которые хранятся отдельно. За счет этого ускорена обработка таблиц (сортировка, поиск и т.д.). Поля типа Memo не могут быть индексированы или отсортированы. Для хранения форматированного текста или очень больших документов вместо этого поля следует создать поле объекта OLE. Размер поля Memo до 65535 символов. 4.5.8. Логический тип Это поле может содержать только два значения, интерпретируемых как Да/Нет, Истина/Ложь, Вкл/Выкл. Размер поля 1 бит. Access использует -1 для представления значения Да и 0 для Нет. Поля этого типа не могут быть ключевыми, но их можно индексировать. 4.5.9. Поле объекта OLE Тип Поле объекта OLE содержит ссылку на OLE-объект (лист MS Excel, документ Word, звук, изображение и т.п.). Тип объекта OLE не указывается в свойствах поля объекта OLE. Он зависит от приложения, использованного для создания объектов OLE, которые хранятся в этом
23
поле. Упаковщик объектов позволяет внедрить файлы, созданные приложениями, которые не являются серверами объектов OLE. Например, он позволяет внедрить текстовые файлы в качестве объектов в таблицы Access 2000. В Поле объекта OLE могут храниться произвольные данные, в том числе данные нескольких типов. Это позволяет обойти основное ограничение реляционных баз данных, требующее хранения в каждом поле данных только одного типа. Тем не менее в каждом поле объекта OLE рекомендуется хранить объекты только одного типа. Объекты, например документы Word, Excel, рисунки, звуки и другие данные, созданные в программах, использующих технологии OLE, могут сохраняться в этом поле. Они могут быть связанными или внедренными в таблицу MS Access. Для отображения объекта OLE в форме или отчете необходимо использовать элемент управления Присоединенная рамка объекта. Размер поля до 1 гигабайта. Для ввода данных в поле типа OLE надо: щелкнуть на поле в Режиме таблицы правой кнопкой мыши; в контекстном меню выбрать команду Добавить объект; в появившемся диалоговом окне Вставка объекта: с помощью двух переключателей выбрать Создавать новый объект или Создать из файла; из списка Тип объекта надо выбрать тип объекта, добавляемого в поле типа OLE или имя файла в разделе Файл для добавления объекта из файла. 4.5.10. Создание поля OLE в таблице и форме Создать в конструкторе поле типа OLE, например поле Фото. • Закрыть конструктор. • Открыть таблицу в режиме таблицы. Установить курсор в поле типа OLE. • Щелкнуть правой кнопкой мыши и выбрать пункт Добавить объект. • Выбрать из диалога Вставка объекта, например файл снимка или фотография MS Photo Editor. В последнем случае появляется диалоговое окно Создание рисунка, в котором можно создать рисунок со сканера, с буфера обмена, новый рисунок или выбрать имеющиеся. Можно использовать команду Вставка, Объект. • Закрыть таблицу. • Создать с помощью конструктора свободную форму. • В контекстном меню выбрать команду Свойства, откроется окно Свойства. • На вкладке Данные установить свойству Источник записей имя таблицы, которая с ней будет связана. • Разместить на бланке нужные поля. Для поля типа OLE с панели элементов использовать сначала элемент управления Присоединенная рамка объекта. • Для Присоединений рамки объекта открыть окно Свойства и на вкладке Данные свойству Данные назначить значение ФОТО. На вкладке Макет выполнить требуемые настройки.
24
• Удалить заголовок элемента Присоединенная рамка объекта. 4.5.11. Тип данных Мастер подстановок В этом поле с помощью Мастера подстановок создается поле со списком, содержащее набор или постоянных значений, значений из другой таблицы или запроса. Размер данного поля совпадает с размером ключевого поля, используемого в качестве подстановки (обычно 4 байта). 4.5.12. Создание в таблице поля со списком подстановок или списком значений Сделать более простым ввод значений в поле позволяет операция подстановки. Она позволяет организовать ввод значений в поле путем выбора одного из значений в специально созданном поле со списком. Создать такое поле можно, если назначить полю тип данных Мастер подстановок, который автоматически запускает специальный мастер, он также называется Мастер подстановок. Источником данных для раскрывающегося списка Мастер подстановок позволяет назначить: список, состоящий из данных другой существующей таблицы или запроса; список из фиксированных постоянных значений. Наиболее распространенным видом списка является список значений из ссылочной таблицы. Например, пусть имеются таблицы Заказы, Товары, Клиенты и Поставщики и при выборе в таблице Заказы поля Код клиента для ввода в него значений необходимо вывести список наименований клиентов, а не их коды, и вводить после выбора из списка нужного клиента в таблицу Заказы его Код. Если между таблицами Клиенты и Заказы установлена связь, то мастер выведет сообщение об этом. В нем объясняется, почему нельзя изменить тип данных этого поля, и предлагается решить эту проблему. Нажмем на кнопку OК, чтобы вернуться в окно конструктора. Выполним команду Сервис, Схема данных и удалим связь между таблицами Клиенты и Заказы. После закрытия окна Схема данных вновь запустим Мастер подстановок. Чтобы использовать Мастер подстановок необходимо: 1. Открыть таблицу Заказы в режиме Конструктор. 2. Выделить поле Код клиента и выбрать из списка в столбце Тип данных значение Мастер подстановок (рис. 9).
Рис. 9. Первое диалоговое окно Мастера подстановок
25
3. В открывшемся диалоговом окне Мастер подстановок (рис.9) выбрать способ задания значений: Объект "Столбец подстановки" будет использовать значения из таблицы или запроса, т.к. в данном случае мы должны использовать данные из таблицы Клиенты. Нажать кнопку Далее. 4. Во втором диалоговом окне можно выбрать из списка таблицу или запрос, из которого будет осуществляться подстановка. Выбрать таблицу Клиенты и нажать кнопку Далее. 5. В третьем диалоговом окне в списке Доступные поля выводятся все поля таблицы Клиенты. Переместим из списка Доступные поля в список Выбранные поля Код клиента и Фамилия и нажмем кнопку Далее (рис. 10).
Рис. 10. Третье диалоговое окно Мастера подстановок
6. В четвертом диалоговом окне с помощью перетаскивания границы выбрать ширину столбца, оставив установленный по умолчанию флажок Скрыть ключевое поле, чтобы не выводить в раскрывающемся списке коды клиентов. Нажать кнопку Далее (рис. 11).
Рис. 11. Четвертое диалоговое окно Мастера подстановок
26
7. В последнем диалоговом окне ввести название столбца подстановок и нажать на кнопку Готово. Столбец подстановок создан. Такой же список создается для поля Код товара таблицы Заказы с использованием данных из таблицы Товары. Создать поле со списком подстановок и списком значений можно как в режиме конструктора, так и в режиме таблицы. 4.5.13. Создание списка значений в режиме Конструктор Чтобы создать список значений в режиме Конструктор надо: 1. Открыть таблицу в режиме Конструктор. 2. Для вставки поля выбрать строку, над которой его необходимо поместить, и на панели инструментов нажать кнопку Добавить строки. Для добавления поля в конец таблицы, выбрать первую пустую строку. 3. В столбце Имя поля ввести имя поля, следуя соглашениям об именах объектов MS Access. 4. В столбце Тип данных нажать стрелку и выбрать Мастер подстановок. 5. В диалоговом окне Мастера подстановок выбрать параметр, указывающий требуемый тип значений, в данном случае: Будет введен фиксированный набор значений. Нажать кнопку Далее. 6. На втором шаге определить количество столбцов и ввести значения для списка. Нажать кнопку Далее. 7. На последнем шаге ввести заголовок списка и нажать кнопку Готово. Поле со списком создано. 4.5.14. Создание списка значений в Режиме таблицы 1. Открыть таблицу в Режиме таблицы. 2. Выбрать ячейку в столбце, слева от которого требуется вставить поле, и выбрать команду Вставка, Столбец подстановок. 3. В первом диалоговом окне Мастера подстановок выбрать один из параметров: • объект «столбец подстановки» будет использовать значения из таблицы или запроса; • будет введен фиксированный набор значений. Далее действия полностью совпадают с описанными выше. После нажатия кнопки Готово будет вставлено новое поле с указанным именем. Применять операцию подстановки можно только к полям, содержащим текстовые и числовые данные, а также к логическим полям. На нижней панели окна Конструктора таблиц находится вкладка Подстановка. Она предоставляет альтернативный способ создания полей подстановок. По умолчанию для текстовых и числовых полей значение свойства Тип элемента управления задается как Поле, при этом остальные свойства
27
на вкладке Подстановка отсутствуют. Для полей логического типа значение этого свойства по умолчанию определяется как Флажок, но можно установить и значение Поле. Для всех трех типов полей можно установить значение Поле со списком для свойства Тип элемента управления. В этом случае на вкладке Подстановка появляется ряд свойств, позволяющих управлять параметрами подстановки (рис.12).
Рис. 12. Столбец подстановок в таблице Заказы
Легко заметить, что значения этих свойств можно настраивать с помощью Мастера подстановок, его использование делает эту процедуру более естественной и удобной. Перечень свойств на вкладке Подстановка приведен в табл.12. Для текстовых и числовых полей свойству Тип элемента управления можно задавать значение Список. В этом случае на вкладке Подстановка появляются только те свойства, которые отмечены звездочкой (*) в табл. 12. Таблица 12. Свойства на вкладке Подстановка для Поля со списком Наименование Описание свойства Тип источни- Свойство определяет тип источника строк для списка или поля со списком. Может принимать три значения: ка строк * Таблица или запрос, Список значений и Список полей Свойство определяет источник данных элемента Источник управления. В случае выбора типа Список значений, строк * представляет собой список элементов, разделяемых точкой с запятой (;), в противном случае представляет собой имя таблицы или запроса, или инструкции SQL
28
Продолжение таблицы 12 Наименование Описание свойства Свойство определяет номер столбца списка или поля со Присоединенный столбец * списком, содержащего значение элемента управления. Если это свойство имеет значение 0, то в поле передается номер строки списка, если 1 и больше, то в поле передаются данные из соответствующего столбца списка. Значение этого свойства не может превышать значение свойств Число столбцов Свойство определяет ширину столбцов списка или поля со Ширина списком. При использовании нескольких столбцов столбцов* значения разделяются точкой с запятой (;). Задав полю нулевое значение, можно скрыть столбец Ограничиться Определяет, можно ли вводить в поле значения, не являющиеся элементами списка списком Число строк Свойство определяет максимальное число строк для поля со списком. Если количество элементов списка списка превысит указанное число строк, в списке появится линейка прокрутки Свойство определяет ширину раскрывающегося списка для Ширина поля со списком списка Свойство определяет число выводимых столбцов списка или Число столбполя со списком. Если в качестве источника строк цов * используется таблица или запрос, то в списке будут выводиться столбцы таблицы, начиная с первого и заканчивая тем, который указан в значении данного свойства. Если в качестве источника строк используется список значений, то в списке будет выводиться указанное число столбцов, и данные в них будут располагаться построчно в последовательности, указанной в свойстве Источник строк Свойство определяет, используются ли первые элементы Заглавия списка или поля со списком как заголовки столбцов столбцов* 4.6. Ввод описания поля Описание поля – необязательный параметр, который используется для напоминания о назначении поля. Информация в этот столбец вводится только для тех полей, назначение которых может быть неверно истолковано (например, в случае использования аббревиатур). При работе с таблицей в режиме таблицы, когда соответствующее поле становится активным, текст описания отображается в строке состояния. В этом столбце можно поместить информацию о том, какие значения допустимы для этого поля.
29
4.7. Первичный ключ Первичный ключ содержит информацию, которая однозначно идентифицирует запись. Иногда его называют ключевое поле. Ключ – это одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице. Если для таблицы определен первичный ключ, то MS Access предотвращает дублирование или ввод пустых значений в ключевое поле. Первичный ключ используется для установления связей между таблицами, а также для ускорения операций поиска и сортировки. В MS Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ. Для создания ключевого поля типа Cчетчик необходимо в режиме Конструктора таблиц: включить в таблицу поле типа Счетчик. Для этого в поле, где будут уникальные значения, например номер зачетной книжки, установить тип Счетчик; задать свойству Новое значение значение Последовательные, которое обеспечивает автоматическое увеличение значения в этом поле на 1 при добавлении новой записи; назначить это поле в качестве ключевого, нажав на кнопку Ключевое поле на панели инструментов Конструктор таблиц. Если же до сохранения созданной таблицы ключевые поля не были определены, то при сохранении будет выдано сообщение о создании ключевого поля. При нажатии кнопки Да будет создано ключевое поле с именем Код и с типом данных Счетчик. В случае если таблица уже создана и содержит данные, то для создания простого ключа достаточно найти поле, которое содержит уникальные значения, например Табельный номер сотрудника. Это поле надо выделить и нажать кнопку Ключевое поле на панели инструментов Конструктор таблиц. Но если выбранное поле содержит повторяющиеся или пустые значения, то при попытке определить его как ключевое в области маркировки выбранного поля, где появляется пиктограмма с изображением ключа, будет выведено сообщение об ошибке, так как для ключевого поля устанавливаются ограничения Unique и Not Null. В этом случае для определения записей, содержащих повторяющиеся данные, можно выполнить запрос на поиск повторяющихся записей. Если устранить повторы путем изменения значений невозможно, то следует либо добавить в таблицу поле счетчика и сделать его ключевым, либо определить составной ключ. Он представляет собой комбинацию нескольких полей. Для определения составного ключа необходимо: открыть таблицу в режиме Конструктора; выделить поля, которые необходимо определить как ключевые. Выделить несколько полей можно, нажав и удерживая при выборе клавишу Ctrl; нажать кнопку Ключевое поле на панели инструментов Конструктор таблиц.
30
4.8. Индексы С целью ускорения поиска данных в любой СУБД используются индексы. Индекс является средством, которое обеспечивает быстрый доступ к данным в таблице на основе значений одного или нескольких столбцов. Кроме того, индекс позволяет определить способ представления данных: отсортированными по возрастанию или по убыванию. Индекс представляет собой упорядоченный список значений со ссылками на те записи, в которых хранятся эти значения. Чтобы найти нужные записи, СУБД сначала ищет требуемое значение в индексе, а затем по ссылкам быстро отбирает соответствующие записи. Индексы бывают двух типов: простые и составные. Простые индексы представляют собой индексы, созданные по одному столбцу. Индекс, построенный по нескольким столбцам, называется составным. Индексировать можно любые поля, кроме Memo-полей, полей типа Гиперссылка и Поле объекта OLE. Индекс – независимый объект, создание или удаление индекса никак не воздействует на определение или данные индексированной таблицы. Индексы должны постоянно поддерживаться, чтобы отражать последние изменения индексированных столбцов таблицы. Эти процедуры выполняются автоматически после вставки, редактирования или удаления значения в индексированном столбце и требуют затрат времени на обновление индекса. Поэтому индексы используются для относительно статичных таблиц и для тех столбцов, по которым наиболее часто выполняется поиск записей. В MS Access допускается создание произвольного количества индексов. Важной особенностью индексов является возможность использования их для создания первичных ключей. Первичный ключ содержит информацию, которая однозначно идентифицирует запись. При назначении свойству Индексированное поле (табл.13) полю таблицы значения Да (совпадения не допускаются) в это поле нельзя добавить значение дубль, что удовлетворяет требованиям, предъявляемым к первичным ключам. 4.8.1. Создание индекса для одного поля Для создания простого индекса необходимо выбрать: в окне конструктора таблицы в верхней половине окна поле, для которого создается индекс; в нижней половине окна для свойства Индексированное поле одно из следующих значений: Да (Допускаются совпадения); Да (Совпадения не допускаются). Значение Да (Совпадения не допускаются) обеспечивает уникальность каждого значения данного поля. Ключевое поле автоматически индексируется и свойству Индексированное поле присваивается значение Да (Совпадения не допускаются).
31
Таблица 13. Значения свойства Индексированное поле Значение Описание Нет Значение по умолчанию Индекс не создается Да (Допускаются совпадения) В индексе допускаются повторяющиеся значения. Да (Совпадения не Повторяющиеся значения в индексе не допускаются) допускаются 4.8.2. Создание составного индекса Составной индекс создается в специальном диалоговом окне. Чтобы создать составной индекс необходимо: открыть таблицу, для которой создается составной индекс, в режиме Конструктора. Для этого в окне базы данных установить указатель на имя данной таблицы и нажать кнопку Конструктор; нажать кнопку Индексы на панели инструментов. На экране откроется окно диалога Индексы (рис. 13); в открывшемся окне диалога ввести имя индекса в первом пустом поле столбца Индекс. В качестве имени индекса можно использовать имя одного из полей, включенных в индекс, или любое допустимое имя; в столбце Имя поля той же строки нажать кнопку раскрытия списка и выбрать первое поле индекса; в столбце Имя поля следующей строки выбрать имя следующего поля индекса. (В этой строке поле столбца Индекс следует оставить пустым). Определить таким же образом остальные поля индекса. Составной индекс может включать до 10 полей; закончив выбор полей для индекса, нажать кнопку закрытия окна, расположенную в строке заголовка окна диалога.
Рис. 13. Диалоговое окно Индексы составного индекса для таблицы Заказы
По умолчанию задается порядок сортировки По возрастанию. Для сортировки конкретного поля по убыванию выбрать в столбце Порядок сортировки строки с выбранным полем значение По убыванию. Чтобы просмотреть в таблице индексы необходимо: открыть таблицу в режиме Конструктор; нажать на кнопку Индексы на панели инструментов Конструктор таблиц;
32
в окне Индексы просмотреть необходимую информацию. Чтобы изменить существующие в таблице индексы необходимо: открыть окно Индексы так же, как для просмотра; выбрать строку с подлежащим модификации индексы; изменить название индекса в поле Индекс; изменить поле, соответствующее данному индексу, выбрать новое поле из списка в поле Имя поля; выбрать порядок сортировки в поле Порядок сортировки: По возрастанию или По убыванию; изменить свойства данного индекса в нижней части окна (рис. 14): • Ключевое поле определяет, является ли индексированное поле ключевым; • Уникальный индекс определяет, должно ли быть каждое значение в этом поле уникальным; • Пропуск пустых полей определяет, включаются или не включаются в индекс записи с пустым (Null) значением данного поля; для включения в индекс еще одного поля надо добавить строку, выделив строку, перед которой необходимо вставить новую, и нажав правую кнопку мыши, и из контекстного меню выбрать Добавить строки. Пункты 3-7 процедуры выполняются по необходимости.
Рис. 14. Диалоговое окно свойств индексов для таблицы Заказы
Для удаления индекса необходимо: открыть окно Индексы так же, как для просмотра; выбрать строку (строки) с подлежащим удалению индексом; щелкнуть правой кнопкой мыши по выделенной строке; из контекстного меню выбрать команду Удалить строки. 5. МОДИФИКАЦИЯ СТРУКТУРЫ ТАБЛИЦЫ При задании структуры таблицы возможны следующие ошибки: • изменение наименования поля и/или его типа; • вставка пропущенного поля;
33
• удаление ошибочно введенного поля; • изменение порядка следования полей в таблице. Для модификации структуры таблицы, входящей в базу данных, установить в окне Базы данных указатель на модифицируемую таблицу и нажать кнопку Конструктор. На экране откроется окно конструктора, содержащее структуру выбранной таблицы. 5.1. Изменение наименования поля и/или его типа Предположим, что при задании имени поля или его типа была допущена ошибка. Она была обнаружена только после окончания ввода поля. Установим указатель на наименование поля или тип, который требуется изменить. Для удаления неправильных символов и имени поля используется клавиша Backspace или Delete. После этого введем правильное имя поля. Изменение типа поля осуществляется аналогично его присвоению. 5.2. Изменение порядка следования полей Чтобы перенести одно из полей на несколько полей выше или ниже того места, где оно находится сейчас, выполняются следующие действия: слева от имен полей находится область выбора поля. В строке с описанием поля, которое хотим переместить, нажмем на эту область, при этом вся строка будет выделена; теперь нажать еще раз на область выбора поля и не отпускать кнопку мыши. Обратить внимание на маленький пунктирный прямоугольник, появившийся под курсором мыши; перенести всю строку так, чтобы она оказалась прямо над полем, перед которым надо ее расположить; отпустить кнопку мыши. Поле теперь будет находиться на новом месте; с помощью команды Правка, Отменить сдвиг можно вернуть перемещенное поле на прежнее место. Двигая поле вверх или вниз, надо следить за черной горизонтальной линией, которая двигается вместе с ним. Если отпустить кнопку мыши при перемещении поля, поле будет размещено над этой линией. 5.3. Удаление полей из таблицы В конструкторе таблиц нажать на область выбора поля, которое надо удалить, и нажать клавишу Delete. Когда требуется удалить несколько соседних полей одновременно, необходимо: нажать мышью на область выбора первого из удаляемых полей; не отпуская кнопку мыши, нажать и удерживать клавишу Shift; нажать мышью последнее поле из тех, которые надо удалить. После этого первая, последняя и все строки между ними будут выделены; отпустить клавишу Shift; нажать клавишу Delete для удаления всех выделенных полей. Аналогичным образом можно использовать клавишу Ctrl для выбора и удаления полей, которые расположены не подряд. Нажать мышью на область
34
выбора первого поля; нажать и не отпускать клавишу Ctrl; выбрать мышью все остальные поля, которые надо удалить. После этого отпустить клавишу Ctrl и нажать клавишу Delete. Такие же действия можно выполнять, когда требуется одновременно переместить несколько полей. Выбрать группу полей одним из описанных выше способов и перенести ее в нужное место. 5.4. Добавление нового поля Если забыли создать поле, следует выполнить команду Вставка, Строки. Новая строка будет вставлена над текущей строкой, то есть над строкой, которая выделена в настоящий момент (она отмечена стрелкой в области выбора поля). Ввести в новой строке имя поля и тип данных, как делали это уже неоднократно. Поле можно вставить, используя правую кнопку мыши. Нажать ее на строке, находящейся ниже того места, куда надо вставить новое поле. Выбрать пункт всплывающего меню Добавить строки для добавления нового поля. Этот способ выбора можно использовать и для удаления полей. 5.5. Изменение типа поля Изменять тип поля в готовой таблице следует осторожно, чтобы не повредить содержащуюся в таблице информацию. В Access предусмотрены четыре основных типа преобразования данных. 5.5.1. Преобразование данных к типу Текстовый Это самый простой способ преобразования. Числовые и денежные величины преобразуются в текст без специального форматирования (без знаков валют и разделителей), но дробные десятичные знаки сохраняются. Логические данные после преобразования выглядят такими, как они есть. То же самое касается данных типа Дата/время, когда используется полный формат даты: дд.мм.гг чч:мм:сс. Данные гиперссылки также преобразуются в текст. Отображаемый текст перестает быть подчеркнутым, служебные указатели на ресурсы Internet становятся видимыми. 5.5.2. Преобразование Текстового типа к типу Числовой, Денежный, Дата/Время, Логический, Гиперссылка Текстовые данные можно преобразовать в числа, если они содержат символы 0,1,2,…,9, точки и запятые, или в денежные величины (все перечисленные символы и денежная единица, например, символ $). Максимальная длина текстовой строки не должна превышать размер числового или денежного поля для преобразования. Текстовые данные с допустимым представлением даты и/или времени преобразуются в формат Дата/Время. Например, 12.10.2003 или 13-06-2004. Текстовые поля можно преобразовать в логический тип, если они содержат допустимое значение для логического типа: Да/Нет, Истина/Ложь, Вкл/Выкл. Числовые данные также можно преобразовать к логическому типу: система
35
преобразует Null как Null, 0 как Нет, а любое ненулевое значение как Да. Текстовое поле, содержащее правильно сформированный текст гиперссылки, будет преобразовываться в гиперссылку (отображаемый текст и адрес). 5.5.3. Преобразование Денежного типа к Числовому Денежные значения можно преобразовать в числовые, если для нового типа подходят размер и количество десятичных знаков. Любое значение может быть преобразовано в числовой формат Двойной с плавающей точкой – 8 байт и 15 десятичных позиций. 5.5.4. Преобразование Текстового типа в тип Memo Значение текстового типа всегда преобразуется в тип Memo; обратное преобразование возможно, если длина каждого из значений в поле Memo не превышает 255 символов. Более длинные данные усекаются. 6. СВОЙСТВА ПОЛЕЙ После задания имени и выбора типа данных для поля на нижней панели окна отображается список свойств этого поля (рис. 15).
Рис. 15. Свойства полей таблицы
Для того чтобы просмотреть или изменить свойства конкретного поля таблицы, необходимо: выделить нужное поле таблицы в окне Конструктора; раскрыть вкладку Общие для просмотра общих свойств данного поля или вкладку Подстановка для просмотра параметров подстановки. Список свойств поля, отображаемый на вкладке Общие, зависит от
36
типа данных и отображается в разделе Свойства поля окна Конструктора. Рассмотрим основные свойства полей таблицы. 6.1. Свойство Размер поля Допустимые значения этого свойства для различных типов данных перечислены выше. Пользователь имеет возможность указать стандартные размеры текстовых и числовых полей в разделе Размеры полей по умолчанию на вкладке Таблицы/Запросы в диалоговом окне Параметры, которое вызывается командой Сервис, Параметры. Для числовых данных размер поля служит дополнительным определителем типа числа, от которого зависит объем выделяемой памяти. В Access 2002 для числовых данных определен подтип Действительное с диапазоном от -1023 до 1023 – 1. Подтип Код репликации может использоваться с типом данных Счетчик, применяющийся в реплицируемых базах данных, в которые регулярно добавляется много записей. Этот подтип можно использовать и для первичных ключей. Если не использовать для таких полей этот подтип, то при синхронизации двух полей таблиц, возможно, будет дублирование значений числовых полей. Этот подтип генерирует 128-битовые значения, что требует значительной дисковой памяти. Размер поля следует устанавливать как можно меньше, так как Access быстрее работает с полями меньшего размера. Чтобы задать свойства полей в режиме Конструктор, надо выделить поле, для которого необходимо задать свойства. Тогда в области панели Свойства поля отобразится вкладка Общие. На ней выведен список свойств данного поля. Затем щелкнуть на том свойстве, которое необходимо задать, ввести значение свойства (или выбрать его в раскрывающемся списке). 6.2. Подписи Подписи используют для отображения в формах или отчетах альтернативных имен для данного поля. Если это свойство не определено, то для полей в форме или отчете используются имена полей таблицы, которые должны быть как можно более короткими, так как их проще использовать в вычислениях, а в отчетах и формах лучше использовать развернутые имена. Длина текста в свойстве Подпись может достигать 2048 символов. 6.3. Использование форматов Настройка свойства Формат поля, заданная в режиме Конструктора таблицы, определяет способ отображения данных в Режиме таблицы. Эта же настройка применяется при создании связанных с этим полем новых Элементов управления в форме или отчете. Одни типы данных используют стандартные форматы, другие – только форматы, определенные пользователем, третьи – те и другие. Форматы влияют только на отображение данных, но ни на способ их ввода и хранения в таблице. В MS Access определены стандартные форматы для полей с типами данных Числовой, Дата/Время, Логический, Текстовый и Поле Memo. В качестве стандартных используются национальные форматы, выбираемые в
37
окне Язык и стандарты Панели управления Windows. Набор форматов определяется настройками для конкретной страны. Например, если на вкладке Язык и стандарты указать Английский (США), то число 1234,56 в денежном формате будет выглядеть как $1,234.56. Но если указать на этой вкладке Русский, то это число будет выглядеть 1 234,56р. Стандартные форматы можно выбирать из раскрывающегося списка в ячейке свойства Формат поля. При определении специальных форматов можно использовать символы (табл.14). Таблица 14. Символы специальных форматов для любых типов данных Символ Значение (Пробел) Выводит пробел как символьную константу Все символы внутри кавычек считаются символьными “АВС” константами ! Выравнивает символы по левому краю ‘ Символ Заполняет доступное пустое пространство следующим символом * Выводит следующий символ как символьную константу. Для этой / цели можно использовать кавычки Задает цвет, название которого указано в скобках: Черный, Синий, [Цвет] Зеленый, Бирюзовый, Красный, Лиловый, Желтый, Белый Для любых типов данных полей, отличных от объектов OLE, есть возможность создания собственных специальных форматов. Значение данного свойства можно задать в макросе или в программе Visual Basic. Не допускается смешивать в одном формате специальные символы, предназначенные для определения числовых форматов, даты/времени и текстовых форматов. Если для поля определено значение свойства Маска ввода, а в свойстве Формат поля задается другое формирование тех же данных, то приоритет имеют настройки, заданные в свойстве Формат поля, а значение Маска ввода игнорируется. 6.3.1. Свойство Формат поля для текстовых и Memo-полей Свойство Формат поля позволяет создавать определенные пользователем форматы для текстовых и Memo-полей (табл.16) с помощью специальных символов (табл.15). Таблица 15. Специальные символы для текстовых и Memo-полей Символ @ & < >
Описание Обязательный текстовый символ или пробел Необязательный текстовый символ Преобразует все символы в строчные Преобразует все символы в прописные
Пользовательские форматы для текстовых и Memo-полей могут включать один или два раздела, разделяемых точкой с запятой. Первый
38
представляет собой формат для полей с текстом, второй – для полей нулевой длины или со значениями Null. Для первого раздела можно использовать символы @, &, >, <, а для второго – любой, заключенный в двойные кавычки, текст, который надо отобразить вместо значения Null. Например, в свойстве Формат поля поля Фамилия введено: >@[Зеленый];"Не известна"[Красный] Тогда в Режиме таблицы введенные данные выводятся заглавными буквами зеленым цветом, а в случае отсутствия данных будет выведено Не известна красным цветом. Таблица 16. Примеры пользовательских форматов Текстовых полей Формат @@-@@-@@@ @@@@@@@ @ > <
Значение 465043799 465-04-3799 465043799 иванов Иванов ИВАНОВ иванов Иванов ИВАНОВ
Выводится как 465-04-3799 465-04-3799 465043799 ИВАНОВ ИВАНОВ ИВАНОВ иванов иванов Иванов
Первая строка содержит формат для ввода и вывода номеров телефонов. Его можно усовершенствовать, если предусмотреть место для кода города. Например, (@@@) @@@-@@@. Теперь, если ввести 095583687, то данные будут отображаться в виде (095) 583-687. Если требуется, чтобы в случае незаполненной ячейки поля Номер телефона выводилось бы сообщение Нет данных, выделенное красным цветом, а при наличии данных номер телефона выводился в описанном выше формате, тогда формат должен иметь вид (@@@) @@@-@@@;”Нет данных”[Красный] Первый раздел Второй раздел В первом разделе используются символы <, >, @, &, а во втором – текст, заключенный в двойные кавычки. 6.3.2. Свойство Формат поля для числовых и денежных полей В свойстве Формат поля можно использовать стандартные (табл. 17) и специальные форматы для числовых и денежных типов данных. Таблица 17. Значения свойства Формат поля для числовых полей Значение Основной
Описание Значение по умолчанию. Числа отображаются так, как они были введены Фиксированный Выводится, по крайней мере, один разряд. Свойство Число десятичных знаков по умолчанию получает значение 2 Экспоненциальный Числа выводятся в экспоненциальной (научной) нотации
39
Продолжение таблицы 17 Значение Основной
Описание Значение по умолчанию. Числа отображаются так, как они были введены Денежный Используются разделители групп разрядов, отрицательные числа выводятся в круглых скобках. Свойство Число десятичных знаков по умолчанию получает значение 2 С разделителями Числа выводятся с разделителями групп разрядов. разрядов Свойство Число десятичных знаков по умолчанию получает значение 2 Процентный Значения умножаются на 100, добавляется символ процента (%). Свойство Число десятичных знаков по умолчанию получает значение 2 Стандартные форматы создаются с помощью специальных символов (табл. 18). Таблица 18. Примеры стандартных форматов данных типа Числовой Введенное число 987654,321 Основной 987654,321 Денежный 987654,321 Фиксированный С разделителями разрядов 987654,321 0.987 Процентный 987654,321 Экспоненциальный 987654,321 Евро Тип формата
Отображаемое число 987654,321 987654,32р 987654,32 987 654,321 98,7% 9,88 Е+05 987 654,32
Формат ######,### ### ##0,00р ######,## ### ###,## ###,##% #,##E+00 ### ###,##E
Все приведенные выше форматы основываются на том, что свойство Число десятичных знаков имеет значение Авто. Пользовательские числовые форматы могут включать в себя от одного до четырех разделов, отделенных друг от друга точкой с запятой (;). Каждый формат содержит спецификацию (табл.19) для различных разделов (типов) числовых данных. Таблица 19. Разделы пользовательских числовых форматов Раздел Первый Второй Третий Четвертый
Описание Формат положительных чисел Формат отрицательных чисел Формат нулевых значений Формат пустых (Null) значений
Символы пользовательских числовых форматов приведены в табл. 20.
40
Таблица 20. Символы для специальных числовых форматов Значение Описание .(точка) Десятичный разделитель выбирается в окне Язык и стандарты Панели управления Windows , (запятая) Разделитель групп разрядов 0 Прототип разряда. Выводится цифра или 0 в любом случае # Прототип разряда. Выводится цифра либо ничего не выводится, если первый или последний символы Ø или символ числа отсутствует $ Выводится символ $ % Процентный формат. Значения умножаются на 100, добавляется символ процента (%) Е- или е- Экспоненциальная нотация (перед отрицательными показателями степени отображается знак минус, перед положительными – ничего). Этот символ используется только вместе с другими символами (например, 0.00Е-00) Е+ или е+ Экспоненциальная нотация (перед отрицательными показателями степени отображается знак минус, перед положительными – знак плюс). Этот символ используется только вместе с другими символами (например, 0.00Е+00) Например, возможно использование следующего специального денежного формата: # ##0,00 р.;-# ##0,00 р. [Красный] Этот формат определяется двумя компонентами, разделяемыми точкой с запятой, которые определяют вывод положительных и отрицательных значений. Отрицательные значения будут выведены красным цветом. Это очень удобно при просмотре денежных данных, например с целью анализа финансовых потерь. Использование разделов позволяет сделать вывод достаточно информативным за счет окрашивания различными цветами данных с различными свойствами. Если описано несколько разделов, но формат каждого из них не указан, форматирования не произойдет либо будет использовано форматирование первого из них. Например, можно создать пользовательский формат для поля типа Денежный: $# ##0,00[Зеленый];($# ##0,00)[Красный];”Ноль”;”Нет данных” Этот формат содержит четыре раздела. Все положительные значения будут выведены зеленым цветом, отрицательные – красным и в круглых скобках. Поле, содержащее ноль, отобразит слово Ноль, а в поле, в котором ничего не было, появится текст Нет данных. 6.3.3. Свойство Формат поля для Логических полей Данные с типом Логический Access отображает как True (Истина) –
41
число 1, False (Ложь) – число 0. Если бы не было встроенных форматов, то эти значения так и пришлось бы вводить, и они так же отображались бы на экране. В Access имеются три встроенных формата для полей логического типа: • Да/Нет. Установлено по умолчанию. Отображает -1 как Да и 0 как Нет; • Истина/Ложь. Отображает -1 как Истина и 0 как Ложь; • Вкл/Выкл. Отображает -1 как Вкл и 0 как Выкл. Пользовательский логический формат (табл. 21) может содержать от одного до трех разделов, отделенных точкой с запятой. Таблица 21. Разделы пользовательского логического формата Раздел Первый Второй Третий
Описание Первый раздел всегда начинается с точки с запятой Задает значение, соответствующее -1 Задает значение, соответствующее логическому значению 0.
Например, в таблице о домашних животных имеется логическое поле, в которое заносятся сведения об их способности к размножению: -1 означает, что животное кастрировано, 0 – способно к размножению. Эта информация в привычном для нас виде будет выводиться с помощью формата:
;”Стерилизовано”[Красный];”Способно к размножению”[Зеленый] При применении свойства формата логического поля на уровне таблицы возникают две проблемы: 1) если вы вводите пользовательский формат, подобный приведенному выше примеру, как значение свойства, то необходимо изменить тип элемента управления на вкладке Подстановка с заданного по умолчанию значения Флажок на Поле, чтобы можно было увидеть новый формат; 2) когда назначен новый формат и в качестве элемента управления для отображения значений логического поля используется Поле, пользователь может вводить только значения 1 или 0. Это происходит потому, что свойство Формат поля влияет только на отображение данных, содержащихся в поле таблицы, но не на их ввод. 6.3.4. Формат полей с типом данных Гиперссылка Этот формат состоит из трех частей: • Отображаемый текст – видимый текст, который отображается в поле или элементе управления; • Адрес – путь к файлу (URC) или странице (URL) в Internet; • Смещение – определяет место в файле или на странице. Эти части разделяются символом #, например, Microsoft Net Home Page#htpp:/www.msn.com. 6.3.5. Свойство Формат поля для Даты/времени Свойство Формат поля позволяет использовать встроенные (табл. 22) или пользовательские форматы для полей Дата/время.
42
Таблица 22. Значения свойства Формат поля полей типа Дата/время Значение Описание Полный Значение по умолчанию. Если значение содержит только формат даты дату, то время не отображается. Если значение содержит только время, то дата не отображается. Данный формат является комбинацией двух форматов: Краткий формат даты и Длинный формат времени. Пример: 01.02.2000 1:07:19 Длинный Совпадает с настройкой Полный формат, задающейся в окне формат Язык и стандарты Панели управления Windows. Пример: даты 1 Январь 2000 Средний Пример: 03-мар-00 формат даты Краткий Совпадает с настройкой Краткий формат даты, задающейся формат даты в окне Язык и стандарты Панели управления Windows. Пример: 12.06.99. Значения краткого формата даты предполагают, что даты из диапазона 01.01.00 и 31.12.29 относятся к двадцать первому веку (т.е. предполагаются годы с 2000 по 2029). Предполагается, что даты из промежутка 01.01.30 и 31.12.99 относятся к двадцатому веку Длинный Совпадает с форматом времени, задающемся в окне формат Язык и стандарты на вкладке Время Панели времени управления Windows. Пример:20:58:10 Средний Пример: 05:34 РМ формат времени Краткий фор-Пример: 17:34 мат времени Специальные форматы выводятся в соответствии со значениями, установленными в окне Язык и стандарты Панели управления Windows. Специальные форматы, противоречащие настройке окна Язык и стандарты Панели управления Windows, игнорируются. Ниже приведены примеры специальных форматов Даты/времени (табл. 23). Таблица 23. Примеры специальных форматов Даты/времени Формат Выводятся как ddd","mmm d","yyyy Пн, июн 2, 1999 mmmm dd","yyyy Июнь 02, 1999 "Неделя с номером "ww Неделя с номером 22 "Сегодня "dddd Сегодня среда Специальные форматы даты и времени определяются с помощью символов (табл.24).
43
Таблица 24. Символы для специальных форматов даты и времени Символ Описание (Двое- Разделитель компонентов времени. Символ разделителя выбираточие) ется в окне Язык и стандарты Панели управления Windows / Разделитель компонент даты c Задает встроенный Полный формат даты d Номер дня месяца, состоящий из 1 или 2 цифр (1 - 31) dd Номер дня месяца, состоящий из 2 цифр (01 - 31) ddd Сокращенное название дня недели (Пн-Вс) dddd Полное название дня недели (понедельник-воскресенье) ddddd Задает встроенный Краткий формат даты dddddd Задает встроенный Длинный формат даты w Номер дня недели (1-7) ww Номер недели в году (1 - 53) m Номер месяца, состоящий из 1 или 2 цифр (1- 12) mm Номер месяца, состоящий из 2 цифр (01- 12) mmm Номер дня недели (1-7) mmmm Номер недели в году (1 - 53) q Номер квартала в году (1-4) y Номер дня в году (1 - 366) yy Последние две цифры номера года (01 - 99) yyyy Полный номер года (100 – 9999) h Число часов, состоящее из 1 или 2 цифр (0 -23) hh Число часов, состоящее из 2 цифр (00 -23) m Число минут, состоящее из 1 или 2 цифр (0 -59) mjm Число минут, состоящее из 2 цифр (00 -59) s Число секунд, состоящее из 1 или 2 цифр (0 -59) ss Число секунд, состоящее из 2 цифр (0 -59) tttt Задает встроенный «Длинный формат времени» AM/PM 12-часовой формат времени с добавлением прописных букв AM или РМ Am/pm 12-часовой формат времени с добавлением строчных букв am или рm A/P 12-часовой формат времени с добавлением прописных букв А или Р a/p 12-часовой формат времени с добавлением строчных букв а или р AMPM 12-часовой формат времени; используется индикатор утро/день, выбранный в окне Язык и стандарты Панели управления Windows При добавлении в специальный формат запятой или другого символа разделителя этот символ следует вводить в кавычках, например формат mmmm dd”, yyyy отобразит дату август 04, 2004.
44
6.3.6. Определение Маски ввода Маска упрощает пользователю ввод данных в поле. Маска ввода задается с помощью символов (табл. 25). Таблица 25. Символы для создания масок ввода Символ Описание маски В данную позицию должна быть введена цифра. Знаки плюс «+»и 0 минус «-» не допускаются В данную позицию должна быть введена цифра или пробел. Знаки 9 «+» и «-» не допустимы В данную позицию должны быть введены цифра, пробел, знаки плюс # «+» и минус «-» В данную позицию должна быть введена буква L В данную позицию должна быть введена буква или пробел ? В данную позицию должна быть введена буква или цифра А В данную позицию должны быть введены цифра, буква или пробел А В данную позицию должны быть введены произвольный символ или & пробел В данную позицию может быть введен произвольный символ или С пробел. Если пользователь ничего не введет, то Access не занесет в эту позицию никаких данных Десятичный разделитель (зависит от региональных установок в окне . Панель управления Windows) Разделитель групп разрядов (зависит от региональных установок , в окне Панель управления Windows) Разделители в значениях даты и времени (зависит от :-/ региональных установок в окне Панель управления Windows) Преобразует все символы справа к нижнему регистру < Преобразует все символы справа к верхнему регистру > Указывает, что маску нужно заполнять справа налево. Этот символ ! следует использовать в том случае, когда символы в левой части маски являются необязательными. Его можно помещать в любой позиции маски Указывает, что следующий символ следует рассматривать в \ качестве постоянного символа, даже если он является специальным символом маски. Например: \А будет вводить в маске букву А "лите- Вместо того чтобы многократно использовать символ \, можно рал" просто заключить любой литерал в двойные кавычки Для того чтобы сформировать маску ввода, можно использовать Мастер масок ввода, но только для Текстовых полей и полей типа Даты/времени. Открыть таблицу в режиме Конструктор. Выделить нужное поле для ввода маски ввода. Для этого поля щелкнуть мышью на ячейке свойства Маска
45
ввода. Нажать небольшую кнопку с тремя точками, которая появится справа (эта кнопка называется кнопкой построителя). 1. В первом окне Мастера можно выбрать нужную маску из списка, которую он может создать (рис.16). Если щелкнуть мышью по полю Проба в нижней части окна и ввести пробные данные, то можно увидеть, как будут формироваться вводимые символы.
Рис. 16. Диалоговое окно Мастера масок ввода
2. Во втором диалоговом окне увидим название маски, предлагаемую для нее символьную строку, поле со списком Заполнитель, в котором можно выбрать символ-указатель заполняемых при вводе позиций, и поле проверки работы маски работы маски (рис.17). Здесь же в поле Маска ввода можно с помощью приведенных в таблице символов маски выполнить корректировку маски ввода.
Рис. 17. Второе диалоговое окно Мастера масок ввода
3. В последнем диалоговом окне выбрать способ сохранения данных: вместе со знаками маски или без знаков маски, и нажать кнопку Готово.
46
Если в первом диалоговом окне нажать кнопку Список, то появится диалоговое окно Настройка масок ввода (рис.18). В нем надо ввести имя Маски ввода. Затем в поле Маска ввода сформировать с помощью символов, приведенных в таблице, саму маску ввода и выбрать символзаполнитель при отображении маски.
Рис. 18. Маска ввода для поля Телефон
В поле Проба можно выполнить проверку работы созданной Маски ввода. После нажатия кнопки Закрыть созданная маска ввода появится под заданным именем в списке масок первого диалогового окна Мастера создания масок ввода. 6.3.7. Свойство Число десятичных знаков Оно появляется, если тип поля установлен как Числовой или Денежный. Количество десятичных знаков меняется от 0 до 15 в зависимости от значения свойства Размер поля. Если свойство Размер поля имеет значение Байт, Целое, Длинное целое, то десятичных знаков не будет. Для значения Одинарное с плавающей точкой их число меняется от 0 до 7. Для значения Двойное с плавающей точкой число десятичных знаков меняется от 0 до 15. Для типов данных Денежный или таких стандартных типов данных, как Фиксированный, Основной, Процентный или Экспоненциальный, Access установит по умолчанию свойству Число десятичных знаков значение, равное 2. Пользователь может менять это значение. Для большинства типов данных свойство Обязательное поле определяет, является ли ввод данных в это поле обязательным. Свойство Индексированное поле определяет, является ли данное поле индексированным, и если является, то в каком режиме. Существуют два режима индексирования: Совпадения допускаются и Совпадения не допускаются. Они определяют условия для данных, вводимых в это поле. По умолчанию это свойство имеет значение Нет. Для большинства полей определено свойство Значение по умолчанию. Этим свойством задается значение, которое Access автоматически отображает в данном поле при добавлении новой записи. Это только начальное значение и
47
его можно изменять при вводе данных. Значением по умолчанию может быть выражение, число или текст. Для данных типа Числовой или Денежный свойство Значение по умолчанию получает значение 9, которое пользователь затем может изменить. 6.3.8. Свойство Условие на значение Условие на значение определяет требования к данным, которые вводятся в поле. Оно может задаваться автоматически, например при проверке числового поля (не содержится ли в нем текст) или корректности ввода даты. Пользователь может с помощью этого свойства задавать свои условия корректности вводимых данных. Например, для типа Длинное целое можно ввести для этого свойства значение <120000, а в ячейку свойства Сообщение об ошибке – текст: Вводимое значение не может превышать 120 000. Для поля типа Дата/время можно потребовать принадлежность вводимых дат некоторому диапазону значений, например: Between #1.1.80# and #21.12.04# Between #1.1.80# and Date(). Здесь значения дат ограничены символом #. Функция Date() задает для верхней границы текущую дату. Оператор Between можно использовать и для числовых полей. Пусть имеется поле Пол, в котором должны содержаться символы М – мужской, Ж – женский и Н – неизвестен. Тогда свойству Условие на значение можно задать выражение InStr(“МЖН”;[Пол])>0, а свойству Сообщение об ошибке – текст: Вводимые символы М, Ж, Н. Функция InStr() позволяет проверить, совпадает ли введенное значение с тем, что указано в двойных кавычках. Свойство Пустые строки специфично для текстового типа и определяет, используется или нет кодировка UNICODE для данного поля. Свойства, специфичные для полей Числового типа: • Размер поля – по умолчанию используется значение Длинное целое и Двойное с плавающей точкой (8 байт). Из раскрывающего списка можно выбрать: Байт, Целое, Одинарное с плавающей точкой (4 байта), Код репликации, Десятичное. • Число десятичных знаков – определяет число десятичных знаков справа от десятичного разделителя. Выбирается из раскрывающегося списка. Чтобы число знаков определилось автоматически, необходимо выбрать значение Авто. Последнее свойство используется и для полей Денежного типа. Дополнительные свойства поля типа Счетчик: • Размер поля – допустимы два значения: Длинное целое и Код репликации; • Новые значения – задает способ формирования следующего значения Счетчика. Допустимы два варианта: Последовательные и Случайное.
48
Рекомендуется для каждого поля создаваемой таблицы предварительно определить все основные свойства, и результаты свести в таблицу. 7. ПЕЧАТЬ СТРУКТУРЫ ТАБЛИЦЫ Для этого используется команда Сервис, Анализ, Архивариус, которое открывает окно, позволяющее выбирать объекты для анализа путем установки флажка слева от имени объекта (рис. 19)
Рис. 19. Окно Архивариус
После щелчка по кнопке Параметры появится диалоговое окно, которое позволяет выбрать, какую информацию из описания таблицы следует напечатать. Можно вывести на печать имена полей, все их свойства, индексы, права доступа пользователей и сетевого окружения. После выбора нужных параметров и щелчка по кнопке OК Access создает отчет, который можно просмотреть в режиме Предварительный просмотр. С помощью Архивариуса можно документировать такие объекты базы данных, как формы, запросы, отчеты, макросы и модули. 8. ОСНОВНЫЕ ОПЕРАЦИИ С ТАБЛИЦАМИ В ОКНЕ БАЗЫ ДАННЫХ Основные операции с таблицами в окне базы данных: • переименование; • удаление; • копирование; • экспорт таблиц в другую базу данных. Для переименования таблицы в окне базы данных надо: выделить таблицу в окне базы данных; щелкнуть на имени выделенной таблицы; ввести новое имя и нажать клавишу F1. То же самое можно сделать с помощью команды Правка, Переименовать или выбрать из контекстного меню команду Переименовать. Новое имя появится в списке таблиц окна базы данных. После переименования таблицы надо изменить ее имя во всех объектах, в которых она используется.
49
Для удаления таблицы надо выделить ее имя и нажать клавишу Delete, или выполнить команду Правка, Удалить, или выполнить команду Удалить из контекстного меню. Копирование таблиц в базе данных выполняется с помощью команд Копировать, Вставить. При вставке скопированной таблицы появится диалоговое окно Вставка таблицы, в котором можно выбрать одну из опций: • только структура; • структура и данные; • добавление данных в таблицу. Первая опция позволяет создать новую пустую таблицу с теми же именами полей и свойствами, какие были в исходной таблице. Эта опция обычно используется для создания временных таблиц той же структуры для хранения старых записей. Вторая опция позволяет создать точную копию структуры таблицы со всеми ее данными. Третья опция позволяет добавлять данные в существующую таблицу. После выбора нужной опции надо ввести имя новой таблицы и нажать кнопку OК. При экспорте таблицы в другую базу данных связи между таблицами не копируются. Access копирует только структуру и данные. Для экспорта таблицы надо: выбрать имя таблицы в окне базы данных; выполнить команду Правка, Копировать; открыть другую базу данных; выполнить команду Правка, Вставить; ввести имя новой таблицы; выбрать одну из опций групп Параметры вставки в окне Вставка таблицы и нажать кнопку OК. 9. ОПРЕДЕЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ В Access встроено мощное средство установки связей между таблицами. Оно позволяет добавлять в схему новые таблицы, устанавливать, изменять и удалять связи, а также переходить в режим Конструктора для корректировки свойств таблиц. 9.1. Окно диалога Схема данных Создание связей между таблицами в MS Access осуществляется в окне диалога Схема данных. Перед созданием связей между таблицами необходимо предварительно закрыть все открытые таблицы. Не допускается создание или удаление связей между открытыми таблицами. Для определения связей между таблицами необходимо выполнить следующие действия: 1. Выполнить команду Сервис, Схема данных или нажать кнопку Схема данных на панели инструментов. Откроется окно диалога Схема данных. 2. Если база данных не содержит предварительно определённых связей, то
50
дополнительно к окну Схема данных откроется диалоговое окно Добавление таблицы. Добавить в окно диалога Схема данных последовательно связываемые таблицы. Если же окно Добавление таблицы неактивизировано, выполнить команду Связи, Добавить таблицу или нажать кнопку Добавить таблицу на панели инструментов. На экране откроется окно диалога Добавление таблицы (рис.20).
Рис. 20. Окно диалога Добавление таблицы
3. В списке таблиц выделить первую добавляемую таблицу (например, Клиент) и нажать кнопку Добавить. Затем выделить вторую добавляемую таблицу (например, Заказы) и нажать кнопку Добавить и т. д. Далее нажать кнопку Закрыть для закрытия диалога Добавление таблицы. В окне диалога Схема данных появятся связываемые таблицы (рис.21).
Рис. 21. Диалоговое окно Схема данных
4. Для связывания таблиц выбрать поле связи в первой связываемой таблице, и переместить его с помощью мыши на соответствующее поле второй таблицы. Для связывания сразу нескольких таблиц надо выбрать эти поля при нажатой клавише Ctrl и переместить во вторую таблицу группу выделенных полей. В большинстве случаев ключевое поле (представленное в списке полей полужирным шрифтом) одной таблицы связывают с соответствующим ему полем внешнего ключа (часто имеющим то же имя) во второй таблице. Связанные поля необязательно должны иметь одинаковые имена, однако, они должны иметь одинаковые типы данных (из этого правила существуют два исключения). Кроме того, связываемые поля типа Числовой должны иметь
51
одинаковые значения свойства Размер поля. Исключениями из этого правила являются поля Счётчика с последовательной нумерацией, которые могут связываться с числовыми полями размера Длинное целое, а также поля счётчика с размером Код репликации, связываемые с полями типа Числовой, для которых также задан размер Код репликации. На экране откроется окно диалога Изменение связей (рис. 22).
Рис. 22. Диалоговое окно Изменение связей
В данном окне диалога проверить правильность имен связываемых полей, находящихся в столбцах. При необходимости можно выбрать другие имена полей. В диалоговом окне установить флажок Обеспечение целостности данных, затем нажать кнопку Создать. Мы вернулись в окно диалога Схема данных, которое принимает вид, аналогичный рис. 21. Связи между таблицами будут установлены, и Access нарисует линию, соединяющую две таблицы, и покажет тип связи между ними (рис.23). Для вызова окна Изменения связей нужно дважды щёлкнуть на линии связи между двумя таблицами.
Рис.23. Окно диалога Схема данных с установленными связями между таблицами
Тип отношения в окне Схемы данных не будет показан без
52
установления флажка обеспечения целостности данных. В окне Изменения связей содержится информация о том, какая из связанных таблиц является главной, а также опции поддержания целостности данных. Кроме того, в нижней части окна приводится информация о типе связи между таблицами. В верхней части диалогового окна Изменения связей находятся имена таблиц, а также поля связи этих таблиц. Если порядок связи установлен неверно, то нужно щёлкнуть по кнопке Отмена для возврата в окно Схема данных. Если поле одной из таблиц определено неверно, нужно выбрать необходимое поле из раскрывающегося списка под именем таблицы. 9.2. Поддержка целостности данных Целостность данных – это система правил, используемых для поддержки связей между записями в связанных таблицах, а также по защите записи от случайного удаления или изменения связанных данных. Установить проверку целостности данных можно, если выполнимы условия: связанное поле главной таблицы является ключевым полем или имеет уникальный индекс; связанные поля имеют один тип данных. Здесь существуют два исключения: Поле Счётчика может быть связано с числовым полем, если в последнем в свойстве Размер поля указано значение Длинное целое или в обоих полях свойство Размер поля указано значение Код репликации; обе таблицы принадлежат к одной базе данных MS Access. После установки целостности данных надо придерживаться следующих правил: невозможно ввести в связанное поле подчинённой таблицы значение, отсутствующее в связанном поле главной таблицы. Однако можно ввести пустое значение, показывающее, что для данной записи связи отсутствуют; не допускается удаление записей из главной таблицы, если существуют связанные с ней записи в подчинённой таблице; невозможно изменение значения ключевого поля в главной таблице, если существуют записи, связанные с данной. Чтобы эти правила применить к конкретной связи, при её создании следует установить флажок Обеспечение целостности данных. После этого любая попытка выполнить действия, нарушающие одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а сами действия выполняться не будут. Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохранив при этом целостность данных, следует установить флажки: • каскадное обновление связанных полей; • каскадное удаление связанных записей.
53
Если установили первый флажок, то при изменении ключевого поля главной таблицы автоматически изменяется и соответствующее значение в связанных записях. При установленном втором флажке при удалении записи в главной таблице удаляются и все связанные записи в подчинённой таблице. В окне диалога Схема данных можно не только создавать связи между таблицами, но и выполнять следующие действия: • изменить структуру таблицы; • изменить существующую связь; • удалить связь; • удалить таблицу из окна диалога Схема данных; • вывести на экран все существующие связи или связи только для конкретной таблицы; • определить связи для запросов, не задавая условия целостности данных. 9.3. Использование каскадных операций Следует еще раз обратиться к окну диалога Изменение связи. При установке опции Обеспечение целостности данных стали доступны опции каскада обновления связанных полей и каскада удаления связанных записей. При выборе этих опций MS Access выполняет изменения в связанных таблицах таким образом, чтобы сохранить целостность данных, даже если изменяется значение ключевых полей или удаляется запись в главной таблице. 9.3.1. Каскадные изменения Иногда может возникнуть необходимость изменения в ключевом поле записи, связанной по типу один-ко-многим. Если не установлена опция Каскадное обновление связанных полей, то MS Access не позволит этого сделать. Вместо изменения MS Access выдаст предупреждение о нарушении целостности данных при попытке осуществить это изменение. Что является нарушением? Это поле – первичный ключ связи один-комногим, и изменяемое значение имеется, по крайней мере, в одной записи в поле связанной с ним таблицы. Если же установлено Каскадное обновление связанных полей, проблем не возникнет. Если пользователь изменяет значение ключевого поля в главной таблице, то MS Access проверяет корректность значения в этом поле (в первичной таблице не должно быть ключей дубликатов) и изменяет соответствующие поля во всех связанных таблицах. Если опция не включена, изменять значение ключевого поля главной таблицы не удаётся. Если ключевое поле главной таблицы является полем связи между таблицами, то для обеспечения правильности работы опция Каскадное обновление связанных полей должна быть установлена для всех подчинённых таблиц.
54
9.3.2.Каскадные удаления При попытке удалить запись в ключевом поле записи, связанной по типу один-ко-многим при снятом флажке Каскадное удаление связанных записей, MS Access выдаст сообщение об ошибке. Однако при установленной опции Каскадное удаление связанных записей можно удалить запись из главной таблицы. Связанные с ней записи в подчиненных таблицах будут автоматически удалены, соблюдая, таким образом, правила целостности данных. Другими словами, если выбрана опция Каскадное удаление связанных записей, то все связанные поля из подчиненной таблицы удаляются, как только удаляется запись из главной таблицы. При каскадном удалении не выводится предупреждающая запись. Если эта опция не включена, то сначала нужно удалить все связанные записи в подчиненных таблицах, а затем соответствующие им записи в главной таблице. 9.4. Связывание двух полей одной таблицы На практике может возникнуть необходимость в определении поля с подстановкой значений из той же таблицы. В таблице Сотрудники поле Подчиняется является подстановочным полем, в котором выводятся значения из полей Имя и Фамилия той же таблицы, определяемые соответствующим кодом сотрудника из поля Сотрудник. Для связывания поля таблицы с другим полем той же таблицы надо дважды добавить эту таблицу в окно диалога Схема данных и создать требуемую связь, соединив поля линией связи. 9.5. Создание связи между таблицами отношения многие-ко-многим Как отмечалось, в MS Access отношение многие-ко-многим представляет две связи с отношением один-ко-многим через третью таблицу, ключ которой состоит, по крайней мере, из двух полей, являющихся полями внешнего ключа в двух других таблицах. Примером такой связи является отношение, установленное между таблицами Поставки товаров и Заказы потребителей. Каждый из товаров может производиться несколькими предприятиями, при этом каждый из заказов может включать несколько наименований товаров. Связующей таблицей для таблиц Поставки товаров и Заказы потребителей является таблица Товары. Установка связи типа многие-ко-многим предполагает: создание таблиц, между которыми требуется определить связь с отношением многие-ко-многим; создание третьей (связывающей) таблицы с как минимум двумя полями, описание которых совпадает с описанием ключевых полей в каждой из двух связанных таблиц. В ней эти поля выполняют роль
55
внешних ключей. Другие поля в связывающую таблицу можно добавлять без ограничений; определение в связывающей таблице ключа, содержащего все ключевые поля двух связываемых таблиц; определение связи типа один-ко-многим между каждой из двух основных таблиц и связывающей таблицей. 9.6. Изменение структуры таблицы в окне диалога Схемы данных При создании связи в окне диалога Схемы данных может возникнуть необходимость в изменении структуры таблицы. При этом можно не покидать окна диалога, а внести нужные изменения в структуру таблиц непосредственно в окне диалога: находясь в окне диалога Схема данных, установить указатель мыши на модифицируемую таблицу; нажать правую кнопку мыши и выбрать из контекстного меню команду Конструктор таблиц; внести в структуру таблицы необходимые изменения; закончив внесение изменений, нажать кнопку закрытия окна в строке заголовка окна диалога. В ответ на запрос о сохранении изменений выбрать Да для сохранения изменений и возвращения в окно диалога Схема данных. 9.7. Изменение существующей связи Прежде чем приступить к изменению связи между таблицами, закрыть все открытые таблицы. Access не допускает изменения связи между открытыми таблицами. Затем выполнить следующую последовательность действий: находясь в окне базы данных, нажать кнопку Схема данных на панели инструментов или выполнить команду Сервис, Схема данных; если таблицы, связи между которыми требуется изменить, не отображаются в окне диалога Схема данных, нажать кнопку Добавить таблицу на панели инструментов, установить указатель на имя нужной таблицы и дважды нажать кнопку мыши. После этого нажать кнопку Закрыть; установить указатель на линию связи, которую требуется заменить, и дважды нажать кнопку мыши; в открывшемся окне диалога Изменение связей внести нужные изменения и нажать кнопку ОК. По умолчанию Access отображает все связи всех таблиц баз данных. Но, например, при создании запроса может оказаться необходимым просмотр всех связей одной или нескольких таблиц, т.е. если вся схема данных достаточно сложна, то связи таблиц трудно отследить. Для просмотра связей одной таблицы необходимо:
56
нажать на кнопку Очистить макет на панели инструментов Схема данных или выбрать команду Правка, Очистить макет для удаления изображения всех таблиц из окна Схема данных; в диалоговом окне предупреждения найдите кнопку Да. Но отметим, что при очистке макета схема базы данных не изменяется, удаляется лишь ее изображение; добавить в схему нужную таблицу путем нажатия кнопки Отобразить таблицу на панели инструментов; выделить таблицу, связи которой нужно показать, либо нажать кнопку. Отобразить прямые связи на панели инструментов, либо выполнить команду меню Связи, Отобразить прямые связи. На рис.23 показаны прямые связи таблицы Заказы. 9.8. Удаление связи Удалить существующую связь легче, чем создать: находясь в окне базы данных, нажать кнопку Схема данных на панели инструментов; установить указатель на линию связи, которую требуется удалить, и выделить ее, нажав кнопку мыши. нажать клавишу Delete. Когда MS Access предложит подтвердить удаление связи, нажать кнопку Да. 9.9. Удаление таблицы из макета Схемы данных Открыть окно диалога Схема данных. Выбрать таблицу, которую требуется удалить из данного окна, и нажать клавишу Delete. Таблица будет удалена из макета схемы данных вместе с определенными для нее связями. Данная операция изменяет только макет в окне диалога Схема данных. Таблица и ее связи будут по-прежнему сохраняться в базе данных. 9.10. Печать отчета о связях между таблицами После определения связей между таблицами можно создать отчет о них, выбрав при открытом окне Схема данных команду Печать схемы данных из меню Файл. 10. РАБОТА С ИНФОРМАЦИЕЙ В ТАБЛИЦАХ. РЕЖИМ ТАБЛИЦЫ Режим таблицы – это один из нескольких способов просмотра данных в Access. Окно Режима таблицы выглядит так же, как и окна других объектов Access (рис 24). В строке состояния, расположенной в нижней части главного окна приложения, отображаются значения свойства Описание, которые вводятся для полей при создании структуры таблицы. Например, оно может содержать информацию об ошибке, инструкцию по вводу данных. Если у поля нет описания, то Access отображает слова Режим таблицы. Сообщение и предупреждения об ошибках обычно появляются в диалоговых окнах в центре экрана.
57
Рис. 24. Окно Режима таблицы
В центре экрана расположена состоящая из строк и столбцов таблица данных – это и есть окно Режима таблицы. Строка таблицы – это запись, в столбце, имеющем имя, находятся значения поля. Первоначально записи упорядочиваются по первичному ключу, а поля располагаются в порядке их создания в структуре таблицы. В правой части таблицы находится полоса прокрутки для быстрого перемещения по записям. В строке в нижней части таблицы имеется текстовое поле, содержимое которого показывает номер текущей записи. Справа от кнопок перемещения выводится количество записей, хранящихся в таблице. 10.1. Перемещение по таблице По записям, видимым на экране, для перемещения на нужную запись надо просто щелкнуть линию на любом поле этой записи. MS Access имеет набор клавишных команд, предназначенных для быстрого перемещения по таблице. Список команд приведен в табл. 26. Таблица 26. Клавишные команды перемещения по таблице MS Access Клавишная команда Tab Enter Shift + Tab Home End Ctrl+Home Ctrl+End PgDn PgUp
Перемещает на… Следующее поле Предыдущее поле Следующая запись Предыдущая запись Первое поле текущей записи Последнее поле текущей записи Первое поле первой записи Последнее поле первой записи Следующую страницу Предыдущую страницу
Средства быстрого перемещения очень полезны при редактировании полей больших таблиц. Для перемещения по таблице можно использовать кнопки навигации, расположенные в нижней части окна (рис.24). Их назначение перечислено в порядке расположения на экране слева направо: Первая запись, Предыдущая запись, Следующая запись, Последняя запись, Новая запись. То же самое выполняют команды меню Правка, Перейти.
58
Кроме того, в Режиме таблицы можно использовать полосы прокрутки (если они видимы) – горизонтальную и вертикальную. 10.2. Панель инструментов Таблица в Режиме таблицы (рис.25) Рис.25. Панель инструментов Таблица в Режиме таблицы
Первая кнопка Вид позволяет переключаться между режимами: Конструктор, Режим таблицы, Сводная таблица, Сводная диаграмма. Все эти режимы являются пунктами раскрывающегося списка, который появляется при щелчке по направленной вниз стрелке справа от кнопки. Кнопка Сохранить позволяет сохранить любое изменение макета в режиме таблицы. Кнопка Найти открывает окно Обычный поиск, которое используется для поиска определенных файлов на локальном или сетевом диске. Если щелкнуть по кнопке Расширенный поиск в нижней части этого окна, то можно включить режим Расширенный поиск (рис.26)
Рис. 26. Окно для поиска файлов
Далее следуют три кнопки Вырезать, Копировать, Вставить, они позволяют удалить, копировать в буфер обмена или вставить объект из буфера обмена. Для таблицы объект – набор строк, полей, область и т.п. Кнопка Отмена позволяет отменить последние выполненные изменения. Следующие две кнопки – это кнопки сортировки. Можно выбрать один или несколько столбцов, щелкнуть по одной из кнопок и отсортировать их в порядке возрастания или убывания. Следующие три кнопки – Фильтр по выделенному, Изменить
59
фильтр, последняя кнопка Включить или отключить фильтр. Кнопка Найти с изображением бинокля позволяет найти выделенный текст. После щелчка по ней появляется диалоговое окно, с помощью которого можно найти нужное значение в заданном поле. Следующие две кнопки используются для добавления и удаления записей в таблице. Кнопка Окно базы данных – переход в окно базы данных. Кнопка Новый объект – это раскрывающийся список, с помощью которого создаются такие объекты, как таблицы, формы, запросы, макросы, модули. Последняя кнопка Справка открывает окно интерактивной справочной системы MS Office. Для открытия таблицы в Режиме таблицы надо: щелкнуть по кнопке таблицы в левой части окна базы данных; выделить имя таблицы в списке имен таблицы на вкладке таблицы; щелкнуть на кнопке Открыть. 10.3. Ввод данных в таблицу В Режиме таблицы отображаются все введенные значения (рис.27). Если создана только структура таблицы, то в Режиме таблицы будет введена пустая строка. Маркер текущей записи с изображениями треугольника, направленного вправо, находится в левой колонке первой записи. Если в таблице первое поле имеет тип данных Счетчик, то после добавления новой строки содержимое данного столбца автоматически увеличится на единицу, обеспечивая уникальные значения столбца. Для ввода данных: нажать клавишу Tab для перехода на следующее поле, с которого начнется ввод информации; ввести информацию в данное поле; нажать Tab еще раз, чтобы перейти на следующее поле, выполнить ввод данных и так далее до конца записи. Можно оставлять поля пустыми. Для перехода можно также использовать клавишу Enter. Для возврата в предыдущее поле используется комбинация Shift +Tab. После нажатия в последнем поле записи клавиши Tab будет выполнен переход в начало следующей записи.
Рис. 27. Результат вывода новой записи в таблицу
60
Пиктограммы, появляющиеся в области выбора записи (слева от первого поля) таблицы (рис.27), меняются при изменении состояния записи. Символ черный треугольник показывает текущую запись. Ввод или редактирование данных в эту запись меняет этот символ на карандаш. Это означает, что вводимые или редактируемые данные пока не сохранены. Символ звездочка появляется в новой пустой записи в конце таблицы. До тех пор пока выполняются операции ввода, в текущей записи все внесенные в нее изменения можно отменить нажатием клавиши Esc. 10.3.1. Добавление новых записей Чтобы добавить в таблицу новую запись, необходимо нажать на кнопку Новая запись на панели инструментов Таблица, а затем ввести данные в поля новой записи. Кроме того, можно использовать один из вариантов: нажать на кнопку Добавление новой записи в нижней части окна таблицы; переместить указатель на запись, отмеченную в области выделения звездочкой; выполнить команду Вставка, Новая запись; щелкнуть правой кнопкой мыши на области выделения и из контекстного меню выбрать команду Новая запись. Иногда надо добавить несколько новых записей, а существующие сделать временно невидимыми. Команда Записи, Ввод данных позволяет на время очистить экран от всех записей и можно вводить новые записи. Для восстановления всех записей надо выбрать команду Записи, Удалить фильтр. 10.3.2. Удаление записей из таблицы В MS Access можно удалить в таблице как одну или несколько записей, так и все сразу. Удаление информации из связанных таблиц может привести к нарушению целостности данных. Вполне возможно, что в других таблицах останутся ссылки на данные этой таблице. Например, удалив записи из таблицы Клиенты, можно навсегда потерять сведения о том, кто же заказал некоторые товары. Для удаления одной или нескольких записей выделить удаляемые записи, после чего нажать клавишу Delete или выполнить команду Правка, Удалить, или нажать комбинацию клавиш Ctrl + дефис (Ctrl+-). На запрос MS Access о подтверждении удаления выберем ОК. Для выделения нескольких записей используется клавиша Shift. Выделить первую запись из тех, которые надо удалить, и не отпуская клавишу Shift, нажать на область маркировки последней строки выбираемой группы. В результате будут выделены первая и последняя строки, а также все строки между ними. Для удаления всей информации из таблицы выберем все записи
61
командой Правка, Выделить все записи. В результате все строки будут выделены. Теперь надо просто нажать Delete и подтвердить свой выбор. 10.3.3. Ввод данных типа OLE В поле с типом OLE могут хранитьcя объекты: растровые изображения, звуковые файлы, графики (диаграммы), флажки Word или Excel, Web или гиперссылка. Ввести OLE-объект можно двумя способами: вставить из буфера; вставить из диалогового окна, появляющегося после выполнения команды Вставка, Объект. После размещения OLE в поле появится текст с описанием объекта. 10.3.4. Ввод данных в поле Memo. Так как в этом поле может содержаться до 65555 символов, то для удобства ввода, а также при просмотре содержимого этого поля надо нажать комбинацию клавиш Shift + F2, которая выводит диалоговое окно Область вывода с полосой прокрутки, которое позволяет сразу увидеть до 1000 символов текста. С помощью кнопки Шрифт можно настроить параметры шрифта отображаемого текста. 10.4. Гиперссылка Гиперссылка – это специальное поле, содержащее адрес гиперссылки, используемый Access для перехода к указанному в адресе объекту базы данных, документу MS Office или страницы в Web. Адрес гиперссылки может быть адресом URL (адрес узла в Интернет или во внутренней сети – Интеранет) или сетевым маршрутом в формате UNC (адрес файла в локальной сети). Адрес гиперссылки может также содержать специальную адресную информацию, например, указание на объект БД, закладку в документе Word, диапазон ячеек в таблице Excel или адрес электронной почты. Если, например, щелкнуть по гиперссылке, содержащей адрес электронной почты, то откроется окно нового сообщения с указанным адресом получателя. 10.4.1. Компоненты адреса гиперссылки Адрес гиперссылки может состоять максимум из трех частей: необязательный текст, который отображается в поле гиперссылки вместо ее фактического адреса; адрес, который представляет собой путь к объекту перехода. Например, С:\Мои документы\Поездки.doc, или http://www.mywebsite.com, или mailto: Me mynet.com; необязательный дополнительный адрес, который указывает на расположение в документе объекта перехода. Это может быть закладка в документе Word или объект в Access. Эти части адреса разделяются символом фунта (#), например, ДомашняяCтраница#http://www.sybex.com# . Если будет в адресе указан “отображаемый текст”, то он появится на месте гиперссылки в ячейке поля типа
62
гиперссылки в таблице. Для адресов, которые указывают на объекты в открытой БД или другой БД, Access автоматически создает текст с именем объекта. Чтобы просмотреть адрес гиперссылки за отображаемым текстом, надо перейти на ячейку с гиперссылкой, не щелкая по ней, и нажать клавишу F2. 10.4.2. Ввод адреса документа Office Поле адреса гиперссылки может указывать на файлы MS Office, такие как таблицы Excel или документы Word. Следующий пример показывает, как можно ввести адрес документа Word в поле Участие в проектах таблицы Сотрудники. 1. Щелкнуть на той записи поля гиперссылки, куда следует ввести адрес. В данном случае это поле Участие в проектах. 2. Щелкнуть по кнопке Добавление гиперссылки на панели инструментов Таблица в Режиме таблицы. 3. В поле Текст указать имя файла, к которому следует перейти. Для определения адреса файла, на который должна быть выполнена ссылка, можно использовать раскрывающийся список Папка или кнопку Поиск файла на панели инструментов окна (рис.28). Затем щелкнуть по кнопке Файл в разделе Найдите. На рис. 28 указан путь D:\Jobs\Учебник по Access\Запросы.doc
Рис. 28. Диалоговое окно Добавление гиперссылки
4. Щелкнуть по кнопке OК, чтобы вставить гиперссылку в поле. Результат будет таким, как показано на рис. 29.
Рис. 29. Таблица с полем гиперссылки
63
Введенную гиперссылку можно редактировать с помощью диалогового окна Изменение гиперссылки, которое аналогично окну Добавление гиперссылки. 10.4.3. Ввод адреса гиперссылки Адреса гиперссылки имеют сложную структуру. Для их формирования используются: • кнопка Добавление гиперссылки на панели инструментов Таблица в Режиме таблицы; • копирование и вставка адреса гиперссылки; • перетаскивание гиперссылки; • ввод адреса гиперссылки с клавиатуры. 10.4.4. Переход к документу Office Для такого перехода достаточно одного щелчка по полю с гиперссылкой. Открытое окно можно закрыть, свернуть, восстановить. Адрес гиперссылки по умолчанию выделяется синим цветом с подчеркиванием. После использования гиперссылки цвет шрифта меняется на фиолетовый. Чтобы изменить вид гиперссылки по умолчанию, надо выполнить команду Сервис, Параметры, затем перейти на вкладку Общие и щелкнуть по кнопке Параметры Web-документа. Откроется окно диалога, в котором можно изменить цвет гиперссылки и при желании отменить режим подчеркивания. 10.4.5. Ввод адреса Web-страницы или URL В следующем примере будет показано, как ввести адрес, указывающий на начальную страницу издательства SYBEX в Интернете. 1. Щелкнуть в незаполненном поле гиперссылки, куда вставляется адрес. 2. Ввести www.sybex.com (если надо чтобы отображался текст, то ввести Первая страница SYBEX#http:// www.sybex.com#). Составить такой текст несложно, при этом нет необходимости выводить окно диалога Добавление гиперссылки. В случае с более сложным адресом удобнее открыть это окно и воспользоваться средствами поиска Web-страницы или адреса URL. При этом полезны следующие советы: 1. Если недавно просматривали Web-страницу, на которую следует сделать ссылку, надо щелкнуть по кнопке Файлы Web-страницы. Затем щелкнуть по кнопке Просмотренные страницы и выбрать страницу в списке диалогового окна. 2. Если надо найти страницу в Интернете, то необходимо убедиться в наличии соединения, после чего в диалоговом окне Добавление гиперссылки щелкнуть по кнопке Файлы Web-страницы, затем щелкнуть по кнопке Интернет панели инструментов окна, при этом запустится установленный на компьютере броузер. После того как будет найдена в сети необходимая страница, надо вернуться в окно Access. Теперь в поле Адрес появится адрес URL для выбранной страницы.
64
Если адрес гиперссылки начинается с www, Access распознает в тексте такой записи Web-страницу и добавляет за нас к началу адреса символы http:\\. Access создает отображаемый текст для данного адреса, который начинается не с http:\\, а с www. Для перехода к Web-странице из Access надо шелкнуть по гиперссылке. Если окно броузера не открыто, щелкнуть на значке Web-броузера, например на рабочем столе. 10.5. Вставка в поле Значения по умолчанию Если значения в поле часто повторяются, то надо определить свойство поля Значение по умолчанию, тогда при каждом добавлении новой записи в это поле автоматически будет введено Значение по умолчанию. Указанное свойство не влияет на данные, уже введенные в поле, но можно заменить существующие данные на Значение по умолчанию, нажав комбинацию клавиш Ctrl+Alt+Spacebar. Для заполнения поля Значением по умолчанию необходимо: открыть таблицу в режиме Конструктора. Если находились в Режиме таблицы, выполнить команду Вид, Конструктор таблиц; установить курсор в поле, в котором хотим задать Значение по умолчанию; перейти в раздел Свойства поля данного поля и в свойстве Значение по умолчанию ввести наиболее часто употребляемое значение для данного поля. Например, полю Страна можно задать значение Россия; перейти в Режим таблицы, выполнив команду Вид, Режим таблицы; при переходе на новую запись, в поле, для которого задано Значение по умолчанию, значение вводится автоматически. В случае необходимости скорректировать его. 10.6. Вставка в поле значения этого же поля из предыдущей записи Ввод информации в таблицы является довольно трудоемкой работой. Значительно облегчить ее помогут клавишные команды, выполняющие различные функции ввода информации. К таким функциям относится вставка в поле значения этого поля из предыдущей записи. Для этого в Режиме таблицы выбрать поле, в которое требуется вставить значение; нажать комбинацию клавиш Ctrl + ‘ (Ctrl + апостроф). В поле будет введено значение из того же поля предыдущей записи. 10.7. Удаление отдельных символов поля Для удаления ошибочно введенного символа в поле можно использовать клавишу Backspace после того, как курсор мыши будет помещен после ошибочно введенного символа. Можно также выделить текст мышью и удалить его нажатием клавиши Delete. 10.8. Удаление всего значения поля Для удаления значения, введенного в поле, и замены его новыми
65
данными установить курсор в крайнюю левую часть этого поля. Когда курсор изменится на большой белый крест, нажать кнопку мыши. В результате все значение окажется выделенным. То же самое будет, если дважды щелкнуть мышью на поле, или протянуть курсор мыши слева направо, или нажать клавишу F2. После этого ввести новые данные, старая информация будет автоматически удалена. 10.9. Отмена выполненных действий Способы отмены ошибочных действий при работе с таблицей приведены в табл.27. Таблица 27. Отмена действий Что отменить
Клавиши и команды
Только что введенные данные Клавиша Esc (Клавиша Enter не нажата) Кнопка Отменить на панели инструментов Выполненное действие или команда Правка, Удалить запись Команда Правка, Удалить запись Всю информацию в только что введенной записи Комбинация клавиш Ctrl + Z Всю информацию в только что сохраненной записи 10.10. Допустимые значения поля При попытке выйти из поля после ввода данных MS Access проверяет, являются ли введенные данные допустимыми для этого поля. Если значение не является допустимым, появляется предупреждающее сообщение. Для того чтобы выйти из поля, следует ввести правильное значение или отменить внесенные изменения. Значение поля может оказаться недопустимым, когда: значение несовместимо с типом данных поля (в числовых и текстовых полях или в полях даты), если введено значение, не соответствующее типу данных поля. MS Access пытается преобразовать его в правильный тип данных, если это не удается, выводится сообщение об ошибке; данные нарушают условие, определенное в свойстве Условие на значение этого поля; в поле необходимо ввести данные, а оно было оставлено пустым; обновление поля было отменено в макросе, связанном с событием До обновления, так как оно противоречит проверяемому условию. Данные проверяются также при выходе из записи. Перед сохранением записи MS Access проверяет все условия, заданные в свойстве Условие на значение. Кроме того, если таблица, в которую вносятся изменения, имеет ключ или уникальный индекс, то проверяется, не содержит ли изменяемая запись в этом поле или полях значений,
66
совпадающих со значениями в других записях таблицы. Если запись нельзя сохранить, надо внести необходимые изменения или нажать кнопку Отменить на панели инструментов для отмены всех изменений, внесенных в запись. 10.11. Выделение полей и записей Способы выделения данных в режиме таблицы с помощью мыши приведены в табл.28. Таблица 28. Действия с мышью для выделения данных Выделяемая область Несколько символов в поле
Место установки указателя и нажатия кнопки мыши В начальной позиции выделения. Для расширения области выделения перемещайте указатель при нажатой кнопке мыши Все поле На левой границе поля таблицы, где указатель принимает вид большого белого креста Несколько На левой границе поля. Для расширения области соседних полей выделения перемешайте указатель при нажатой кнопке мыши Столбец В области выделения столбца Несколько В области выделения первого из выделяемых соседних столбцов. Для расширения области выделения столбцов перемещайте указатель принажатой кнопке мыши Запись В области выделения записи Несколько В области выделения первой записи. Для записей расширения области выделения перемещайте указатель при нажатой кнопке мыши Все записи таблицы Выполните команду Правка, Выделить все записи 10.12. Перемещение данных внутри таблицы Для перемещения или копирования данных из одной части таблицы в другую используются стандартные средства Удалить в буфер (команда Вставка, вырезать или комбинация Ctrl + X), Копировать в буфер (команда Вставка, Копировать или комбинация Ctrl + C), Вставить из буфера (команда Вставка, Вставить или комбинация Ctrl+V). Прежде чем выполнить эти действия, данные необходимо выделить. 10.13. Перемещение данных из одного поля в другое Пусть требуется переместить данные из одного поля в другое. Для этого выделим текст поля; выполним команду Правка, Вырезать или нажмем кнопку Вырезать на панели инструментов;
67
нажмем кнопку мыши в любом месте поля, в которое хотим перенести информацию, выполним команду Правка, Вставить или нажмем кнопку Вставить. 10.14. Копирование информации из нескольких полей В таблице можно копировать данные из нескольких рядом расположенных полей в то же самое количество полей. Допустим, что при вводе адреса в таблицу информация в полях Индекс, Страна, Область повторяется для другого клиента. Для их копирования необходимо: выбрать копируемые поля, переместив указатель мыши по требуемым полям. Начать с левого края первого поля, где видите белый крест; скопировать в буфер; выделить с помощью мыши поля, куда мы хотим поместить данные. Если в выбранных нами ячейках уже есть какая-то информация, ее можно заменить новой. Убедиться в том, что выделено такое же количество полей, которое помещено в буфер; вставить содержимое буфера. 10.15. Поиск заданного значения Перед поиском нужно щелкнуть мышью по любой ячейке поля, в котором будет осуществляться поиск. Для этого используем один из трех способов: 1) выбрать команду Правка, Найти; 2) щелкнуть по кнопке Найти на панели инструментов (на ней изображен бинокль); 3) нажать комбинацию клавиш Ctrl+F. В любом случае появится диалоговое окно Поиск и замена (рис.30).
Рис. 30. Диалоговое окно Поиск и замена
В этом диалоговом окне в текстовом поле Образец ввести искомое значение. Так как это поле является Полем со списком, то из раскрывающегося списка можно выбрать одно из значений, по которым уже выполнялся поиск. В раскрывающемся списке Поиск в: можно выбрать таблицу, поиск будет выполняться по всей таблице, а не только в конкретном поле. Значение можно ввести в том виде, как оно представлено в поле, а
68
также использовать подстановочные символы: *, ?, #. С помощью раскрывающегося списка Просмотр можно задать направление поиска: Вверх, Вниз, Все. В раскрывающемся списке Совпадение имеются три пункта: С любого чистого поля, Поле целиком, С начала поля. По умолчанию установлено значение Поле целиком. Работа их очевидна. Флажок С учетом регистра определяет, будут ли различаться прописные и строчные буквы. По умолчанию они не различаются. Пусть требуется найти всех клиентов, которые родились в апреле 1960 года. В этом случае надо установить флажок С учетом формата полей и в поле Образец ввести апрель 1960. В противном случае нужно выполнять поиск по конкретной дате, например 12.04.60. Поиск начинается после щелчка по кнопке Найти далее. Для поиска следующей записи надо еще раз щелкнуть по этой кнопке и т.д. 10.16. Способы редактирования данных в ячейке Ctrl+Enter – вставка символа разрыва строки в текстовое поле или поле Меmо. Shift + Enter – сохранение редактируемой записи и переход к следующей. Ctrl + ; – вставка текущей даты. Ctrl + : – вставка текущего времени. Ctrl + – добавление новой записи Ctrl – удаление текущей записи. Нельзя редактировать поля типа Счетчик, вычисляемые поля, в меню пользовательских блокированных записях. 10.17. Отмена действий Для этого используется кнопка Отмена на панели инструментов. Клавиша Esc отменяет редактирование в текущем поле. Дважды нажав на клавишу Esc, можно отменить изменения во всей текущей записи. Команда Правка, Отменить также используется для отмены операций, причем имя команды изменяется в зависимости от отменяемого действия: - Правка, Отмена невозможна. Последнее действие не допускает отмены. - Правка, Отменить вниз. Отменяет последнее изменение данных. 10.18. Замена значений Для замены значений полей используется диалоговое окно Поиск и замена, которое можно вызвать следующими способами: выполнить команду Правка, Найти; щелкнуть по кнопке Найти (на ней изображен бинокль); нажать комбинацию клавиш Ctrl+F;
69
выполнить команду Правка, Заменить. На вкладке Замена в поле Образец вводится значение, на которое следует заменить существующее. После установки опций таких же чисел, как и при поиске, Access найдет искомое значение и после щелчка по кнопке Заменить заменит выделенное значение на то, которое введено в поле Заменить на:. Если нужно одновременно заменить все значения, совпадающие со значением, введенным в поле Образец, надо нажать на кнопку Заменить все. Назначение остальных кнопок показано на рис.31.
Рис.31.Диалоговое окно Поиск и замена с активированной вкладкой Замена
10.19. Добавление, изменение и удаление столбцов Для удаления столбца его надо выделить и выполнить команду Правка. Удалить столбец. После подтверждения столбец будет удален. Для добавления столбца надо поместить курсор в любую ячейку столбца, перед которым будет выполнена вставка, и выполнить команду Вставка, Столбец. Для изменения имени столбца надо дважды щелкнуть по нему и ввести новое имя. 10.20. Изменение порядка следования полей При работе в режиме таблицы можно изменять порядок следования полей, не выходя из данного режима. Для этого необходимо: поместить указатель мыши в верхнюю часть столбца, который надо переместить; после появления черной стрелки, нажать кнопку мыши, выделив весь столбец; установить указатель примерно в середине имени поля, не приближая слишком близко к границам. Нажать кнопку мыши и держать ее нажатой. Появится белая стрелка с маленьким прямоугольником на ее конце; переместить поле в нужное место. Появится широкая черная вертикальная линия, которая перемещается между полями при перемещении столбца. Она указывает, где будет находиться левая граница
70
поля, если отпустить кнопку в данный момент. После размещения поля в новом месте отпустить кнопку мыши. 10.21. Изменение внешнего вида таблицы MS Access позволяет изменять внешний вид таблиц путем расширения или сужения столбцов, изменения их высоты. Кроме того, можно сделать невидимыми столбцы, которые не нужны в данный момент, и сделать видимыми нужные. 10.21.1.Изменение ширины столбцов Для просмотра информации поля большой длины можно использовать окно диалога Область вывода, открываемое с помощью комбинаций клавиш Shift+F2. Кроме этого, можно увеличить ширину столбца таблицы, используя любой из приведенных ниже способов. Первый способ: поместить указатель мыши на правую границу расширяемого поля. Вид указателя изменится на двунаправленную стрелку; нажать кнопку мыши и удерживать ее. В результате появится вертикальная черная линия. Она показывает, где будет находиться граница поля после того, как кнопка мыши будет отпущена; перемещаем линию вправо до тех пор, пока ширины поля не будет достаточно, чтобы отобразить всю информацию поля. Второй способ: выделить столбец, в котором необходимо видеть все символы; выполнить команду Формат, Ширина столбца; в открывшемся окне диалога Ширина столбца нажать кнопку По ширине данных в нижнем левом углу, а затем – ОК. Можно также ввести требуемое значение в поле Ширина столбца. 10.21.2. Изменение количества отображаемых столбцов На практике достаточно часто оказывается недостаточно ширины экрана, чтобы отобразить все поля таблицы. Команда Скрыть столбцы позволяет скрыть отдельные столбцы таблицы, оставив на экране только необходимые. Скрываемые столбцы не удаляются и информация, хранящаяся в них, не пропадает, они просто не отображаются на экране. Для того чтобы скрыть столбец, сначала надо выбрать его нажатием на область маркировки этого столбца, затем выполнить команду Формат, Cкрыть столбцы из главного или контекстного меню. Для отображения на экране скрытых столбцов используется команда Формат, Отобразить столбцы. При выполнении данной команды на экране открывается окно диалога Отображение столбцов со списком всех полей таблицы (рис.32). Видимые в данный момент столбцы отмечены. Чтобы сделать столбец видимым, установим соответствующий ему флажок, и наоборот.
71
10.21.3. Фиксация столбцов таблицы При просмотре таблиц с большим количеством столбцов требуется зафиксировать один или более столбцов, то есть сделать так, чтобы они оставались видимыми при горизонтальной прокрутке. Например, при просмотре таблицы Телефонно-адресная книга желательно, чтобы на экране всегда отображался столбец с фамилиями. Для этих целей служит команда Формат, Закрепить столбцы. Выделим Закрепляемый столбец и выполним данную команду. Теперь при перемещении по таблице вправо зафиксированные столбцы останутся видимыми на экране. Отменить фиксацию можно выбором команды Формат, Освободить все столбцы.
Рис. 32. Окно диалога Отображение столбцов
10.21.4. Изменение параметров шрифта Для того чтобы облегчить чтение, можно изменить размер шрифта, тип шрифта и его начертание (курсив, полужирное и т.д.). Для изменения параметров шрифта выполним следующие действия: открыть окно диалога Выбор шрифта, выполнив команду Формат, Шрифт; выбрать наиболее подходящий шрифт, его начертание и размер. В области Образец можно увидеть образец выбранного шрифта; нажать ОК. 10.22. Сохранение информации Вводимые данные MS Access сохраняет автоматически. После нажатия Tab в последнем поле записи и перехода на новую запись информация, введенная в предыдущей записи, сохраняется. При закрытии таблицы все несохраненные данные будут записаны на жесткий диск. Даже если отключается электропитание, информация надежно сохраняется на диске. Все вышесказанное относится только к вводу информации в таблицу. При изменении структуры таблицы автоматическое сохранение их не предусмотрено. Запись изменений структуры таблицы, сделанных во время текущего сеанса выполняется через диалог, который появляется при выходе из системы.
72
10.23. Использование фильтров При работе с таблицами в базе данных фильтр используется, чтобы отображать только значения, определяемые заданным критерием. Фильтр создают, используя три кнопки панели инструментов и соответствующие им команды меню. Первая кнопка имеет название Фильтр по выделенному – осуществляет фильтрацию данных по выделенному значению данного столбца. То же самое делает команда меню Записи, Фильтр, Фильтр по выделенному. Вторая кнопка – Изменить фильтр – открывает окно диалога с вкладками для задания критерия фильтрации. Тот же эффект можно получить, выбрав команду Записи, Фильтр, Изменить фильтр. Третья кнопка – Применить фильтр/Удалить фильтр – Переключает состояние применения и снятия фильтра. Команда Записи, Фильтр содержит четыре вида фильтров: Изменить фильтр, Фильтр по выделенному, Исключить выделенное и Расширенный фильтр. Рассмотрим применение данных фильтров. 10.23.1. Фильтр по выделенному Данный фильтр наиболее прост и понятен. Его название определяет принцип его применения. При выделении информации в таблице данных задается критерий фильтрации. Допустим, нужны все поставщики товаров из Москвы. Надо просто выбрать слово Москва в поле Город, а затем нажать мышью кнопку Фильтр по выделенному на панели инструментов или выполнить команду Записи / Фильтр/ Фильтр по выделенному. Каждый из различных видов выбора (табл.29) влияет на результат фильтрации. Таблица 29. Использование Фильтра по выделенному Что выбирается
Где выбирается
Что возвращается
Только точное совпадение Все поле Целое значение Только записи, начинающиеся с Начало поля Часть выбранных символов значения После первого Любую запись содержащую эти Часть символы символа значения Гибкость данного фильтра относительно ограничена, нельзя использовать в критерии символы шаблона. Можно применить фильтр к отфильтрованной таблице, сделав другой выбор и профильтровав вновь. Кроме того, отфильтрованную таблицу можно отсортировать. При фильтрации мы находимся в Режиме таблицы
73
и поэтому доступны все команды меню Формат. Можно сделать невидимыми, фиксировать или изменить размеры столбцов по своему усмотрению. 10.23.2. Исключение записей Можно фильтровать записи с помощью исключения данных, вместо их включения. Другими словами будут возвращаться только те записи, которые не были выбраны. Открыть таблицу, которую надо профильтровать. Выбрать значения, которые будут служить критерием. Нажать на выбранное место правой кнопкой мыши. Появится контекстное меню. Выбрать из контекстного меню команду Исключить выделенное. 10.23.3. Использование фильтров по вводу Критерием фильтрации необязательно должно быть все поле записи. Можно фильтровать по части от записи или использовать средство Фильтрация по вводу. Можно также формировать критерии фильтрации, используя шаблоны и маски. Так, чтобы отыскать в поле Фамилия все записи, первой буквой которых буква Р, введем Р*. Если надо отыскать все фамилии, начинающиеся на буквы А-Ф, в качестве критерия используется символ <Х. Чтобы задать такой фильтр, надо щелкнуть правой кнопкой мыши, в контекстном меню выбрать команду Фильтр для и ввести условие фильтрации. 10.23.4. Команда Изменить фильтр Данный фильтр является более мощным средством по сравнению с Фильтром по выделенному. В нем можно устанавливать критерии И и ИЛИ, а также использовать математические и логические выражения. Для задания критерия фильтрации этим фильтром надо нажать кнопку Изменить фильтр на панели инструментов или выполнить команду Записи, Фильтр, Изменить фильтр. На экране откроется окно диалога, представленное на рис. 33.
Рис.33. Окно диалога команды Записи, Фильтр, Изменить фильтр
В верхней части окна установки фильтра расположены все поля текущей таблицы, в нижней – ярлычки Найти и Или. Если установить указатель в какую-либо ячейку из полей таблицы, появится кнопка раскрытия списка. При нажатии на эту кнопку открывается список всех возможных значений, которые встречаются в этом поле.
74
Чтобы выбрать, например, список контрагентов из ближнего зарубежья, имеющих кредит свыше 2000, необходимо: установить курсор в поле Кредит; нажать кнопку раскрытия списка и выберем из него значение 2000; выбранное значение появится в строке ввода, ввести перед ним символ >; нажать кнопку Применить фильтр на панели инструментов. На экране будет отображен результат фильтрации; в результате применения фильтра наименование кнопки изменится на Удалить фильтр. Для отмены фильтрации нажать эту кнопку еще раз. Для задания значений фильтра можно использовать символы шаблона. Допустим, нужны данные о фирмах, в названии которых присутствуют символы «СП». Для выбора нужных фирм ввести в поле ввода Название значение *СП* 10.23.5. Использование критериев И и ИЛИ При использовании критерия И необходимо, чтобы выполнились все заданные условия сравнения. В качестве примера такого фильтра может служить отображение записей о контрагентах из ближнего зарубежья, имеющих оговоренный кредит. Для задания такого критерия И необходимо, чтобы все условия сравнения размещались в одной и той же строке. Поэтому в поле Страна было помещено значение <>Россия, а в поле Кредит – >2000. При использовании критерия ИЛИ необходимо, чтобы выполнилось хотя бы одно из условий сравнения. Чтобы получить, например, данные о контрагенте из Москвы и Минска, надо: открыть таблицу, содержащую требуемые данные. В данном случае это Телефонно-адресная книга; для задания критерия фильтрации данным фильтром нажать кнопку Изменить фильтр на панели инструментов или выполнить команду Записи, Фильтр, Изменить фильтр; в открывшемся окне диалога установить курсор в поле Город и выбрать из списка значение Москва; нажать ярлычок ИЛИ. На экране откроется новая страница фильтра; в открывшемся окне диалога установить курсор в поле Город и выбрать из списка значение Москва; нажать кнопку Применить фильтр на панели инструментов – получится список контрагентов из Москвы и Минска. После нажатия ярлычка ИЛИ в нижней части окна диалога появится еще один ярлычок ИЛИ. Можно продолжить добавлять критерии ИЛИ один за другим. Пусть необходимы данные о контрагентах из Новосибирска и Новочеркасска, являющихся сотрудниками совместных предприятий (то
75
есть в названии фирмы присутствует СП). Для создания такого фильтра следует: открыть требуемую таблицу; нажать кнопку Изменить фильтр на панели инструментов или выполнить команду Записи, Фильтр, Изменить фильтр; в открывшемся окне диалога установить курсор в поле Город и выбрать из списка значение Новосибирск; в поле ввода Предприятие ввести значение *СП*; нажать ярлычок ИЛИ. На экране откроется новая страница фильтра; в открывшемся окне диалога установить курсор в поле Город и выбрать из списка или ввести значение Новочеркасск, а в поле ввода Предприятие – значение *СП*; нажать кнопку Применить фильтр на панели инструментов – появится список контрагентов из Новосибирска и Новочеркасска, являющихся сотрудниками совместных предприятий. В качестве критерия в окне Фильтр можно использовать любое выражение и символ Шаблоны шаблона. 10.23.6. Расширенный фильтр Для задания критерия с помощью расширенного фильтра выполнить команду Записи, Фильтр, Расширенный фильтр. Откроется окно диалога (рис. 34), в верхней части которого расположен список полей таблицы, а в нижней – бланк формирования выражения для фильтра.
Рис. 34. Окно диалога для установки критерия расширенного фильтра
По сравнению с предыдущим фильтром данный фильтр позволяет проводить не только фильтрацию, но одновременно сортировку по возрастанию или убыванию по нескольким полям одновременно. Для этих целей используется строка Сортировка. Для создания фильтра, аналогичного рассмотренному в предыдущем примере, предназначенного для выбора данных о поставщиках из Москвы и Торжка, фамилии которых содержат буквы С и И соответственно, в
76
нижней части окна диалога необходимо задать Условие отбора (рис.35). Затем нажать кнопку Применить фильтр на панели инструментов.
Рис. 35. Окно расширенного фильтра с условием выборки
10.23.7. Сохранение фильтра Для сохранения фильтра выполнить команду Файл / Сохранить в режиме просмотра. Фильтр сохраняется вместе с таблицей и будет действовать при следующем открытии таблицы. 10.24. Печать таблицы Простейший способ печати (без создания отформатированного отчета) – открыть таблицу и выполнить команду Файл, Печать или нажать кнопку Печать на панели инструментов. Появится окно Печать (рис. 36). В нем можно управлять процессом печати путем выбора следующих опций: Печатать. Распечатывает всю таблицу, только выбранные страницы или записи; Копии. Определяет количество копий; флажок разобрать по копиям. Определяет, будет ли распечатка разобрана по копиям. С помощью кнопки Свойства можно вызвать диалоговое окно настройки принтера. Кнопка Настройка позволит задать поля на странице и определить, печатать ли заголовки. Перед печатью таблицы следует оценить параметры форматирования таблицы, для чего используется команда Файл, Предварительный просмотр и кнопка с аналогичным именем. С помощью кнопок на панели инструментов окна предварительного просмотра можно определить количество отобранных страниц, печатать таблицу, изменять масштаб отображения документа. Кнопка Закрыть возвращает в Режим таблицы, где можно выполнить редактирование и форматирование данных таблицы.
77
Рис. 36. Окно Печать
На распечатке таблицы будет отражено действие всех опций, которые были установлены на момент печати. Скрытые столбцы распечатаны не будут. Линии сетки будут напечатаны, если установлена опция в группе Линии сетки окна Формат таблицы. При печати будут действовать установки для высоты строки и ширины столбцов. 11. РАБОТА СО СВЯЗАННЫМИ ТАБЛИЦАМИ 11.1. Просмотр связанных таблиц Access автоматически добавляет к таблице кнопки развертывания (рис. 37). В режиме таблица слева от каждой записи находится маркер развертывания «+». Эти значки позволяют развернуть подтаблицу, в которой отображаются соответствующие записи из связанной таблицы. 11.1.1. Открытие подтаблицы Чтобы развернуть подтаблицу для определенной записи, надо щелкнуть по кнопке со значком «+». Откроется подтаблица (рис.37) с записями из связанной таблицы, соответствующими текущей записи главной таблицы. Их может быть несколько (связь в направлении «многие»). Подтаблица содержит только те записи из таблицы Заказы, которые относятся к коду товара М2 (Монитор 17” Samsung 720NA), второму в списке таблицы Товары. Если в подтаблице находится довольно большое количество полей, внутри окна подтаблицы появится горизонтальная полоса прокрутки. Если в подтаблице содержится слишком длинный список записей, появится вертикальная полоса прокрутки. Подтаблица может иметь собственные кнопки развертывания, если
78
существует связь с другой таблицей, для которой она является главной. Главная (или основная) таблица – это основная таблица, в которую добавляется подтаблица. Подчиненная таблица – это таблица, из которой поступают записи для подтаблицы.
Рис. 37. Окно таблицы Товары с подтаблицей из связанной таблицы Заказы
Таблица Заказы связана с таблицей Наличие товара, поэтому имеется возможность просмотреть связанные записи в таблице Наличие товара, для которой таблица Заказы является главной. В подтаблице можно редактировать данные, а также добавлять, удалять, сортировать записи и устанавливать фильтры. Все инструкции по работе с таблицами применимы и для подтаблиц. 11.1.2. Закрытие подтаблицы Чтобы по окончанию работы закрыть подтаблицу, надо щелкнуть на кнопке свертывания (значок «–»). Чтобы свернуть все раскрытые подтаблицы разом, необходимо щелкнуть по кнопке свертывания верхнего уровня – все подтаблицы более низкого уровня свернутся автоматически. При закрытии Access запоминает список всех отрытых уровней, и при следующем развертывании подтаблицы для той же записи все они будут развернуты. 11.1.3. Одновременное разворачивание всех подтаблиц Чтобы не открывать подтаблицы поочередно, можно развернуть их все сразу. Открыть главную таблицу, затем в меню выбрать команду Формат, Подтаблица, Развернуть все. Несколько подтаблиц в таблице Товары развернуты на рис. 38. Чтобы свернуть все открытые подтаблицы в текущей таблице, в меню выбрать команду Формат, Подтаблица, Свернуть все. Если свернуть все подтаблицы после щелчка в поле таблицы Товары, все открытые подтаблицы таблицы Заказы, а также таблицы Клиенты будут закрыты. Если текущее поле находится в подтаблице Заказы, закроются только подтаблицы, начиная с уровня Клиенты.
79
Рис. 38. Подтаблицы из таблицы Заказы, развернутые в таблице Товары
11.1.4. Удаление подтаблицы В Access существует возможность не только закрыть подтаблицу, но и удалить ее. Выберите команду Формат, Подтаблица, Удалить. Все кнопки развертывания подтаблиц из текущей таблицы будут удалены. После удаления подтаблицы ее можно снова восстановить. Для восстановления удаленной таблицы при закрытии таблицы можно отказаться от внесенных изменений. В результате будет сохранен исходный вариант таблицы, который существовал до редакции. 11.1.5. Добавление новой подтаблицы Даже если между двумя таблицами не определено никакой связи, к таблице можно добавить подтаблицу, если эти таблицы имеют общее поле. Например, когда открывается в таблице Товары подтаблица Заказы, Access не добавляет автоматически кнопок развертывания из таблицы Наименование товара. Однако можно самостоятельно добавить подтаблицу с записями из таблицы Наличие товара. Последовательность действий при добавлении таблицы следующая: открыть таблицу Заказы в режиме Таблицы; выбрать команду Вставка, Подтаблица. Откроется диалоговое окно Вставка подтаблицы (рис.39); в списке таблиц выделить таблицу Наличие товара; выбрать в обоих разворачивающихся списках – Основные поля и Подчиненные поля – поле Код товара; щелкнуть по кнопке ОК. После выполнения этих действий в таблице появятся для каждой
80
записи кнопки развертывания. Теперь можно раскрыть любую из этих подтаблиц, в которых содержатся записи из таблицы, выбранной в диалоговом окне Вставка подтаблицы.
Рис.39. Вставка подтаблицы
Если возникает необходимость сменить таблицу – источник для подтаблицы, надо повторить указанные действия и выбрать новую таблицу в диалоговом окне Вставка подтаблицы. 12. ВАРИАНТЫ ЗАДАНИЙ Для развития и совершенствования навыков проектирования и создания баз данных предлагается выполнить следующее задание: 1. Разбить заданные в таблице поля (согласно варианту) на несколько таблиц, приведя их ко второй нормальной форме. 2. В Access создать таблицы, полученные в результате разбиения, с соответствующими ключевыми полями. 3. В схеме данных установить связи между таблицами.
81
Вариант 1
Файл "Студент": Ф.И.О., факультет, специальность, группа, адрес места рождения, что окончил, сданный предмет, оценка, семестр, средняя оценка в сессиях
Вариант 2
Файл "Город": наименование, число жителей, среднегодовая температура, среднегодовые осадки, отрасль промышленности, выпускаемая продукция, отпускная цена, объем производства, число занятых, объем продукции с/х
Вариант 3
Файл "Авто": Ф.И.О. владельца, индекс, страна, адрес владельца, телефон, номер автомобиля, дата техосмотра, модель автомобиля, мощность, цвет
Вариант 4
Вариант 5
Вариант 6
Файл "Вокзал": Город, название вокзала, Ф.И.О. начальника, телефон, номер поезда, тип вагона, пункт назначения, время отправления, время в пути, цена билета
Файл "Больница": номер больницы, адрес, название отделения, Ф.И.О. лечащего врача, что окончил, должность, специальность, число мест, полезная площадь на место, число свободных мест
Файл "Библиотека": автор, группа, название книги, Ф.И.О читателя, предприятие, телефон рабочий, год издания, издательство, цена, дата выдачи книги, срок
Вариант 7
Вариант 8
Вариант 9
Файл "Нормативы" подразделение, профессия, разряд, часовая тарифная ставка, наименование продукции, операция, оборудование, единица измерения, норма времени на единицу, расценка
Файл "Состав смен ": Ф.И.О. рабочего, табельный номер, профессия, разряд, код смены, вид зачисления, характеристика, подразделение, Ф.И.О. руководителя, тарифная ставка
Файл "Гостиница" название, адрес, телефон, Ф.И.О. проживающею, адрес, организация, пол, дата прибытия, на сколько, тип номера, телефон дежурной
82
Вариант 10
Файл "Склад": номер склада, Ф.И.О. кладовщика, телефон склада, поставщик, индекс, страна, адрес, банковский счет, наименование детали, количество деталей, цена детали
Вариант 11
Вариант 12
Файл "График смены": Файл "Отпуска подразделение, рабочих": Ф.И.О. руководителя, подразделение, код смены, Ф.И.О. руководителя, длительность смены, дата, количество рабочих, табельный номер, начало смены, Ф.И.О. рабочего, окончание смены, специальность, дата, начало отпуска, Ф.И.О. начальника окончание отпуска, смены, участок, начислено, телефон продолжительность
Вариант13
Вариант 14
Вариант 15
Файл "График ППР": участок, руководитель, телефон, оборудование, вид ремонта, время начала ремонта, норма времени ремонта, стоимость ремонта, кто ремонтирует, Ф.И.О. бригадира, количество рабочих
Файл "План": название продукции, плановое задание, расценка, подразделение, руководитель, наименование сырья, норма потребления, энергоресурсы, норма потребления, себестоимость
Файл "Ресурсы": наименование ресурса, тип ресурса, дата начала потребления, дата окончания потребления, Ф.И.О. клиента, организация, Ф.И.О. директора, гл. бухгалтер, код МФО, стоимость единицы, потреблено
Вариант 16
Вариант 17
Вариант 18
Файл "Запасные части": наименование, количество, цена, изготовитель, адрес изготовителя, дата поставки, гарантийный срок, где применяется, участок, Ф.И.О. руководителя, телефон
Файл "Оснастка": наименование прессформы, для какой продукции, норма съема изделий, дата ремонта, кто ремонтировал, дата, цех, участок, Ф.И.О. начальника, дата установки, всего произведено
Файл "Мероприятие": наименование, место проведения, дата начала, дата окончания, всего мест, сотрудники, тип мероприятия, Ф.И.О. участника, дата регистрации, дата заявки, вид оплаты, кто регистрировал Ф.И.О.
83
Вариант 19
Вариант 20
Вариант 21
Файл "Абитуриент": регистрационный номер, Ф.И.О., дата рождения, что окончил, наличие медали, специальность, специализация, факультет, декан, средний балл, проходной балл
Файл "Выход на работу": табельный номер, Ф.И.О. рабочего, должность, подразделение, руководитель, телефон, семейное положение, количество детей, дата заболевания, дата выхода на работу
Файл "Деталь": название детали, объем партии, участок, Ф.И.О. начальника, норма времени, кто изготовил (Ф.И.О.), разряд рабочего, специальность, тарифная ставка, № смены, дата изготовления
Вариант22
Вариант 23
Вариант 24
Файл "Рабочее место": табельный номер рабочего, Ф.И.О. рабочего, № бригады, Ф.И.О. бригадира, что производится, марка оборудования, производительность, название цеха, Ф.И.О. начальника цеха, название участка, телефон
Файл "Телефон": Ф.И.О. контакта, индекс, страна, город, адрес, должность, рабочий телефон, сотовый телефон, дата звонка, время, содержание переговоров, длительность
Файл "Выпуск продукции": наименование, стоимость, Ф.И.О. рабочего, табельный номер, разряд, профессия, произведено, высшего качества, брак, подразделение
Вариант 25
Вариант 26
Вариант 27
Файл "Поставщик": название организации, телефон, факс, Ф.И.О. директора, код МФО, наименование товара, дата поставки, № накладной, объем поставки, стоимость, цена, способ поставки, Ф.И.О. экспедитора
Файл "Продажи": продавец, телефон продавца, факс продавца, сборка, модель, серийный номер, дата покупки, цена, срок службы, Ф.И.О. покупателя, стоимость единицы
Файл "Перевозки": Ф.И.О. клиента, индекс, страна, адрес, телефон, вид оплаты, дата заказа, дата выполнения, наименование груза, цена, Ф.И.О. водителя, количество
84
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Вейскас, Д. Эффективная работа с Microsoft Access 7,0 для Windows 95 [Текст]: [пер. с англ.] / Д. Вейскас. СПб.: Питер, 1997. 2. Виноградов, Г.П. Сборник заданий по курсу «Информатика» для студентов всех специальностей [Текст] / Г.П. Виноградов. Тверь: ТГТУ, 2002. 3. Робинсон, С. Microsoft Access 2000 [Текст]: учебный курс / С. Робинсон. СПб.: Питер, 2000. 4. Харитонов, И.А. Microsoft Access 2000 [Текст] / И.А. Харитонов, В.Д. Михеева. СПб.: БХВ – Санкт Петербург, 2000. 5. Экономическая информатика [Текст]; под ред. П.В. Конюховского, Д.Н. Колесова. СПб.: Питер, 2001.
Геннадий Павлович Виноградов Надежда Витальевна Кирсанова ПРОЕКТИРОВАНИЕ СТРУКТУРЫ И СОЗДАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ СРЕДСТВАМИ СУБД Access Учебное пособие Издание первое Редактор Т.С. Синицына Корректор И.В. Шункова Технический редактор Г.В. Комарова Подписано в печать 2.05.06 Формат 60х84/16 Бумага писчая Физ. печ. л. 5,25 Усл.-печ.л. 4,88 Уч.-изд.л. 4,57 Тираж 150 экз. Заказ № 83 С – 43 Издательство Тверского государственного технического университета 170026, г. Тверь, наб. Афанасия Никитина, 22