Основы работы с базами данных Access

         

Access 2000 - курс лекций

Целью данных лекций является научить пользователей баз данных Microsoft Access 2000 пользоваться не только мастерами базы данных, но и программными средствами.
Это даст Вам возможность создавать полноценные коммерческие программы и лучше разбираться в возможностях базы данных.
В качестве примера обучению программированию, используется коммерческая программа «Калькулятор», которая применена автором в сборниках «Лидер Access» и «Ключи от Дома».
Особая благодарность отечественной литературе по Access, где очень туманно написано о программировании баз данных, в основном она и дала идею раскрыть некоторые принципы разработки коммерческих программ.

Глобальные переменные

Настольная СУБД Access 2002

Предметом обсуждения является настольная СУБД Access 2002, которая входит в состав широко распространенного семейства офисных приложений Microsoft Office XP. Microsoft Access на сегодняшний день является одним из самых распространенных настольных приложений для работы с базами данных. Это связано с тем, что Access обладает очень широким диапазоном средств для ввода, анализа и представления данных. Эти средства являются не только простыми и удобными, но и высокопродуктивными, что обеспечивает высокую скорость разработки приложений.
Изначально Access имела ряд уникальных возможностей, таких как умение сводить воедино информацию из самых разных источников (электронных таблиц, текстовых файлов, других баз данных), представление данных в удобном для пользователя виде с помощью таблиц, диаграмм, отчетов, интеграция с другими компонентами Microsoft Office.
Совершенствуясь от версии к версии, Access стала инструментом, который может удовлетворить потребности самых разных категорий пользователей: от новичка, которому нравится дружественный интерфейс системы, позволяющий ему справиться с задачами, до профессионального разработчика, который имеет весь необходимый инструментарий для построения уникального решения для конкретного предприятия среднего бизнеса.

Введение

Общие сведения о Microsoft Access
Система управления базами данных Microsoft Access является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют в своем арсенале средства, значительно упрощающие ввод и обработку данных, поиск данных и предоставление информации в виде таблиц, графиков и отчетов. Начиная с версии Access 2000, появились также Web-страницы доступа к данным, которые пользователь может просматривать с помощью программы Internet Explorer. Помимо этого, Access позволяет использовать электронные таблицы и таблицы из других настольных и серверных баз данных для хранения информации, необходимой приложению.
Присоединив внешние таблицы, пользователь Access будет работать с базами данных в этих таблицах так, как если бы это были таблицы Access. При этом и другие пользователи могут продолжать работать с этими данными в той среде, в которой они были созданы.

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

Использование внешних данных
При работе с любым приложением обработки данных всегда является актуальным вопрос, как использовать те данные, которые уже были накоплены раньше другими программными средствами и, следовательно, имеют другой формат.
Access 2002 позволяет решить эту проблему стандартным способом — путем импорта существующей таблицы базы данных, рабочего листа электронной таблицы или текстового файла, созданных приложениями MS-DOS или Windows, во внутренний формат базы данных Access (MDB). Естественно, что Access 2002 может также экспортировать данные из таблиц базы данных формата MDB в любой формат, из которого можно импортировать данные.

Отбор и сортировка записей с помощью запросов
Запрос на выборку содержит условия отбора данных и возвращает выборку, соответствующую указанным условиям, без изменения возвращаемых данных.
В Microsoft Access существует также понятие фильтра, который в свою очередь является набором условий, позволяющих отбирать подмножество записей или сортировать их. Сходство между запросами на выборку и фильтрами заключается в том, что и в тех и в других производится извлечение подмножества записей из базовой таблицы или запроса. Однако между ними существуют различия, которые нужно понимать, чтобы правильно сделать выбор, в каком случае использовать запрос, а в каком — фильтр.

Создание форм для ввода данных
Access 2002 позволяет организовать удобный и интуитивно понятный интерфейс пользователя для работы с данными с помощью форм. Формами называются настраиваемые диалоговые окна, сохраняемые в базе данных в виде объектов специального типа. Формы Access являются объектами базы данных, так же как таблицы и запросы. Формы используются в приложении для ввода и отображения данных. Формами можно управлять программно с помощью процедур на VBA. Формы предоставляют более удобный способ просмотра и правки данных в таблицах, чем режим/Таблицы.
Формы содержат так называемые элементы управления, с помощью которых осуществляется доступ к данным в таблицах. Элементами управления являются текстовые поля для ввода и правки данных, кнопки, флажки, переключатели, списки, надписи, а также рамки объектов для отображения графики и объектов OLE. Создание форм, содержащих необходимые элементы управления, существенно упрощает процесс ввода данных и позволяет предотвратить ошибки.

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


Новые возможности Microsoft Access

В настоящее время информационные технологии бурно развиваются, и за последний год произошло немало революционных изменений в этой области. Поддержка больших объемов данных и интеграция с Интернетом уже стали нормой. Microsoft Access на сегодняшний день является лучшей настольной СУБД, отвечающей современным требованиям к программному обеспечению такого рода: с одной стороны Access предоставляет удобный интерфейс, с другой — мощные средства по представлению и обработке данных с применением самых последних достижений в области информационных технологий.
В этой главе мы рассмотрим основные новшества очередной версии Access. Хочется отметить, что по сравнению с предыдущей версией Access 2000 изменений в Access 2002 не так много и что добавлены не совершенно новые средства, а лишь недостающие. Возможно, каких-то кардинальных изменений в Access следует ожидать в будущей версии пакета Microsoft Office.

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

Создание составных форм
Формы являются основным объектом, который обеспечивает пользователю удобный доступ к данным, поэтому им уделено большое внимание в настоящей книге,-В первой части мы показали несколько способов создания форм и детально описали основной инструмент разработки форм — Конструктор. Вы убедились, какое многообразие возможностей предоставляет этот инструмент для того, чтобы формы получились удобные и красивые. Однако в гл. 5 "Создание форм для ввода данных" мы рассмотрели лишь самые основные вопросы, относящиеся к работе с формами и элементами управления. Здесь мы поговорим об этом более подробно и обсудим более сложные вопросы, касающиеся создания и оформления составных форм — многотабличных и многостраничных, и рассмотрим применение элементов управления всех типов. Материал этой главы является продолжением гл. 5, поэтому рекомендуется ознакомиться с ней прежде, чем переходить к дальнейшему изучению.

Подготовка составных отчетов
Одной из важнейших функций, которые обычно предоставляют настольные СУБД, является возможность создания различных отчетов — документов, содержащих дан--ные из таблиц базы данных. Отличительной особенностью Microsoft Access является наличие очень мощного генератора отчетов, который позволяет создавать отчеты высокого качества. Наличие мастеров, генерирующих автоматически или при помощи диалога с пользователем самые разнообразные отчеты, значительно облегчает трудоемкий процесс их создания. В гл. 6 мы уже рассматривали основные вопросы, касающиеся создания отчетов в Access. В этой главе мы поговорим о них более подробно, ориентируясь на профессиональное использование средств Access 2002. В частности, покажем, как с помощью Мастера отчетов или в режиме Конструктора создавать достаточно сложные по структуре отчеты, включающие подчиненные отчеты или имеющие несколько уровней группировки записей. А также обсудим здесь многие другие вопросы о работе с отчетами, не вошедшие в гл. 6.

Работа с макросами
Основной набор средств Microsoft Access, который мы рассматривали в предыдущих главах книги, ориентирован на пользователей, не владеющих языками программирования. Для программистов же к этим средствам добавлены макросы (небольшие программы на языке макрокоманд системы Access) и модули (процедуры на языке Visual Basic for Application, VBA). С их помощью можно существенно расширить функциональные возможности создаваемого вами приложения и настроить его на нужды конкретных пользователей. В этой главе мы познакомимся с одним из этих средств — макросами и одним из языков программирования Access — языком макрокоманд.

Публикация данных в корпоративной сети и Интернете
В течение последних нескольких лет мы стали свидетелями сильного развития технологии публикации информации, которое может иметь столь же большое значение, как и изобретение печатного станка. Причина сегодняшнего сдвига в публикации информации — создание сети Интернет, World Wide Web и совершенных средств просмотра и хранения данных, которые существенно облегчают сбор и представление информации. World Wide Web связывает большое количество ресурсов, имеющихся в сети Интернет. Используя World Wide Web, можно перемещаться между тысячами компьютерных узлов, системными приложениями, файлами и документами. Простота перемещения между документами и возможность читать их, используя любую компьютерную систему, позволили внедрить технологию Web в организациях. Многие организации разрабатывают собственные сети (интранет), чтобы размещать в них свою информацию для сотрудников.

Программирование в Access
Для того чтобы использовать написанную вами процедуру или функцию, необходимо вызвать ее. Как же осуществляется вызов процедур и функций? Процедуру с непустым списком аргументов можно вызвать только из другой процедуры или функции, использовав ее имя со списком фактических значений аргументов в качестве одного из операторов VBA. Функцию же можно вызвать не только с помощью отдельного оператора VBA, но и поместив ее имя со списком фактических значений аргументов прямо в формулу или выражение в программе на VBA или, например, прямо в формулу в вычисляемых полях запросов, форм и отчетов Access. Процедура с пустым списком аргументов (так называемый командный макрос) может быть вызвана не только из другой процедуры или функции, но и с помощью комбинации клавиш быстрого вызова, команд раскрывающихся меню или кнопок панелей инструментов. Можно также связать такую процедуру с выполнением самых различных событий: например, с открытием формы или отчета, со щелчком мышью по кнопке в форме, с воздействием на элементы управления форм, в частности элементы управления ActiveX.

Настройка пользовательского интерфейса
Для того чтобы создать приложение Access, требуется решить две важнейшие задачи: спроектировать эффективную структуру таблиц и их взаимосвязей (модель данных) и обеспечить удобный пользовательский интерфейс. О том, как эффективно спроектировать базу данных, мы рассказали в гл. 2, первые главы книги были посвящены разработке основных объектов Access: форм, отчетов, страниц доступа к данным. Чтобы создать единое целое из набора отдельных объектов базы данных, используются макросы и процедуры VBA, разработка которых рассматривалась в гл. 11 и 13. Для того чтобы приложение было законченным, применяются дополнительные элементы, такие как специальное меню команд или заменяющая его Главная кнопочная форма, панели инструментов, контекстное меню, а если вы любите пользоваться клавиатурой и готовы запомнить десятка полтора комбинаций клавиш, нужно создать клавиши быстрого вызова.

Интеграция Access с другими компонентами Office
Хотя СУБД Access является прекрасным инструментом для создания различных приложений, выполняющих обработку данных в связанных таблицах, однако некоторые операции с данными гораздо эффективнее решаются другими приложениями, входящими в семейство Microsoft Office 2002. И при разработке приложения возникает желание создать запросы и формы Access, добавить к ним аналитические возможности Excel, обеспечить редактирование отчетов Access в редакторе Word, связать все это с текущей таблицей контактов Outlook или личным календарем и т. д. То есть, чтобы получить приложение для офиса, удовлетворяющее современным требованиям, необходимо обеспечить совместное функционирование различных приложений Microsoft Office. Оказывается, данное желание вполне осуществимо, и в настоящей главе мы покажем это.

Особенности сетевых приложений Access
База данных Access может использоваться одним пользователем на локальном компьютере или несколькими пользователями в сети. Использование базы данных в сети имеет ряд особенностей. Чтобы подготовить базу данных для использования в сети, необходимо выполнить специальную настройку среды Access, параметров базы данных и ее объектов и реализовать особенности общего доступа к данным в программном коде приложения. Об этом и пойдет речь в настоящей главе. Чтобы рассказ не был слишком абстрактным, мы рассмотрим основные вопросы на примере сетевого приложения Access "Игра в доминирование".

Проекты Microsoft Access
В данной главе мы постараемся показать, что Microsoft Access 2000, будучи настольной СУБД, не ограничивает пользователя в разработке приложений различной сложности и масштабируемости. Кроме создания достаточно сложных многопользовательских приложений, Access может использоваться в качестве средства для разработки клиентской части приложения с архитектурой "клиент-сервер". С помощью объектов Access может быть создан интерфейс к базам данных, которые размещаются на мощных серверах баз данных, таких как Microsoft SQL Server, Oracle и т. д.

Репликация баз данных
Портфельная репликация является удобным способом поддержания файла базы данных в обновленном состоянии при работе с ним на разных компьютерах, которые лишь иногда соединяются посредством кабельного соединения (локальной сети или прямого кабельного соединения), или обмен данными между ними выполняется с помощью переносного диска. В этом случае файл базы данных можно поместить в Портфель, чтобы потом поместить его на переносной компьютер. При этом создается новая реплика, которая может быть синхронизирована с базой данных на стационарном компьютере. Предположим, вы ведете на своем персональном компьютере список контактов с помощью базы данных "Контакты". Вас отправляют в командировку на несколько дней, но вам необходимо постоянно использовать эту информацию, сохраненную на вашем компьютере. В этом случае следует применить средства портфельной репликации.

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

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

Глоссарий

Сетевое приложение "Игра в доминирование"
В целях демонстрации применения средств Access для разработки и использования сетевых баз данных и иллюстрации примеров к гл. 16 книги был разработан пример сетевого приложения "Игра в доминирование". Установка и интерфейс этого приложения описаны в разд. "Установка сетевого приложения" и "Интерфейс пользователя" данного приложения.

Базы данных Microsoft Access 2003

Вы  решили заняться изучением базы данных Access — программы, разработанной компанией Microsoft для операционной системы Windows. А возможно, вы попросту утонули в море информации и имеете надежду, что Access станет вашим спасителем. А может, кому-то просто понравилась обложка книги. Как бы то ни было, в ваших руках находится именно то, что нужно.
Как уже отмечалось ранее, Access — это база данных. Вы спрашиваете, что это значит? Об этом будет немало рассказано, а пока что можете представить себе базу данных в качестве удобного места для хранения и организации различного рода объектов. В ней можно хранить все что душе угодно, в том числе:

  •  подборку кулинарных рецептов;
  •  фотографии домашних любимцев;
  •  записи о ведении домашнего хозяйства;
  •  адреса и даты рождения друзей и родственников;
  •  названия книг и их авторов;
  •  любую другую информацию.
Базы данных могут использоваться кем угодно, от дедушек-пенсионеров до сотрудников международных корпораций. И не стоит беспокоиться, если вы новичок в этой области, ведь Access — это сама дружелюбная и удобная в применении база данных из всех существующих ныне на рынке компьютерных технологий. Если вы умеете пользоваться мышью и печатать на клавиатуре, значит, можете смело приступать к изучению Access.
Программа Access работает в операционной системе Windows. В данном случае речь идет об Microsoft Office Access 2003 (далее — просто Access 2003), которая поддерживается Windows 95 и всеми более новыми версиями Windows. Предполагается, что вы умеете загрузить операционную систему, зарегистрироваться в ней и использовать мышь.

Введение

Добро пожаловать в мир баз данных
Возможно, глядя на значок Microsoft Access в меню Пуск, вы уже пытались понять, зачем он нужен. А кому-то наверняка на ум пришла идея о создании базы данных, однако непонятно, с чего начать. В любом случае, Access — это именно то, что вам нужно! Программа обладает дружественным пользовательским интерфейсом и большим набором профессиональных функций, необходимых для создания удобной в использовании базы данных. По мере работы с Access вы освоите новые методы просмотра данных, изучите механизм преобразования последних в действительно необходимую информацию. Эта книга проведет вас по всем этапам работы с базой данных, начиная с создания значка меню Пуск и заканчивая разработкой полноценного приложения Access.

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

Изучение главного рабочего окна Access
В главе 2, «Обзор основных функций Access», уже рассказывалось о пользовательском интерфейсе Access. В частности, описывались такие элементы, как панель задач, панели инструментов и меню. Теперь приступим к знакомству с главным его элементом — окном База данных. Именно с помощью этого окна осуществляется работа с данными, а также с формами, отчетами и другими объектами Access. В настоящей главе описываются методы использования окна и настройки объектов для собственных нужд.

Планирование базы данных
База данных — набор постоянных или взаимосвязанных объектов. Например, ин-эормацию о бытовой технике и прочем имуществе можно хранить в обычной тетради з клеточку. А личные сведения о друзьях и родственниках, такие как их адреса, даты вождения и телефоны, можно содержать в записных книжках или органайзерах. По сути, и записная книжка, и тетрадь — это базы данных упрощенного типа. Они имеют определенную структуру, а для получения и записи информации необходимо выполнить определенную последовательность действий: открыть тетрадь, найти нужную страницу и т.д. Даже куча клочков бумаги, салфетки с записями и самоклеющиеся заметки с идеями относительно написания нового романа также могут считаться базами данных — стоит лишь немного напрячь воображение.

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

Использование взаимосвязей
Термин взаимосвязь зачастую трактуется неоднозначно. В мире реляционных баз данных он означает связь между двумя записями. С одной стороны, использование связей в базах данных обеспечивает совершенно новые возможности, но с другой, нередко вызывает затруднение даже у бывалых пользователей. Запутанные связи Access могут вывести из себя кого угодно. Концепция связей вполне согласуется с различными аспектами Access. Изучение основ и методов их применения позволит поставить связи на службу как разработчикам баз данных, так и их пользователям. Если говорить объективно, то связи — это фундамент, на котором держится вся база данных. По мере изучения этой темы вы поймете, что создание корректных связей между таблицами вполне под силу каждому, хотя и требует определенного терпения и интуиции.

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




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

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

Публикация данных в Интернет с помощью страниц
Для одних людей Интернет — это место развлечений или любимое хобби. Другие подключаются к Всемирной сети с целью решения серьезнейших проблем. Читатели, изучающие Access по этой книге, едва ли смогут создать приложение с поддержкой Интернет, но это вовсе не повод для того, чтобы даже не поинтересоваться такой возможностью. Страница доступа к данным в Access — это объект, который в отличие от других объектов представляет собой файл, созданный на языке разметки динамических гипертекстовых страниц DHTML. Файл хранится вне файла базы данных (с расширением .MDB), хотя его можно без проблем просматривать в окне базы.

Настройка таблиц
К настоящему моменту пользовательский интерфейс Access уже перестал быть для нас чем-то загадочным. Мы научились создавать объекты, формирующие основу базы данных, приобрели некоторый опыт в их настройке. Для создания базы данных Access не требуется много времени, а возможности по ее конфигурированию просто безграничны! В этой главе более подробно описываются таблицы и режим конструктора, с помощью которого можно обеспечить дальнейшее усовершенствование базы данных.

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

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

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

Автоматизация базы данных
Вы наверняка обратили внимание на ссылку Макросы в окне базы данных и начали уставать от необходимости выполнять одни и те же действия, такие как: открытие и закрытие форм, выбор отчета для запуска и т.д. Не стоит раздражаться. В данной главе описываются методы автоматизации работы в Access. Правда, вам придется несколько углубиться в аспекты программирования, но, уверяю вас, в Access с этим справится и новичок.

Совместный доступ к данным
Программа Access — это не только система управления базами данных, но и компонент лучшего в мире пакета программного обеспечения — пакета Microsoft Office. Программы Access, Word и Excel взаимодействуют друг с другом, и данные, содержащиеся в одном из этих приложений, могут использоваться в любом другом.

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

Модели и структуры данных

Без понимания структур данных и алгоритмов невозможно создать сколько-нибудь серьезный программный продукт.
Главная задача данного учебного пособия заключалась в следующем: показать все разнообразие имеющихся структур данных, представление их в памяти на физическом уровне, т.е., "как это сделано внутри", и на логическом уровне, т.е., как эти структуры реализованы в языках программирования; выполняемые над ними операции физического и логического уровней; показать значение структурного подхода к разработке алгоритмов, продемонстрировать порядок разработки алгоритмов наиболее, по мнению авторов, интересных задач.
Нельзя сказать, что такие вопросы не рассматривались в литературе, но с полной уверенностью можно отметить, что так сконцентрированно, так подробно и в доступной для понимания форме, с таким количеством демонстрационных примеров ни в каком из известных нам изданий этого не сделано.
В пособии приводится классификация структур данных, обширная информация о физическом и логическом представлении структур данных всех классов памяти: простых, статических, полустатических, динамических; исчерпывающая информация об операциях над всеми перечисленными структурами.
Приведено достаточно большое количество алгоритмов выполнения особенно важных операций, реализованных в виде процедур и функций, написанных на Turbo Pascal, которые могут быть применены как "заготовки" в самостоятельных разработках студентов и программистов.

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

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

Основы проектирования реляционных баз данных

Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных, явлений. С давних времен люди пытались описать эти явления (даже тогда, когда не могли их понять). Такое описание называют данными. Традиционно фиксация данных осуществляется с помощью конкретного средства общения (например, с помощью естественного языка или изображений) на конкретном носителе (например, камне или бумаге). Обычно данные (факты, явления, события, идеи или предметы) и их интерпретация (семантика) фиксируются совместно, так как естественный язык достаточно гибок для представления того и другого. Примером может служить утверждение "Стоимость авиабилета 128". Здесь "128" – данное, а "Стоимость авиабилета" – его семантика.

Данные и ЭВМ

Проектирование информационных систем

За три последних десятилетия стало общепризнанным, что информация является не менее важным ресурсом человеческого общества, чем сырье, энергия и пища. Можно утверждать, что практически в любом виде человеческой деятельности требуется удовлетворение информационных потребностей в той или иной степени. Так, например, собираясь на улицу, мы всегда хотим получить информацию о погоде. Большинство из нас в том или ином виде ежедневно получают различную информацию из газет, радио, телепередач, Интернета. Не говоря уже об источниках профессиональной информации.
Развитие систем связи и коммуникаций привело к усложнению и дифференциации информационных процессов в человеческом обществе. Способность накапливать информацию и обеспечивать эффективный доступ к ней становится определяющим фактором не только развития человеческого общества, но и поддержания его жизнеспособности. Быстрый рост объемов информации, закрепленной на внешних по отношению к человеку носителях, привел к появлению новых общественных институтов (библиотеки, архивы, пресса, вычислительные центры и т. д.) и специальных систем (службы научно-технической информации, справочные службы, глобальные информационные компьютерные сети).

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

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

Что такое проектирование базы данных
Значительная часть проектов в области информационных технологий (далее ИТ-проектов) направлена на разработку и создание информационных систем, в рамках которых осуществляется обработка данных различной сложности. Целью таких проектов является разработка и создание информационной системы с базами данных. Практически во всех таких проектах решается задача проектирования баз данных определенного типа. Решение задачи проектирования повышает вероятность того, что разрабатываемая информационная система (далее - система) будет удовлетворять заданным функциональным и информационным требованиям с учетом заданных ограничений.

Понятие отношения
Реляционная модель данных была предложена Е.Ф. Коддом в 1970 году и получила к настоящему времени широкое распространение и популярность. Этому способствовали два ее существенных достоинства:
1) однородность представления данных в модели, которая обусловливает простоту восприятия ее конструкций пользователями базы данных,
2) наличие развитой математической теории реляционных баз данных, которая обусловливает корректность ее применения.

Понятие функциональной зависимости в данных
Оставим пока в стороне ответ на вопрос, почему проекты реляционных баз данных бывают плохими, т.е. зачем нужно проектировать реляционную базу данных. Попытаемся сначала ответить на вопросы "В чем заключается проектирование реляционных баз данных? и "Что лежит в основе процедур проектирования реляционных баз данных?"

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

Универсальное отношение
Если в отношение включены все атрибуты из предметной области базы данных, то его называют универсальным отношением. Универсальное отношение находится в 1НФ. Как известно, отношением в 1НФ порождается множество аномалий в обработке данных (обновление, удаление, добавление, избыточность).

SQL и его история
В настоящей лекции мы не определяем подробно основные объекты реляционной базы данных - базы данных, таблицы, индексы, представления, хранимые команды/процедуры, триггеры, события таймера. Это будет сделано в следующих лекциях. Данная лекция концентрирует ваше внимание на тех возможностях, которые предоставляет SQL по обработке данных.

Создание начальной внутренней схемы реляционной базы данных
В настоящем разделе будет рассмотрена первая профессиональная задача проектировщика базы данных по созданию физической модели реляционной базы данных - создание объектов для хранения данных. Эта задача сводится к созданию таблиц и объектов в базе данных, в которых будет храниться информация о сущностях предметной области. Решая эту задачу, проектировщик базы данных отображает отношения логической модели реляционной базы данных (сущности предметной области, представленные в нормализованной форме на ER-диаграммах) в таблицы и индексы реляционной базы данных.

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

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

Структура программы на PL/SQL
В многопользовательских системах пользователи совместно используют вычислительные ресурсы, в частности ресурсы дисковой памяти и оперативной памяти процессора. Вычислительные ресурсы могут быть сконцентрированы в одном месте (централизованные вычисления) или быть рассредоточенными в различных узлах, объединенных в компьютерную сеть (распределенные вычисления). СУБД в любом случае призвана координировать и осуществлять доступ пользователей к базам данных и их объектам.

Средства разграничения доступа в СУБД Oracle
Проектировщик базы данных, выполнив задачи предыдущей лекции, фактически выполнил свою основную работу над созданием скрипта для создания базы данных. Если работа по проектированию базы данных закончена, то зачем проектировщику еще что-то делать, кроме того как проанализировать и проверить проделанную работу, отредактировать окончательный вариант скрипта и создать физическую базу данных? Принято считать, что задача создания базы данных, так же как и управление базой данных, является задачей администратора базы данных. Значит, можно задокументировать проделанную работу и передать ее администратору базы данных.

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

Языки обработки данных и задача оптимизации обработки данных
Базы данных (БД) можно рассматривать как коллекции данных, предназначенных для совместного, коллективного использования в организации. Это предполагает, что БД представляет собой именованную, структурированную и интерпретируемую совокупность данных пользователей. Физически данные в базах данных представляются в машиночитаемой форме. Логическая структура данных и доступ к ним поддерживаются СУБД. Доступ к данным посредством СУБД осуществляется с помощью языков обработки (манипулирования) данными. Язык манипулирования данными используется для обеспечения доступа к данным при их сохранении в БД или выборки из нее.

Реализация оптимизатора SQLBase
На примере оптимизатора СУБД SQLBase рассмотрим основные принципы реализации оптимизаторов обработки запросов, основанных на вычислении стоимости, и покажем, как использовать эти принципы в случае ручной настройки запросов.

Введение в системы управления базами данных

Реляционная модель описывает, какие данные могут храниться в реляционных базах данных, а также способы манипулирования такими данными. В упрощенном виде основная идея реляционной модели состоит в том, что данные должны храниться в таблицах и только в таблицах. Эта, кажущаяся тривиальной, идея оказывается вовсе не простой при рассмотрении вопроса, а что, собственно, представляет собой таблица?
В данный момент существуем много различных систем обработки данных, оперирующих понятием "таблица", например, всем известные, электронные таблицы, таблицы текстового редактора MS Word, и т.п. Ячейки электронной таблицы могут хранить разнотипные данные, например, числа, строки текста, формулы, ссылающиеся на другие ячейки. Собственно, на одном листе электронной таблицы можно разместить несколько совершенно независимых таблиц, если под таблицей понимать прямоугольную область, расчерченную на клеточки и заполненную данными.

Введение


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

Базовые понятия реляционной модели данных
Основы реляционной модели данных были впервые изложены в статье Е.Кодда [43] в 1970 г. Эта работа послужила стимулом для большого количества статей и книг, в которых реляционная модель получила дальнейшее развитие. Наиболее распространенная трактовка реляционной модели данных принадлежит К.Дейту [11]. Согласно Дейту, реляционная модель состоит из трех частей

Целостность реляционных данных
Основное назначение баз данных состоит в том, чтобы хранить и предоставлять информацию о реальном мире. Для представления этой информации в базе данных используются привычные для программистов типы данных - строковые, численные, логические и т.п. Однако в реальном мире часто встречается ситуация, когда данные неизвестны или не полны. Например, место жительства или дата рождения человека могут быть неизвестны (база данных разыскиваемых преступников).

Реляционная алгебра
В реализациях конкретных реляционных СУБД сейчас не используется в чистом виде ни реляционная алгебра, ни реляционное исчисление. Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language). Язык SQL представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления, использующий синтаксис, близкий к фразам английского языка и расширенный дополнительными возможностями, отсутствующими в реляционной алгебре и реляционном исчислении.

Элементы языка SQL
В данной главе рассматриваются элементы языка SQL (Structured Query Language). Текущая версия стандарта языка SQL принята в 1992 г. (Официальное название стандарта - Международный стандарт языка баз данных SQL (1992) (International Standart Database Language SQL), неофициальное название - SQL/92, или SQL-92, или SQL2). Документ, описывающий стандарт, содержит более 600 страниц. Мы дадим только некоторые понятия языка.

Нормальные формы отношений
В данной главе рассматриваются способы "хорошего" или "правильного" проектирования реляционных отношений. Сначала мы обсудим, что значит "хорошие" или "правильные" модели данных. Потом будут введены понятия первой, второй и третьей нормальных форм отношений (1НФ, 2НФ, 3НФ) и показано, что "хорошими" являются отношения в третьей нормальной форме.

Нормальные формы более высоких порядков
В предыдущей главе были рассмотрены нормальные формы вплоть до третьей нормальной формы (3НФ). В большинстве случаев этого вполне достаточно, чтобы разрабатывать вполне работоспособные базы данных. В данной главе рассматриваются нормальные формы более высоких порядков, а именно, нормальная форма Бойса-Кодда (НФБК), четвертая нормальная форма (4НФ), пятая нормальная форма (5НФ).

Элементы модели "сущность-связь"
В реальном проектировании структуры базы данных применяются другой метод - так называемое, семантическое моделирование. Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship).

Транзакции и целостность баз данных
Транзакция - это неделимая, с точки зрения воздействия на СУБД, последовательность операций манипулирования данными. Для пользователя транзакция выполняется по принципу "все или ничего", т.е. либо транзакция выполняется целиком и переводит базу данных из одного целостного состояния в другое целостное состояние, либо, если по каким-либо причинам, одно из действий транзакции невыполнимо, или произошло какое-либо нарушение работы системы, база данных возвращается в исходное состояние, которое было до начала транзакции (происходит откат транзакции).

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

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