Домой / Скайп / Технологии разработки баз данных средствами microsoft access. Технологии разработки и управления базами данных Технология создания таблиц

Технологии разработки баз данных средствами microsoft access. Технологии разработки и управления базами данных Технология создания таблиц

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

По умолчанию все таблицы открываются в режиме просмотра. Если режим просмотра был изменен, то чтобы снова перейти в режим таблицы, раскройте список рядом с кнопкой "Представление таблицы" и выделите "Режим таблицы" (Datasheet View).

Маркер записи, напоминающий карандаш, говорит о том, что в запись вносятся изменения. Чтобы добавить новую запись в таблицу, используйте запись, помеченную звездочкой. Если таблица содержит объекты OLE, то слова "Точечный рисунок BMP" говорят о том, что поле содержит рисунок. Изменять текст, содержащийся в полях объектов OLE, нельзя! Чтобы просмотреть рисунок, содержащийся в поле объекта OLE, дважды щелкните по ячейке данных, которая содержит строку "Точечный рисунок BMP". Запустится графический редактор Paint и рисунок, хранящийся в поле объекта OLE, будет открыт в нем. Чтобы возвратиться в Access, закройте окно Paint.

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

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

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

Нажмите кнопку "Создать базу данных" (New) на панели инструментов или выберите команду "Файл, Создать" (File, New Database). Чтобы кнопка "Создать базу данных" и команда "Файл, Создать" были доступны, необходимо, чтобы окно базы данных было активно или чтобы главное окно Access было пусто.

Чтобы создать пустую базу данных, раскройте вкладку "Общие" (General) диалогового окна "Создание", выделите элемент "Новая база данных" и нажмите кнопку ОК. Появится диалоговое окно "Файл новой базы данных".

Свойства таблицы Access определяют параметры таблицы в целом. Откройте таблицу в режиме конструктора и нажмите кнопку "Свойства" (Properties) на панели инструментов. Каждая таблица имеет 5 свойств:

  • Описание (Description). Определяет текст, содержащий описание таблицы в окне базы данных.
  • Определяет требования к данным, вводящимся в поля записи. Используется для обеспечения целостности и непротиворечивости данных. Это свойство, в отличие от аналогичного свойства поля, применяется к нескольким (всем) полям таблицы.
  • Фильтр (Filter). Определяет подмножество записей, выводящихся после применения фильтра к таблице.
  • Порядок сортировки (Order By) . Определяет порядок сортировки записей в таблице.

В бланке таблицы можно установить следующие свойства полей таблицы:

  • Имя поля (Field Name). Каждое поле таблицы должно иметь уникальное имя. Хорошим тоном считается отказ от включения в имя поля пробелов и замена пробелов на знаки подчеркивания "_".
  • Тип данных (Data Type): "Текстовый", "Поле MEMO", "Числовой", "Дата/Время", "Денежный", "Счетчик", "Логический", "Поле объекта OLE".
  • Описание (Description). Этот текст выводится в строке состояния при добавлении или изменении данных в поле.
  • Ключевое поле (Primary Key). Чтобы сделать поле ключевым, выделите его и нажмите кнопку "Ключевое поле" на панели инструментов.

Вкладка "Общие" (General) содержит основные свойства поля. Во вкладке "Подстановка" (Lookup) можно задать поведение поля в форме. В следующем списке приведены свойства полей таблицы, устанавливаемые во вкладке "Общие":

  • Размер поля (Field Size). Определяет размер данных для полей с типом "Текстовый" (целое число в диапазоне от 0 до 255, по умолчанию задается размер 50) или "Числовой" (нужно выбрать размер поля в раскрывающемся списке). Свойство "Размер поля" не задается для полей с типами данных "Дата/Время", "Логический", "Денежный", "MEMO" и полей объектов OLE.
  • Формат поля (Format). Позволяет указать форматы вывода текста, чисел и дат на экран и на печать. Можно оставить формат, выбранный автоматически, выбрать формат в раскрывающемся списке или ввести пользовательский формат. Свойство "Формат поля" не задается для полей объектов OLE.
  • Число десятичных знаков (Decimal Places). Определяет число десятичных знаков, используемое при отображении чисел.
  • Маска ввода (Input Mask). Задает маску ввода, облегчающую ввод данных в поле. Например, удобно создать следующую маску ввода для поля "Телефон", позволяющую вводить только цифры и автоматически добавляющую промежуточные символы: "(___) ___-____". Чтобы запустить Мастера по созданию масок ввода, выделите поле с типом данных "Текстовый" или "Дата/Время" и нажмите кнопку построителя ("…") в правой части вкладки "Общие".
  • Подпись (Caption). Указывает текст, который выводится для таблицы или запроса в заголовке столбца в режиме таблицы. Можно использовать любые знаки пунктуации.
  • Значение по умолчанию (Default Value). Позволяет указать значение, автоматически появляющееся в поле при создании новой записи. Например, в поле с типом данных "Дата/Время" можно вводить по умолчанию текущую дату. Не задается для полей с типом данных "Счетчик" и полей объектов OLE.
  • Условие на значение (Validation Rule). Определяет требования к вводимым данным. Значение этого свойства представляет собой выражение. Не задается для полей "Счетчик", "MEMO" и полей объектов OLE.
  • Сообщение об ошибке (Validation Text). Позволяет указать текст сообщения, выводящегося на экран, если введенные данные нарушают условие, определенное в свойстве "Условие на значение".
  • Обязательное поле (Required). Указывает, требует ли поле обязательного ввода значения. Пустые (Null) значения в этом поле не допускаются. Для ключевого поля должно иметь значение "Да".
  • Пустые строки (Allow Zero Length). Определяет, допускается ли ввод в данное поле пустых строк. Используется для полей с типом данных "Текстовый" и "MEMO".
  • Индексированное поле (Indexed). Определяет индекс, создаваемый по одному полю.
  • Новые значения (New Values). Задается только для полей с типом данных "Счетчик" и определяет способ изменения значений поля счетчика при добавлении новых записей. Обычно используют значение: "Последовательные" - значение поля счетчика увеличивается на 1 в каждой новой записи.

Раскройте вкладку "Таблицы" и нажмите кнопку "Создать". В окне "Новая таблица" выберите элемент "Конструктор", нажмите кнопку ОК. Определите вышеперечисленные свойства для всех полей создаваемой таблицы. Нажмите кнопку "Режим таблицы", чтобы переключиться в режим таблицы и увидеть результат выполненной работы. Появится диалоговое окно "Сохранение" (Save As). Введите имя таблицы и нажмите кнопку ОК или . Чтобы увидеть все поля таблицы сразу, измените ширину полей, перетаскивая разделительную черту, которая находится справа от имени поля. Если определены не все свойства полей, не добавляйте новые записи в таблицу!

Чтобы увеличить производительность работы при вводе данных в таблицу, необходимо задать значения по умолчанию для полей таблицы. Например, значение по умолчанию "=Date()+28" является выражением. Оно возвращает текущую дату и прибавляет к ней 4 недели. После того, как значения по умолчанию присвоены, возвратитесь в режим таблицы, нажав кнопку "Режим таблицы" на панели инструментов.

Перед началом заполнения таблицы нужно определить связи этой таблицы с другими таблицами базы данных, определить ключевое поле и создать индексы. Первичный ключ - это одно или несколько полей таблицы, однозначно определяющее запись. Определение ключа таблицы помогает предотвратить появление в таблице одинаковых записей. Откройте таблицу в режиме конструктора. Нажмите клавишу и, удерживая ее нажатой, выделите необходимые поля. Нажмите кнопку "Ключевое поле" (Primary Key) на панели инструментов. Слева от каждого из выделенных полей появится маркер ключевого поля. Чтобы определить последовательность, в которой выделенные поля входят в ключ, нажмите кнопку "Индексы" (Indexes) на панели инструментов.

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

Индексирование таблицы. Хотя Access автоматически индексирует таблицу по значению ключа, может потребоваться создать дополнительные индексы по значениям других полей. Индексы - это внутренние таблицы, ускоряющие построение таблицы, содержащей результаты запросов, и сортирующие таблицу по значению ключевого поля. Каждая таблица Access может иметь до 32 индексов, 5 из которых могут быть составными (в составной индекс может входить не более 10 полей). Но не стоит создавать индексы для каждого поля таблицы и всех их комбинаций, поскольку это может существенно замедлить процесс заполнения таблицы (при изменении или добавлении записи автоматически обновляются все индексы!).

Чтобы проиндексировать таблицу по значению некоторого поля, выделите поле, нажав на кнопку выделения поля в левой части бланка структуры таблицы. Сделайте активным свойство "Индексированное поле" (Indexed), в списке нужно выбрать значение "Да (Допускаются совпадения)". В окне "Индексы" выводятся все индексы таблицы. Чтобы создать составной индекс, введите его название в столбце "Индекс" (index Name) и выберите необходимые поля в раскрывающихся списках столбца "Имя поля" (Field Name). Перейдите в режим таблицы. Подтвердите сохранение структуры таблицы.

Связи между таблицами базы данных можно определить и просмотреть в окне "Схема данных" (Relationships).

Выберите команду "Сервис, Схема данных" (Tools, Relationships) или нажмите кнопку "Схема данных" (Relationships) на панели инструментов.

Выберите команду "Связи, Добавить таблицу" (Relationships, Show Table) или нажмите кнопку "Добавить таблицу" (Show Table) на панели инструментов. В списке таблиц выделите необходимые таблицы и нажмите кнопку "Добавить" (Add). Нажмите кнопку "Закрыть" (Close).

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

Нажмите кнопку "Объединение" (Join Type). Появится диалоговое окно "Параметры объединения" (Join Properties). Выберите нужный тип объединения.

В диалоговом окне "Связи" для обеспечения ссылочной целостности установите флажок "Обеспечение целостности данных" (Enforce Referential Integrity).

Нажмите кнопку "Создать" (Create), чтобы подтвердить создание связи и перейти в окно "Схема данных".

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

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

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

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

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

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

Выражения используются для вычисления различных величин и содержат, по крайней мере, один оператор (например, арифметические операторы, операторы сравнения и т.д.). Чаще всего используются арифметические операторы +, -, * (оператор умножения), / (оператор деления). Величины, к которым применяется оператор, называются операндами.

Существуют операторы сравнения (например, > (знак больше), = (знак равенства) и т.д.). Логические операторы (And, Or, is, Not, Between и Like) возвращают в качестве результата одно из значений "Истина" (True), "Ложь" (False) или пустое значение (Null), если результат вычислить невозможно. Оператор используется для слияния (конкатенации) двух строк в одну. Можно создавать сложные выражения из простых, комбинируя их.

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

Условия на значения, проверяющие корректность данных только в одном поле, независимо от значений других полей, называются условиями на значение поля.

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

Поместите курсор в поле ввода "Условие на значение" и нажмите кнопку "..." (для вызова Построителя выражений) справа от поля ввода. Появится диалоговое окно Построителя выражений. В левом списке этого диалогового окна выделена таблица, а в центральном списке выводится список полей таблицы. Пример выражения, определяющего условие на значение: [ДатаФакт]>=[ДатаПлан] ОR [ДатаФакт] IS Null. В поле ввода "Сообщение об ошибке" введите текст сообщения об ошибке, который будет выводиться при нарушении условия на значение.

Тестирование приложений баз данных часто занимает гораздо больше времени, чем их разработка. Необходимо разработать тестовые примеры, которые помогут проверить правильность работы условий на значение и режима ссылочной целостности. В процессе заполнения таблицы можно проверить правильность определения значений свойств "Значение по умолчанию" и "Формат поля". Можно попробовать ввести в таблицу некорректные данные, чтобы проверить условия на значение полей и записей. Для заполнения откройте таблицу в режиме таблицы.

Условие на значение. Введите в поле неверное значение и нажмите клавишу <стрелка вверх>. При попытке сохранения изменений в новой записи Access автоматически проверяет условие на значение, появляется сообщение об ошибке. Уникальность значений ключа таблицы. В добавленной записи введите значения полей, совпадающие с предыдущей записью, а затем нажмите клавишу <стрелка вверх>. Появится сообщение об ошибке.

База данных (БД)

Организованная структура, предназначенная для хранения информации.

Обычно БД представляются в виде совокупности взаимосвязанных файлов или таблиц, предназначенных для решения конкретной задачи.

СУБД

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

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

Строки таблицы называются записями . Все записи таблицы имеют одинаковую структуру - они состоят из полей (элементов данных), в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и представляет собой заданный тип данных (например, текстовая строка, число, дата).

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

Проектирование базы данных

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

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

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

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

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

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

В результате проектирования БД должна быть разработана информационно-логическая модель (ИЛМ) данных, т.е. определен состав реляционных таблиц, их структура и логические связи . Структура реляционной таблицы определяется составом полей, типом и размером каждого поля, а также ключом таблицы.

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

СУБД MS Access

СУБД MS Access входит в состав Microsoft Office и предназначена для работы с реляционными БД, т.е. представленными в табличной форме. В отличие от табличного процессора Excel, Access имеет более развитые средства для отбора данных из взаимосвязанных таблиц, формирования новых таблиц и отчетов.

Характерной особенностью баз данных, созданных в Access, является хранение создаваемых таблиц и средств для обработки данных в одном файле.

Достоинством Access является возможность создания СУБД (т.е. программы управления) без программирования. Однако, для сложных СУБД применение программирования на встроенном языке Visual Basic for Applications (VBA) позволяет повысить эффективность системы управления.

Таблицы

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

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

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

В реляционных моделях имеются следующие типы объектов:

  • таблицы (отношения),
  • атрибуты (столбцы),
  • домены (допустимые значения атрибутов).

В этой модели объекты и взаимосвязи между ними представлены при помощи таблиц. Одна таблица представляет один объект и состоит из столбцов и строк. Каждая строка таблицы представляет собой одну запись, а каждый столбец - одно поле записей.

Таблица

основной объект реляционной БД, который используется для хранения данных .

Реляционная таблица обладает следующими свойствами:

  • каждый элемент таблицы является одним элементом данных;
  • каждый столбец обладает своим уникальным именем;
  • одинаковые строки в таблице отсутствуют;
  • все столбцы в таблице однородные;
  • порядок следования строк и столбцов может быть произвольным.

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

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

Преимущества реляционных моделей баз данных:

  • простота представления данных (таблица);
  • минимальный избыток данных, что достигается путем нормализации таблиц;
  • независимость приложений пользователя от данных (при включении или удалении таблиц);
  • возможность изменения состава атрибутных отношений;
  • отсутствие необходимости описывать схемы данных (в иерархических и сетевых моделях - надо).

Недостатки реляционных моделей:

нормализация таблиц приводит к значительной фрагментации данных, а при решении задач, как правило, их необходимо объединять.

Создание таблиц базы данных

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

Создание таблицы в MS Access может быть выполнено:

  • в режиме Конструктора;
  • в режиме Таблицы;
  • на основе шаблона таблицы.

Создание таблицы на основе шаблона таблицы

В базу данных будет добавлена новая таблица, созданная на основе выбранного шаблона таблицы.

Создание в режиме Таблицы путем ввода данных

Создание таблицы путем ввода данных не предусматривает описания структуры таблицы. После выбора этого режима (режим Таблицы) открывается пустая таблица, в которую можно ввести данные.

Любое поле в этой таблице можно изменить по желанию пользователя. Имена полей задаются непосредственно в заголовках. При сохранении этой таблицы MS Access проанализирует данные и автоматически присвоит соответствующий тип данных каждому полю, т.е. создаст структуру таблицы. При закрытии режима таблицы Access предложит создать ключевое поле . Если ответить "Да", то будет добавлено еще одно поле типа "Счетчик ", которое и будет ключевым. Если ответить "Нет", то ключ можно задать позже, перейдя в режим конструктора.

Создание таблицы в режиме Конструктора

При выборе режима конструктора появляется окно конструктора

Имя поля

В поле "Имя поля" вводится имя поля таблицы, являющееся его идентификатором .

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

Тип данных

В поле "Тип данных" выбирается один из доступных типов данных:

  • Текстовый - выбирается для полей с алфавитно-цифровыми данными , длиной не более 255 символов. По умолчанию устанавливается длина 50 символов .
  • Поле MEMO - следует использовать только в тех случаях, когда размер текста может превысить 255 символов или в тексте встречаются такие символы, как табуляция или возврат каретки . Длина этого поля составляет до 64 000 символов .
  • Числовой - выбирается для числовых данных. Причем, в свойстве размер поля необходимо определить точность значений данных и объем памяти . Чаще всего используются:
    • длинное целое, (от -2 147 483 648 до +2 147 483 647),
    • одинарное с плавающей точкой (числа с точностью до 7 значащих цифр в диапазоне от до),
    • действительное (позволяет хранить числа с заданной точностью от до).
  • Дата/время - используется для хранения календарных дат или значений времени и позволяет выполнять вычисления в единицах измерения времени: минутах, секундах, часах, днях, месяцах, годах.
  • Денежный - используется для хранения денежных значений, обеспечивает точность до 15 знаков слева от десятичной запятой и 4 знака справа . Если нужно хранить точные десятичные числа, не являющиеся денежными значениями, лучше задать числовой тип данных с размером поля действительное .
  • Счетчик - специально предназначен для автоматической генерации первичного ключа, т.е. полей, имеющих уникальные значения в каждой записи. Таблица не может содержать более одного поля с таким типом данных.
  • Логический - используется для хранения значений Истина (True) или Ложь (False).
  • Поле объекта OLE - позволяет хранить данные, содержащие графические объекты (рисунки, диаграммы), звуковые фрагменты, которые могут иметь динамические связи с другими приложениями Windows.
  • Гиперссылка - используется для хранения простых или сложных «ссылок» на внешний файл или документ.

Описание

Поле "Описание" содержит комментарии к создаваемому полю таблицы. Его заполнение не является обязательным.

Свойства поля

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

Общие свойства поля

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

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

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

В дальнейшем поля подстановки наследуются формами , если в качестве источника данных формы выбрана таблица с такими полями.

Упростить настройку "Подстановки" для поля позволяет Мастер подстановок .

Ключевые поля

Первичный ключ состоит из набора значений, которые однозначно определяют запись базовой таблицы.
Внешний ключ - это поле, значения которого соответствуют значениям первичного ключа другой связанной таблицы.

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

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

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

Определение связей между таблицами в базе данных Access.

Схема данных

Схема данных

является графическим образом БД и используется для определения связей между таблицами.

После того, как созданы таблицы БД, можно установить связи между ними, обратившись к схеме данных.

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

Обязательным условием при установлении связи является совпадение связываемых полей по типу и формату.

Типы связей

Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей.

Отношение «один-ко-многим»

Отношение «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В отношении «один-ко-многим» каждой записи в таблице A могут соответствовать несколько записей в таблице B, но запись в таблице B не может иметь более одной соответствующей ей записи в таблице A.

Отношение «один-к-одному»

При отношении «один-к-одному» запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Отношения этого типа используются не очень часто, поскольку большая часть сведений, связанных таким образом, может быть помещена в одну таблицу. Отношение «один-к-одному» может использоваться для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.

Отношение «многие-ко-многим»

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Этот тип связи возможен только с помощью третьей (связующей) таблицы, первичный ключ которой состоит из двух полей, которые являются внешними ключами таблиц A и B. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей.

При построении связи, MS Access называет одну из таблиц главной, а другую – связанной. Часто он сам может принять решение о том, какую из таблиц считать главной (например, если одно из связываемых полей является ключевым или просто имеет уникальный индекс, главной будет таблица, содержащая это поле). Если это не удается, то главной считается таблица, с которой было начато прокладывание связи .

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

Каскадное обновление и удаление могут быть заданы только в том случае, если включено обеспечение целостности данных. . Если обеспечение целостности не задано, построенная связь никак не будет ограничивать множества допустимых значений связанных полей . В MS Access такие связи играют роль только при построении запросов.

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

Определение связей между таблицами

Связь между таблицами определяется путем добавления связываемых таблиц в окно "Схема данных".

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

Например, можно сопоставить поле с типом "Счетчик" и поле с типом "Числовой", если свойство Размер поля обоих полей имеет значение "Длинное целое". Если оба общих поля имеют тип "Числовой", они должны иметь одинаковое значение свойства Размер поля .

Для задания связи между таблицами

  1. На вкладке Файл нажмите кнопку Открыть .
  2. В диалоговом окне Открытие файла базы данных выберите и откройте базу данных.
  3. На вкладке Работа с базами данных в группе Схема данных щелкните элемент Схема данных .
  4. Если ни одна связь еще не определена, автоматически откроется диалоговое окно Добавление таблицы . Если это окно не открылось, на вкладке в группе Связи нажмите кнопку Отобразить таблицу .

В диалоговом окне Добавление таблицы отображаются все таблицы и запросы базы данных. Чтобы просмотреть только таблицы, выберите пункт Таблицы . Чтобы просмотреть только запросы, выберите пункт Запросы . Чтобы просмотреть и таблицы, и запросы, выберите пункт Все .

  1. Выберите одну или несколько таблиц или запросов и нажмите кнопку Добавить . По завершении добавления таблиц и запросов в окно "Схема данных" нажмите кнопку Закрыть .
  2. Перетащите поле (как правило, поле первичного ключа) из одной таблицы на общее поле (поле внешнего ключа) в другой таблице. Чтобы перетащить сразу несколько полей, нажмите клавишу CTRL и, удерживая ее нажатой, выделите каждое поле.

Откроется диалоговое окно Изменение связей .

  1. Убедитесь, что имена общих полей связи отображаются правильно. Если имя поля отображается неверно, щелкните его и выберите новое поле в списке.

Чтобы обеспечить для этой связи целостность данных, установите флажок Обеспечение целостности данных .

  1. Нажмите кнопку Создать .

Между двумя таблицами будет нарисована линия связи. Если установлен флажок Обеспечение целостности данных , концы линии будут выглядеть утолщенными. Кроме того, если установлен флажок Обеспечение целостности данных , над жирной частью линии с одной стороны связи будет отображаться цифра 1 , а с другой стороны - символ бесконечности ().

ПРИМЕЧАНИЯ

  • Создание связи "один-к-одному" . Оба общих поля (как правило, поля первичного ключа и внешнего ключа) должны иметь уникальный индекс. Это означает, что свойство Индексированное поле должно иметь для этих полей значение . Если оба поля имеют уникальный индекс, в Access создается связь "один-к-одному".
  • Создание связи "один-ко-многим" . Поле на стороне "один" связи (как правило, это первичный ключ) должно иметь уникальный индекс. Это означает, что свойство Индексированное поле этого поля должно иметь значение Да (Совпадения не допускаются) . Полю на стороне "многие" не должен соответствовать уникальный индекс. У него может быть индекс, однако он должен допускать совпадения. Это означает, что его свойство Индексированное поле может иметь значение Нет либо Да (Допускаются совпадения) . Если у одного поля есть уникальный индекс, а у другого - нет, приложение Access создает связь "один-ко-многим".
  • Если перетащить поле, не являющееся ключевым и не имеющее уникального индекса, на другое поле, которое также не является ключевым и не имеет уникального индекса, создается неопределенное отношение. В запросах , содержащих таблицы с неопределенным отношением, Microsoft Access по умолчанию отображает линию объединения между таблицами, но условия целостности данных при этом не накладываются и нет гарантии уникальности записей в любой из таблиц.

Обратите внимание, что скрытые таблицы (таблицы, для которых установлен флажок Скрытый в диалоговом окне Свойства) и их связи не будут отображены, если не установлен флажок Показывать скрытые объекты в диалоговом окне Параметры переходов .

Когда открыто окно "Схема данных", на ленте доступны указанные ниже команды.

На вкладке Конструктор в группе Сервис

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

На вкладке Конструктор в группе Отношения

  • Добавить таблицу . Открывает диалоговое окно Добавление таблицы, чтобы можно было выбрать таблицы и запросы для просмотра в окне "Схема данных".
  • Скрыть таблицу . Скрывает выбранную таблицу в окне "Схема данных".
  • Прямые связи . Отображает все связи и связанные таблицы для выбранной таблицы в окне "Схема данных", если они еще не отображены.
  • Все связи . Отображает все связи и связанные таблицы базы данных в окне "Схема данных". Имейте в виду, что скрытые таблицы (таблицы, для которых установлен флажок Скрытый в диалоговом окне Свойства) и их связи не будут отображены, если не установлен флажок "Показывать скрытые объекты" в диалоговом окне "Параметры переходов".
  • Закрыть . Закрывает окно "Схема данных". Если в макет окна "Схема данных" были внесены какие-либо изменения, будет предложено сохранить их.

Ввод данных в таблицу

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

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

ЗАПРОСЫ

ЗАПРОС

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

Запрос (query) есть механизм выбора и представления информации из базы данных. Запрос направляется пользователем или программой в СУБД для поиска отдельных записей в базе данных. Вопрос, сформированный по отношению к базе данных, и есть запрос.

Запросы отличаются от фильтров следующими свойствами:

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

Механизм запросов реализует одно из основных назначений базы данных - быстрый поиск информации и получение ответов на поставленные вопросы.

С помощью запроса можно выполнить следующие виды обработки данных:

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

Последовательное выполнение ряда запросов позволяет решать достаточно сложные задачи, не прибегая к программированию.

В MS Access можно выделить следующие виды запросов

  1. По результатам действий и особенностям выполнения запросы можно разделить следующим образом:
    • запросы на выборку , используемые для того, чтобы отобрать и представить в удобном виде данные из одной или нескольких таблиц (или запросов);
    • параметрические запросы , которые позволяют задавать конкретные условия отбора непосредственно при выполнении запроса;
    • перекрестные запросы , которые позволяют провести группировку и вычисления, а также представить данные в компактном виде, близком к сводной таблице Microsoft Excel;
    • запросы на изменение , которые позволяют изменять таблицы базы данных: обновлять их, дополнять новыми записями, удалять некоторые записи. Они могут использоваться для создания новых реальных таблиц, которые, в отличие от обычных выборок, в дальнейшем существуют уже независимо от тех таблиц базы данных, которые были использованы для их построения.
  2. По способу формирования запросы можно разделить на два вида:
    • запросы по образцу , или QBE-запросы (Query By Example), при создании которых необходимо указать параметры запроса в окне конструктора, задавая образцы для поиска информации;
      Система запроса по образцу выводит данные, имеющие отношение к вводимым. Запрос формируется путем заполнения бланка запроса в окне Конструктора запросов . Указываются критерии выборки записей в исходной таблице. С точки зрения пользователя, конструирование запроса - это просто пометка нужных элементов формы в окне Конструктора запросов.
    • структурированные запросы , или SQL-запросы (Structured Query Language), для создания которых необходимо описать запрос с помощью языка запросов SQL.
      С помощью структурированного языка формируются запросы любой сложности . Запрос составляется из последовательности SQL-инструкций , которые задают, что надо сделать с вводным набором данных для генерации выходного набора. Выбранную информацию с базы данных можно обработать с помощью специальных анализирующих функций (минимальные и максимальные значения, средние величины, суммы). Работа с SQL-запросом рассчитана на специалиста-программиста. Пользователю, как правило, не приходится обращаться к языку SQL напрямую
    В действительности любой запрос в Microsoft Access реализуется с помощью языка SQL. И хотя большинство запросов можно создавать в режиме конструктора, используя возможности запроса по образцу, каждый созданный запрос хранится в виде инструкции SQL. При создании запроса по образцу Microsoft Access автоматически формирует соответствующий SQL-запрос . Можно просмотреть инструкцию SQL для существующего запроса и внести в нее изменения. В этом случае автоматически будет обновляться определение соответствующего запроса по образцу в режиме конструктора.

Конструирование запросов

В MS Access запрос может быть создан

  • в режиме Мастера
  • в режиме Конструктора
  • в режиме SQL

Окно конструктора запросов разделено на две панели. Верхняя панель содержит схему данных запроса, которая включает выбранные для данного запроса таблицы. Таблицы представлены списками полей. Нижняя панель является бланком запроса по образцу, который нужно заполнить.

Схема данных запроса

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

Бланк запроса по образцу

Бланк запроса по образцу представлен в виде таблицы в нижней панели окна запроса. До формирования запроса эта таблица пуста.

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

При заполнении бланка запроса необходимо:

  • в строку Поле включить имена полей, используемых в запросе;
  • в строке Вывод на экран отметить поля, которые должны быть включены в результирующую таблицу;
  • в строке Условие отбора задать условия отбора записей;
  • в строке Сортировка выбрать порядок сортировки записей результата.

Запрос на выборку

Этапы создания запроса

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

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

Можно воспользоваться другим способом. В начале каждого списка полей, приведенных в верхней половине окна, находится символ * , который означает «все поля». Для того чтобы включить в запрос все поля таблицы, можно просто перенести * в бланк запроса. В этом случае имя поля в бланке запроса будет содержать имя таблицы, за которым следует точка, а затем - символ * (например, Заказы.*), что означает выбор всех полей исходной таблицы. У метода переноса * есть одно существенное достоинство. Если в структуре исходной таблицы производятся какие-либо изменения, например, добавляется новое поле, запрос будет автоматически изменен. При использовании первого способа запрос выбирает только те поля, которые были перенесены в бланк запроса. Однако если необходимо определить условие отбора, придется дополнительно добавить отдельные поля в бланк запроса, а чтобы они дважды не включались в выборку снять для соответствующих полей флажки Вывод на экран .

При выполнении запроса в качестве заголовков столбца динамической таблицы используются имена выбранных полей. Для переименования поля в результирующей динамической таблице необходимо установить текстовый курсор перед именем поля в строке Поле бланка запроса и ввести новое имя с двоеточием. В результате получится следующая конструкция:

Новое имя: Старое имя поля

Обычно Microsoft Access выводит записи в том порядке, в каком они выбираются из базы данных. Можно изменить последовательность вывода данных, определив ее порядок в строке Сортировка . При сортировке по нескольким полям порядок обработки полей определяется их положением в бланке запроса: сначала сортируются значения в крайнем левом поле и далее слева направо.

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

Условия отбора записей

Выражение, которое указывает, какие записи необходимо включить в динамическую таблицу при выполнении запроса вводится в строку Условие отбора для поля, по которому это условие необходимо проверить. Для задания условий отбора можно использовать операторы меньше (<), меньше или равно (<=), больше (>), больше или равно (>=), не равно (<>), равно (=), Like (выбор по маске), Between (между), In (в интервале), And (и), Or (или) и другие, а также имена объектов, константы и функции.
Завершение ввода условия выполняется нажатием клавиши Enter или просто переходом к другой ячейке бланка запроса с помощью клавиш управления курсором или мыши. Мicrosoft Access проводит синтаксический анализ заданного выражения.

Например, если было введено значение текстового поля, то это выражение будет представлено в кавычках . Если выражение не содержит никакого оператора, Microsoft Access будет исходить из того, что подразумевается оператор = или Like.

Допускается использование нескольких условий отбора , которые можно задать как для разных полей, так и для одного поля .

Условия отбора, заданные в одной строке, связываются с помощью логической операции "И", заданные в разных строках - с помощью логической операции "ИЛИ". Эти операции могут быть заданы явно в выражении условия отбора с помощью операторов AND и OR соответственно.

Для создания сложных условий выбора данных используются логические операторы And и Or. Если условия отбора связаны оператором And, запись выбирается только в случае выполнения всех условий. Если же условия отбора связаны оператором Or, запись выбирается при выполнении хотя бы одного из всех условий. При определении нескольких условий отбора, связанных оператором And, для различных полей необходимо просто задать условие в строке Условие отбора для каждого из полей, образующих критерий выбора данных. Если же при определении нескольких условий поместить их в различные строки - строку Условие отбора и строку или - Microsoft Acces будет использовать Or-связь. В результате условия, расположенные в одной строке, связываются оператором And, в разных строках - оператором Or.

Т.о., условием отбора является выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. В качестве операндов выражения могут использоваться: литералы, константы, идентификаторы (ссылки).

Литералом является значение, воспринимаемое буквально, а не как значение переменной или результат вычисления, например, число, строка, дата.

Константами являются не изменяющиеся значения, например, True, False, Да, Нет, Null (константы автоматически определяются в Access).

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

[Имя таблицы]![Имя поля]

В выражении условия отбора допускается использование операторов сравнения и логических операторов: =, <, >, <>, Between, In, Like, And, Or, Not, которые определяют операцию над одним или несколькими операндами. Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =.

Текстовые значения в выражении вводятся в кавычках , если они содержат пробелы или знаки препинания . В противном случае кавычки можно не вводить, они будут добавлены автоматически.

Допускается использование операторов шаблона - звездочка * и вопросительный знак?.

Оператор Between позволяет задать интервал для числового значения.

Between 10 And 100 задает интервал от 10 до 100.

Оператор In позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках.

In ("Математика", "Информатика", "История")

Оператор Like позволяет использовать образцы, использующие символы шаблона, при поиске в текстовых полях.

Like "Иванов*"

Подстановочные символы:

Знак Описание Пример
* Соответствует любому количеству знаков. Может использоваться в качестве первого или последнего знака текстовой строки. wh* - поиск слов what, white и why.
? Соответствует любому текстовому знаку. B?ll - поиск слов Ball, Bell и Bill.
Соответствует любому одному знаку из заключенных в скобки. Bll - поиск слов Ball и Bell, но не Bill.
! Соответствует любому одному знаку, кроме заключенных в скобки. b[!ae]ll - поиск слов bill и bull, но не bell или ball.
- Соответствует любому знаку из диапазона. Необходимо указывать этот диапазон по возрастанию (от A до Z, но не от Z до A). bd - поиск слов bad, bbd и bcd.

Сформировать условие отбора можно с помощью построителя выражений . Перейти в окно можно, нажав кнопку Построить на панели инструментов, или выбрав команду Построить в контекстно-зависимом меню. Курсор мыши должен быть установлен в ячейке ввода условия отбора.

Вычисления в запросах

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

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

Таким образом, запись полного имени поля таблицы выглядит следующим образом:

[Имя таблицы]![Имя поля]

Имя вычисляемого поля выводится перед выражением и отделяется от него двоеточием

Имя_Нового_Поля:Правило_вычисления

Групповые операции

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

  • Sum вычисляет сумму всех значений заданного поля в каждой группе;
  • Avg вычисляет среднее арифметическое всех значений данного поля в каждой группе;
  • Min (Max ) возвращает наименьшее (наибольшее) значение, найденное в этом поле в каждой группе;
  • Count определяет количество записей в каждой группе и др.

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

Объединение данных

В Access предусмотрена возможность работы с запросами, основанными не только на одной, но и на нескольких таблицах (запросах). Такие запросы называют многотабличными, или реляционными. Выбор данных из нескольких таблиц особенно удобен при создании форм и отчетов.

Между таблицами в бланке запроса отображаются связи, унаследованные из схемы данных. Но даже если связи не были созданы, то при добавлении в запрос двух таблиц может быть автоматически установлено их объединение. Для этого они должны иметь одноименные поля с одинаковым или совместимыми типом данных, а так же одно из полей должно быть ключевым. В это случае «1:∞» отображаться не будут, не включена проверка целостности данных. Автоматическая установка объединения таблиц в запросах работает при включенном параметре Разрешить объединение в секции Конструктор запросов раздела Конструкторы объектов диалогового окна Параметры Access. По умолчанию этот параметр включен.

Объединение можно установить «вручную», перетащив поле из одной таблицы в другую. Объединяемые поля должны иметь совместимые типы данных. Поле MEMO, Поле объекта OLE и Вложение объединению не подлежат .

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

Возможно установить левые и правые внешние объединения с помощью диалогового окна Параметры объединения, вызываемого из контекстного меню связи.

Левое внешнее объединение – это объединение, при котором в динамический набор включаются все записи первой таблицы независимо от того, есть ли соответствующие записи во второй таблице.
Правое внешнее объединение – это объединение, при котором в динамический набор включаются все записи второй таблицы.

Параметрические запросы

Параметрический запрос

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

В параметрическом запросе указывается критерий, который может изменяться по заказу пользователя. Такой запрос выгодно применять как основу для форм и отчетов. Например, в отчете появляется приглашение ввести месяц, за который он составлен. Условие отбора записей задается непосредственно при вызове запроса. При этом для внесения изменений не требуется открывать запрос в окне Конструктора (строка «Условие отбора»).

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

Дополнительно, выполнив команду Запрос / Параметры, в диалоговом окне Параметры запроса можно перечислить имена всех параметров, используемых в запросе, и для каждого параметра определить тип данных.

Следует иметь в виду, что текст, введенный в качестве имени параметра в бланке запрос должен в точности соответствовать тексту, введенному в диалоговое окно Параметры запроса при определении типа данных параметров. В противном случае Microsoft Access воспринимает их как два разных параметра. При удалении параметра из бланка запроса необходимо удалить его и из диалогового окна Параметры запроса.

Перекрестный запрос

Перекрестные запросы специально предназначены для представления данных в удобном для анализа виде и проведения расчетов . Здесь можно подсчитать сумму, находить максимальные, минимальные и средние значения, число значений, др. Результаты группируются в виде таблицы по двум наборам данных (созданным из полей таблицы). Один из наборов задает заголовки столбцов, а другой – заголовки строк таблицы запроса.

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

При создании перекрестного запроса в режиме конструктора необходимо указать поля, значения которых будут заголовками столбцов и строк, а также поле, значения которого следует использовать в вычислениях. Для этого по команде Запрос / Перекрестный в бланк запроса добавляются строки Групповая операция и Перекрестная таблица . Строка Перекрестная таблица используется для определения роли поля в перекрестном запросе (Заголовки строк, Заголовки столбцов, Значение). Строка Групповая операция позволяет указать, какие именно вычисления необходимо произвести в перекрестном запросе.

Запросы на изменение

Запросом на изменение

Запрос, который за одну операцию изменяет или перемещает несколько записей.

В то время как запросы на выборку извлекают и отображают данные в динамической таблице, активные запросы (запросы на изменение) выполняют определенные действия над извлеченными данными.

Существует четыре типа запросов на изменение.

  • На удаление записи. Запрос на удаление удаляет группу записей из одной или нескольких таблиц, удовлетворяющую условиям, определенным в запросе. Например, запрос на удаление позволяет удалить записи о товарах, поставки которых прекращены или на которые нет заказов. С помощью запроса на удаление можно удалять только всю запись , а не отдельные поля внутри нее. Если между таблицами установлена связь с обеспечением целостности данных с каскадным удалением записей, то создается запрос на удаление записей только из главной таблицы. В противном случае – сначала составляется запрос на удаление записей из подчиненной таблицы, а затем – из главной.
  • На обновление записи . Запрос на обновление вносит общие изменения в группу записей одной или нескольких таблиц, удовлетворяющих определённому условию. Запрос на обновление записей позволяет изменять данные в существующих таблицах . Первоначально Запрос на обновление создается как Запрос на выборку, а затем в окне конструктора запросов превращается в запрос на обновление с помощью кнопки Обновление на панели инструментов. После выполнения этой команды в бланке запроса появляется строка Обновление . Для отбора обновляемых записей надо включить в бланк запроса поля, требующие обновления, а также поля, по которым задаются условия отбора. Условия отбора записываются так же, как при создании запроса на выборку. Для обновляемого поля в строку Обновление надо ввести значение или выражение, определяющее новое значение поля . Выражение можно создать с помощью построителя выражений.
  • На добавление записей . Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц. Например, появилось несколько новых клиентов, а также база данных, содержащая сведения о них. Чтобы не вводить все данные вручную, их можно добавить в таблицу «Клиенты». Добавляется только то, что было выбрано. С помощью запроса на добавление производится добавление записей из таблицы запроса в другую таблицу. Поэтому надо позаботиться, чтобы в запросе были сформированы записи с полями, соответствующими полям в другой таблице. Таблицы необязательно должны иметь одинаковую структуру, но требуется,чтобы типы полей одной таблицы строго соответствовали типам полей другой таблицы. В записи запроса может быть меньше полей, если на поля в таблице, куда добавляются записи, не наложено требование по обязательности их заполнения.
  • На создание таблицы . Запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы полезен при создании таблицы для экспорта в другие базы данных Microsoft Access или при создании архивной таблицы , содержащей старые записи. Запрос на создание таблицы используется для сохранения результата запроса. Этот запрос основан на запросе на выборку, но в отличие от него сохраняет таблицу с результатами запроса.

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

Действия запросов на изменение необратимы!

Формы

ФОРМА

Объект БД, позволяющий наглядно представлять данные и создавать удобный пользовательский интерфейс для работы с ними

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

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

Основные способы создания форм

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

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

Автоформы представляют собой разные варианты представления информации из исходной таблицы.

  • Автоформа: в столбец . Каждое поле располагается на отдельной строке; подпись находится слева от поля.
  • Автоформа: ленточная . Поля, образующие одну запись, расположены в одной строке; их подписи выводятся один раз в верхней части формы.
  • Автоформа: табличная . Поля записей расположены в формате таблицы, где каждой записи соответствует одна строка, а каждому полю один столбец. Имена полей служат заголовками столбцов.
  • Автоформа: сводная таблица . Форма открывается в режиме сводной таблицы. Имеется возможность добавлять поля путем их перетаскивания из списка полей в различные области макета.
  • Автоформа: сводная диаграмма . Форма открывается в режиме сводной диаграммы. Имеется возможность добавлять поля путем их перетаскивания из списка полей в различные области макета.

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

Режимы работы с формами

Переключение между режимами осуществляется соответствующими командами меню.

Основные разделы бланка формы

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

Форма также может содержать разделы Верхний/Нижний колонтитулы , содержимое которых отображается в верхней/нижней части каждой страницы при предварительном просмотре и выводе на печать.

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

  • присоединенные (связанные),
  • несвязанные,
  • вычисляемые.

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

Работа по созданию несвязанных и вычисляемых элементов в режиме конструктора форм происходит, в основном, при помощи панели элементов управления .

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

  • Выбор объектов используется для выделения, изменения размеров, перемещения и редактирования элемента управления, по умолчанию нажата;
  • Поле используется для создания одноименного элемента управления, служащего для вывода текста, чисел, дат, вычисляемых выражений; этот элемент можно связать с одним из полей таблицы или запроса ;
  • Надпись используется для создания области текста;
  • Кнопка - элемент управления, с помощью которого можно активизировать функцию или макрос;
  • Гиперссылка ;
  • Разрыв страницы , Вкладка - элементы, позволяющие разделить информацию из источника записей на отдельные страницы (вкладки);
  • Группа переключателей используется для создания элементов управления (группы переключателей, флажков или выключателей);
  • Выключатель, Флажок, Переключатель - элементы управления, принимающие значение Да/Нет, которые можно связать с полем базовой таблицы (запроса) и/или использовать для организации диалога с пользователем;
  • Поле со списком, Список используются для создания элементов управления, содержащих список потенциальных значений, которые можно внести в строку свойства Источник строк или использовать подстановку из имеющейся таблицы или запроса;
  • Свободная / присоединенная рамка объекта , рисунок - средства для вставки в форму рисунка, рамок (связанных и свободных), рисования линий и прямоугольников;
  • Подчиненная форма/отчет для включения в данную форму информации из дополнительного источника. Как правило, в качестве подчиненной формы используется объект (форма, запрос, таблица), связанный с исходным. Поэтому в подчиненном объекте зачастую отражаются не все записи, а только соответствующие определенному значению некоторого поля главной формы.
  • Мастер помогает ввести свойства соответствующих элементов, по умолчанию включена.

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

При этом используются различные способы построения многотабличной формы:

  • явное включение подчиненной формы

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

  • вызов связанной формы по кнопке

Мастер форм позволяет создать связанные формы, которые не включаются непосредственно в форму. При этом вместо подчиненной формы включается только кнопка, представляющая связанную форму, с помощью которой ее можно вызвать;

  • многотабличная форма без подчиненных и связанных форм

Составная многотабличная форма, построенная Мастером может не включать подчиненных и связанных форм. Такая форма создается, если необходимо отображать записи в подчиненной таблице, дополненные полями из одной или нескольких главных таблиц. Источником данных для записи, выводимых в форме, является запись подчиненной таблицы. Форма отображает поля из записи подчиненной таблицы и поля из единственной связанной с ней главной таблицы.

ОТЧЕТ

Объект БД, который используется для представления данных в виде печатного документа.

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

Отчет позволяет дополнить извлеченную из базы данных информацию результатами анализа и вычислений, использовать различные средства визуального оформления.

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

Разработка отчетов

В MS Access отчет может быть создан посредством следующих инструментов:

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

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

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

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

Достаточно часто сначала используется мастер отчетов, который позволяет быстро создать заготовку отчета, а затем заготовка дорабатывается в режиме конструктора.

Составные части отчета

При создании отчета в режиме конструктора в окне отображаются пустые разделы отчета.

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

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

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

В режиме Конструктора


В режиме Предварительного просмотра

Макросы и модули

Язык макросов является языком программирования, который позволяет реализовать задачи пользователя, выполняя необходимые действия над объектами MS Access и их элементами.

программа, состоящая из последовательности макрокоманд.

Макрокоманда - это инструкция, ориентированная на выполнение определенного действия.

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

Язык макросов обеспечивает возможность выполнения большинства задач, не прибегая к программированию на Visual Basic. Макросы, являясь надстройкой над Visual Basic, обеспечивают пользователя средствами решения задач, не требующими знания детального программирования. Язык макросов является языком более высокого уровня, чем Visual Basic.

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

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

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

Конструирование макроса

Создание макросов осуществляется в диалоговом режиме и сводится к записи в окне макроса последовательности макрокоманд, для которых задаются параметры. Каждому макросу присваивается имя. При выполнении макроса макрокоманды выполняются последовательно в порядке их расположения. При этом используются объекты или данные, указанные в аргументах макрокоманд. Имеется возможность определить условия выполнения макрокоманды.

Выполнение макросов инициируется простой операцией и может сводиться к его открытию, как это делается и для других объектов базы данных. Помимо этого, Access предоставляет возможность автоматически инициировать выполнение макроса при наступлении некоторого события. Для связи макроса с событием достаточно в бланке свойств объекта или его элемента управления внести в строку этого события имя макроса. События, с которыми можно связать макрос, определяются в свойствах форм и отчетов и их элементах управления. Создание макроса начинается в окне базы данных, где надо выбрать закладку Макросы (Macros) и нажать кнопку Создать (New). После этого открывается окно макроса.

Формирование макрокоманд в окне макроса

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

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

После ввода всех макрокоманд в макрос его надо сохранить, воспользовавшись командой меню Файл/Сохранить или кнопкой панели инструментов макроса.

Для выполнения макроса можно нажать кнопку панели инструментов Запуск. Если макрос уже закрыт, то для его выполнения надо в окне базы данных выбрать макрос и нажать кнопку Запуск в этом окне. Таким образом, по инициативе пользователя задача может решаться многократно.

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

Преобразование макроса в код VBA

Макросы содержат наборы команд, которые доступны в языке программирования Visual Basic для приложений (VBA). Если потребуется добавить дополнительные возможности, отсутствующие в макросах, можно легко преобразовать изолированный макрос в код VBA и добавить в него все необходимые функции. Следует помнить, что код VBA не выполняется в браузере, а будучи добавленным в веб-базу данных, будет выполняться лишь при ее открытии в приложении Access.

ПРИМЕЧАНИЕ.
Внедренные макросы невозможно преобразовать в код VBA.

Чтобы преобразовать макрос в код VBA, выполните указанные ниже действия:

  1. В области навигации щелкните макрос правой кнопкой мыши и выберите пункт "Конструктор".
  2. На вкладке в группе Сервис выберите команду Преобразовать макросы в Visual Basic .
  3. В диалоговом окне Преобразование макроса укажите, следует ли добавить в модуль VBA код обработки ошибок и комментарии, и нажмите кнопку Преобразовать .

Приложение Access подтвердит преобразование макроса и откроет редактор Visual Basic. Чтобы просмотреть модуль и внести в него изменения, дважды щелкните преобразованный макрос в области проекта.

МОДУЛЬ

Набор описаний и подпрограмм на языке Visual Basic для автоматизированной работы с БД.

Контрольные вопросы

  • Дайте определние понятиям "База данных", "Система управления базами данных".
  • Охарактеризуйте основные этапы проектирования БД.
  • Для чего предназначены таблицы БД?
  • Из скольких этапов состоит создание таблицы в Access?
  • Как формируется имя поля? В чем его отличие от заголовка поля в выходном документе?
  • Какие параметры таблицы могут быть заданы в режиме Конструктора?
  • Что такое простой (составной) ключ? Как они создаются?
  • Что такое схема данных? Перечислите доступные типы связей между таблицами?
  • Для чего предназначены запросы?
  • Какие типы запросов реализованы в Access?
  • Из каких частей состоит окно конструктора запроса?
  • Опишите способы заполнения первых двух строк полей бланка запроса.
  • Что такое условие отбора записей? Как его задать? Приведите примеры.
  • Каковы общие шаги технологий создания запросов на изменение?
  • В чем сходство и различие между таблицами БД и запросами?
  • Опишите технологию создания вычисляемых полей в запросе.
  • Что такое параметрический запрос? Каковы особенности его создания?
  • Что такое перекрестный запрос? Каковы особенности его создания?
  • Каково основное назначение форм при разработке СУБД?
  • Перечислите способы создания форм. Какой способ является оптимальным с точки зрения трудоемкости?
  • Сравните разработку форм с помощью Мастера и вручную. Опишите достоинства и недостатки этих технологий.
  • Что такое подчиненная форма? Как связаны между собой главная и подчиненная формы в схеме данных?
  • Что такое составная форма? Какова технология разработки составных форм?
  • Каково основное назначение отчетов?
  • Сравните назначение отчетов и назначение форм.
  • Как при работе с Мастером отчетов изменить группировку данных в отчете?
  • Какие разделы имеются в окне конструктора отчетов? Для чего они предназначены? Как добавить отсутствующие и удалить ненужные разделы?
  • Чем отличаются макросы в MS Access от макросов в MS Word и MS Excel?
  • В чем сходство и различие между макросами и модулями в Access?
  • Как организовать запуск макроса при открытии БД?

Технология создания таблиц

СУБД MS ACCESS предоставляет несколько средств создания таблиц: ручные (создание таблицы в режиме конструктора или путём ввода данных) и автоматизированные (разработка с помощью мастера). Работа мастера основана на применении большого количества шаблонов таблиц, при этом пользователь может выбрать требуемые поля из шаблонов. Для качественного освоения технологии создания таблицы, рекомендуется использовать ручные средства.

Для создания новой таблицы базы данных в режиме конструктора необходимо выполнить следующие действия в окне База данных:

· на панели объектов нажать на кнопку - Таблицы;

· на панели управления объектом выбрать - Создание таблицы в режиме конструктора;

· в окне конструктора сформируйте структуру таблицы (заполните список полей с указанием их типов);

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

Список типов полей - позволяет выбрать тип поля из раскрывающегося списка.

Кнопка выбора типа поля - элемент управления для выбора типа поля. Кнопка отображается только после введённого имени поля.

Панель редактирования свойств полей - содержит список свойств выделенного поля: размер поля, формат поля и т.д. Свойства полей можно не изменять (назначать по умолчанию) или редактировать; закрыть окно конструктора с сохранением сформированной структуры и указанием имени таблицы.

Технология ввода и редактирования данных

Созданную таблицу открывают в окне База данных двойным щелчком левой кнопки мыши на её значке. Новая таблица не имеет записей - только названия столбцов, характеризующие структуру таблицы. Заполнение таблицы данными производится обычным порядком. Очередная запись вводится в конец таблицы. Ввод в определённую ячейку таблицы (выделенную курсором) осуществляется путём набора информации на клавиатуре и последующим нажатием клавиши или . При окончании ввода данных в последнее поле записи MS ACCESS сам переходит на первое поле новой записи и ожидает ввода данных.

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

Для удаления записи её необходимо выделить (щелкнуть по области маркера записи) и нажать клавишу , или выполнить команду меню ПРАВКА-УДАЛИТЬ. В выводимом на экран запросе подтвердить удаление.

Технология поиска и отбора данных

MS ACCESS предоставляет довольно широкий спектр возможностей для поиска и отбора информации в базах данных. К таким средствам можно отнести использование команд поиска, фильтрации, сортировки, создания и использования запросов.

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

С помощью запросов с данными могут выполняться следующие операции: отбор, сортировка, фильтрация данных, преобразование по заданному алгоритму, создание новой таблицы, выполнение автоматического наполнения таблиц, импортированными из других источников, выполнение простейших вычислений в таблицах. В MS ACCESS есть несколько типов запросов.

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

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

Перекрестные запросы - используют для расчётов и представления данных в структуре, удобной для их анализа.

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

На обновление записи - вносит общие изменения в группу записей одной или нескольких таблиц.

На добавление записей - добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц.

На создание таблицы - создаёт новую таблицу на основе всех или части данных из одной или нескольких таблиц.

Запрос SQL - это запрос, создаваемый на языке SQL (Structured Query Language) используется при создании запросов к серверу базы данных.

Самым распространённым типом запроса является запрос на выборку. Для его создания с помощью конструктора необходимо выполнить следующие действия в окне База данных:

· на панели объектов нажать на кнопку - Запросы;

· на панели управления объектом выбрать - Создание запроса в режиме конструктора;

· в окне Добавление таблицы выбрать объект (используя вкладки Таблицы, Запросы, Таблицы и запросы), для которого формируется запрос. Для завершения работы необходимо нажать на кнопки <Добавить> и <Закрыть>;

· в окне Запрос на выборку (структура которого приведена рисунке) создать структуру запроса, выполнив следующие действия:

· в таблице, приведенной в области Структура таблицы, двойным щелчком левой кнопки мыши выбрать названия тех полей, которые должны войти в запрос (имена выбранных полей и таблиц автоматически появляются а строках Поле и Имя таблицы, области Структуры запроса;

При необходимости установить параметры сортировок, вывода на экран и отбора данных с помощью указателей соответствующих строк:

Сортировка - позволяет для каждого поля выбрать метод сортировки: по возрастанию или по убыванию. В запросе данные будут отсортированы по тому полю, для которого задан порядок сортировки. Возможна многоуровневая сортировка - сразу по нескольким полям слева направо;

Вывод на экран - позволяет устанавливать вывод содержимого полей на экран;

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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ДЕЛАМ ГРАЖДАНСКОЙ ОБОРОНЫ, ЧРЕВЫЧАЙНЫМ СИТУАЦИЯМ И ЛИКВИДАЦИИ ПОСЛЕДСТВИЙ СТИХИЙНЫХ БЕДСТВИЙ

АКАЕМИЯ ГОСУДАРСТВЕННОЙ ПРОТИВОПОЖАРНОЙ СЛУЖБЫ

Кафедра информационных технологий УНК АСИТ

Курсовая работа по теме:

«Технологии разработки и управления базами данных»

Выполнил: сержант вн. службы Байтемиров Т.И., гр. № 52155Б-1к2015

Москва 2015 г.

Аннотация

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

Постановка задания

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

пожар управление сервер access

1. Описание структуры базы данных

База данных состоит из трех таблиц Виды объектов, Данные о пожарах, Ликвидация пожаров.

Рис.1. Таблица «Виды объектов»

Рис.2. Таблица «Данные о пожарах»

Рис.3. Таблица «Ликвидация пожаров»

Рис.4. Связь между таблицами.

Рис.6. Форма выборки записей о пожарах со временем тушения более 20 мин.

Рис. 7. Отчет о выборки записей о пожарах со временем тушения более 20 мин.

Рис.9. Результат запроса с выбором площади пожара 13 кв.м.

Рис.10. Форма с гистограммой для вывода среднего материального ущерба в зависимости от даты пожара.

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

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

1. Что такое СУБД

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

Внесение объекта в базу - только полдела. Его еще нужно как-то характеризовать, связать с ним определенное значение. И тут нужно ввести понятие «данное». Данное - это определенный показатель, характеризующий объект и наделяющий его определенным значением. Причем не обязательно, чтобы объект был определен одним данным - их может быть много. Представим, что мы имеем дело с хакерской структурой. Хакерство - это объект. А вот данные - это уже хакерские течения, стаж незаконной деятельности, количество написанных эксплойтов и взломанных машин и т.п. Другими словами, данные - это характеристики определенного объекта. Именно это больше всего интересует клиента, обратившегося к пока еще будущей БД.

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

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

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

За таблицами - наше будущее!

Та или иная СУБД зависит от модели, которая положена в основу базы. В наше время стали наиболее распространенными две модели: реляционная (модель отношений) и объектно-ориентированная (модель объектов). О них и пойдет речь.

Начнем с реляционной модели. В далеком 1969 году американский математик доктор Э.Ф. Кодд (Е.F. Codd) проанализировал сложившуюся к тому времени ситуацию по базам данных и пришел к выводу, что дело плохо. Во всех имевшихся в то время моделях были существенные недостатки: избыточность данных, сложность обработки и отсутствие безопасности хранения информации и т.п. После тягостных раздумий Кодд решил создать свою модель - реляционную. Для тех, кто злостно прогуливал английский, напоминаем, что relation переводится как «отношение» или просто «таблица». Гениальный доктор просто реализовал хранение данных в табличной форме, то есть организовал такие «хранилища» в виде логических структур (физические методы хранения могут быть любыми). Тем самым Кодд сумел добиться наглядности представления информации и удобства ее обработки. Благодаря достижению этого гения для формирования таблицы данных стало достаточно выполнить определенный логический запрос, подчиняющийся законам булевой алгебры. Среди операторов манипуляции данными существуют минимум три операции: извлечение строк (SELECT), извлечение столбцов (PROJECT) и объединение таблиц (JOIN). В результате этих действий мы получаем таблицу. И простой вывод из всего этого: результатом любой операции в реляционной модели является объект того же рода, что и объект, над которым осуществлялось действие. Это и есть основное свойство описываемой модели.

Кроме базовых знаний, нам понадобятся основные определения, применимые к этой модели: тип данных, атрибут, кортеж, отношение и первичный ключ.

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

Атрибут - это столбец в таблице с данными. Например, если на экране имеется информация о хакерских течениях, эксплойтах и стаже деятельности, то все эти столбцы являются атрибутами.

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

Отношение - таблица в целом. Описание типов данных, применяемых в табличке, называется заголовком отношения, а все остальное (собственно данные) - телом отношения.

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

Связываем данные

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

В теории СУБД выделяется три вида связей: один-к-одному, один-ко-многим и многие-ко-многим. Расскажем подробно о каждом виде.

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

2. Один - ко - многим. Наиболее типичная связь. Реализуется при копировании первичного ключа одной таблицы в другую. В этом случае во второй таблице этот ключик называется уже внешним. Обратимся к примеру. Возьмем две таблицы - с информацией о хакере (таблица «Хакеры») и об отношениях с характеристиками эксплойтов, которые он написал (таблица «Эксплойты»). По сути, они связаны механизмом один-ко-многим. Действительно, каждый хакер может быть автором нескольких эксплойтов (так часто и бывает), но каждый эксплойт может быть написан одним и только одним автором (даже при совместной работе в хак-группах определенным эксплойтом занимается один человек). Здесь в качестве внешнего ключа в таблице «Эксплойты» используется ник хакера, а в качестве первичного - название эксплойта. При этом внешний ключ «ник хакера» является первичным ключиком в таблице «Хакеры», а сюда введен намеренно для связи двух таблиц и организации поиска нужной информации. Кстати, отношение «Эксплойты» совсем не обязательно будет состоять лишь из одного атрибута - можно добавить характеристики операционок, к которым применим эксплойт, количество целей, тип (локальный или удаленный) и т.п.

3. Многие-ко-многим. Суть этого типа связи в том, что ключ в одной таблице связывается с ключом другой и наоборот. С этим типом в реляционной модели дела обстоят очень плохо. Точнее, эту связь напрямую вообще никак не реализовать. Чтобы обойти этот недостаток, используется классическое решение: добавляется промежуточное отношение, которое будет связано типом «один-ко-многим» как с первой, так и со второй таблицей. Опять наглядный пример. Имеем два отношения: информация о хакерах и данные о серверах, которые когда-то были взломаны. Если подумать, то мы владеем следующей структурой: одним злоумышленником могут быть хакнуты несколько серверов (так часто и бывает в жизни), а на один сер-вак могут поселиться несколько хакеров (одновременно или последовательно), если админ вовремя не пропатчил баг. Чтобы реализовать подобную схему в реляционной БД, мы добавим промежуточное отношение из двух полей: ник хакера и адрес сервера. Таким образом, эта вспомогательная таблица будет иметь связь «один-ко-многим» как с первым, так и со вторым отношением. Конечно, в этом случае повысится избыточность данных, поэтому эксперты рекомендуют избегать таких связей.

Объектный рай

А как же обстоят дела с остальными СУБД? К какой модели принадлежат они? На самом деле, кроме реляционной модели существуют и другие. Ни одна из них на получила особого распространения, за исключением, пожалуй, объектно-ориентированной, которая появилась позже реляционной (поэтому ее иногда называют постреляционной) и применяется по сей день.

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

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

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

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

Языки управления БД

Для каждой модели БД существует свой язык управления. Для реляционной модели таким языком является SQL (Structured Query Language, или структурированный язык запросов). Создатели этого языка стремились максимально приблизить свое детище к человеческому (английскому) языку и при этом наполнить его логическим смыслом.

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

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

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

Основные языки обращений к БД все же основываются на простом SQL-синтаксисе и имеют своего рода расширение, применимое к объектам. Примерами таких языков служат ORION, Iris и O2 Reloop.

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

Для нужд обычного человека вполне хватит реляционных СУБД, которые применяются повсеместно. Это и всенародно любимый MySQL, и менее любимый Access, и MSSQL. Подобных систем управления масса.

2. Типы баз данных

Локальная база

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

Яркими и наиболее распространенными представителями такого рода баз являются Dbase (файлы с расширением.dbf), Paradox (расширение.db) и Access (расширение.mdb). Форматы Dbase и Paradox - это даже не базы данных, а таблицы, потому что в одном файле может храниться только одна таблица данных. Индексы, ускоряющие поиск и осуществляющие сортировку, находятся в отдельных файлах. Таким образом, одна база данных может состоять из множества файлов, и это иногда приводит к определенным проблемам при поставке приложения конечному пользователю.

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

Самый главный недостаток локальных баз данных, как говорит юморист М. Задорнов, - «они тупые». Да-да. Качество и скорость доступа напрямую зависит от драйвера. В большинстве из них не было оптимизаторов SQL-запросов и какого-либо кеширования. Возможности железа использовались минимально, поэтому на больших базах запросы выполняются крайне медленно.

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

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

Сетевая база данных

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

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

Посмотрим, как происходит обращение к базе данных. Программа и драйвер находятся на клиенте, а данные находятся на сервере или просто на удаленном компьютере. Как программа получает данные? Клиент передает драйверу SQL-запрос, который должен быть выполнен, но данные-то находятся удаленно! Чтобы отработать запрос, вся нужная таблица (в случае с Access - вся база данных, потому что все в одном файле) выкачивается на компьютер клиента, где драйвер обрабатывает данные.

Надо побить того, кто придумал такую технологию, потому что это самое настоящее издевательство над системой. Представляете, что будет, если надо выполнить запрос на базе данных в 1 Гб с телефонным соединением в 34 Кб/с? Это то же самое, что заставить ЮКОС добывать нефть через трубочку для молочных коктейлей.

Но страшнее всего начали вести себя индексы. У таблиц Paradox, если они находились на расшаренном диске Win95, и приходилось ремонтировать индексы как минимум раз в неделю. Когда убрали файлы базы данных на сетевой диск сервера NetWare 3.11 (это был где-то 1998 год), проблемы с нарушением индексации сразу исчезли (наверное, потому что это действительно сервер, а не корявый Windows 9x).

При сетевом соединении многопользование получалось неполное.

Клиент-сервер

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

В технологии клиент-сервер драйвер уже изменил свое назначение, и теперь он уже должен только знать, как подключится к серверу и передать ему запрос. Остальное перекладывается на плечи сервера. Такая технология намного сокращает трафик, особенно при хорошем программировании. Допустим, пользователю нужно увидеть все данные, в которых имя определенной колонки содержит слова на букву «А». Клиенту достаточно направить серверу всего лишь такой текст:

FROM Имя таблицы

WHERE Колонка LIKE `А % "

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

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

Особенности клиент-сервера

Возможности клиент-серверных баз данных зависят от производителя. Самые простые возможности предоставляют такие базы, как MySQL. В них сервер имеет встроенный движок обработки запросов и основные возможности по обеспечению безопасности и распределению прав.

В более солидных клиент-серверных базах (MS SQL Server, Oracle и т.д.) есть следующие дополнительные возможности:

1. ВЬЮШКИ - функции, которые задействованы для обеспечения безопасности;

2. ТРИГГЕРЫ - функции, которые могут вызываться на определенные события (вставка, изменение и удаление данных), в этих функциях может производиться какая-то логика по обеспечению целостности данных;

3. РЕПЛИКАЦИЯ - объединение баз данных (допустим, у фирмы есть два офиса и в каждом из них своя база; настроив репликацию, обе базы могут автоматически сливаться в одну в главном офисе или обмениваться изменениями по расписанию);

4. ХРАНИМЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ, которые выполняются на сервере по мизерному запросу клиента и могут содержать целые подпрограммы с логикой, которые будут выполнять какие-либо действия; для написания таких программ используется уже не просто язык SQL, а его расширение - Transact-SQL (для MS баз) и PL/SQL (для Oracle и др.).

Список возможностей зависит от конкретной базы данных, ее навороченности и может быть больше или меньше.

Индексы на сервере

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

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

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

В случае с серверной базой индексы чаще всего (в зависимости от базы и типа индекса) хранятся немного по-другому - в виде дерева. Сколько слов надо проверить для поиска слова «якорь» в базе данных при линейном индексе? По сути, практически все. При древовидном хранении индекса - не более чем для слова «Абажур». Для пояснения древообразного индекса рассмотрим классическую задачу (в реальности все немного сложнее, но идея такая же). В самом верху дерева хранится алфавит. Программа находит букву А и спускается на уровень ниже. Здесь она находит все слова на буквы А, Б и двигается еще ниже. И так - пока не найдется нужное слово

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

Третий уровень

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

В такой системе вся логика собрана в сервере приложений. Если что-то изменилось в базе данных или в логике обработки данных, достаточно обновить его, и все клиенты будут работать по-новому без каких-либо патчей.

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

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

Но самое интересное то, что клиентская программа может быть какой угодно. Можно написать сценарии, которые позволят работать с сервером приложении прямо из браузера. В этом случае с базой смогут работать пользователи на любой платформе (Windows, Linux и т.д.).

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

Если в сети не так уж и много компьютеров (не больше 20-ти) и сервер достаточно мощный, то можно сервер приложений и базу данных расположить на одном физическом сервере. В этом случае обмен данными между сервером приложений и базой будет происходить внутри одного компьютера, а не по сети, что может существенно снизить нагрузку на сетевое оборудование.

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

Что же выбрать для своего проекта? Все очень просто. Если к примеру пишется база, с которой будет работать одновременно только один человек, то однозначный выбор - локальная база. Больше всего для этого подходит MS Access за его надежность и за то, что драйверы доступа к этой базе есть на всех компьютерах (особенно если там установлен MS Office) и их не надо тянуть с инсталлятором.

Если с базой будет работать хотя бы два человека, то не надо выдумывать сетевые коннекты, а лучше воспользоваться клиент-серверной технологией. Она избавляет сеть от лишнего трафика, более надежна при многопользовательской работе и дает максимальное количество возможностей.

Если количество пользователей катастрофически увеличивается и появляются проблемы с обновлением системы, то лучшим выходом будет переход на трехуровневую систему. Это немного сложнее в разработке, зато намного лучше во время сопровождения.

Основы Access - реляционной базы данных

Определение (задание структуры) данных

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

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

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

Обработка данных

Работа с данными в текстовом редакторе или электронной таблице значительно отличается от работы с данными в СУБД. В документ, подготовленный с помощью текстового процессора, мы можем включить табличные данные и использовать для их обработки ограниченный набор функций. Можно выполнить поиск строки символов в исходном документе, с помощью ОLЕ (Object Linking and Embedding) включить в него таблицы, диаграммы или картинки из других приложений. В электронной таблице некоторые ячейки содержат обеспечивающие нужные вычисления или преобразования формулы, а данные, которые являются для них исходной информацией, мы можем ввести в другие ячейки. Данные из электронной таблицы, созданной для какой-то конкретной цели, очень трудно потом использовать в решении других задач. Чтобы выполнить новую задачу, мы можем организовать связь с данными другой электронной таблицы или использовать ограниченные возможности поиска для копирования выбранного подмножества данных одной из электронных таблиц в другую, которая потребуется нам для решения новой задачи.

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

В Microsoft Access для обработки данных некоторых таблиц используется мощный язык SQL (Structured Query Language - Структурированный язык запросов). Используя, мы можем выделить из одной или нескольких таблиц необходимую для решения конкретной задачи информацию. Access значительно упрощает задачу обработки данных. Чтобы заставить Microsoft Access решать наши задачи, нам совершенно не требуется знать язык SQL. При любой обработке данных из нескольких таблиц использует однажды заданные вами связи между таблицами. Мы можем сконцентрировать свои усилия на решении информационных проблем, не затрачивая сил на построение сложной системы, которая отслеживает в нашей базе все связи между структурами данных. В Microsoft Access имеется также простое и в то же время богатое возможностями средство графического задания запроса - так называемый «запрос по образцу» (QBE, query by example), которое используется для задания данных, необходимых для решения некоторой задачи. Используя для выделения и перемещения элементов на экране стандартные приемы работы с мышью в Windows и несколько клавиш на клавиатуре, мы можем буквально за секунды построить довольно сложный запрос.

Управление данными

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

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

Предназначенная для коллективного пользования СУБД имеет средства, не позволяющие нескольким пользователям одновременно корректировать одни и те же данные. Поскольку в Access к данным могут иметь доступ одновременно несколько пользователей, в нем предусмотрены надежные средства зашиты и обеспечения целостности данных. Мы можем заранее указать, какие пользователи или группы пользователей могут иметь доступ к объектам (таблицам, формам, запросам) нашей базы данных. Microsoft Access автоматически обеспечивает защиту данных от одновременной их корректировки разными пользователями. Microsoft Access также опознает и учитывает защитные средства других подсоединенных к нашей базе структур (таких, как базы данных РагаDох, dBASE, и SQL).

Microsoft Access - Нечто большее, чем СУБД

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

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

Формы и отчеты можно использовать для задания форматов вывода данных на экран и дополнительных вычислений, что очень похоже на работу с электронными таблицами. Но в этом случае содержащиеся в формах и отчетах форматы и инструкции по проведению вычислений отделены от данных (находящихся в таблицах), так что мы имеем полную свободу действий в использовании данных, не меняя при этом сами данные - достаточно создать дополнительную форму или отчет, использующие те же самые данные. Если нам нужно автоматизировать некоторые действия, то для установления связей между определенными формами и отчетами или для выполнения определенных действий в качестве отклика на некоторое событие (например, изменение данных в некотором поле формы) можно без особого труда создать макросы. Если вам нужны более изощренные средства, например библиотечные утилиты Windows, мы можете написать процедуру на Access Basic.

Использованные материалы

1.Глушаков С.В., Ломотько Д.В. Базы данных. -- Харьков: Фолио; М.: ООО «Издательство ACT», 2002. -- 504 с.

2.Кошелев В.Е. Access 2007. - М.: ООО «Бином-Пресс», 2008 г. - 592 с.

3.Фуллер, Дж. Microsoft Office Access 2007 для «чайников».: Пер. с англ. - М.: ООО «И.Д. Вильямс», 2007. - 384 с.

4.Мак-Дональд, М. Access 2007 - Недостающее руководство. - СПб.: «БХВ-Петербург», 2007. - 784 с.

5.Бакаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access 2010. - СПб.: БХВ-Петербург, 2010. - 432 с.

6.Microsoft Access

7.Базы данных и системы баз данных

8.Теория СУБД

9.Microsoft Access как настольная СУБД реляционного типа

10.VBA

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа , добавлен 23.09.2010

    Краткая характеристика и функциональные возможности MS Access. Базы данных и системы управления базами данных. Проектирование в теории и создание на практике базы данных в продукте корпорации Microsoft для управления базами данных "Microsoft Access".

    курсовая работа , добавлен 07.03.2015

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

    контрольная работа , добавлен 18.03.2012

    Возможности системы управления базами данных Access. Структура простейшей базы данных: свойства ее полей, типы данных, безопасность и режим работы. Определение связей между таблицами в базе данных. Использование запроса на выборку, макроса и отчетов.

    курсовая работа , добавлен 05.12.2010

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

    курсовая работа , добавлен 26.06.2013

    Системы управления базами данных: сущность и характеристика. Типы данных и свойства полей СУБД Access. Объекты базы данных: таблицы, схемы данных, формы, запросы, отчеты. Разработка и проектирование базы данных "Продажи книг" в среде Microsoft Access.

    курсовая работа , добавлен 04.02.2013

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

    лабораторная работа , добавлен 15.01.2009

    Базы данных и системы управления базами данных. Физическое размещение и сортировка записей. Основные виды баз данных. Создание базы данных "Домашняя библиотека" в приложении Microsoft Access. Создание в базе данных запросов и скорость выбора информации.

    курсовая работа , добавлен 07.05.2013

    Исследование характеристик и функциональных возможностей системы управления базами данных Microsoft Office Access. Определение основных классов объектов. Разработка базы данных "Делопроизводство". Создание таблиц, форм, запросов, отчетов и схем данных.

    реферат , добавлен 05.12.2014

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

Таблицы используются в документах для упорядочения информации. Таблица – это совокупность ячеек, расположенных в строках и столбцах, которые можно заполнять произвольным текстом, формулами и графикой. Ячейка таблицы имеет адрес, который состоит из имени столбца (задается буквой латинского алфавита) и порядкового номера строки, например D1.

В таблицах можно не только представлять данные, но и осуществлять автоматические расчеты путем вставки формул.

Таблицу можно нарисовать вокруг текста, уже имеющегося на странице, а инструмент Ластик обеспечивает удаление в ней строк и столбцов.

В текст документа могут вставляться простые таблицы и электронные таблицы Excel. При вставке электронной таблицы Excel и работе в ней происходит замена меню Word на меню Excel, становятся доступны все функции электронной таблицы. Для включения в документ электронной таблицы используется кнопка [Добавить таблицу Excel] панели инструментов.

Для того чтобы вставить в документ таблицу необходимо выполнить следующий алгоритм:

1. Установить курсор в позицию, вставки таблицы.

2. Выполнить команду Таблица Добавить Таблица , или нажать кнопку [Добавить таблицу] на панели инструментов.

3. В диалоговом окне Вставка таблицы (рис. 4.8) задать размеры новой таблицы – количество столбцов, строк, ширину столбцов.

4. Для установки формата таблицы следует выбрать кнопку [Автоформат…].

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

При вводе информации в ячейку, если вводимая информация при заданной ширине столбца в ячейку не помещается, ее высота автоматически увеличивается. Команда Таблица Автоподбор автоматически устанавливает ширину столбцов в соответствии с объемом вводимой информации. Эта же команда позволяет выровнять высоту строки и ширину столбца.

Данные таблицы можно упорядочить (отсортировать) по возрастанию или убыванию. Сортировка данных в таблице выполняется командой Таблица Сортировка .

Обрамление и заливку фона можно выполнить командой Формат Границы и заливка ,или с использованием кнопки [Таблицы и границы] . В таблице можно пронумеровать строки и столбцы с помощью команды Формат Список вкладка Нумерованный .

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

Таблица документа Word может содержать формулы, которые вставляются в ячейки с помощью команды Таблица Формула . В ячейку вставляется поле с формулой. Поле – это скрытое выражение формулы (код поля). В ячейке обычно отображается результат вычисления. Для отображения в ячейке самой формулы следует выполнить команду Сервис Параметры и на вкладке Вид установить флажокКоды полей .

Формулу можно вводить вручную с клавиатуры или выбирать из раскрывающегося списка формул. Формула обязательно начинается со знака равно (=) , содержит адреса ячеек таблицы, имена встроенных функций различных категорий, числовые константы, знаки математических операций и др.

Если при изменении исходных данных требуется обновление результатов вычисления, то следует установить курсор в соответствующее поле и выполнить команду Обновить поле контекстного меню, или нажать клавишу . В последнем случае будет пересчитана вся выделенная часть таблицы.

Технологию создания таблицы рассмотрим на примере фрагмента из плана счетов бухгалтерского учета (табл. 4.5).

Таблица 4.5

План счетов бухгалтерского учета

Финансово – хозяйственной деятельности предприятия

1. Загрузите текстовый процессор Microsoft Word и создайте новый документ.

2. Для создания таблицы щелкните по пиктограмме [Добавить таблицу] на панели инструментов Стандартная .

3. В появившемся окне укажите количество столбцов и строк в создаваемой таблице, в нашем примере – 3х3 .

4. Введите название столбцов таблицы, т.е. ее "шапку".

5. Для ввода текста РАЗДЕЛ II. ПРОИЗВОДСТВЕННЫЕ ЗАПАСЫ выполните объединение ячеек строки. Для этого выделите смежные ячейки и выполните команду Таблица Объединить ячейки .

6. Введите содержимое таблицы согласно Табл. 4.5.

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

8. Выполните нужное обрамление таблицы, используя команду Формат Границы и заливка. НавкладкеГраница задайте параметры границы: тип , цвет, ширину линии.

9. Введите заголовок План счетов бухгалтерского учета финансово-хозяйственной деятельности предприятия , расположив его перед таблицей в две строки.

Чтобы ввести заголовок перед таблицей, следует вставить две пустые строки. Для вставки пустой строки перед таблицей установите курсор в верхний левый угол верхней строки таблицы и нажмите клавишу , или воспользуйтесь командой Таблица Разбить таблицу . В появившейся пустой строке наберите заголовок таблицы.

10. Сохраните полученный документ в вашей папке под именем План .