В этой книге описана работа с приложением Access 2007, входящим в пакет офисных программ Microsoft Office 2007 и представляющим собой систему управления базами данных (СУБД). Access позволяет легко обрабатывать большие объемы информации и извлекать из базы данных нужные сведения. Инструменты программы предоставляют пользователям огромные возможности и в то же время отличаются простотой и надежностью. Для создания собственной базы данных достаточно освоить лишь несколько простых операций.
Эта книга поможет вам в построении вашей базы данных «с нуля»: вы научитесь формировать структуру базы, правильно распределять информацию в базе, находить нужные данные среди большого объема сведений и создавать наглядные отчеты. В издании приведены пошаговые инструкции для всех операций, которые вам предстоит выполнить.
Все основные понятия и принципы работы с базой данных будут проиллюстрированы примерами. Чтобы было проще, мы будем использовать одну простую базу данных, содержащую сведения о продукции некоей компании, ее клиентах и их заказах.
Прочитав книгу, вы достигнете профессионального уровня в работе с базами данных Access 2007 – важнейшим и популярнейшим средством хранения информации для коммерческих проектов любого типа.
Высказать замечания и пожелания, задать вопросы по этой книге вы можете по адресу AlexanderZhadaev@sigmaplus.mcdir.ru или на нашей домашней страничке www.sigmaplus.mcdir.ru (там вы найдете также дополнительные материалы по книге, сможете принять участие в форуме или пообщаться в чате).
Александр Жадаев
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты dgurski@minsk.piter.com (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.
Как устроена база данных Microsoft Access
Проектирование структуры данных
Этапы работы с базой данных
Приступим к работе
Пользовательский интерфейс Access 2007
Настройка элементов интерфейса
Справочная система Access 2007
Резюме
Программа Microsoft Access 2007 представляет собой систему управления базами данных (СУБД). Используя Access, вы сможете легко обрабатывать большие объемы информации и извлекать из базы данных нужные вам сведения. Acсess обладает огромными возможностями, и в то же время для начала работы и создания собственной базы данных достаточно освоить лишь несколько простых операций.
Эта книга поможет вам в построении вашей базы данных «с нуля»: вы научитесь создавать структуру базы, наполнять ее информацией, находить нужные данные среди большого объема сведений и создавать наглядные отчеты. В книге приведены подробные инструкции для всех операций, которые вам предстоит выполнить.
Все основные понятия и принципы работы с базой данных будут проиллюстрированы примерами. В качестве примера мы будем использовать простую базу данных, содержащую сведения о продукции некоей компании, о ее клиентах и о заказах, сделанных клиентами.
Прочитав данную главу, вы сможете спроектировать структуру данных, отвечающую именно вашим требованиям, сделать первые шаги в создании своей базы, а также узнать о дальнейших этапах работы. Но вначале ознакомьтесь с несколькими несложными понятиями, лежащими в основе баз данных.
Программа Access представляет собой реляционную СУБД (от англ. relation – отношение). Это означает, что база данных Access состоит из взаимосвязанных таблиц. Рассмотрим таблицы и их составляющие, а затем перейдем к изучению связей.
Таблица базы данных – это обычная таблица из строк и столбцов. Ниже приведен пример таблицы (табл. 1.1), содержащей сведения о клиентах компании.
Строки таблицы называются записями. Каждая запись описывает один объект, и, как видно из примера, запись содержит несколько ячеек таблицы, хранящих определенные сведения об объектах. В примере каждая запись содержит информацию об одном клиенте, скажем, запись № 536 – о клиенте по фамилии Крылов, запись № 534 – по фамилии Петров и т. д.
Ячейки таблицы, составляющие запись, по терминологии баз данных называются полями. В ячейках хранятся атрибуты объекта. Например, если объект (то есть клиент) имеет рейтинг 1000, то и в соответствующей записи поле Рейтинг содержит значение 1000.
Полем также называют весь столбец таблицы. Когда говорят о поле записи, речь идет о ячейке. Например, поле Имя записи 536 содержит значение Крылов. Когда же говорят о поле таблицы, то речь идет о столбце. Например, поле Номер (ID) таблицы Клиенты не должно содержать повторяющихся значений.
Каждое поле таблицы имеет строго определенный тип данных. Так, поля Номер (ID) и Рейтинг – числовые, а поля Имя, Телефон и Адрес – текстовые.
Связь между двумя таблицами организуется посредством общих полей этих таблиц. Приведем пример таблицы (табл. 1.2), связанной с таблицей Клиенты.
В этом примере общими полями являются поле Номер (ID) таблицы Клиенты и поле Клиент таблицы Заказы. А именно, поле Клиент содержит номер клиента из таблицы Клиенты. Таким образом, каждая запись таблицы Заказы ссылается на какую-либо запись таблицы Клиенты.
На этом принципе организации связи между таблицами и построены реляционные базы данных. Простой на первый взгляд способ связи предоставляет массу полезных возможностей. В частности, он позволяет извлекать информацию одновременно из нескольких таблиц (например, можно составить отчет, представляющий собой список клиентов с указанием общей суммы заказов каждого клиента), а также избежать дублирования сведений. Так, в данном примере не нужно в каждом заказе указывать адрес клиента.
Кроме того, полезно знать, что если одна таблица ссылается на другую, то первая таблица называется дочерней (как таблица Заказы), а вторая – родительской (как таблица Клиенты). Если одна запись ссылается на другую, они также называются дочерней и родительской.
В реляционной базе данных существует два вида ключевых полей: первичный ключ и вторичный ключ. Для идентификации записей в таблице используется первичный ключ – поле или набор полей таблицы, чьи значения однозначно определяют запись. Соответственно значения первичного ключа должны быть уникальны, то есть в таблице не должно быть двух строк с одинаковыми значениями первичного ключа.
Практически всегда в качестве первичного ключа используется специальное поле, содержащее номер записи (например, поле Номер (ID) в таблице Клиенты). Программа Access присваивает записям номера автоматически и гарантирует уникальность номеров.
Вторичным ключом называется поле дочерней таблицы, содержащее значения первичного ключа родительской таблицы. Например, поле Клиент в таблице Заказы является вторичным ключом. Таким образом, связи между таблицами организуются с помощью ключевых полей.
Теперь, когда вы познакомились с основными элементами таблиц, можно приступать к разработке структуры собственной базы данных.
Как и построение здания, построение базы данных начинается с проектирования. Чтобы понять, какая структура базы будет для вас наиболее удобной и полезной, следуйте нижеприведенным этапам проектирования.
1. Для начала необходимо выяснить, каково назначение базы данных и какую информацию необходимо получать из базы. Составьте список типичных запросов к базе данных:
• список ваших клиентов с контактными данными;
• список заказов конкретного клиента;
• список всех заказов за определенный период;
• какие товары в каком количестве были заказаны за определенный период и т. д.
2. Выделите из этого набора классы объектов, о которых нужно будет получать информацию из базы данных. Объекты каждого класса будут храниться в отдельной таблице, и вы тем самым получите список таблиц будущей базы данных. В примере из предыдущего пункта целесообразно выделить следующие классы: клиенты, заказы и товары. Таким образом, в базе данных будет три таблицы.
3. Выпишите интересующие вас атрибуты объектов каждого класса. Например, для каждого клиента необходимо хранить в базе его имя (или название организации) и контактную информацию, для товара – наименование и цену. В результате вы получите список полей каждой таблицы (рис. 1.1). Учтите, что в таблице должен быть первичный ключ, и добавьте в каждую таблицу дополнительное поле – уникальный номер записи.
Таким образом, были перечислены атрибуты и установлены связи между таблицами. Например, если в таблице заказов есть поля Товар и Клиент, содержащие код товара и номер клиента, то таблица Заказы ссылается и на таблицу Товары, и на таблицу Клиенты.
Рис. 1.1. Структура данных
Итак, вы разработали предварительную структуру данных – предварительную, поскольку в процессе работы структура может изменяться, например появятся новые поля или даже таблицы. Определившись со структурой, можно приступать к построению базы данных в Microsoft Access.
Теперь, когда вы уже знаете, какие таблицы и столбцы должна содержать ваша будущая база, вы готовы перейти непосредственно к работе с программой Access. Перед вами открывается все многообразие возможностей Access. С чего начать? Как не запутаться в сотнях команд, не погрязнуть в технических подробностях?
Примерная последовательность действий, описанная ниже, поможет вам сориентироваться, на каком этапе работы с базой данных вы находитесь в данный момент и какие инструменты Access вам на этом этапе нужны. Таким образом, вы постепенно освоите все те средства, которые потребуются для создания именно вашей базы данных, и вам не придется изучать лишнюю информацию.
Итак, если вы создаете базу данных «с нуля», вам предстоит выполнить следующие операции.
1. Создание базы данных или открытие уже созданной (см. разд. «Приступим к работе»).
2. Создание таблиц, настройка полей таблиц и связей между таблицами. Об этом описывается в гл. 2.
3. Заполнение таблиц информацией. Вы можете вводить данные вручную в режиме редактирования таблицы (см. гл. 2), создать форму для ввода данных (см. гл. 3) или импортировать данные из внешних источников (см. гл. 4).
4. И, наконец, получение информации из базы данных – то, ради чего она и создавалась. Для поиска, отбора, сортировки и агрегации данных вы можете создать запросы (см. гл. 5), для наглядного представления данных – отчеты (см. гл. 7).
Теперь перейдем к практическим действиям и рассмотрим первый этап работы с базой данных – ее открытие или создание.
В этом разделе вы узнаете, как запустить программу Microsoft Access, а затем открыть или создать базу данных.
Для запуска программы Microsoft Access 2007 можно использовать любой из стандартных для Windows способов.
• Нажмите кнопку Пуск, в меню выберите последовательно пункты Все программы → Microsoft Office → Microsoft Office Access 2007.
• Дважды щелкните кнопкой мыши на ярлыке программы на рабочем столе или в панели быстрого запуска.
Совет
Чтобы создать такой ярлык, выберите команду Пуск → Все программы → Microsoft Office → Microsoft Office Access 2007 и, удерживая нажатой клавишу Ctrl, перетащите его мышью соответственно на рабочий стол или на панель быстрого запуска.
• Дважды щелкните кнопкой мыши на файле существующей базы данных. Сразу после запуска эта база данных будет открыта для работы.
При запуске появляется начальное окно Access (рис. 1.2), которое позволяет быстро перейти к работе с конкретной базой данных.
Рис. 1.2. Начальное окно Microsoft Access 2007
Теперь необходимо определиться, с какой базой данных вы будете работать. Каждая база данных хранится в файле с расширением ACCDB. В этом файле также хранятся все отчеты, запросы, формы ввода данных и другие документы, созданные для этой базы.
Если база данных уже была создана, то ее можно открыть, щелкнув кнопкой мыши на ее названии в области Открыть последнюю базу данных (эта область расположена в правой части начального окна Access, как показано на рис. 1.2).
Если нужной базы данных нет в списке, щелкните на ссылке Другие. На экране появится стандартное окно Windows для открытия файла. В этом окне выберите файл базы данных и нажмите кнопку Открыть.
Кроме того, вы можете воспользоваться кнопкой
в левом верхнем углу окна, в появившемся меню выбрать пункт Открыть, а затем выбрать файл в стандартном окне Windows.
Если в открываемой базе данных программа Access обнаружит потенциально опасное содержимое, то под лентой (кнопочным меню) возникнет панель сообщений с предупреждением: Часть содержимого базы данных отключена. Чтобы открыть содержимое базы данных полностью, в том числе заблокированную часть, нажмите кнопку Параметры панели сообщений. В появившемся окне Параметры безопасности Microsoft Office установите переключатель в положение Включить это содержимое и нажмите кнопку ОК.
Итак, вы узнали, как открыть уже существующую базу данных. Если же вам только предстоит создать базу данных, вам поможет один из следующих подразделов.
Если вы хотите самостоятельно разработать структуру базы данных, создать таблицы и ввести данные, вначале необходимо создать пустую базу данных. Для этого выполните следующие действия.
1. Щелкните кнопкой мыши на значке Новая база данных в разделе Новая пустая база данных в центральной части начального окна (см. рис. 1.2) либо нажмите кнопку
в левом верхнем углу окна, а затем в появившемся меню выберите пункт Создать.
2. В правой части окна появится область Новая база данных. В поле Имя файла введите имя новой базы данных. Нажмите кнопку
для выбора папки, в которой будет храниться файл базы данных.
3. Нажмите кнопку Создать. Откроется новая база данных с единственной пустой таблицей, и программа перейдет в режим редактирования таблицы.
Теперь можно заполнять новую базу информацией: вручную, с помощью формы для ввода данных или путем импорта данных из внешних источников. Как это сделать, описывается в следующих трех главах.
Следующий способ создания базы данных – скопировать существующую базу, чтобы продолжить работу с копией. Для этого выполните следующие действия.
1. Откройте для чтения базу данных, которую необходимо скопировать. Нажмите кнопку
в левом верхнем углу окна, затем в появившемся меню выберите пункт Открыть. На экране появится стандартное окно Windows для открытия файла.
2. Щелкните кнопкой мыши на нужном файле базы данных и нажмите кнопку, находящуюся справа от кнопки Открыть (рис. 1.3). В меню открытия файла выберите пункт Открыть для чтения или пункт Монопольно для чтения.
Рис. 1.3. Параметры открытия базы данных
• После открытия базы данных в любом из этих двух режимов вы не сможете вносить в нее изменения. Под лентой (кнопочным меню) возникнет панель сообщений с предупреждением, что база данных открыта только для чтения.
• Если выбранная база данных недоступна другим пользователям, пункты меню Открыть для чтения или Монопольно для чтения равнозначны.
• Вы сможете открыть базу данных в режиме Открыть для чтения, если она не открыта в данный момент другим пользователем в режиме Монопольно. Другие пользователи смогут продолжать работу с базой и открывать ее в любом режиме доступа, кроме режима Монопольно. При этом вы будете просматривать последнюю сохраненную версию, несохраненные изменения будут проигнорированы.
• Открытие базы данных в режиме Монопольно для чтения возможно, только если она в данный момент не используется другим пользователем в режиме редактирования (Открыть или Монопольно). При этом другие пользователи не смогут открывать эту базу данных в режиме редактирования.
3. Если в открываемой базе данных программа Access обнаружит потенциально опасное содержимое, то под лентой появится панель сообщений с предупреждением Часть содержимого базы данных отключена. Чтобы открыть содержимое базы данных полностью, в том числе заблокированную часть, нажмите кнопку Параметры панели сообщений. В появившемся окне Параметры безопасности Microsoft Office установите переключатель в положение Включить это содержимое и нажмите кнопку ОК.
4. Чтобы создать копию открытой базы данных, сохраните ее в другом файле. Для этого нажмите кнопку
в левом верхнем углу главного окна, затем в появившемся меню выберите пункт Сохранить как. Далее укажите формат файла – База данных Access 2007.
На экране появится стандартное окно Windows Сохранение. Введите имя нового файла базы данных, выберите папку, в которой будет храниться этот файл, и нажмите кнопку Сохранить.
Теперь вы можете работать с копией базы данных: создавать новые таблицы, запросы, отчеты или редактировать существующие.