Создание таблиц базы данных, ввод данных во вспомогательные таблицы
Теперь, когда пустая база данных существует, создадим пустые таблицы, т.е. пока только определим их структуру – опишем каждое поле записи. Начинать надо со вспомогательных таблиц Объекты, Работы и Организации. Для создания таблицы Объекты в окне базы данных выберем тип объектов, с которыми собираемся работать, а именно – Таблицы.Теперь нажмем кнопку Создание таблицы в режиме конструктора. В открывшемся диалоговом окне (Рис. 5.2) сначала создадим таблицу Объекты (на рисунке – слева, внизу). В графе Имя поля введем Код об, а в поле со списком Тип данных выберем Числовой. После этого в поле со списком Размер поля выберем Целое. Затем, нажав на панели инструментов кнопку с изображением ключа, сделаем поле Код об ключевым. Теперь определим второе поле – поле Объект. В графу Имя поля введем его название, а в поле со списком Тип данных выберем Текстовый. Длина текстового поля по умолчанию равна 50 байтам, и это нас устраивает. После этого окно, в котором мы определяли поля таблицы Объекты, можно закрыть с помощью кнопки системного меню (в строке заголовка окна, справа). При закрытии этого окна появится диалоговое окно, в котором надо задать имя таблицы – “Объекты”. Теперь таблица создана, ее можно открыть с помощью кнопки Открыть в окне базы данных и ввести в нее записи (см. рис. 5.1). Сразу после создания можно ввести большую часть записей во вспомогательные таблицы. Основная таблица Затраты будет пополняться очень долго.
Рис. 5.1. Рабочее окно СУБД Access с открытыми таблицами БД «Затраты»
Для ввода данных в таблицу надо “встать” в нужное поле с помощью щелчка мыши или с помощью клавиш перемещения курсора и вводить данные в это поле. После ввода значения нажимают клавишу <Enter> – этим завершается ввод данных в ячейку таблицы, и курсор перемещается в следующее поле записи или в первое поле очередной записи. Для перемещения курсора также можно пользоваться клавишами <Tab> и <Shift>+<Tab>. Кроме того, перемещаться по записям таблицы помогает навигатор – линейка с кнопками внизу каждой таблицы (см. рис. 5.1).
Рис. 5.2. Создание таблиц Объекты и Затраты
Таблицы Работы и Организации создаются точно так же, как таблица Объекты, только в таблице Организации больше полей.
Создание основной таблицы
Создание таблицы Затраты (см. рис. 5.2 – справа, внизу) требует дополнительных пояснений по поводу определения полей Код об, Код раб, Код орг. Каждое из этих полей необходимо определить как поле со списком. На рис. 5.2 показано, как это сделано для поля Код об. После определения типа этого поля (числовой) и уточнения его общих параметров (целое) с помощью вкладки Общие, переходим на вкладку Подстановка – она показана на рисунке справа, внизу. Здесь в полях со списком выбираем тип элемента управления (Поле со списком), тип источника строк (Таблица или запрос), источник строк (таблица Объекты), присоединенный столбец (первый) и число столбцов в списке (2). Надо указать также ширину столбцов и списка, например, 1; 7 см – столбцы, 8 см – весь список. Теперь при вводе данных в поле Код об (прямо в таблицу Затраты или с помощью формы – рис. 5.3) можно не вспоминать коды объектов, а выбирать их из списка, в строках которого содержатся и коды и названия. Ведь мы включили в список поля Код об таблицы Затраты два столбца из таблицы Объекты, причем полю Код об таблицы Затраты соответствует именно первый (присоединенный) столбец таблицы Объекты. Для того чтобы список появился (см. рис. 5.1), надо просто щелкнуть мышью по стрелке у правого края поля Код об. Таким образом, Access предоставляет удобные средства для ввода и корректировки данных. Но еще удобнее для ввода данных в таблицу с большим числом полей использовать форму (см. форму Затраты на рис. 5.3). Созданию формы должно предшествовать создание схемы данных.
Создание схемы данных
Для создания схемы данных можно воспользоваться пунктом меню Сервис/Схема данных или соответствующей кнопкой на панели инструментов. В появившемся диалоговом окне надо выбрать таблицы, включаемые в схему. После этого появится схематическое изображение таблиц в виде прямоугольников, содержащих список полей (см. рис. 5.3). После этого остается с помощью мыши соединить поля Код об, Код раб, Код орг таблицы Затраты с ключевыми полями других таблиц – на схеме появятся стрелки с указанием типа связи (см. подраздел 5.2). Если по стрелке щелкнуть правой клавишей мыши, то всплывет меню, позволяющее изменить свойства связи: например, можно, выбрав метод Изменить связь, установить в очередном диалоговом окне флажок Обеспечение целостности данных (см. подраздел 5.2). На рис. 5.3 схема данных изображена не в момент ее создания, а при создании запроса – схема данных используется всегда, когда данные берутся из нескольких связанных таблиц.
|
Формирование или корректировка запроса в режиме конструктора
Создание формы
На рисунке 5.3 форма Затраты изображена справа, вверху. Если в таблице мы видим сразу много записей, то в форме видны поля только одной записи, но зато сразу видны все поля – даже если запись очень длинная. Кроме того, в форму Затраты можно включить поля не только из таблицы Затраты, но и из других таблиц, если, например, мы хотим видеть в форме не только коды (объекта, вида работ, организации), но и соответствующие названия (см. рис. 5.3). Для этого и потребовалось перед созданием формы создатьсхему данных.
Для создания формы Затраты в окне базы данных выберем тип объекта – Формы и нажмем кнопку Создание формы с помощью Мастера. После этого откроется диалоговое окно, позволяющее выбирать таблицы (или запросы), а из них – поля, включаемые в форму. Далее форма создается автоматически, почти без участия пользователя. При вводе данных с помощью формы для перехода к очередной, предыдущей, к первой или последней записи таблицы используется навигатор – как и при работе с таблицей. Важно понимать, что форма – это не самостоятельный информационный объект, а только удобный способ визуализации записей таблиц, ввода в них данных и их корректировки. Конструкцию формы можно изменить после ее создания – в режиме конструктора. Например, поля Объект, Работа, Организация можно передвинуть, поместив их рядом с соответствующими кодами, справа от них.
Создание запросов
Запросы создаются с целью отбора данных из таблиц по некоторым критериям. Например, создадим запрос Затраты за период, содержащий данные о затратах за любой период, который выберет пользователь с помощью параметров Дата1 и Дата2. Чтобы создать запрос, в окне базы данных выберем тип объекта – Запросы и нажмем кнопку Создание запроса с помощью конструктора. В следующем диалоговом окне выберем таблицы, из которых собираемся отбирать данные, и получим окно, изображенное на рис. 5.3, внизу. В этом окне в полях со списками Имя таблицы и Поле надо выбрать поля, включаемые в запрос, ниже можно выбрать вариант сортировки записей и указать условия их отбора. Закрыв окно, можно запомнить созданный запрос. При его просмотре мы видим виртуальную таблицу (представление [10]), включающую только те данные, которые мы отобрали. Если изменить данные в исходных таблицах, то результат просмотра запроса также изменится.
Результаты запроса удобно использовать в качестве источника информации для составления отчета.
Формирование отчетов
На рис. 5.4 показан отчет Затраты по объектам за первый квартал 1998 года. В этот отчет включены данные из запроса Затраты за период. Отчет получен с помощью мастера отчетов. В окне базы данных надо выбрать тип объекта – Отчеты и нажать кнопку Создать отчет с помощью мастера, далее выбрать запрос Затраты за период – в качестве источника данных. После этого, делая выбор в предлагаемых диалогах, остается уточнить перечень полей, включаемых в отчет, вариант группировки и сортировки записей, вариант вывода итоговых строк и ориентацию страниц. Отчет в сочетании с запросом позволяет отобрать из базы данных требуемую информацию, сгруппировать итоговые записи (на рис. 5.4 группировка выполнена по объектам) и автоматически получить итоговые строки. Отчет можно напечатать, выбрав пункт меню Сервис/Связи с Office/Публикация в Microsoft Office Word. Наконец, в отчет нетрудно внести редакционные изменения, но не в режиме создания с помощью мастера отчетов, а в режиме конструктора. Так в нашем примере слово Sum, которое процедура Мастер отчетов вставляет в итоговые строки, заменено на слово Сумма. Вообще в режиме конструктора можно изменять и таблицы, и формы, и запросы, и отчеты.
Лабораторная работа «Затраты» должна дать начальные навыки в области создания и последующего использования баз данных. В частности, эта лабораторная работа иллюстрирует правильную последовательность действий – пункты 1-7. Создание «украшений» базы данных, вроде кнопочной формы, легко освоить самостоятельно, используя пункт меню Сервис/Служебные программы/Диспетчер кнопочных форм. Впрочем, подобные «украшения» в большинстве случаев совершенно бесполезны. Иногда их применяют, чтобы «спрятать» от пользователя всю внутреннюю структуру базы данных – даже таблицы. А это уже вредно и характерно для разработчиков, не сотрудничающих со специалистами в предметной области (пользователями базы данных), а относящихся к ним с неоправданным высокомерием.
Дальнейшему развитию навыков в области создания баз данных должны способствовать самостоятельные работы, предлагаемые в следующем подразделе.
Рис. 5.4. Типичный вид отчета, получаемого с помощью СУБД Access