Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Настройка панели быстрого доступаСтр 1 из 9Следующая ⇒
Введение
продуктов являются различные формы представления исходной ин- формации и отчетности, анализ данных по разным параметрам и с до- статочной скоростью вычислений. База данных представляет собой поименованную совокупность данных, организованных по определенным правилам, включающим общие принципы описания, хранения и обработки. Основой базы данных является модель, которая отражает пред- метную область в виде совокупности информационных объектов и их связей. База данных находится под управлением определенной Системы Управления Базой Данных (СУБД), являющейся комплексом про- грамм, предназначенных для обработки данных. Этот комплекс обес- печивает выполнение операций ввода, добавления, удаления, поиска и работы со связями по заданным правилам. Набор правил, опреде- ляющих организацию логической структуры хранения данных в базе, получил название модели данных. Модели данных определяются тремя компонентами: допустимой организацией данных; ограничениями целостности; множеством допустимых операций. Процедуры хранения данных в БД должны подчиняться общим правилам, среди которых в первую очередь следует выделить: 1) целостность и непротиворечивость данных, под которыми по- нимается как физическая целостность данных, так и предотвра- щение неверного использования данных, поддержка допусти- мых значений сочетаний их значений, защита от структурных искажений и несанкционированного доступа; 2) минимальная избыточность данных; это означает, что любой элемент данных должен храниться в базе в единственном чис- ле, что позволяет избежать необходимости дублирования опе- раций, производимых с ним и уменьшение требуемого объёма памяти. Каждая БД и СУБД строятся на основе явной или неявной модели данных, т. е. спо- собе представления данных об объектах ре- ального мира и правилах организации этих данных. В теории СУБД выделяют три основ- ные модели: иерархическую, сетевую и ре- ляционную. В иерархической модели все элементы
Рис. 1.1 связаны отношением подчиненности, и при этом любой элемент может подчиняться только одному какому-либо другому элементу (рис. 1.1). В базах данных этого типа записи упорядочиваются в определён- ную последовательность. Поиск данных осуществляется последова- тельным спуском по уровням. Иерархическая база данных по своей структуре — аналог иерархической файловой системе. Сетевой подход является расширением иерархического. В иерархических структурах запись — по- томок должна иметь в точности одного пред- ка, а в сетевой структуре потомок может иметь любое число предков (рис. 1.2). Достоинствами СУБД, основанных на иерархической или сетевой моделях, яв- Рис. 1.2 ляются компактность и быстродействие. Недостатками — высокая степень зависимости от конкретных данных. Иерархическая и сетевая модели данных широко использовались при обработке данных на вычислительных машинах типа ЕС. В основе реляционной теории БД лежит четко определенная мате- матическая модель. Раздел математики, изучающий отношения, на- зывается реляционной алгеброй. Отсюда и название реляционных баз данных — базы, информация в таблицах которых обрабатывается сред- ствами реляционной алгебры. Реляционная модель данных получила название от английского термина relation — отношение. Её предло- жил в 70-е годы XX века сотрудник фирмы IBM Эдгар Кодд. При со- блюдении определенных условий отношение представляется в виде двухмерной таблицы, привычной для человека (рис. 1.3). Достоинствами реляционной модели являются простота, удоб- ство реализации, наличие теоретического обоснования и возмож- ность формирования гибкой системы БД, допускающей настройку при формировании запросов. Рис. 1.3
Реляционная модель данных используется в основном в базах дан- ных среднего размера. При увеличении числа таблиц в базе данных падает скорость работы с ней. База данных в MS Access представляет собой множество взаимо- связанных таблиц. В последнее время начинают применяться объектно-ориентиро- ванные базы данных. Такие базы основываются на понятии объекта. Объектно-ориентированные базы данных служат для работы с дан- ными в сложных предметных областях, для моделирования которых не хватает функциональности реляционной модели. Также важна была задача сохранения состояния объектов между повторными запусками прикладной программы. Большинство объектно-ориентированных баз данных представляют собой библиотеки, процедуры управления данными, которые включаются в прикладную программу. Например, системы автоматизированного проектирования, изда- тельские системы и т. д. На сегодняшний день наиболее часто используются реляцион- ные базы данных. Они наиболее просты и удобны в использовании, хотя и не всегда наиболее эффективны. СУБД Microsoft Access, рас- сматриваемая в данном пособии, относится именно к этому классу. СУБД MS Access применяется, если прикладная задача требует хранения и обработки разнородной информации о большом количе- стве объектов и предполагает возможность многопользовательского режима работы. Примером может служить задача ведения бухгалтер- ского учета или работы с клиентами. Основные функции СУБД MS Access — это определение, т. е. описа- ние структуры базы данных, обработка данных и управление данными. База данных в MS Access обычно содержит совокупность сведе- ний о предметной области (о реальных объектах, процессах, собы- тиях или явлениях). Она организованна таким образом, чтобы обес- печить удобное представление этой совокупности, как в целом, так и любой ее части. Перед началом создания базы данных необходимо продумать вы- полнение следующих шагов. 1. Проектирование структуры базы данных 1.1. Постановка задачи (какая информация будет храниться в базе данных). 1.2. Определение состава и структуры таблиц (для информа- ции о различных объектах должны быть созданы различ- ные таблицы). 2. Определение связей между таблицами. 3. Наполнение базы данных информацией. 4. Использование базы данных. 4.1. Корректировка данных. 4.2. Поиск нужной информации. 4.3. Анализ информации. 4.4. Представление информации в удобном для пользователя виде. Раздел 1. Основные понятия реляционных баз данных
Таблица — информация об однотипных объектах. Запись — строка таблицы, информация об одном объекте. Атрибут — столбец таблицы, информация о конкретном призна- ке всех объектов. Поле — ячейка таблицы, информация о конкретном признаке кон- кретного объекта. Ключевое поле или ключ — поле, однозначно определяющее кон- кретную запись, ее уникальный идентификатор; в ключевых полях не допускаются совпадения. Вам предстоит научиться выполнять операции в СУБД Microsoft Access. В первую очередь познакомимся с перечнем объектов, из ко- торых состоит база данных. Таблицы. Основные объекты базы данных. Создание базы начи- нается с создания первой таблицы. Таблицы состоят из строк (запи- сей), содержащих сведения об объектах. Каждая таблица хранит ин- формацию об объектах одного вида. Структура таблицы определяется характером информации об этих объектах. Запросы. Позволяют пользователю выполнять обработку данных, хранящихся в таблицах. Это может быть выборка данных в соответ- ствии с некоторыми условиями или другие операции с данными. Формы. Используются для просмотра, ввода и редактирования ин- формации в полях базы данных. Они представляют собой более удоб- ный способ просмотра и правки данных в таблицах, чем таблицы. Отчеты. Предназначены для форматирования, вычисления ито- гов и печати выбранных данных. Знакомство с остальными объектами выходит за рамки данного пособия. Интерфейс MS Access 2010 Пользовательский интерфейс MS Access 2010 включает три основ- ных компонента: – Лента — полоса в верхней части окна приложения, содержащая группы команд. – Представление Backstage — набор команд на вкладке Файл на ленте. – Область навигации, расположенная в левой части окна MS Access, предназначенная для работы с объектами базы данных. Три этих элемента формируют среду, в которой создаются и ис- пользуются базы данных. Рассмотрим подробнее эти элементы. Лента содержит основные вкладки с группами наиболее часто ис- пользуемых команд, контекстные вкладки, которые появляются, когда их использование допустимо, и панель быстрого доступа — неболь- шую панель инструментов, на которую можно добавить самые нуж- ные команды. Лента заменила меню и панели инструментов. Она является ос- новным командным интерфейсом в MS Access 2010. Одно из глав- ных преимуществ ленты состоит в том, что на ней собраны средства выполнения задач, которые раньше находились в меню, на панелях инструментов, в областях задач и других компонентах пользователь- ского интерфейса. Благодаря этому нужную команду не приходится искать в нескольких разных местах. При открытии базы данных лента появляется в верхней части глав- ного окна MS Access. На ней отображаются команды активной вклад- ки команд (рис. 1.4). Рис. 1.4
В MS Access 2010 основные вкладки команд — Файл, Главная, Со- здание, Внешние данные и Работа с базами данных. Каждая вкладка содержит группу связанных команд, которые могут открывать другие новые элементы интерфейса. На вкладке Главная можно осуществлять выбор режима представ- ления объекта, работу с записями, копирование и вставку данных из буфера обмена, форматирование текста. На вкладке Создание создание пустой таблицы в режиме конструк- тора, создание таблицы на основе шаблона, создание списка на сай- те SharePoint, создание формы или отчета на основе активной табли- цы или запроса. На вкладке Внешние данные возможен импорт или связывание внешних данных, экспорт данных, запуск диспетчера связанных таблиц. На вкладке Работа с базами данных выполняется перенос некото- рых или всех частей базы данных на новый или существующий сайт SharePoint, создание и просмотр отношений между таблицами, показ или скрытие зависимостей объектов. Команды ленты также соответствуют объекту, активному в настоя- щее время. Некоторые вкладки ленты появляются только в опреде- ленном контексте. Например, вкладка Конструктор появляется толь- ко при открытии объекта в режиме конструктора. Если необходимо выделить на экране дополнительное простран- ство для работы, можно свернуть ленту и оставить только строку с вкладками команд. Чтобы скрыть ленту, дважды щелкните актив- ную вкладку команд. Чтобы показать ее, сно- ва дважды щелкните активную вкладку команд. Рис. 1.5 Панель быстрого доступа (рис. 1.5), нахо- дящаяся рядом с лентой, обеспечивает доступ к командам одним щелчком мыши. Набор по умолчанию включает команды Сохранение, Отмена и Возврат. Пользователь сам может на- строить панель быстрого доступа, добавляя в нее наиболее часто ис- пользуемые команды. Представление Backstage Представление Backstage открывается при запуске при- ложения MS Access. Содержит команды и сведения, приме- нимые ко всей базе данных, такие как создание или от- крытие базы данных, разме- щение в Интернете на серве- ре SharePoint Server, а также команды, которые в более ранних версиях содержа- лись в меню Файл, например команда Печать. Область навигации Область навигации (рис. 1.6) позволяет органи- зовать объекты базы данных и является основным сред- ством открытия или измене- ния объектов базы данных. Область навигации можно уменьшить или скрыть, но она
Рис. 1.6 не загораживается при открытии объектов базы данных поверх нее. При открытии имеющейся или создании новой базы данных имена объектов базы данных появляются в области навигации. К объектам базы данных относятся таблицы, формы, отчеты, страницы, макро- сы и модули. Область навигации заменяет окно базы данных, доступ- ное в более ранних версиях MS Access. Чтобы открыть объект базы данных или применить к нему коман- ду, щелкните его правой кнопкой мыши и выберите команду в кон- текстном меню. Команды контекстного меню зависят от типа объекта. Все объекты базы данных в области навигации делятся на катего- рии, которые содержат группы. Некоторые категории являются встро- енными, но можно создавать и пользовательские группы. При необходимости можно отключить отображение области на- вигации нажатием кнопки в правом верхнем углу области навигации ( ) или нажав клавишу F11. Создание базы данных Создание базы данных начинается с обращения к представлению Backstage (вкладка Файл). Представление Backstage является первым шагом для создания новых баз данных и работы с уже существующи- ми. Выбрав вкладку Создать, можно увидеть доступные в ней команды. На этой вкладке отображены методы создания баз данных: 1) шаблоны, устанавливаемые вместе с программным продуктом (рис. 1.8); 2) шаблоны с сайта Office.com. Рис. 1.8 Наиболее простой вариант создания базы данных — с помощью шаблона. Для этого в группе Доступные шаблоны щелкаем элемент Новая база данных: 1) справа в разделе Новая база данных в поле Имя файла вводим имя файла базы данных и определяем место хранения этого файла; 2) нажимаем кнопку Создать. Будет создан новый файл базы данных и открыта новая таблица в режиме отображения таблицы. Создание базы данных начинается с создания таблиц и проекти- рования связей между соответствующими полями.
Таблицы Таблица — это объект базы данных, в котором хранятся сведения, относящиеся к конкретной предметной области. Например, можно создать таблицу «Клиенты» для хранения имен, адресов электронной почты и телефонных номеров клиентов фирмы. Каждая запись содержит данные об одном элементе таблицы, на- пример о конкретном сотруднике. Запись также часто называют стро- кой. Строка состоит из полей. Каждое поле содержит данные об одном аспекте элемента таблицы, например имя пользователя или адрес элек- тронной почты. В MS ACCESS действуют ограничения на имена полей. Имя поля: 1) должно содержать не более 64 символов; 2) может содержать любую комбинацию букв, цифр; 3) не может содержать точки (.), восклицательного знака (!), над- строчного символа (`) и прямых скобок ([]); 4) не должно начинаться с пробела; 5) не должно включать управляющие символы (с кодами ASCII от 0 до 31); 6) допускает пробелы, но они могут вызывать конфликты при ра- боте с другими системами; 7) не должно совпадать с зарезервированными словами, напри- мер, не следует давать полю имя Count, Sum и т. п.; 8) должно быть уникальным в пределах таблицы. База данных может содержать множество таблиц, в которых хра- нятся данные о различных объектах. Каждая таблица может содержать множество полей различных типов, таких как текст, числа, даты, ги- перссылки и другие. В ACCESS 2010 при работе с таблицами существуют ограничения. Таблица 1
Типы данных У каждого поля есть тип. Тип является свойством поля и задается в конструкторе таблиц. Если перевести курсор мыши в ячейку «Тип поля», то высвечивается список допустимых типов полей, из которого и следует выбрать подходящий для описываемого поля тип. Имя и тип поля должны задаваться обязательно. Графа «Описание» может не за- полняться. Эта графа используется в целях документирования проекта. Тип поля определяет допустимые символы, которые могут быть использованы при его заполнении. Если допущена ошибка в типе данных или неправильно введены данные, то необходимо исправить ошибку, так как программа не даст возможность продолжить работу. Например, Текстовый тип — это комбинация букв, цифр и дру- гих символов. Максимальный размер поля (максимальное количество символов, которое можно ввести в это поле) — 255. Хранятся только введенные в поле символы; позиции, не использованные в текстовом поле, не хранятся. Для управления максимальным числом вводимых символов определяется свойство Размер поля. По умолчанию размер текстового поля устанавливается 255 символов. Сравнение и упоря- дочение текстовых данных производится по алфавиту, причем, ци- фры располагаются раньше букв, а буквы латинского алфавита рань- ше, чем русского. Примеры заполнения поля: Иванов Иван Иванович 2-12-85-06 1000 р. 1234 NuNuCa Nuss-Nougat-Crème. Возможно автоматическое определение типа данных, если поле создается в режиме таблицы путем ввода данных. В этом случае про- грамма автоматически назначает полю тип данных на основе введен- ного значения, который впоследствии можно изменить. Допустимые типы полей в MS ACCESS и их краткая характери- стика приведены в таблице 2.
Таблица 2
Окончание табл. 2
В Свойствах поля сетки конструктора отображается список свойств активного поля. Перечень свойств будет зависеть от вы- бранного типа поля. Некоторые типы полей имеют схожие наборы свойств полей. Ниже перечислены основные свойства полей: – размер поля – формат поля – маска ввода – подпись – значение по умолчанию – условия на значения – сообщение об ошибке – индексированное поле. Размер поля Определяет максимальную длину текстового поля (по умолчанию 50 знаков) или тип данных числового поля. Рекомендуется задавать минимально допустимое значение этого свойства, потому что обра- ботка данных меньшего размера выполняется быстрее. Если вы преоб- разуете поле в меньшее по размеру, может произойти потеря данных. Формат поля Определяет формат вывода значений данного поля. Маска ввода Использование масок ввода обеспечивает контроль использования допустимых символов и облегчает процесс ввода данных. Например. Ввод в таблицу фамилий сотрудников. Для соответствующего поля можно задать маску ввода. Маска по- зволит использовать только буквы при вводе, обеспечит преобразова- ние первого символа в верхний регистр, всех остальных — в нижний, и не допустит ошибочного ввода фамилии, состоящей из одной буквы. В MS ACCESS такая маска ввода будет выглядеть следующим об- разом: >L<L???????????? Символ «L» в маске обозначает, что в данную позицию должна быть введена буква, символ «?» обозначает, что в данную позицию может быть введена буква. Символ «>» преобразует все символы, расположен- ные правее этого знака, к верхнему регистру, символ «<»преобразует все символы, расположенные правее этого знака, к нижнему регистру. Подпись Определяет текст, который будет отображаться по умолчанию в надписях для форм, отчетов или запросов. Условия на значения Предназначено для определения ограничений. Условия вводят- ся как выражения. Выражения могут быть простыми или сложны- ми. Используя их можно задавать и диапазоны. Например, условие: >#1.92#, заданное как «Условие на значения» для поля «ДАТА_ПРИЕ- МА_НА_РАБОТУ», будет означать, что допустим ввод дат только по- сле 1992 года. Условия на значения могут задаваться для полей или записей. Вы- ражения, определяющие условия на значения, не должны содержать функции, определяемые пользователем, статистические функции или функции по подмножеству, а также ссылки на формы, запро- сы и таблицы. Условия на значения для записей задаются в окне свойств табли- цы, вызываемом командой «Свойства» меню «Вид» в режиме кон- структора таблицы. Индексированное поле Индексированное поле можно использовать для контроля уникаль- ности. В MS ACCESS, как и во многих других системах, при опреде- лении для индексированного поля значения свойства «уникальный индекс» в это поле не допускается ввод повторяющихся значений. Индексированные поля, или индексы, отличаются от обычных по- лей тем, что для них MS ACCESS создает специальные списки, позво- ляющие выполнять быструю сортировку и поиск по содержимому ин- дексированного поля. Таблица может содержать несколько индексов. Специальный индекс называется Ключ (первичный ключ) (рис. 1.9), идентифицирующий записи. Значения такого поля дол- жны быть уникальными. Его наличие не обязательно, но оно так ча- сто используется, что при отсутствии ключа MS ACCESS напоминает об этом и предлагает автоматически добавить ключевое поле. Рис. 1.9
В тех СУБД, которые поддерживают концепцию ключа (в том числе и MS ACCESS), после того как в таблице определяется ключ, по это- му полю производится индексирование и запрещается ввод повто- ряющихся или пустых значений ключа. При создании таблицы в режиме таблицы MS ACCESS автомати- чески создает поле первичного ключа с именем «Код» и типом дан- ных «Счетчик». Изменить или удалить первичный ключ и задать первичный ключ для таблицы, в которой его еще нет, можно в режиме конструктора. Предполагаемый первичный ключ должен обладать указанными ниже характеристиками: 1. Значение данного поля или сочетания полей должно быть уни- кальным для каждой записи. 2. Поле или сочетание полей никогда не должно быть пустым или содержать значение NULL. 3. Значения не должны изменяться в процессе работы с БД. Свойство «Индексированное поле» определяет, надо ли создавать индекс по этому полю. Не допускается создание индексов для полей MEMO, гиперссылок и объектов OLE.
Создание таблиц Есть несколько режимов создания новой таблицы, отличающихся уров- нем автоматизации (рис. 1.10). Неза- висимо от того, в каком режиме нача-
Рис. 1.10 та работа, всегда можно переключиться в другой режим с помощью кнопок режимов в строке состояния окна MS ACCESS. 1. Создание новой пустой таблицы Рис. 1.11 MS ACCESS откроет пустую таблицу (рис. 1.11), в которой ото- бражаются строки и столбцы, куда необходимо ввести данные. Пер- вое поле имеет формальное имя Код. Тип данных поля определяется на основе вводимых данных. Структура таблицы создается при вво- де данных. Если закрыть таблицу без сохранения, она будет удалена. Для переименования столбца (поля) дважды щелкните заголовок столбца и введите новое имя. Для перемещения столбца выделите его, щелкнув заголовок столбца, а затем перетащите в нужное место. Можно также выделить несколько смежных столбцов и перетащить их все в другое место. 2. Создание таблицы в режиме конструктора Наиболее универсальный метод. Рис. 1.12
В этом режиме можно самостоятельно задать имена полей, выбрать их тип и настроить свойства. В режиме конструктора (рис. 1.12) снача- ла следует создать структуру новой таблицы. Затем для ввода данных следует переключиться в режим таблицы. При желании можно вве- сти в столбце Описание дополнительные сведения для каждого поля. Это описание отображается в строке состояния, если курсор находит- ся в данном поле. После добавления всех полей сохраните таблицу. 3. Создание таблицы на основе списка SharePoint Создать таблицу можно путем импорта данных, хранящихся в дру- гом месте, или создания связи с ними. Это можно сделать, например, с данными, хранящимися в файле Excel, в списке Windows SharePoint Services, XML-файле, другой базе данных MS ACCESS. Список SharePoint позволяет предоставить доступ к данным пользователям, у которых не установлено приложение MS ACCESS. При импорте дан- ных создается их копия в новой таблице текущей базы данных. По- следующие изменения, вносимые в исходные данные, не будут влиять на импортированные данные, и наоборот. Если осуществляется связы- вание с данными, в текущей базе данных создается связанная таблица, обеспечивающая динамическое подключение к данным, хранящим- ся в другом месте. Изменения данных в связанной таблице отража- ются в источнике, а изменения в источнике — в связанной таблице. Создание поля подстановки Поле подстанов- ки предназначено для упрощения ввода дан- ных и предотвращения ошибок. Поле подстанов- ки позволяет выбрать информацию из дру- гого поля раннее со- зданной таблицы, что ускоряет процесс вво- да и гарантирует пра- вильность написания данных, или создать заранее определенный набор данных, вводи- мых в конкретное поле. Рис. 1.13 Поле подстановок можно создать, используя Мастер подстановок (рис. 1.13). Для этого: 1. Открыть таблицу в режиме конструктора. 2. В столбце «Тип данных» поля, где будет сделана подстановка, в раскрывающемся списке выбрать «Мастер подстановок». 3. Мастер создает столбец подстановки, в котором отображается список значений для выбора. Рис. 1.14 4. Столбец может быть создан: из раннее созданной таблицы или запроса; из набора фиксированных значений (рис. 1.14). В первом случае необходимо выбрать объект, из которого делаем подстановку столбца (таблица или запрос). Во втором случае ввести с клавиатуры набор данных, элемент только из этого набора сможет присутствовать в новом столбце. По умолчанию списки значений используют текстовый тип данных. В свойствах полей (рис. 1.15) всегда можно посмотреть параме- тры подстановки. Рис. 1.15
Связи между таблицами Основные преимущества систем управления базами данных реа- лизуются при работе не с отдельными таблицами, а с группой взаи- мосвязанных таблиц. Используя связи, создаются запросы, получаю- щие данные из двух или большего числа таблиц. Для создания связей между таблицами применяют специальное окно Схема данных (рис. 1.16). Окно Схема данных открывают на вкладке Работа с базами дан- ных в группе Отношения. Возможны два варианта: 1) если ранее при создании таблиц был использован Мастер под- становок, то связи между полями таблиц уже установлены и отображены в окне; 2) если никаких связей между таблицами базы не было, то при открытии окна Схема данных открывается окно Добавление таблицы, в котором нужно выбрать таблицы для включения в структуру межтабличных связей. Затем установить связь пу- тем перетаскивания имени ключевого поля из одной таблицы в другую на соответствующее ему связываемое поле. После построения связей между таблицами для каждой связи от- крыть окно Изменение связи, в котором можно задать свойства обра- зованной связи (рис. 1.17). Флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей обеспечивают одно- временное обновление или удаление данных во всех подчиненных таблицах при их изменении в главной таблице. Включение флажка Обеспечение целостности данных позволяет защититься от случаев удаления записей из одной таблицы, при которых связанные с ними данные других таблиц останутся без связи. Рис. 1.16 Рис. 1.17
Связи между таблицами отражают структуру связей (отношений) ме- жду взаимодействующими объектами и могут быть разделены на три типа. – Один-к-одному Каждому объекту одного типа соответствует один и только один объект другого типа. Например, человек и его паспорт. Если хранить какую-либо информацию о человеке в одной таблице, а паспортные данные в другой, то таблицы должны быть связаны именно таким образом. Возникает вопрос, нельзя ли хранить все в одной таблице? Можно, но не всегда удобно. Данные нужны разным людям в разных ситуациях, права доступа к их элементам могут различаться, да и ра- ботать с длинными записями не всегда удобно. Ключевые поля у та- ких таблиц совпадают, и связь осуществляется именно между клю- чевыми полями. – Один-ко-многим Встречается чаще других. При отношении один-ко-многим таб- лица, находящаяся на стороне отношения «один» называется глав- ной (адресуемой) таблицей. Таблица на стороне отношения «многие» называется внешней (адресующей). Каждая запись одной таблицы мо- жет быть связана с несколькими (в том числе ни с одной) записями другой таблицы. Примером может служить связь между таблицами Товары и Поставщики: каждый вид товара имеет только одного по- ставщика, но поставщик может поставлять несколько видов товаров. При такой связи ключевое поле таблицы на стороне «много» совпада- ет (и связывается) с не ключевым полем таблицы на стороне «один». – Многие-ко-многим Также встречается достаточно часто. Каждая из таблиц может иметь несколько значений в другой таблице. Например, связь ме- жду клиентами и товарами: каждый клиент может приобрести много товаров, и каждое наименование товара может быть куплено многи- ми клиентами. Таблицы в СУБД MS Access не могут быть непосред- ственно связаны между собой по типу «многие-ко-многим». Вместо этого создается дополнительная связывающая таблица и устанавли- вается две связи «один-ко-многим» между связывающей и исходны- ми таблицами.
Запросы Основным назначением баз данных является работа с данными, т. е. добавление, поиск, просмотр, изменение, удаление данных. Для этой цели служат запросы. Запрос представляет собой обращение к данным для получения необходимой информации и (или) выпол- нения действий с данными. Запросы, используемые для извлечения данных из таблицы или выполнения расчетов, называются запросами на выборку. Запросы, используемые для добавления, изменения или удаления данных, называются запросами на изменение. Запрос получает требуемую информацию из одной таблицы или из двух и более связанных таблиц. Результатом выполнения запро- са является новая таблица, поля которой выбираются из одной или нескольких таблиц. С помощью запросов также выполняют преобра- зование данных по заданному алгоритму и простейшие вычисления. Запросы, так же как таблицы, служат основой для форм и отчетов. Создание запросов Создание запроса к базе начинается с обращения к вкладке Созда- ние окна База данных. Выбрав эту вкладку, можно увидеть доступ- ные в ней команды. На этой вкладке отображены методы создания запросов: 1. С помощью Мастера запросов, который упрощает создание простого, перекрестного запроса, а также запросов на поиск повторяющихся записей. При этом: – Простой запрос — Создает запрос к выбранным полям. – Перекрестный запрос — суммирует данные в табличной форме. – Повторяющиеся записи — обнаруживает повторяющиеся за- писи в таблице. Записи без подчиненных — обнаруживает в таблице записи, у ко- торых нет соответствующей записи в связанной таблице. Рис. 1.18 2. Создания запроса с помощью Конструктора (рис. 1.18). 3. Это наиболее часто используемый способ создания запросов. Конструктор открывает чистый бланк запроса. Окно Конструктора состоит из двух частей. В верхней части распо- лагаются объекты, данные из которых требуются в запросе (рис. 1.19). Это могут быть таблицы, запросы с названиями полей и связями ме- жду ними. Рис. 1.19
Нижняя часть бланка предназначена для ввода параметров запроса: 1) первая строка бланка содержит имена полей, включенных в за- прос; 2) вторая строка — объект, к которому принадлежит поле; 3) третья — групповая операция (если эта операция присутству- ет), позволяющая выполнять вычисления над значениями по- лей; 4) четвертая указывает принцип сортировки записей; 5) пятая — вывод на экран; 6) шестая — условия отбора записей; 7) седьмая — задает альтернативные условия. Выражения, используемые в условиях отбора, вводятся вручную или создаются с помощью Построителя выражений (рис. 1.20). Рис. 1.20
Выражение — это аналог формул. Выражения могут содержать: – константы (1,5; 0,012; «АВ»); – операторы (>; <; =; *;/; +; <>; between;&); – идентификаторы (названия объектов или полей); – встроенные функции (sum (); avg (); date ()). Результатом вычисления любого выражения является некоторое значение. Для открытия окна Построителя выражений нужно щелкнуть в поле условий отбора правой клавишей мыши или обратиться на лен- ту к инструменту Построитель. Построитель предоставляет иерархические списки, содержащие большинство элементов (функций, операторов, полей), которые мож- но включить в выражение (рис. 1.21). Выбрав нужный элемент, можно скопировать его в поле выраже- ния, а затем щелкнуть по кнопке ОК, чтобы поместить его в бланк. Можно выбирать нужные поля объектов БД (таблиц, запросов, форм), вставлять операторы и константы в выражения для вычисле- ний и критериев. В примере с помощью Построителя выражений получена форму- ла с использованием выделенного поля запроса (рис. 1.22). После ввода условий отбора запрос необходимо сохранить. Виды запросов Запрос на выборку Цель запроса на выборку состоит в создании результирующей таб- лицы, в которой отображаются только нужные по условию запроса данные из связанных таблиц. В этом запросе можно сгруппировать записи для вычисления сумм и средних значений (рис. 1.23). При помощи строки «Условие отбора», можно отобрать записи, используя следующие типы условий. Рис. 1.21 Рис. 1.22 Рис. 1.23
1. Точное соответствие: вводится значение (текстовая строка или количество денег), которому должно соответствовать значение в поле. 2. Частичное соответствие. Используется комбинация цифр, букв и значков замены, которой должны соответствовать значения поля.
Таблица 3
3. Критерии исключения. Используется оператор NOT для ис- ключения записей, соответствующих этому критерию. Напри- мер: NOT АВ. 4. Соответствие по дате. Используется точная дата или оператор DATE (), который представляет дату по часам ПК. 5. Пустые значения. Используется константа NULL для указания, что следует видеть только пустые ячейки. NOT NULL — толь- ко не пустые ячейки. 6. Операторы сравнения (>, <, =>, <=, <>, =). 7. Множественные критерии. Для составления множественных критериев в внутри одного поля используются логические опе- раторы (NOT, AND, OR, BETWEEN). Запрос с параметром Каждый раз при выполнении такого запроса появляется окно, в ко- торое пользователь с клавиатуры может вводить различные вариан- ты критериев поиска. Например, параметр — год рождения студентов группы. При первом обращении к запросу ищем студентов 1990 года рождения. При втором обращении вводим другое значение параме- тра — 1992. Получаем список студентов с 1992 годом рождения и т. д. Параметров в запросе может быть несколько. Например, если нуж- но получать отчет, который определяется периодом. Логично в запро- се задать два параметра: первый параметр — начало периода и второй параметр — конец периода. Порядок действий при создании запроса с параметром: – отрыть новое окно для построения запроса в режиме Конструк- тора; – для каждого поля, которое предполагается использовать как параметр, ввести в ячейку строки «Условия отбора» текст при- глашения, заключенный в квадратные скобки. Это приглаше- ние будет выводиться при запуске запроса. Текст приглашения должен отличаться от имени поля, но может включать его. Примеры: а) параметром в запросе является фамилия клиента, которая вво- дится с клавиатуры (рис. 1.24); Рис. 1.24
б) для ввода параметров временного интервала удобно использо- вать оператор BETWEEN «Выражение» and «Выражение». В качестве первого параметра «Введите начальную дату» и со- ответственно второго — «Введите конечную дату». Приглаше- ния будет иметь вид BETWEEN [Введите начальную дату] and [Введите конечную дату]; в) чтобы запросить у пользователя первый символ для поиска за- писей, которые начинаются с него: LIKE [Введите первый символ для поиска] & «*». Перекрестные запросы В результирующей таблице отображаются данные, полученные на основе статистических расчетов, выполненных на основе одной или нескольких таблиц. Данные результирующей таблицы группи- руются по двум наборам: первый расположен в левом столбце таб- лицы, а второй — в верхней строке. Ячейки на пересечении строк и столбцов содержат вычисляемые значения (суммы, средние значе- ния, количество). Запрос на действие (активный запрос) Вносит множественные изменения за одну операцию. Фактиче- ски это запрос на выборку, который выполняет определенные дей- ствия над результатом отбора (обновление, удаление, добавление за- писей и создание таблицы). Для создания активного запроса необходимо создать запрос на вы- борку (рис. 1.25) в режиме Конструктора, а затем превратить его в ак- тивный запрос, выбрав тип запроса. Рис. 1.25
Отмена внесенных изменений после запуска активного запроса бу- дет невозможна, поэтому всегда при работе с активными запросами необходимо сохранять резервную копию объектов БД, которые нахо- дятся под воздействием активного запроса. Существует четыре фор- мы запросов на действие: 1. Активный запрос на создание таблицы – Создаёт новую таблицу на основе всех или части данных из одной или нескольких таблиц. – Создаёт резервную копию таблицы. – Создаёт архивную копию, содержащую старые записи. 2. Активный запрос на добавление – Добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких других таблиц. 3. Активный запрос на обновление записей Вносит общие изменения в группу записей одной или несколь- ко таблиц. 4. Активный запрос на удаление Удаляет группу записей из одной или нескольких таблиц. Вычисления в запросах Поле, содержимое которого является результатом расчета по зна- чению других полей, называется вычисляемым полем. Вычисляемое поле существует только в результирующей табли- це. В исходных таблицах такое поле не создается. С помощью запро- сов можно манипулировать данными и получать любые результаты, но при этом исходные таблицы остаются неизменными. Для создания запроса, производящего вычисления, в столбце за- писывают имя нового поля и формулу. Имя нового вычисляемого поля отделяется от формулы двоеточием. В формулу могут входить числа, заключенные в квадратные скобки названия полей, участвую- щих в расчете, а также знаки математических операций и функции. Например: Стоимость покупки: [ЦЕНА] * [КОЛИЧЕСТВО] Название нового поля поле1 поле2 двоеточие знак операции
При записи длинной формулы при нажатой комбинации SHIFT+F2 открывается вспомогательное окно диалога, которое на- зывается Область ввода. В нем можно ввести формулу произвольной длины — ОК. Формы MS Access позволяет с помощью форм создавать пользовательский интерфейс для работы с таблицами. Форму можно рассматривать как электронный документ, содержащий поля для ввода данных. Распо- ложение полей может задаваться пользователем. Проектирование формы состоит в размещении элементов управ- ления на бланке формы и в задании связей между этими элементами и полями таблиц или запросов базы данных. Структура форм состоит из разделов и элементов управления. Форма имеет три раздела: — раздел заголовка формы; — область данных; — раздел примечания формы. В области данных содержатся элементы управления: — связанное поле — то, что в него вводится, поступает и в одно- именное поле таблицы, на базе которой создана форма; — присоединенная надпись — называется так, поскольку переме- щается вместе со своим элементом управления. Фоновый рисунок, лежащий под элементами управления, пока- зывает размер рабочего поля формы. Редактирование форм состоит в создании новых или изменении имеющихся элементов управления, а также в изменении из взаимно- го расположения. Для форматирования элемента управления его надо сначала вы- делить, щелкнув по нему. Вокруг элемента по периметру появляются маркеры. Теперь можно изменять параметры шрифта, выравнивание текста и другие элементы форматирования. Рамку можно растягивать или сжимать методом перетаскивания границ. При наведении на мар- кер указатель мыши меняет форму, принимая изображение открытой ладони. В этот момент рамку можно перемещать. Можно также использовать дополнительные возможности изме- нения оформления, которые располагаются на панели форматирова- ния: толщина линии/границы; оформление с тенью. Элементы управления, в которых отображается содержимое по- лей таблицы, называются связанными полями. Для их созданий служит элемент «Поле» на панели элементов. При создании связанного поля вместе с ним одновременно образуется еще один элемент управления — присоединенная надпись. Оторвать поле от присоединенной надписи позволяет маркер, расположенный в ле- вом верхнем углу выделенного поля. При наведении на него указа- тель мыши принимает форму указательного пальца. В этот момент связанное поле можно оторвать от присоединенной надписи и пере- мещать отдельно. Перемещать элементы управления и изменять их размеры с по- мощью мыши не слишком удобно. Удобнее использовать курсор- ные клавиши и: – shift — для изменения размеров элемента управления; – ctrl — для изменения его расположения. Форма создается на основе таблицы или запроса. Формы могут быть выведены на экран в трех видах: режим фор- мы, режим макета и режим конструктора (рис. 1.26). Рис. 1.26 Создание форм можно выполнять автоматически (автоформы), полуавтоматически (с помощью Мастера) или вручную (в режиме Конструктора). Автоформы — самый простой вид форм. Для создания автофор- мы надо на панели навигации выделить объект, для которого созда- ется форма, открыть вкладку Создать, Формы. При этом получаем электронный бланк, содержащий все поля объекта, содержание которых можно проверять и редактировать (рис. 1.27), и также вводить новые. В нижней части бланка счетчик, с помощью которого можно найти требуемую запись. Рис. 1.27
Форма с помощью Мастера создается в четыре шага: 1) выделение объекта, для которого создается форма, выбор по- лей; 2) выбор внешнего вида формы; 3) выбор элементов форматирования формы; 4) ввод имени формы. Готовую форму можно также использовать для просмотра суще- ствующих записей или для ввода новых. В этом случае получаем электронный бланк, содержащий не все поля объекта, а только те, которые необходимы пользователю (рис. 1.28). Их также можно редактировать и также вводить новые данные. Рис. 1.28
Главная и подчиненная формы Существуют формы, в которых можно одновременно отобразить информацию из двух или более связанных таблиц. В этом случае внеш- няя форма называется главной, вложенные — подчиненными. В ре- зультате в окне такой формы выводятся только те записи подчинен- ной таблицы, которые связаны с текущей записью исходной (главной) таблицы. Комбинацию «главная форма/подчиненная форма» часто называ- ют также сложноподчиненной формой или комбинацией «родитель- ской» и «дочерней» форм. При создании главной формы и подчиненной формы, основан- ных на таблицах, связанных отношением «один-ко-многим», глав- ная форма представляет сторону отношения «один», а подчиненная форма представляет сторону «многие». Подчиненные формы не ото- бражаются, когда главная форма находится в режиме сводной табли- цы или сводной диаграммы. Главная форма может иметь любое число подчиненных форм, если каждая подчиненная форма помещается в главную форму. Имеется также возможность создавать подчиненные формы до семи уровней вложенности. Это означает, что можно иметь подчиненную форму внутри главной формы, а другую подчиненную форму внутри этой подчиненной формы и т. д. Например, можно иметь главную форму, отображающую сведения о клиентах, подчиненную форму, отобра- жающую сведения о заказах, и еще одну подчиненную форму, ото- бражающую сведения о заказанных товарах. Однако в форме в режи- ме сводной таблицы или сводной диаграммы подчиненные формы не отображаются. При использовании формы с подчиненной формой для ввода но- вых записей текущая запись в главной форме сохраняется при вводе данных в подчиненную форму. Это гарантирует, что записи из таб- лицы на стороне «многие» будут иметь связанную запись в таблице на стороне «один». Это также автоматически сохраняет каждую за- пись, добавляемую в подчиненную форму. Создание главной и подчиненной форм: 1) на ленте выбрать вкладку Создание; 2) в Области навигации выделить связанные объекты, данные из которых размещаются в формах; 3) в группе Формы выбрать команду Мастер форм, открывается окно Создание форм (рис. 1.29); Рис. 1.29 4) в окне из раскрывающегося списка Таблицы и Запросы выбрать первый объект для главной формы; 5) в окне Доступные поля выбрать имена полей для главной формы; 6) вернуться в окно с раскрывающимся списком Таблицы и За- просы, выбрать следующий объект для подчиненной формы; 7) вернуться в окно Доступные поля, выбрать имена полей для подчиненной формы; Далее; переключатель Подчиненные формы; Готово (см. рис. 1.). Рис. 1.30
Главная кнопочная форма С помощью главной кнопочной формы можно осуществлять на- вигацию по формам и отчетам базы данных. Пользователю базы дан- ных нет необходимости просматривать всю структуру базы. Пользо- ватель с помощью форм может внести изменения в таблицы и затем получить отчеты с учётом новых данных. Запросы и таблицы не яв- ляются элементами главной кнопочной формы. Для создания главной кнопочной формы нужно воспользовать- ся инструментом Диспетчер кнопочных форм. Если на вкладке Ра- бота с базами данных этого инструмента нет, то его можно добавить на Панель быстрого доступа. Для этого на вкладке Файл, выбрать Параметры, затем Панель бы- строго доступа. После этого на вкладке Настройка панели быстро- го доступа надо выбрать из раскрывающегося списка строку Вклад- ка «Работа с базами данных» и в списке команд выделить Диспетчер кнопочных форм (рис. 1.31). Рис. 1.31
Создание главной кнопочной формы: 1) открыть базу данных; 2) обратиться к «Диспетчеру кнопочных форм» (рис. 1.32); 3) если выводится запрос на подтверждение создания кнопочной формы, нажмите кнопку «Да». Рис. 1.32
4) дальнейшая работа будет производиться со стандартной кно- почной формой; 5) нажать кнопку «Изменить»; 6) нажать кнопку «Создать» (рис. 1.33). Рис. 1.33
7) в поле «Текст» введите текст названия первой кнопки кнопоч- ной формы, а затем выберите для нее команду в поле Команда; 8) для создания второй кнопки используйте команду «Создать», после чего открывается окно «Изменение элемента кнопочной формы» для новой кнопки (рис. 1.34). Рис. 1.34 Получаем главную кнопочную форму (рис. 1.35). Рис. 1.35
Чтобы изменить или удалить какую-либо из созданных кнопок, вы- берите ее имя в списке «Элементы данной кнопочной формы» и на- жмите кнопку «Изменить» или «Удалить». Если требуется изменить порядок элементов кнопочной формы, выберите элемент в списке и воспользуйтесь кнопками «Вверх» или «Вниз». Закончив создание кнопочной формы, нажмите кнопку «Закрыть». Чтобы кнопочная форма открывалась при открытии базы данных, выберите имя кнопочной формы в диалоговом окне «Диспетчер кно- почных форм» и нажмите кнопку «По умолчанию». При создании кнопочной формы с помощью диспетчера кнопоч- ных форм создается таблица «Switchboard Items». Эта таблица описы- вает текст и действия кнопок созданной формы. Если позднее появит- ся необходимость внести изменение в кнопочную форму, то сначала необходимо удалить соответствующую ей таблицу «Switchboard Items», а затем внести изменения.
Отчеты Отчеты служат для форматированного вывода данных на печатаю- щие устройства. При создании отчета MS Access всегда оперирует толь- ко с одной единственной таблицей или запросом. Если необходимо объ- единить информацию из нескольких таблиц и (или) запросов в одном отчете, то прежде следует собрать желаемые данные в одном запросе. Структура отчетов состоит из разделов и элементов управления. Проектирование отчета состоит в создании структуры его разделов и в размещении элементов управления внутри этих разделов, а так- же в задании связей между этими элементами и полями таблиц или запросов базы данных. Структура готового отчета отличается от структуры формы увели- ченным количеством разделов. Кроме разделов заголовка, примеча- ния и данных, отчет может содержать разделы верхнего и нижнего ко- лонтитулов. Если отчет занимает более одной страницы, эти разделы необходимы для печати служебной информации, например номеров страниц. Чем больше страниц занимает отчет, тем важнее роль дан- ных, выводимых на печать через эти разделы. Если для каких-то по- лей отчета применена группировка, количество разделов отчета уве- личивается, поскольку оформление заголовков групп выполняется в отдельных разделах. Редактирование структуры отчета выполняют в режиме Конструк- тора. Приемы редактирования те же, что и для форм. Элементы управ- ления в данном случае выполняют функции элементов оформле- ния, поскольку печатный отчет не интерактивный объект, в отличие от электронных форм. Со структурой отчета проще всего ознакомиться, создав автоот- чет, а затем открыв его в режиме Конструктора. 1. Структура отчета состоит из пяти разделов: заголовка отчета, верхнего колонтитула, области данных, нижнего колонтитула и примечания. 2. Раздел заголовка служит для печати общего заголовка отчета. 3. Раздел верхнего колонтитула можно использовать для печати подзаголовков, если отчет имеет сложную структуру и занима- ет много страниц. Здесь можно также помещать и колонцифры (номера страниц), если это не сделано в нижнем колонтитуле. 4. В области данных размещают элементы управления, связанные с содержимым полей таблиц базы. В эти элементы управления выдаются данные из таблиц базы, которые могут быть исполь- зованы для вывода на бумагу. 5. Раздел нижнего колонтитула используют для тех же целей, что и раздел верхнего колонтитула. 6. Раздел примечания используют для размещения дополнитель- ной информации.
Автоотчет — самый простой вид отчета (рис. 1.36). Для создания автоотчета надо на панели Навигации выделить объект, для которо- го создается отчет, открыть вкладку Создать, Отчет. Рис. 1.36
При этом получаем электронный вид отчета, содержащий все поля объекта.
С помощью Мастера отчетов. В этом случае создается простой настраиваемый отчет в четыре шага: 1) выделение объекта; 2) в группе Отчеты выбрать Мастер отчетов; 3) выбрать поля для отчета; 4) выберите требуемый порядок сортировки полей; 5) выберите вид макета отчета. При этом получаем электронный вид отчета, содержащий только требуемые поля объекта (рис. 1.37). Рис. 1.37 Раздел 2. Лабораторный практикум
Лабораторная работа 1 Задание 1 Сделайте для себя копию файла Торговля.accbd, для того, чтобы вы могли экспериментировать с базой, не затрагивая первоисточник и не мешая своим товарищам. Откройте этот файл. В левой части эк- рана вы увидите перечень групп перечисленных выше основных объ- ектов базы данных. Раскрывая каждый список, вы увидите перечень объектов соответствующей группы. Поскольку главными объектами являются таблицы (без них база данных просто не существует), начнем знакомство именно с них. Задание 2 Откройте таблицу Товары и рассмотрите ее. Таблица, как и мож- но было предположить по ее названию, содержит информацию о то- варах, которыми торгует некая фирма. В таблице хранится 77 запи- сей (это можно увидеть на панели внизу таблицы ). Каждая запись состоит из 10 полей, т. е. товар описывается деся- тью атрибутами. Их названия видны в верхней строке таблицы. В большой таблице бывает необходимо быстро отыскать нужную запись. Для этого служит кнопка Найти на главной вкладке меню. Найдите в таблице Товары марку Ravioli Angelo и определите код это- го товара. Задание 3 Изначально строки таблицы упорядочены по возрастанию ключе- вого поля (кода товара). Для удобства поиска информации сущест- вует возможность сортировки таблицы по любому из атрибутов. Для этого рядом с названием атрибута имеется управляющая кнопка. На- жав ее, вы можете выбрать способ сортировки. Обратите внимание, что способы сортировки зависят от типа данных (от А до Я для тек- стовых полей, от максимального к минимальному — для числовых, от установленных к снятым — для логических). Отсортируйте таблицу по типам товаров. Обратите внимание, что строки таблицы перемещаются целиком, не разрушаясь, т. е. при сор- тировке не нарушается целостность данных. Отмените сортировку — товары вновь будут расположены по воз- растанию кодов. Отсортируйте таблицу по убыванию цены. Еще раз отмените сортировку и отсортируйте таблицу по логиче- скому полю Поставки прекращены. Задание 4 Для просмотра некоторой части таблицы в Access существует воз- можность фильтрации данных. Она выполняется с помощью той же кнопки, что и сортировка. Отфильтруйте данные, чтобы увидеть толь- ко кондитерские изделия. Значок рядом с названием атрибута го- ворит о том, что на него установлен фильтр. Отмените фильтр и установите новый так, чтобы видеть одновре- менно мясные (мясо/птица) и рыбные продукты. Возможна фильтрация одновременно по нескольким атрибутам. Отберите в таблице приправы, на которые прекращены поставки (у вас должно остаться две строки). Отметим, что фильтры и сортировки не сохраняются при закры- тии файла, поэтому если выборку требуется выполнять часто, следу- ет сохранять ее в виде запроса. Задание 5 Добавление данных можно производить непосредственно в таб- лицу. Добавьте в конец таблицы еще одну произвольную запись. Для того, чтобы быстро, не прокручивая все строки, попасть на первую свободную запись, нажмите внизу таблицы кнопку : новая (пу- стая) запись. При вводе вы заметите разницу между типами данных различных атрибутов. Так, атрибут КодТовара не вводится вручную, а формиру- ется автоматически (тип данных Счетчик). Атрибуты Марка и ЕдиницаИзмерения вводятся произвольно (тип данных Текстовый). Атрибуты Тип и Поставщик выбираются из предложенного спис- ка (использован Мастер подстановок). Атрибут Цена вводится произвольным дробным числом без на- именования, никакие символы, кроме цифр и запятой не допуска- ются. Наименование «р» и пробелы добавляются автоматически (тип данных Денежный). Атрибуты НаСкладе, Ожидается и МинимальныйЗапас вводятся произвольным целым числом, никакие символы, кроме цифр, не до- пускаются (тип данных Числовой целый). И наконец, атрибут ПоставкиПрекращены вводится с помощью флажка (тип данных Логический). Задание 6 Для того чтобы увидеть или указать тип данных для ат- рибута, нужно перейти в режим конструктора. Для этого служит кнопка на панели инструментов (в левом верхнем углу). Нажмите ее. Вы перестанете видеть содержимое таблицы, зато увидите структуру (рис. 2.1). При этом вид кнопки изменился, она стала выглядеть так: и ее нажатие переводит нас снова в режим просмотра таблицы. В первом столбце теперь перечислены имена полей, во втором указаны типы данных (они выбираются из предлагаемого перечня). В третьем могут содержаться пояснения к атрибутам. Ключик рядом с именем поля указывает, что это поле — ключевое. Рис. 2.1
Выберите поочередно элемент Тип данных для каждого атрибута и рассмотрите в нижней части окна общие свойства для каждого из них. Затем перейдите на вкладку Подстановка и снова просмотрите все атри- буты. В большинстве из них на этой вкладке ничего интересного не об- наружится. Однако для атрибута Тип вы увидите список всех возмож- ных значений поля. Именно это позволяло нам ускорить ввод данных. Такую возможность обеспечивает нам Мастер подстановок. Подроб- нее вы познакомитесь с ним, когда будете создавать свою базу данных. Вспомним, что для ввода поля КодПоставщика мы тоже выбира- ли значение из списка. Однако на вкладке Подстановка мы видим несколько другую картину (рис. 2.2). В качестве типа источника строк указан не список, а Таблица или запрос, а источник строк отсылает нас к другой таблице. Мастер подстановок может таким образом свя- зывать таблицы между собой. Подробно об этом речь пойдет в после- дующих лабораторных работах. Рис. 2.2
Задание 7 Теперь пришло время взглянуть на базу данных в целом. Понят- но, что торговля не ограничивается одними товарами. Должны быть и другие объекты — поставщики, клиенты, заказы и др. А значит, база должна состоять из нескольких взаимосвязанных таблиц. Увидеть ее структуру можно, перейдя в главном меню на вкладку Работа с база- ми данных и нажав кнопку Схема данных (рис. 2.3). Рис. 2.3
Из этой схемы мы видим, какие информационные объекты фи- гурируют в деятельности торговой фирмы, какими атрибутами они описываются и как связаны между собой. Кроме того, на схеме вид- но, какое поле (может быть более одного) является ключевым в каж- дой таблице Лабораторная работа 2 Создадим базу, содержащую одну таблицу с данными клиентов фирмы. Такие базы могут быть полезны при получении статистиче- ских данных о деятельности фирмы. Задание 1 Подготовим все необходимое для создания простой базы данных. Создание базы данных начинается с обращения к представлению Backstage (вкладка Файл), Создать, Новая база данных (рис. 2.4). В правой части окна, в разделе Новая база данных, в поле Имя фай- ла вводим имя файла базы данных «БД1» и определяем место хране- ния этого файла (рис. 2.5). Рис. 2.4 Рис. 2.5
Открывается таблица в режиме отображения содержания (рис. 2.6). Рис. 2.6 Задание 2 Создаем структуру таблицы Клиенты.
Нажатиемнакнопку переходимврежимКонструктора,приэтом Access предлагает ввести имя таблицы (рис. 2.7). Рис. 2.7
В режиме Конструктора, в окне создания таблицы первое поле ав- томатически назначено ключевым и получило название «Код». Для нашей таблицы удобно назвать его «Код клиента» — изменим его. Это поле однозначно определяет клиента. Повторяться значения в нем не могут, и оно не может быть равно нулю. В этом случае тип поля луч- ше взять «Счетчик». При этом заполняться поле будет автоматически. Второе, третье и четвертое поля — «Фамилия», «Имя», «Отче- ство» — текстовые. Для ускорения ввода и избежания ошибок ввода повторяющиеся данные лучше копировать. Поле «Вид бизнеса» содержит ограниченный набор элементов. Для ускорения ввода и избежания ошибок ввода это поле следует запол- нять с использованием Мастера подстановок. В поле «Дата начала работы» в свойствах поля, в строке «Формат поля» выбрать «Краткий формат даты» (рис. 2.8). Вводить данные мы будем с помощью всплывающего «Календаря». Рис. 2.8 По содержанию задачи поле «Скидка» может содержать значе- ния больше 0 и меньше 1, поэтому в свойствах поля в строке «Размер поля» выбрать «Одинарное с плавающей точкой». Поле «Место жительства» имеет текстовый тип данных и заполня- ется аналогично полям «Фамилия», «Имя», «Отчество». В поле «Наличие кредита» проставляется факт использования кре- дита «Да» или «Нет». Поэтому удобно выбрать тип данных — «Логи- ческий». В результате работы таблица в режиме Конструктора примет вид, показанный на рисунке 2.9. Рис. 2.9
Задание 3 Переходим в режим просмотра таблицы и вводим данные. Спо- соб ввода зависит от типа вводимых данных. Часть данных вводит- ся вручную, часть выбирается из списка, код формируется автомати- чески, наличие кредита устанавливается с помощью флажка. В итоге таблица должна иметь вид, показанный на рисунке 2.10. Рис. 2.10 Лабораторная работа 3 Рассмотрим, как связаны между собой таблицы в базе данных «Тор- говля». В лабораторной работе 1 вы уже видели схему данных этой БД (см. рис. 2.3), сейчас разберем ее более детально. Задание 1 Откройте свою копию БД «Торговля», перейдите в главном меню на вкладку Работа с базами данных и нажмите кнопку Схема данных. На схеме связи между таблицами изображены в виде линий, соеди- няющих одноименные поля таблиц. Линии снабжены маркерами «1» (один) и «∞» (много). Как видно на схеме, все связи в нашей БД от- носятся к типу «один-ко-многим». Выделите мышью связь между таблицами Поставщики и Товары и удалите ее. Теперь установите связь заново путем перетаскивания мышью имени поля из одной таблицы в другую на соответствующее ему связанное поле. После перетаскивания открывается окно диало- га Изменение Связей, в котором можно задать свойства образующей- ся связи (рис. 2.11). Рис. 2.11 Включение флажка Обеспечение целостности данных позволяет защититься от случаев удаления записей из одной таблицы, при ко- торых связанные с ними данные других таблиц останутся без связи. Флажки Каскадное обновление связанных полей и Каскадное уда- ление связанных записей обеспечивают одновременное обновление или удаление данных во всех подчиненных таблицах при их измене- нии в главной таблице. Нажмите кнопку Создать, не включая флажки. Вы увидите, что между таблицами установилась связь, но тип ее не определен. Выде- лите связь и с помощью правой кнопки мыши выберите режим Из- менить связь. На этот раз включите все флажки, и вы увидите, что те- перь связь имеет тип «один-ко-многим». Закройте базу данных Торговля. Задание 2 Начиная с этого задания, мы будем разрабатывать базу данных «Телефонная компания» для обслуживания фирмы, предоставляю- щей услуги сотовой связи. Разумеется, мы смоделируем лишь неболь- шую часть функций, выполняемых компанией, в реальности подоб- ная БД устроена гораздо сложнее. Сначала зададимся вопросом, какие классы объектов участву- ют в бизнес-процессах, т. е. какие таблицы нам предстоит создать. Во-первых, у телефонной компании должны быть абоненты (без них она существовать не может). Во-вторых, абоненты будут совершать звонки (для этого они и пользуются услугами компании). В третьих, компания разработала для своих клиентов несколько тарифных пла- нов. Ограничимся этими тремя видами объектов и будем создавать БД, состоящую из трех таблиц. Выберите в MS Access в меню Файл режим Создать — Новая база данных, в правой части окна укажите имя файла, его местоположе- ние и нажмите кнопку Создать. Выберите режим конструктора для появившейся автоматически таблицы, начнем конструировать первую таблицу. Для того чтобы у нас появились абоненты, мы должны им что-то предложить. По- этому начнем с таблицы тарифных планов. Ключевым полем назначим порядковый номер КодПлана (тип дан- ных — счетчик). Каждому плану дадим привлекательное название, т. е. следующим полем будет Название (тип данных — текстовый). Чтобы не слишком усложнять задачу, договоримся, что тарифные планы бу- дут описываться двумя атрибутами — стоимостью секунды разгово- ра внутри своей сети и вне ее (тип данных — денежный). И наконец, последний атрибут тарифного плана Тип тарификации — посекунд- ный или поминутный. Чтобы не вводить длинные слова многократ- но и не допускать ошибок, при выборе типа данных воспользуемся мастером подстановок (рис. 2.12). Выберите вариант «Будет введен фиксированный набор значений», нажмите кнопку Далее. Введите в столбец нужные значения, как показано на рисунке 2.12, и нажми- те кнопку Готово. ↓ Рис. 2.12
Для всех полей таблицы задайте свойству Обязательное поле зна- чение Да, поскольку никакие поля не должны оставаться пустыми. Закроем таблицу, дав ей название, например Тарифы. Теперь от- кроем ее в режиме таблицы и убедимся, что она готова для ввода дан- ных (столбец Тип_тарификации снабжен кнопкой для выбора одного из двух значений, атрибут Код формируется автоматически, осталь- ные значения можно вводить произвольно). Заполнять таблицу пока не будем, лучше сначала установить все связи. Это поможет избежать ошибок при вводе, возникающих из-за несоответствия типов данных. Задание 3 Следующим шагом будет создание таблицы Абоненты. Ключевым полем здесь удобно объявить НомерТелефона — повторения в этом поле невозможны. Хотя номер состоит из цифр, тип данных пред- почтителен текстовый. Вычисления с номерами нам не потребуют- ся, а вот различать номера, начинающиеся с одинаковых цифр, бу- дет необходимо. Номера телефонов имеют 10 цифр, поэтому в строке Размер поля укажем 10. Договоримся, что все наши абоненты будут иметь номер, начинающийся с 999, и для упрощения ввода устано- вим в строке Значение по умолчанию «999» (вместе с кавычками). Для абонентов мы будем хранить в таблице фамилию (тип данных тек- стовый). Некоторым абонентам будут предоставляться льготы: тип дан- ных числовой с плавающей точкой, формат поля — процентный, зна- чение по умолчанию — 0, условие на значение — >=0 and <1. Еще один атрибут абонента — тарифный план. Он устанавливается с помощью ма- стера подстановок последовательным выбором «Объект … получит зна- чение из другой таблицы или запроса», далее выбрать таблицу Тари- фы, выбрать из доступных полей КодПлана и завершить работу мастера. Все поля таблицы сделайте обязательными. Закройте таблицу, со- хранив ее с нужным именем. Задание 4 Чтобы наша компания работала, абоненты должны звонить, а мы должны хранить информацию о звонках. Создайте таблицу Звонки следующей структуры. Ключевое поле КодЗвонка, тип данных — счетчик. НомерТелефона звонившего — через Мастер подстановок связы- вается с ключевым полем НомерТелефона таблицы Абоненты. НомерВызываемого — тип данных текстовый, размер поля 10, дан- ные вводятся произвольно, звонить можно абонентам как своей сети, так и любой другой. Продолжительность разговора — тип данных числовой целый, из- меряется в секундах. Все поля таблицы сделайте обязательными и закройте таблицу, со- хранив ее с нужным именем. Задание 5 Установите связи между таблицами. Для этого, как вы уже знае- те, нужно открыть окно Схема данных на вкладке Работа с базами данных. На схеме вы увидите, что связи между таблицами установи- лись автоматически, потому что при создании таблиц был использо- ван мастер подстановок. Однако тип связей не определен. Обе связи в нашей БД относятся к типу «один-ко-многим» (одним тарифным планом пользуется много абонентов, один абонент совершает мно- го звонков). Выделите поочередно каждую связь мышью, нажмите правую кнопку мыши, выберите режим Изменить связь и установите флажки во всех пунктах окна Изменение связи (Обеспечение целост- ности данных, Каскадное обновление связанных полей и Каскадное удаление связанных записей). Затем нажмите кнопку Создать, и вы увидите, что установился нужный нам тип отношения, так как свя- зывается ключевое поле с не ключевым. Если ранее никаких связей между таблицами базы не было, то при открытии окна Схема данных одновременно открывается окно До- бавление таблицы, в котором можно выбрать нужные таблицы для включения в структуру межтабличных связей. Если некоторые связи между таблицами уже были заданы, то для введения в схему данных новой таблицы надо щелкнуть правой кноп- кой мыши на схеме данных и выбрать Добавить таблицу. Введя в схему данных все необходимые таблицы, перечень таблиц нужно закрыть. Закройте окно Схема данных, сохранив макет. Задание 6 Заполните таблицы произвольными данными. Сначала введите три тарифных плана с различными характеристиками. Затем в таблицу абонентов введите 7–8 записей так, чтобы были использованы все тарифные планы (выбираем их из раскрывающего- ся списка). Часть абонентов должна иметь льготу, остальные абонен- ты не имеют льгот, т. е. это поле остается без изменения. И наконец, в таблицу звонков введите 15 записей. Обязательно пред- усмотрите, чтобы там присутствовали звонки как внутри сети (номер вы- зываемого начинается с 999), так и абонентам других операторов (номер вызываемого начинается с других цифр). Часть звонков должны быть короткими (1–2 секунды), остальные звонки большей длительности. Лабораторная работа 4 Задание 1 Построим запрос на выборку. Предположим, нам требуется най- ти клиентов, начавших работать с фирмой после 1.03.2013 года и про- живающих не в Сухом Логу. В режиме Конструктора в строку «Условия отбора» в соответствую- щие поля вводим два критерия (рис. 2.13) Рис. 2.13
Результат выполнения запроса в режиме просмотра показан на ри- сунке 2.14. Рис. 2.14
Задание 2 Постройте запрос на выборку, позволяющий найти коды клиен- тов, имеющих средний или мелкий бизнес и какую-нибудь скидку. Рис. 2.15
Для этого в режиме Конструктора в строку «Условия отбора» вве- дите в соответствующие поля критерии отбора, как показано на ри- сунке 2.15. Результат выполнения запроса приведен на рисунке 2.16. Рис. 2.16
Задание 3 Постройте запрос с параметром. В качестве параметра будет вы- ступать атрибут «Место жительства». Вводя с клавиатуры значение параметра, можно получить списки клиентов, проживающих в лю- бом городе. При создании этого запроса необходимо ввести в строку «Усло- вие отбора» фразу [Введите название города] вместе с квадратными скобками, как показано на рисунке 2.17. Скобки означают, что при выполнении запроса стоящая в них фраза будет высвечиваться в окне приглашения для ввода параметра. Рис. 2.17 Сохраните запрос и запустите его на выполнение. Чтобы найти клиентов, проживающих, например, в городе Сухой Лог, следует вве- сти это название в окно приглашения и нажать кнопку ОК. Окно при- глашения и результат выполнения запроса можно увидеть на рис. 2.18. Рис. 2.18
Задание 4 Создадим запрос, подсчитывающий количество клиентов по каж- дому виду бизнеса. Для построения запроса используем строку «Групповые опера- ции». Если она не видна в бланке запроса, нужно включить ее с по- мощью кнопки , расположенной на ленте в режиме конструкто- ра запросов. Выполним группировку по полю «Вид бизнеса» и подсчитаем ко- личество клиентов по полю «Фамилия», как показано на рисунке 2.19. Рис. 2.19 Результат выполнения запроса можно увидеть на рисунке 2.20. Рис. 2.20
Задание 5 Просчитайте количество клиентов фирмы в городах Сухой Лог и Реж (отдельно для каждого города). Для построения запроса снова используем «Групповые операции». На рисунке 2.21 показан запрос в режиме конструктора и в режиме просмотра результатов. Рис. 2.21
Задание 6 Создадим перекрестный запрос, показывающий распределение клиентов по месту жительства и видам бизнеса. В результирующей таблице нужно отобразить в названии столбцов — место жительства, в названии строк — «Вид бизнеса». Кроме того, требуется вывести ито- говое значение, показывающее общее количество клиентов по каж- дому виду бизнеса. Такой запрос создается с использованием Мастера запросов. В ходе построения следует выполнить следующие шаги: вызов Мастера за- просов, распределение параметров по строкам и столбцам, выбор функции для вычисления итогового значения. На рисунке 2.22 по- казано последовательное выполнение шагов и результат выполне- ния запроса.
Рис. 2.22
Задание 7 Построим запрос для подсчета количества клиентов, имеющих кредит и проживающих в Екатеринбурге и Реже. Для этого нам по- требуется создавать запрос с вычисляемым полем. Рассмотрим один из способов решения поставленной задачи. Для нахождения искомого значения построим два вспомогательных за- проса. В первом подсчитаем количество клиентов, имеющих кредит и проживающих в Реже (рис. 2.23). Второй аналогичным образом по- строим для Екатеринбурга. Рис. 2.23
Итоговый запрос будем строить на базе двух вспомогательных за- просов. Для его построения необходимо создать вычисляемое поле с име- нем «Всего». Затем с помощью Построителя выражений записать фор- мулу, показанную на рисунке 2.24.
Рис. 2.25 Рис. 2.24
На рисунке 2.25 виден результат выпол- нения запроса. Результатом в данном слу- чае буден единственное числовое значение. Лабораторная работа 5 В этой работе вы будете строить различные запросы к базе данных Телефонная компания, содержащей связанные таблицы. Поскольку приемы построения запросов различных видов вам уже знакомы, зна- чительную часть работы вы выполните самостоятельно. Подробно оста- новимся лишь на построении запросов на основе нескольких таблиц. Задание 1 Постройте запрос на выборку абонентов-льготников. Условием отбора будет наличие льготы, т. е. Льгота>0. Задание 2 Постройте запрос для поиска номера телефона по фамилии або- нента. Задание 3 Постройте запрос на основе таблицы звонков для отбора вызовов внутри сети. Это значит, что номер вызываемого абонента должен на- чинаться с 999. Для этого в строке Условие отбора для атрибута Но- мерВызываемого укажите либо шаблон «999*», либо специальный оператор сравнения Like «999*» (см. приложение). Такое условие при- ведет к отбору записей, у которых поле НомерВызываемого начина- ется с трех девяток. Задание 4 Постройте запрос на основе таблицы звонков для отбора вызовов вне своей сети. Это значит, что номер вызываемого абонента НЕ дол- жен начинаться с 999. Для этого в строке Условие отбора для атрибута НомерВызываемого введите not Like «999*». Такое условие приведет к отбору записей, у которых поле НомерВызываемого НЕ начинает- ся с трех девяток. Задание 5 Постройте запрос на основе таблицы звонков для отбора вызо- вов абонентов выбираемой пользователем компании. Это значит, что номер вызываемого абонента должен начинаться с введенных поль- зователем в диалоговом окне цифр (знакомый вам запрос с параме- тром). Условие отбора в данном случае должно быть таким: Like [Вве- дите значение]+»*». Задание 6 Постройте запрос на основе таблицы звонков для отбора вызовов продолжительностью от 3 до 30 секунд. Задание 7 Постройте запрос на основе таблицы звонков для подсчета коли- чества внутрисетевых вызовов (подсказка: используйте групповую опе- рацию Count). Задание 8 Постройте запрос на основе таблицы звонков для подсчета сред- ней продолжительности разговора (подсказка: используйте групповую операцию Avg). Задание 9 Постройте запрос на основе таблицы звонков для подсчета сум- марной продолжительности разговоров с указанного номера (подсказ- ка: используйте групповые операции). Задание 10 Рис. 2.26 Постройте запрос для отбора всех звонков абонента по указан- ной фамилии. Для этого запро- са нам потребуется информация из двух таблиц, так как данные о звонках содержатся в одной таблице, а фамилии абонентов — в другой. После вызова конструк- тора запросов в окне Добавление таблицы нужно последователь- но выбрать две нужные таблицы (рис. 2.26), после чего закрыть окно. В окне запроса отобразят- ся две связанные таблицы, после чего в запрос можно включать поля из них обеих. Далее стро- ится знакомый вам запрос с па- раметром. Включите в него поля НомерВызываемого и Продолжи- тельность. Задание 11 Постройте запрос для от- бора звонков по указанному тарифному плану. Здесь тоже нужны две таблицы — Тари- фы и Звонки. Однако эти таб- лицы не связаны между собой, как это видно на рис. 2.27. За- прос, построенный на несвя- занных таблицах, будет ра- ботать некорректно (можете это проверить). Для того что- бы добиться правильного ре- зультата, нужно включить в запрос связывающую табли- цу Абоненты. После чего стро- ится запрос с параметром, как и в предыдущем задании. Задание 12 Рис. 2.27 Постройте запрос для вычисления стоимости каждого звонка вну- три сети с учетом льготы. Для этого запроса потребуются все три таб- лицы (из таблицы тарифов берем стоимость секунды, из таблицы звонков — продолжительность, номер телефона звонящего и номер вызываемого, из таблицы абонентов — льготу). Задайте условие от- бора, как в задании 3, чтобы отобрать только внутренние звонки. За- тем создайте вычисляемое поле, в которое с помощью построителя выражений постройте формулу для расчета: стоим_внутр: [Звонки]! [Продолжительность] * [Тарифы]! [Стоим_сек_внутр] * (1- [Абоненты]! [Льгота]) Задание 13 Для поставщика услуг связи необходимо выставлять клиентам сче- та за обслуживание, в которые включена плата за все звонки, как вну- тренние, так и внешние. Можно вычислить стоимость внешних звон- ков подобно предыдущему заданию, но вычислить и просуммировать таким способом стоимость всех звонков не удастся. Придется с по- мощью построителя выражений строить сложную формулу с исполь- зованием встроенной функции IIf (аналогична функции ЕСЛИ в MS Excel). Общий вид функции IIf (условие; значение если истина; зна- чение если ложь) В нашей задаче условие: [Звонки]! [Номер_вызыв] Like «999*», значение если истина: [Звонки]! [Продолжительность]* [Тарифы]! [Стоим_сек_внеш]* (1- [Абоненты]! [Льгота]), значение если ложь: [Звонки]! [Продолжительность]* [Тарифы]! [Стоим_сек_внеш]* (1- [Абоненты]! [Льгота]). На рисунке 2.28 показано, как выбрать описанную функцию (Встроенные функции → Управление → IIf) и как выглядит постро- енное выражение. Рис. 2.28
Постройте запрос описанным образом, включите в него также фа- милию абонента. Убедитесь, что полученный запрос правильно вы- числяет стоимость всех звонков. Для этого подсчитайте вручную стои- мость звонков какого-либо абонента, имеющего льготу и сделавшего более одного звонка. Такая проверка позволит убедиться, что сумми- рование и учет льгот выполняются правильно. Задание 14 На основе запроса из предыдущего задания постройте запрос для вычисления стоимости всех звонков для конкретного абонента по ука- занному номеру телефона. Лабораторная работа 6 Таблицы и запросы, построенные нами для БД «Телефонная ком- пания», представляют собой основу базы данных, можно сказать, ее кухню. Они видны только разработчику базы, но не ее пользовате- лю. Для общения с пользователем служат формы и отчеты — экран- ные и печатные документы, позволяющие выполнять информацион- ное обслуживание бизнес-процессов, не зная структуры и способов работы в СУБД MS Access. В этой лабораторной работе мы создадим формы для ввода и про- смотра данных нашей БД. Задание 1 Откройте БД «Телефонная компания» и выберите вкладку Созда- ние, а на ней Мастер форм. Создадим форму для ввода данных в таб- лицу абонентов. Выберем нужную таблицу и перенесем все содержи- мое из окна Доступные поля в окно Выбранные поля, как показано на рисунке 2.29. Рис. 2.29
После нажатия кнопки Далее выбираем внешний вид формы. Для формы абоненты пусть это будет «в один столбец». Нажимаем кноп- ку Готово и открываем форму для просмотра. С помощью этой фор- мы можно просматривать записи таблицы поочередно, перемещаясь от одной к другой при помощи кнопок внизу окна, а также перейти к вводу новой записи. На рисунке 2.30 показаны управляющие кноп- ки формы. Рис. 2.30
Задание 2 Создайте с помощью Мастера форм ленточную форму для ввода данных в таблицу Тарифы. Задание 3 Создайте с помощью Мастера форм форму в один столбец для вво- да данных о звонках. Задание 4 Иногда бывает необходимо на одной форме отображать данные сра- зу двух таблиц, например, выбрав конкретного абонента, видеть пере- чень его звонков (главная и подчиненная форма). Создадим с помощью Мастера такую форму. Для этого на этапе выбора перенесем в окно Вы- бранные поля последовательно поля из таблиц Абоненты и Звонки. Да- лее выделим таблицу Абоненты, после чего Access предложит нам со- ответствующий нашей задаче вид представления данных (рис. 2.31). Рис. 2.31 Выберем вариант Подчиненные формы, далее выберем внешний вид подчиненной формы — табличный и — готово, увидим результат (рис. 2.32). Переходя с помощью управляющих кнопок от одного або- нента к другому, мы можем просматривать его звонки. Рис. 2.32
Задание 5 Создайте таким же образом сложную форму, где главной частью будут тарифные планы, а подчиненной — абоненты, которые подклю- чены к данному тарифному плану. Внешний вид формы, созданной мастером, можно при необходимости изменить. Для этого откройте сохраненную форму в режиме конструктора и отредактируйте ее (из- мените размеры полей, добавьте дополнительную надпись). Задание 6 Форма может базироваться не только на таблице, но и на запросе. Постройте форму на основе запроса из задания 12 предыдущей лабо- раторной работы (с вычислением стоимости каждого звонка внутри сети с учетом льготы). Лабораторная работа 7 Эта лабораторная работа посвящена созданию отчетов, т. е. итого- вых документов, которые предполагается выводить на печать. Отчеты, подобно формам, могут базироваться как на таблицах, так и на запро- сах. MS Access предоставляет несколько способов создания отчетов. Мы воспользуемся Мастером отчетов, а затем отредактируем внеш- ний вид с помощью конструктора. Порядок создания отчета с помощью Мастера. 1. Откройте вкладку Создание и нажмите на ленте кнопку Мастер отчетов. 2. В качестве источника данных выберите таблицу или запрос → Далее. 3. Выберите поля для отчета → Далее. 4. При необходимости установите уровни группировки, т. е. ука- жите, по каким признакам будут группироваться записи в от- чете → Далее. 5. Можно выбрать порядок сортировки записей в отчете по одно- му или нескольким полям (пропустите этот шаг) → Далее. 6. Выберите вид макета для отчета → Далее. 7. Задайте название отчета. Затем можно открыть отчет для про- смотра либо для редактирования — выберите просмотр → Го- тово. 8. Просмотрите и закройте отчет. Затем созданный отчет можно открыть в режиме конструктора и внести необходимые изменения. Задание 1 В базе данных Телефонная Компания с помощью Мастера создай- те отчет на основе запроса о льготниках. Сохраните отчет под име- нем Льготники1 и просмотрите полученный результат. Задание 2 Сделайте копию отчета Льготники1 (скопируйте и вставьте в этом же окне). Назовите полученную копию Льготники2. Откройте этот отчет в режиме конструктора для внесения изменений. В разде- ле Заголовок измените заголовок отчета на такой: «Абоненты, имею- щие право на льготы». В разделе Примечание отчета добавьте надпись: «Ознакомлен инспектор Иванов И. И.». Для добавления надписи сначала расширьте мышью раздел При- мечание отчета — он находится в самом низу и может быть вообще не виден. Затем на ленте в разделе Элементы управления выберите элемент Надпись и поместите его в разделе примечаний, как показа- но на рисунке 2.33. Введите в рамку нужный текст. Сохраните и за- кройте отчет. Просмотрите полученный результат. Рис. 2.33
Задание 3 Сделайте еще одну копию отчета Льготники1 и назовите Льготни- ки3. Откройте этот отчет в режиме конструктора. В раздел примеча- ний добавьте итоговую функцию для подсчета количества льготни- ков. Для этого в разделе Элементы управления выберите элемент Поле и поместите его в разделе примечаний. Введите в рамку, как показа- но на рисунке 2.34, вместо слова Поле поясняющий текст «Количе- ство льготников», а вместо слова Свободный — формулу =count ([Фа- милия]). Если для поясняющего текста недостаточно места, рамки можно расширить и переместить. Сохраните и закройте отчет. Про- смотрите полученный результат. Аналогично можно использовать в отчетах другие итоговые функ- ции — sum (сумма), avg (среднее) и т. п. Рис. 2.34
Задание 4 На основе таблицы звонков создайте отчет с группировкой по но- меру телефона. В разделе примечаний отчета вычислите среднюю про- должительность разговора. Задание 5 На основе той же таблицы звонков создайте отчет с группиров- кой по тарифному плану. Обратите внимание: в таблице звонков нет информации о тарифном плане, она находится в таблице абонентов. Для того чтобы включить ее в отчет, нужно на этапе выбора источ- ника данных (шаг 2 Мастера отчетов) после выбора полей таблицы звонков добавить еще одно поле из таблицы абонентов (рис. 2.35). Рис. 2.35 Задание 6 Создайте отчет для предоставления абоненту информации обо всех его звонках с расчетом стоимости каждого и итоговой суммой по всем звонкам. Создавать его следует на основе запроса из задания 13 ла- бораторной работы 7 с добавлением итоговой суммы в разделе при- мечаний отчета.
Лабораторная работа 8 В этой работе вам предстоит самостоятельно создать базу данных для фирмы, занимающейся продажей товаров. Задание 1. Таблицы a. Создать таблицу КЛИЕНТ, содержащую следующие поля: — код клиента; — имя клиента (ФИО); — название фирмы клиента; — дата первого заказа; — скидка клиента; — город; — телефон; — оборот; — надёжность (средняя, высокая, низкая). В таблицу ввести восемь клиентов. b. Создать таблицу ТОВАР, содержащую следующие поля: — артикул товара; — группа товара (например, 8 С); — цена; — количество; — страна (по умолчанию Китай); — сертификат качества (документ MSWord). В таблицу ввести десять записей. Артикул не повторяется. c. Создать таблицу ЗАКАЗ, содержащую следующие поля: — номер заказа; — код клиента; — артикул; — количество в заказе; — дата заказа; — выполнение (ДА, НЕТ); — оплата (ДА, НЕТ); — договор (ссылка на документ MSWord). В таблицу ввести двенадцать записей. Клиенты могут делать несколько заказов. Задание 2. Схема данных d. Создать Схему Данных. Установить типы связи между табли- цами. e. Упорядочить записи: 1. В таблице КЛИЕНТ по именам клиентов по возрастанию. 2. В таблице ЗАКАЗ по датам заказов по возрастанию. 3. В таблице ТОВАР по полю КОЛИЧЕСТВО по убыванию. f. Создать расширенные фильтры к таблице КЛИЕНТ: 1. Клиенты из Москвы с высокой степенью надежности. Со- хранить фильтр как запрос под именем КФ1. 2. Список клиентов, упорядоченный по городам, а внутри городов по именам клиентов по возрастанию. Сохранить фильтр как запрос под именем КФ2. g. Создать фильтры к таблице ТОВАР: 1. Список товаров, имеющих сертификаты. Сохранить фильтр как запрос под именем ТФ1. 2. Список товаров всех групп за исключением 5 А и 3 А. Со- хранить фильтр как запрос под именем ТФ2. h. Создайте фильтр к таблице ЗАКАЗ: 1. Список выполненных и неоплаченных заказов 2012 года. Сохранить фильтр как запрос под именем ЗФ1. 2. Список заказов, в которых товары заказаны в количестве более 50 штук и есть договор (или ссылка на него) ЗФ2. Задание 3. Запросы к одной таблице 1. Создать запрос к таблице ЗАКАЗ, содержащий сведения о за- казах, сделанных в течение последних 200 дней. Включить в за- прос данные: номер заказа и количество. Сохранить под име- нем З1. 2. Создать запрос к таблице КЛИЕНТ, содержащий сведения о клиентах, с которыми фирма начала работать в 2007 году. Включить в запрос данные: год начала работы с клиентом, имя клиента, город, телефон, оборот. Сохранить под именем К1. 3. Создать запрос к таблице КЛИЕНТ, содержащий сведения о клиентах из Москвы и Екатеринбурга, упорядоченный по го- роду и имени клиента. Включить в запрос данные: имя клиен- та, город, телефон, оборот, год начала работы с клиентом. Со- хранить под именем К2. 4. Создать запрос к таблице ЗАКАЗ, включающий номер клиента, общий объем заказов клиента фирме в денежном выражении, количество заказов клиента фирме. Сохранить под именем З2. Задание 4. Запросы к связанным таблицам 1. Список клиентов (имена, города, телефон, номер заказа, дата заказа, артикул товара), делавших заказы на товар с указанным артикулом (сделать артикул параметром запроса). Сохранить под именем ЗСТ1. 2. Список всех заказов, их стоимость с учетом скидки. Сохранить под именем ЗСТ2. 3. Список неоплаченных выполненных заказов с указанием но- мера заказа, имен клиентов, сделавших заказ, даты заказа, ар- тикула товара, группы товара и объёма заказа в денежном вы- ражении. Сохранить под именем ЗСТ3. 4. Список клиентов-должников (номер клиента, имя клиента, го- род) с указанием общей суммы долга каждого клиента фирме и количества неоплаченных им заказов, упорядоченный по об- щей сумме долга. Сохранить под именем ЗСТ4. 5. Список всех товаров, включающих поля артикул, количество, продано, остаток. Сохранить под именем ЗСТ5. 6. Список всех клиентов с указанием количества заказов и общей суммы заказов каждого клиента фирме. Сохранить под именем ЗСТ6. Задание 5. Перекрёстные запросы 1. Построить таблицу распределения объемов заказов по клиен- там (по строкам номер клиента) и годам. Сохранить под име- нем ЗП1. 2. Построить таблицу распределения количества клиентов по го- родам и степеням надежности. Сохранить под именем ЗП2. 3. Построить таблицу распределения объемов заказов по годам и месяцам, включив в запрос итоги по строкам — общие про- дажи в каждом году. Сохранить под именем 3 ПЗ. 4. Построить таблицу распределения продаж (в денежном выра- жении) каждого артикула в каждом году. Сохранить под име- нем ЗП4. Задание 6. Запросы на изменение 1. Создать таблицу КЛИЕНТ1 на основе таблицы КЛИЕНТ, со- держащую список клиентов из Москвы. Сохранить под име- нем ИЗМ1. 2. Создать запрос на обновление к таблице КЛИЕНТ1, в кото- ром заменить значение поля «город» Москва на Уфу, номера клиентов увеличить на 50 и увеличить значение поля «оборот» на 5000 рублей. Сохранить под именем ИЗМ2. 3. Создать запрос на добавление записей о клиентах с высокой степенью надежности из таблицы КЛИЕНТ1 в таблицу КЛИ- ЕНТ. Сохранить под именем ИЗМ3. 4. Создать запрос на удаление из таблицы КЛИЕНТ записей о кли- ентах из Уфы. Сохранить под именем ИЗМ4. Задание 7. Формы 1. Построить форму на дополнение списка клиентов. Сохранить под именем ФК1. 2. Построить автоформу на дополнение заказов. Сохранить под именем ФЗ. 3. Построить форму для просмотра суммарной стоимости зака- зов каждого клиента. Сохранить под именем ФК2. 4. Построить форму, содержащую артикул товара и номера зака- зов, его содержащих. Сохранить под именем ФС1. Задание 8. Отчеты 1. Создать отчет за указанный период, содержащий фамилию кли- ента, его заказы и их стоимость, предварительно создав необ- ходимые запросы. 2. Создать отчет, отображающий продажи товаров по времени. 3. Создать отчет о долгах фирме, содержащий номер заказа, фа- милию клиента и величину долга. Задание 9. Кнопочная форма Построить кнопочную форму, содержащую четыре кнопки. Пер- вая — для вывода формы на добавление клиента. Вторая — для вы- вода формы на добавление заказов. Третья — для просмотра отчета по выполнению и оплате заказов (отчет должен быть сформирован на альбомной странице, содержать столбцы: номер заказа, дата зака- за, выполнение и оплата). Четвертая — для выхода из приложения. Лабораторная работа 9 Результатом работы должна стать база данных для небольшой биб- лиотеки. Она должна содержать следующую информацию. 1. О книжном фонде: автор, название, год издания, издательство, инвентарный номер, тип издания — учебное, художественное, справочное. 2. О читателях: фамилия, имя, отчество, номер читательского би- лета, категория — студент, преподаватель, сотрудник. 3. О выдаче книг: что, когда и кому выдано, возвращено ли об- ратно. При возврате запись о выдаче книги не удаляется, а хра- нится до специального указания. 4. Для каждого типа изданий определены сроки пользования: учебные — 300 дней, художественные — 10 дней, справочные — 3 дня. В каждой из таблиц целесообразно определить ключевое поле — одно из заданных полей или дополнительное поле — счетчик. Задание 1 Подготовьте нужные таблицы, установите связи между ними. Заполните таблицы информацией: 5 читателей разных категорий, 10 книг разных типов, 25 записей о выдаче книг (часть должна быть уже возвращена, часть еще на руках у читателей). Задание 2 На основании созданных таблиц подготовьте следующие запросы. 1. Перечень всех изданий, выпущенных указанным издательством за последние пять лет. 2. Перечень всех изданий, находящихся на руках у читателей с ука- занием даты истечения срока пользования. 3. Перечень всех задержанных книг (срок пользования истек, а книга не возвращена). 4. Список всех читателей — должников (если читатель задержал несколько книг, то он должен перечисляться в этом списке один раз). 5. Перечень всех книг, находящихся у указанного читателя. 6. Данные о читателе, взявшем данную книгу (по указанному ин- вентарному номеру). 7. Перечень всех книг, у которых сегодня истекает срок пользо- вания. 8. Информация о читателе (фамилия, имя, отчество и перечень книг, которыми он когда-либо пользовался). 9. Информация о книге (автор, название, перечень читателей: кто и когда ею пользовался) 10. Спрос на различные виды изданий — количество выданных из- даний каждого вида за указанный период. Задание 3 Для удобства работы персонала библиотеки подготовьте следую- щие формы. 1. Добавление читателя. 2. Добавление издания. 3. Информация об указанном читателе (перечень книг, находя- щихся у него на руках с указанием, когда книга должна быть возвращена). 4. Информация обо всех читателях с перечнем всех книг, которы- ми каждый из них когда-либо пользовался (главная форма — читатели, подчиненная — выданные книги). Задание 4 Подготовьте следующие отчеты. 1. Информация о читателе (фамилия, имя, отчество и перечень книг, которыми он когда-либо пользовался). 2. Информация о книге (кто и когда ею пользовался). 3. Спрос на различные виды изданий (рис. 2.36). Рис. 2.36
Задание 5 Подготовьте кнопочную форму для удобства работы с базой дан- ных. Библиографический список
1. Информационные технологии / Д. Н. Угринович. — СПб., 2002. 2. Microsoft Office 97 / Р. Винтер, П. Винтер. — М.: BHV — Санкт- Петербург, 1998. 3. Новые информационные технологии / под ред. В. П. Дьяконо- ва. – СПб.: BHV — Санкт-Петербург, 2004. 4. Проектирование баз данных в СУБД Access / О. А. Житкова, М. А. Журина, Е. К. Кудрявцева. — М.: Интеллект-Центр, 2006. 5. Работа с приложением Microsoft Access / Е. А. Бармина. — Ека- теринбург: УрГУПС, 2009. 6. Экономическая информатика / под ред. П. В. Конюховского и Д. Н. Колесова.— СПб., 2001. Приложение 1
Варианты заданий Вариант 1 База данных «Конференция» База данных содержит три связанные таблицы: 1. Участники (ФИО, возраст, регион, заявка на гостиницу, коли- чество дней пребывания). 2. Проезд из регионов в днях. 3. Доклады участников (ФИО участника и тема доклада). Создать запросы: 1. ФИО докладчика и его регион. 2. Темы докладов из определенного региона (регион — параметр). 3. Список участников, которым требуется гостиница. 4. Список молодых специалистов (возраст до 30 лет). 5. Участники без докладов. 6. Количество дней, затраченных участниками с учетом дней про- езда. 7. Просчитать количество участников по каждому региону. 8. Создать таблицу, содержащую список участников с пребыва- нием на конференции более двух дней. Создать формы: 1. Добавление участника. 2. Добавление доклада. 3. Докладчики по темам. 4. Молодые специалисты. 5. Тема и докладчики (главная и подчинённая формы). Создать отчеты: 1. Участники из определённого региона. 2. Заявки на гостиницу. 3. Молодые специалисты. Создать кнопочную форму, содержащую четыре кнопки: две для открытия форм на добавление, третья — для открытия отчета по за- явкам на гостиницу и четвертая — для выхода из приложения.
Вариант 2 База данных «Зоопарк» База данных содержит три связанные таблицы: 1. Животные: название, возраст, стоимость содержания в месяц, сектор нахождения. 2. Рацион: животное, основное питание (сено, мясо, рыба, ово- щи), номер клетки. 3. Сектора: сектор (А, В, С…), вид животных (крупные хищники, крупные травоядные, медведи, …). Каждый вид животных рас- полагается в своем секторе. Создать запросы: 1. Список всех животных в возрасте от 7 до 15 лет. 2. Список всех травоядных животных. 3. Сумма, идущая на содержание всех травоядных животных в месяц. 4. Сумма, идущая на содержание всех животных указанного сек- тора (сектор параметр) в месяц. 5. Список всех животных, питающихся мясом, на содержание ко- торых уходит меньше 50 000 р. в год. 6. Информация о всеядных животных (стоимость содержания, сектор, возраст). 7. Создать таблицу, содержащую список животных старше 12 лет. Создать формы: 1. Форму в один столбец для добавления животного. 2. Ленточную форму для просмотра списка всех травоядных. 3. Главную форму, содержащую название сектора, и подчинен- ную, в которой указаны все животные, находящиеся в нем. 4. Кнопочную форму для вызова всех форм и отчетов. Создать отчеты: 1. Сумма, идущая на содержание всех травоядных животных. 2. Список всех животных, питающихся мясом, на содержание ко- торых уходит меньше 50 000 р. в год. 3. Информация о всеядных животных. Создать кнопочную форму, содержащую четыре кнопки: две для открытия форм, третья — для открытия отчета и четвертая — для вы- хода из приложения.
Вариант 3 Вариант 4 База данных «Образовательные услуги» Фирма оказывает платные образовательные услуги по специаль- ностям. База данных состоит из четырех связанных таблиц: 1. Таблица «Студенты»: ФИО, номер зачетки, возраст в годах. 2. Таблица «Преподаватели»: ФИО, специальность. 3. Таблица «Предлагаемые специальности»: название, стоимость. 4. Таблица «Обучение»: ФИО студента, специальность, сроки обу- чения — начало и конец. Создать запросы: 1. О студентах определенной специальности. Специальность — параметр. 2. Список студентов, которые начали обучение за последние 200 дней. В запросе использовать функцию date (). 3. Распределение студентов по специальностям. 4. О прибыльности обучения по различным специальностям. 5. Об общей стоимости всех услуг. 6. Окончание студентами курсов по месяцам и специальности (пе- рекрестный). 7. Создать таблицу, содержащую ФИО студента и специальность. Создать формы: 1. Для добавления студента. 2. Ленточная форма для просмотра специальностей. 3. Главную форму, содержащую название специальности и под- чиненную, содержащую список всех студентов по этой специ- альности. 4. Кнопочная форма для вызова форм и отчетов. Создать отчеты: 1. О прибыльности различных видов специальностей. 2. О студентах определенного специальности 3. О суммарной стоимости оказанных услуг. Создать кнопочную форму, содержащую четыре кнопки: две для открытия форм, третья — для открытия отчета и четвертая — для вы- хода из приложения.
Вариант 5 База данных «Гастроли» Фирма организует гастроли артистов по городам России. Артист может принимать участие в организации разных концертов. База данных состоит из трех связанных таблиц: «Участники», «Кон- церты» и «График концертов». 1. Таблица «Участники»: ФИО, возраст в годах, наличие фоно- граммы, город проведения. При оплате концертов учитывают- ся звания «Заслуженный артист» и «Народный артист». В пер- вом случае оплата повышается на 25 %, а во втором — на 40 %. 2. Таблица «Концерты »: название, стоимость. 3. Таблица «График концертов»: название концерта, город и дата проведения. Создать запросы: 1. Перечень городов, в которых будут проведены концерты за ука- занный период (период — параметр). 2. Список участников старше 25 лет, которые используют на кон- церте фонограмму. 3. Число участников по разным названиям концертов. 4. Список участников, имеющих званий «Заслуженный артист» и «Народный артист». 5. Количество участников: мужчины старше 40 лет и женщины старше 35 лет. 6. Названия концертов и их общее количество. 7. График проведения концертов: название концерта, месяц про- ведения и город (перекрестный). Создать формы: 1. Для добавления артиста. 2. Ленточная форма для просмотра города проведения концер- тов, даты и названия. 3. Главную форму, содержащую название концерта и подчинен- ную, содержащую список всех участников этого концерта. Создать отчеты: 1. О выплатах участникам концертов. 2. Об участниках определенного концерта. 3. О стоимости каждого концерта. Подготовить кнопочную форму, открывающую отчеты.
Вариант 6 Вариант 7 База данных «Санаторий» База данных состоит из трех связанных таблиц: «Отдыхающие», «Услуги» и «Назначения»: 1. Таблица «Отдыхающие»: код, ФИО, возраст в годах, диагноз, форма размещения (с оплаченным проживанием и лечением в санатории или с оплаченным курсом лечения — курсовка), дата заезда, количество дней, льгота по умолчанию — 0. 2. Таблица «Услуги»: название, стоимость. 3. Таблица «Назначения»: ФИО, название услуги, количество. Создать запросы: 1. Перечень услуг, которые будут получены отдыхающими за ука- занный период (период- параметр). 2. Список отдыхающих старше 25 лет, которые пользуются льго- той. 3. Список отдыхающих и дата их отъезда. 4. Число отдыхающих, приехавших по курсовкам. 5. Суммарная стоимость льгот, предоставленных отдыхающим. 6. Суммарная стоимость услуг каждого отдыхающего. 7. Заезд отдыхающих по датам и по форме размещения (перекрест- ный). 8. Создать таблицу, содержащую список отдыхающих с пребыва- нием в санатории более десяти дней. Создать формы: 1. Для добавления отдыхающего. 2. Ленточная форма для просмотра списка отдыхающего, даты его заезда и отъезда. 3. Главную форму, содержащую название услуги и подчиненную, содержащую список всех отдыхающих, получивших эту услугу. Создать отчеты: 1. О стоимости услуг санатория для каждого отдыхающего. 2. О количестве назначенных услуг каждого вида. 3. Список отдыхающих на дату (дата — параметр). Создать кнопочную форму, содержащую четыре кнопки: две для открытия форм, третья — для открытия отчета и четвертая — для вы- хода из приложения.
Вариант 8 Вариант 9 База данных «Ателье» База данных состоит из трех связанных таблиц: «Ассортимент услуг», «Ткани» и «Изготовление»: 1. Таблица «Изготовление»: код, клиент, изделие, коэффициент сложности, ткань, количество ткани в метрах, дата заказа, выпол- нение. Коэффициент сложности имеет три значения: 1; 1,4; 1,8. 2. Таблица «Ассортимент услуг»: название, базовая стоимость, срок изготовления в днях. 3. Таблица «Ткани»: ткань, цена за метр. Создать запросы: 1. Перечень изделий, заказанных за указанный период (период — параметр). 2. Списокклиентов, заказавших изделияс коэффициентом сложно- сти 1,4 или 1,8. Повторяющихся строк в запросе быть не должно. 3. Список заказанных изделий и даты их готовности. 4. Список клиентов и количество их заказов. 5. Список клиентов и стоимость каждого изделия, заказанного ими с учетом базовой стоимости изготовления, коэффициен- та сложности, стоимости и количества ткани. 6. Суммарная стоимость услуг каждого клиента. 7. Распределение изделий по клиентам и коэффициентам слож- ности (перекрестный). 8. Создать таблицу, содержащую список заказов, имеющих коэф- фициент сложности 1,8. Создать формы: 1. Для добавления ассортимента. 2. Ленточная форма для просмотра списка клиентов и даты зака- зов изделий. 3. Главную форму, содержащую название ткани и подчиненную, содержащую список изделий, выполненных из этой ткани. Создать отчеты: 1. О стоимости изделий ателье для каждого клиента. 2. О количестве изделий ателье каждого вида ассортимента. 3. Список незаконченных изделий на определенную дату (дата — параметр). Создать кнопочную форму, содержащую четыре кнопки: две для открытия форм, третья — для открытия отчета о количестве изделий ателье каждого вида ассортимента и четвертая — для выхода из при- ложения.
Вариант 10 Домашняя контрольная работа Задание 1 В программе Microsoft Word cоставить и распечатать на одном листе формата А4 тезаурус из двадцати основных понятий СУБД Microsoft Access. Задание 2 Выполнить проектирование базы данных с учетом поставленных запросов. База данных должна содержать: 1. Таблицы по заданной предметной области. Количество таблиц определяется в процессе проектирования, но не менее трех. Каждая таблица должна содержать восемь записей. 2. Десять запросов: — один на выборку к каждой таблице; — два перекрестных; — два на выборку к связанным таблицам; — два с параметрами к связанным таблицам; — один с вычисляемым полем; — два с групповыми операциями. При оформлении формулировка запроса обязательна. 3. Формы: — главную и подчиненную; — одну автоформу. 4. Отчеты: — один автоотчет; — один, созданный Мастером отчетов или в режиме Конструк- тора. 5. Кнопочную форму. В базе данных при создании объектов должны быть использованы объекты OLE (картинки, фотографии), возможности Мастеров, Кон- структора и Построителя. Требования к оформлению и расположению заданий домашней кон- трольной работы Титульный лист по стандарту — с. 1 Оглавление — с. 2 Задание 1 — с. 3 Задание 2, формулировка — с. 4 Таблицы, описание полей — с. 4 Схема данных — с. 5 Формулировка запросов, их вид в Конструкторе и результат вы- полнения — с. 6–9 Формы — с. 10 Отчеты — с. 11 Литература — с. 12. Выполнить автоматическую нумерацию страниц, не ставя номер на титульном листе. Домашняя контрольная работа должна быть представлена в печат- ном и электронном варианте на диске. Вариант 1. Проведение семинара. Вариант 2. Поликлиника. Вариант 3. Гастроли. Вариант 4. Компьютерный салон. Вариант 5. Склад товаров магазина «Детский мир». Вариант 6. Склад продовольственных товаров. Вариант 7. Учет товаров оптовой базы промышленных товаров. Вариант 8. Продажа книг. Вариант 9. Начисление заработной платы. Вариант 10. Оплата штрафов ГИБДД. Приложение 3
Функции даты и времени
Логический оператор BETWEEN Оператор BETWEEN определяет принадлежность значения выра- жения указанному диапазону. Синтаксис: выражение [Not] Between значение_1 And значение_2
Дополнительные сведения Если значение поля, определенного в аргументе выражения, по- падает в диапазон, задаваемый аргументами значение_1 и значение_2 (включительно), оператор Between… And возвращает значение True (истина); в противном случае возвращается значение False (ложь). Ло- гический оператор Not позволяет проверить противоположное усло- вие (что выражение находится за пределами диапазона, заданного с помощью аргументов значение_1 и значение_2). Оператор Between… And часто используют для проверки, попада- ет ли значение поля в указанный диапазон чисел. В следующей таблице приведены примеры определения диапазо- нов значений с помощью оператора Between… And.
Логический оператор LIKE Оператор Like полезен при поиске образцов в текстовых полях. Используется для сравнения строкового выражения с образцом в вы- ражении. Дополнительные сведения Для аргумента образец можно задавать полное значение (напри- мер, Like «Иванов») или использовать подстановочные знаки для по- иска диапазона значений (например, Like «Ив*»). Оператор Like используется в выражении для сравнения значений поля со строковым выражением. Например, если в условии на значе- ние поля ввести Like «C*», фильтр или запрос возвратит все значения поля, начинающиеся с буквы «C». Следующая таблица содержит примеры использования операто- ра Like для тестирования выражений с помощью разных образцов.
Введение
продуктов являются различные формы представления исходной ин- формации и отчетности, анализ данных по разным параметрам и с до- статочной скоростью вычислений. База данных представляет собой поименованную совокупность данных, организованных по определенным правилам, включающим общие принципы описания, хранения и обработки. Основой базы данных является модель, которая отражает пред- метную область в виде совокупности информационных объектов и их связей. База данных находится под управлением определенной Системы Управления Базой Данных (СУБД), являющейся комплексом про- грамм, предназначенных для обработки данных. Этот комплекс обес- печивает выполнение операций ввода, добавления, удаления, поиска и работы со связями по заданным правилам. Набор правил, опреде- ляющих организацию логической структуры хранения данных в базе, получил название модели данных. Модели данных определяются тремя компонентами: допустимой организацией данных; ограничениями целостности; множеством допустимых операций. Процедуры хранения данных в БД должны подчиняться общим правилам, среди которых в первую очередь следует выделить: 1) целостность и непротиворечивость данных, под которыми по- нимается как физическая целостность данных, так и предотвра- щение неверного использования данных, поддержка допусти- мых значений сочетаний их значений, защита от структурных искажений и несанкционированного доступа; 2) минимальная избыточность данных; это означает, что любой элемент данных должен храниться в базе в единственном чис- ле, что позволяет избежать необходимости дублирования опе- раций, производимых с ним и уменьшение требуемого объёма памяти. Каждая БД и СУБД строятся на основе явной или неявной модели данных, т. е. спо- собе представления данных об объектах ре- ального мира и правилах организации этих данных. В теории СУБД выделяют три основ- ные модели: иерархическую, сетевую и ре- ляционную. В иерархической модели все элементы
Рис. 1.1 связаны отношением подчиненности, и при этом любой элемент может подчиняться только одному какому-либо другому элементу (рис. 1.1). В базах данных этого типа записи упорядочиваются в определён- ную последовательность. Поиск данных осуществляется последова- тельным спуском по уровням. Иерархическая база данных по своей структуре — аналог иерархической файловой системе. Сетевой подход является расширением иерархического. В иерархических структурах запись — по- томок должна иметь в точности одного пред- ка, а в сетевой структуре потомок может иметь любое число предков (рис. 1.2). Достоинствами СУБД, основанных на иерархической или сетевой моделях, яв- Рис. 1.2 ляются компактность и быстродействие. Недостатками — высокая степень зависимости от конкретных данных. Иерархическая и сетевая модели данных широко использовались при обработке данных на вычислительных машинах типа ЕС. В основе реляционной теории БД лежит четко определенная мате- матическая модель. Раздел математики, изучающий отношения, на- зывается реляционной алгеброй. Отсюда и название реляционных баз данных — базы, информация в таблицах которых обрабатывается сред- ствами реляционной алгебры. Реляционная модель данных получила название от английского термина relation — отношение. Её предло- жил в 70-е годы XX века сотрудник фирмы IBM Эдгар Кодд. При со- блюдении определенных условий отношение представляется в виде двухмерной таблицы, привычной для человека (рис. 1.3). Достоинствами реляционной модели являются простота, удоб- ство реализации, наличие теоретического обоснования и возмож- ность формирования гибкой системы БД, допускающей настройку при формировании запросов. Рис. 1.3
Реляционная модель данных используется в основном в базах дан- ных среднего размера. При увеличении числа таблиц в базе данных падает скорость работы с ней. База данных в MS Access представляет собой множество взаимо- связанных таблиц. В последнее время начинают применяться объектно-ориентиро- ванные базы данных. Такие базы основываются на понятии объекта. Объектно-ориентированные базы данных служат для работы с дан- ными в сложных предметных областях, для моделирования которых не хватает функциональности реляционной модели. Также важна была задача сохранения состояния объектов между повторными запусками прикладной программы. Большинство объектно-ориентированных баз данных представляют собой библиотеки, процедуры управления данными, которые включаются в прикладную программу. Например, системы автоматизированного проектирования, изда- тельские системы и т. д. На сегодняшний день наиболее часто используются реляцион- ные базы данных. Они наиболее просты и удобны в использовании, хотя и не всегда наиболее эффективны. СУБД Microsoft Access, рас- сматриваемая в данном пособии, относится именно к этому классу. СУБД MS Access применяется, если прикладная задача требует хранения и обработки разнородной информации о большом количе- стве объектов и предполагает возможность многопользовательского режима работы. Примером может служить задача ведения бухгалтер- ского учета или работы с клиентами. Основные функции СУБД MS Access — это определение, т. е. описа- ние структуры базы данных, обработка данных и управление данными. База данных в MS Access обычно содержит совокупность сведе- ний о предметной области (о реальных объектах, процессах, собы- тиях или явлениях). Она организованна таким образом, чтобы обес- печить удобное представление этой совокупности, как в целом, так и любой ее части. Перед началом создания базы данных необходимо продумать вы- полнение следующих шагов. 1. Проектирование структуры базы данных 1.1. Постановка задачи (какая информация будет храниться в базе данных). 1.2. Определение состава и структуры таблиц (для информа- ции о различных объектах должны быть созданы различ- ные таблицы). 2. Определение связей между таблицами. 3. Наполнение базы данных информацией. 4. Использование базы данных. 4.1. Корректировка данных. 4.2. Поиск нужной информации. 4.3. Анализ информации. 4.4. Представление информации в удобном для пользователя виде. Раздел 1. Основные понятия реляционных баз данных
Таблица — информация об однотипных объектах. Запись — строка таблицы, информация об одном объекте. Атрибут — столбец таблицы, информация о конкретном призна- ке всех объектов. Поле — ячейка таблицы, информация о конкретном признаке кон- кретного объекта. Ключевое поле или ключ — поле, однозначно определяющее кон- кретную запись, ее уникальный идентификатор; в ключевых полях не допускаются совпадения. Вам предстоит научиться выполнять операции в СУБД Microsoft Access. В первую очередь познакомимся с перечнем объектов, из ко- торых состоит база данных. Таблицы. Основные объекты базы данных. Создание базы начи- нается с создания первой таблицы. Таблицы состоят из строк (запи- сей), содержащих сведения об объектах. Каждая таблица хранит ин- формацию об объектах одного вида. Структура таблицы определяется характером информации об этих объектах. Запросы. Позволяют пользователю выполнять обработку данных, хранящихся в таблицах. Это может быть выборка данных в соответ- ствии с некоторыми условиями или другие операции с данными. Формы. Используются для просмотра, ввода и редактирования ин- формации в полях базы данных. Они представляют собой более удоб- ный способ просмотра и правки данных в таблицах, чем таблицы. Отчеты. Предназначены для форматирования, вычисления ито- гов и печати выбранных данных. Знакомство с остальными объектами выходит за рамки данного пособия. Интерфейс MS Access 2010 Пользовательский интерфейс MS Access 2010 включает три основ- ных компонента: – Лента — полоса в верхней части окна приложения, содержащая группы команд. – Представление Backstage — набор команд на вкладке Файл на ленте. – Область навигации, расположенная в левой части окна MS Access, предназначенная для работы с объектами базы данных. Три этих элемента формируют среду, в которой создаются и ис- пользуются базы данных. Рассмотрим подробнее эти элементы. Лента содержит основные вкладки с группами наиболее часто ис- пользуемых команд, контекстные вкладки, которые появляются, когда их использование допустимо, и панель быстрого доступа — неболь- шую панель инструментов, на которую можно добавить самые нуж- ные команды. Лента заменила меню и панели инструментов. Она является ос- новным командным интерфейсом в MS Access 2010. Одно из глав- ных преимуществ ленты состоит в том, что на ней собраны средства выполнения задач, которые раньше находились в меню, на панелях инструментов, в областях задач и других компонентах пользователь- ского интерфейса. Благодаря этому нужную команду не приходится искать в нескольких разных местах. При открытии базы данных лента появляется в верхней части глав- ного окна MS Access. На ней отображаются команды активной вклад- ки команд (рис. 1.4). Рис. 1.4
В MS Access 2010 основные вкладки команд — Файл, Главная, Со- здание, Внешние данные и Работа с базами данных. Каждая вкладка содержит группу связанных команд, которые могут открывать другие новые элементы интерфейса. На вкладке Главная можно осуществлять выбор режима представ- ления объекта, работу с записями, копирование и вставку данных из буфера обмена, форматирование текста. На вкладке Создание создание пустой таблицы в режиме конструк- тора, создание таблицы на основе шаблона, создание списка на сай- те SharePoint, создание формы или отчета на основе активной табли- цы или запроса. На вкладке Внешние данные возможен импорт или связывание внешних данных, экспорт данных, запуск диспетчера связанных таблиц. На вкладке Работа с базами данных выполняется перенос некото- рых или всех частей базы данных на новый или существующий сайт SharePoint, создание и просмотр отношений между таблицами, показ или скрытие зависимостей объектов. Команды ленты также соответствуют объекту, активному в настоя- щее время. Некоторые вкладки ленты появляются только в опреде- ленном контексте. Например, вкладка Конструктор появляется толь- ко при открытии объекта в режиме конструктора. Если необходимо выделить на экране дополнительное простран- ство для работы, можно свернуть ленту и оставить только строку с вкладками команд. Чтобы скрыть ленту, дважды щелкните актив- ную вкладку команд. Чтобы показать ее, сно- ва дважды щелкните активную вкладку команд. Рис. 1.5 Панель быстрого доступа (рис. 1.5), нахо- дящаяся рядом с лентой, обеспечивает доступ к командам одним щелчком мыши. Набор по умолчанию включает команды Сохранение, Отмена и Возврат. Пользователь сам может на- строить панель быстрого доступа, добавляя в нее наиболее часто ис- пользуемые команды. Настройка панели быстрого доступа 1. Щелкните стрелку раскрытия списка в правой части панели. 2. В разделе Настройка панели быстрого доступа выберите коман- ду, которую необходимо добавить. 3. Если нужной команды нет в списке, щелкните элемент Другие команды. На ленте используется элемент управления Коллекция. С помо- щью этого элемента пользователю предлагается выбрать из предла- гаемых наборов команд действия и сразу просмотреть результат вы- полнения этих команд. Представление Backstage Представление Backstage открывается при запуске при- ложения MS Access. Содержит команды и сведения, приме- нимые ко всей базе данных, такие как создание или от- крытие базы данных, разме- щение в Интернете на серве- ре SharePoint Server, а также команды, которые в более ранних версиях содержа- лись в меню Файл, например команда Печать. Область навигации Область навигации (рис. 1.6) позволяет органи- зовать объекты базы данных и является основным сред- ством открытия или измене- ния объектов базы данных. Область навигации можно уменьшить или скрыть, но она
Рис. 1.6 не загораживается при открытии объектов базы данных поверх нее. При открытии имеющейся или создании новой базы данных имена объектов базы данных появляются в области навигации. К объектам базы данных относятся таблицы, формы, отчеты, страницы, макро- сы и модули. Область навигации заменяет окно базы данных, доступ- ное в более ранних версиях MS Access. Чтобы открыть объект базы данных или применить к нему коман- ду, щелкните его правой кнопкой мыши и выберите команду в кон- текстном меню. Команды контекстного меню зависят от типа объекта. Все объекты базы данных в области навигации делятся на катего- рии, которые содержат группы. Некоторые категории являются встро- енными, но можно создавать и пользовательские группы. При необходимости можно отключить отображение области на- вигации нажатием кнопки в правом верхнем углу области навигации ( ) или нажав клавишу F11. |
Последнее изменение этой страницы: 2019-04-01; Просмотров: 308; Нарушение авторского права страницы