WWW.DOC.KNIGI-X.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Различные документы
 

«В. М. Водовозов Введение в Access Санкт-Петербург К 681.3.016 В.М.Водовозов. Введение в Access. СПб, 2003. 35 с. Рассмотрены основы создания баз данных Access для начинающих. © В.М.Водовозов, ...»

В. М. Водовозов

Введение в Access

Санкт-Петербург

К 681.3.016

В.М.Водовозов. Введение в Access. СПб, 2003. 35 с.

Рассмотрены основы создания баз данных Access для начинающих.

© В.М.Водовозов, 2003.

Оглавление

Введение

Модели представления данных

Обзор и классификация современных СУБД

Этапы проектирования информационных систем

1 этап проектирования: функциональное моделирование

2 этап проектирования: инфологическое моделирование

3 этап проектирования: даталогическое моделирование

4 этап проектирования: физическое моделирование в MS Access

Организация Access

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

Таблицы

Чтение и правка таблиц

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

Связывание таблиц

Запросы

Язык запросов QBE

Язык запросов SQL

Формы и отчеты

Чтение и правка данных через форму

Создание формы

Отчеты

Макросы

Введение В ходе развития информационных систем были сформулированы принципы организации больших массивов данных:

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

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

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

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

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

• эффективной структуризации информации;

• сведению к минимуму повторяющихся данных;

• ускорению обработки информации прямо на носителе;

• удобству обновления документов;

• обеспечению целостности данных;

• регулированию прав доступа к информации;

• облегчению автоматизации обработки данных и ведения отчетности.

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

Иерархическая модель отражает структуру связей между сущностями в виде дерева с узлами, в которых хранятся данные, и ветвями, связывающими их между собой. Узел, в который не входит ни одна ветвь, называется корнем. В свою очередь, любой узел дерева — это в то же время и корень поддерева. Число таких поддеревьев именуется степенью узла.

Концевой узел, имеющий нулевую степень, называется листом.

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

узлы могут обмениваться информацией только через вышестоящие узлы.

Снятие части этих ограничений послужило толчком к созданию сетевой модели, объектами которой являются и записи, и связи между ними. Сетевая модель представлена обширным множеством систем, среди которых наиболее развитой считается стандарт на архитектуру и языковый интерфейс CODASYL (Conference On Data System Languages).

Согласно этому стандарту, между объектами базы данных устанавливаются отношения наследования типа «родитель-потомок», причем любой компонент может оказаться потомком нескольких «родителей» и наоборот. Связи в базе данных сетевого типа реализуются с использованием системы указателей. Поскольку каждый компонент данных должен содержать ссылки на другие компоненты, такая модель требует значительных ресурсов памяти и высокого быстродействия компьютера. В настоящее время ведутся исследования в области создания объектно-ориентированных сетевых баз данных, финансируемые такими компаниями, как IBM в США, Франгоферовский институт программного обеспечения и системотехники в ФРГ и др. Примером коммерческой сетевой базы данных для персональных компьютеров является DB-Vista (Century Software), а для больших ЭВМ — IDMS.

Идея реляционной, или табличной, организации данных принадлежит польскому математику З.Я. Слонимскому, в 1845 г. удостоенному Демидовской премии Петербургской академии наук за изобретение математической машины, использующей таблицы с определенными правилами считывания. До него многочисленные таблицы — арифметические, тригонометрические, логарифмические — были широко распространены в Европе еще в 17-18 веках и применялись в навигации, астрономии, банковском деле, архитектуре. Эти таблицы постоянно дополнялись, перепроверялись, и каждое переиздание их требовало труда множества специалистов и содержало ошибки, неизбежные при ручных расчетах и переписывании. Концепция реляционной модели была разработана Э.Ф. Коддом в 70-х годах нашего века. Согласно этой концепции, реляционная база данных — это множество таблиц (отношений), содержащих всю информацию, характеризующую предметную область.

Таблица описывает множество объектов одного класса. Сведения о каждом объекте представляется в таблице в виде отдельной записи, каждый элемент которой размещен в своем поле. Запись, состоящую из элементов одного типа, называют массивом данных, или вектором, кортежем. Символьный массив принято именовать строкой. В свою очередь, таблица однотипных записей представляет собой двухмерный массив, а числовая таблица — матрицу. Число полей в таблице характеризует ее степень, число записей — мощность, а их произведение — размер таблицы, то есть общее число ее элементов. В приведенном здесь примере степень таблицы равна трем, мощность двум, а размер шести. Фирма Год Президент Обычно мощность таблицы является Microsoft 1975 Балмер переменной величиной, тогда как степень Apple 1975 Джобс фиксируется при проектировании базы данных.

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

Отсутствующие функций обработки данных, их анализа и синтеза перекладываются на такие инструменты, как табличные процессоры, графические программы и специализированные пакеты прикладных программ. Однако тем же Э.Ф. Коддом был предложен метод динамической аналитической обработки OLAP (On-Line Analitical Processing), который ускоряет решение указанных задач. Он предполагает многомерное концептуальное представление данных и их прозрачность для пользователя, доступность и высокую производительность в работе. Перспективна и гибридная объектно-реляционная модель, сочетающая способность реляционных баз данных эффективно выполнять обработку небольших объемов информации с возможностями объектно-ориентированных баз данных поддерживать динамические методы обработки.

Обзор и классификация современных СУБД Различают персональные («легкие») и корпоративные («тяжелые») СУБД.

Персональная реляционная СУБД Access фирмы Microsoft характеризуется тесной интеграцией с другими приложениями этой фирмы. Существенный элемент ее – комплекс специальных драйверов открытого интерфейса ODBC (Open DataBase Connectivity) — обеспечивает связь с реляционными СУБД других производителей, взаимодействие между различными форматами баз данных. Access располагает своим процедурным языком, реализует запросы на примере (QBE) и запросы SQL в сочетании со всеми преимуществами Windows в графике, эффективно работает в сети, активно использует графические объекты.

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

Персональная СУБД DBase фирмы Borland поддерживает языки запросов QBE и SQL, а также включающие языки Си, Паскаль, ассемблеры. В состав языка DBase входит более 300 функций и операторов. Запросы SQL автоматически преобразуются в последовательность команд DBase. К дополнительным средствам языка относятся шаблоны для связи с автоматическим генератором кода, утилиты создания приложений, средства тестирования многопользовательских баз данных в сети и модуль запуска приложений. Язык поддерживает автоматическое сохранение информации, многоуровневую парольную защиту и кодирование данных.

Во многом подобна Access СУБД Paradox на основе язык PAL (Paradox Application Language) фирмы Borland, длительное время удерживавшая лидерство на рынке СУБД для персональных компьютеров В Access программа может распространяеться только с интегрированной средой. В отличие от нее, в FoxPro (Microsoft) и Clipper (Computer Associates) готовые программы распространяются в виде исполнительных модулей или динамически загружаемых библиотек. FoxPro имеет быстродействие, на порядок превышающее Paradox и в несколько десятков раз — DBase, а приложения, созданные на FoxPro под MS-DOS, можно адаптировать под Windows. Набор команд и функций, предлагаемых разработчикам программных продуктов в среде FoxPro, по мощи и гибкости отвечает самым современным требованиям к представлению и обработке данных. Он позволяет организовать максимально удобный пользовательский Windows-интерфейс. Система обеспечивает многоуровневый доступ к файлам, управление цветом, настройку принтеров, генерацию экранных форм и отчетов, поддержку языка SQL и функционирование в сети.

К наиболее распространенным корпоративным СУБД относятся Infomix, Ingres, Sybase, Oracle, SQL Server.

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

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

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

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

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

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

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

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

К числу непроцедурных многопользовательских СУБД относятся продукты фирмы Gupta — одного из мировых лидеров в области профессиональных распределенных СУБД. Эти программные средства установлены более чем в 500 компаниях. Одних только копий SQL Base насчитывается свыше 20 тысяч в разных странах. Неограниченное число ее пользователей работает на платформах MS-DOS, OS/2, NetWare, SUN, Unix. SQL. Gupta поддерживает многозадачность, обеспечивает целостность данных, обрабатывает типы данных любого размера в национальных алфавитах, обладает возможностями оперативной архивации и автоматического восстановления данных после сбоя. Gupta предоставляет разработчикам полностью объектно-ориентированную среду. Она поддерживает DDE и OLE, MDI и множество библиотек. А сетевой набор программных продуктов обеспечивает доступ к данным различных баз данных в сети.

Интегрированные системы программирования, включающие генераторы кодов и процедурные языки, называют CASE-инструментами (Computer Aided Software Engineering).

В таких комплексах среда проектирования не отделена от прикладной системы. Примерами CASE-инструментов являются системы BPWin и ERWin компании LogicWorks, Designer/2000 компании Oracle, SilverRun компании SilverRun Technologies, Rational Rose и др. В частности, в Oracle CASE. Для создания конкретной прикладной системы, например банковской, проектировщик представляет свои знания о работе конкретного банка в системный словарь. Настройка проектируемой системы на технологию работы банка закладывается уже на первоначальных стадиях проектирования средствами конструктора.

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

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

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

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

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

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

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

1 этап проектирования: функциональное моделирование Функциональные модели строятся различными методами: DFD — Data Flow Diagrams, структурными схемами с использованием языков И.Де Марко, OMT, SSADM, ГейнаСарсона. В терминологии функционального моделирования источники и приемники данных называются внешними сущностями. Обработанная информация помещается в хранилища, или внутренние сущности, изображаемые в DFD прямоугольниками Точка преобразования входных данных в выходные именуется процессом и в нотации Йордана–Де Марко обозначается окружностью. Данные, участвующие в процессах, называются потоками и представляются направленными дугами, которые могут разветвляться и сливаться. Для каждого информационного потока и хранилища определяются связанные с ними именованные элементы данных.

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

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

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

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

Отношения между сущностями характеризуются связями, которые бывают бинарными (парными) или n-арными (множественными). Пусть в двух типах сущностей с атрибутами i, j, k,... имеются экземпляры A1{a1i, a1j, a1k }, A2{ a2i, a2j, a2k } такие, что i-е атрибуты их связаны между собой однозначной зависимостью a1i f(a2i). В этом случае говорят, что между соответствующими типами сущностей определена степень связи «один к одному» (1:1). При этом каждый экземпляр одного типа соотносится ровно с одним экземпляром в связанном типе и наоборот, каждый экземпляр связанного типа соответствует не более чем одному экземпляру другого типа. Как правило, в этом случае связывают друг с другом ключи типов.

Наряду с этим, между атрибутами сущностей может существовать степень связи «один ко многим» (1:N) a1i f(a2i), a1i f(a2j),... Такая связь устанавливается, когда одному экземпляру в связанном типе сущностей соответствует один экземпляр в основном типе, но одному экземпляру основного типа может соответствовать несколько экземпляров связанного типа.

Существуют, также, отношения «много ко многим» (M:N) a1i f(a2i), a1i f(a2j), a2j f(a1i),... Связь «много ко многим» многозначна. Ее можно заменить промежуточной связью через сущности, объединенные отношением «один ко многим».

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

Разработаны многочисленные инструменты построения инфологических моделей:

ERD (Entity-Relationship Diagrams), IDEF1X, SADT (Structured Analysis and Design Technique), языки Мартина, Баркера и др. В частности, в языке ER-диаграмм (нотация Чена) сущности изображаются прямоугольниками, атрибуты — окружностями, в которые вписываются имена атрибутов. Идентифицирующие атрибуты подчеркиваются, характеристики изображаются трапециями, обозначения — параллелограммами, связи (отношения) – ромбами или шестиугольниками, соединенными с соответствующими типами сущностей ребрами. Возле сущностей на ребрах цифрами указывается степень отношения. В нотациях Мартина, IDEF1X и Баркера список атрибутов приводится внутри прямоугольника, обозначающего сущность. В первой из них ключи подчеркиваются, во второй располагаются перед другими атрибутами, а в третьей отмечаются знаком #, а связи во всех изображаются именованными дугами.

–  –  –

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

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

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

Первой нормальной формой (1НФ) называется «плоская» модель данных, значения элементов которой атомарны, все записи отвечают одному и тому же макету и уникальны.

Рассматриваемая таблица относится к 1НФ.

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

Частичная функциональная зависимость вызывает ряд проблем. Это дублирование данных, которые могут представлять сразу несколько экспонатов. Это и невозможность включения в таблицу участников, не имеющих экспонатов. Или наоборот — Стенд Фирма Страна Экспонат Площадь необходимость исключения экспонатов 100 США Компьютеры 50 IBM в случае отсутствия участников.

200 США Станции 100 IBM Наличие многозначности усложняет 300 Acer Тайвань Программы 25 поиск данных и их обработку. Поэтому 400 Scan Россия Дисплеи 40 при проектировании структуры базы данных стремятся к устранению функциональных Стенд Экспонат Участник Должность Оклад нежелательных 100 Компьютеры Лунин Дилер 2000 зависимостей между полями и 100 Станции Смирнов Дилер 2000 ликвидируют дублирования данных посредством нормализации. 200 Программы Иванова Дилер 2000 Преобразуем исходную таблицу ко 300 Дисплеи Петров Продавец 1500 второй нормальной форме (2НФ), 400 Программы Степанов Продавец 1500 разбив ее на три таблицы. Таблица 400 Дисплеи Скворцов Продавец 1500 принадлежит ко 2НФ, если она находится в 1НФ, но в ней отсутствуют частичные функциональные зависимости от полей составного ключа, то есть каждое ее неключевое поле полностью зависит от всего ключа. Так, после разбивки поле Фирма зависит от ключа Стенд, Площадь — от ключа Экспонат, а Участник — от составного ключа Стенд–Экспонат.

Но этого недостаточно. Если поля i, j, k связаны между собой по схеме ak = f(aj), aj = f(ai), но обратная зависимость отсутствует, то говорят, что i зависит от k транзитивно. В двух таблицах присутствуют отмеченные транзитивные зависимости. Так, поле Страна находится в транзитивной зависимости от ключа, будучи связанным с ним через поле Фирма. Поле Оклад транзитивно связано с ключом через поля Должность и Участник.

Третья нормальная форма (3НФ) основана на 2НФ и отсутствии транзитивных зависимостей. Дальнейшая нормализация приводит к шести таблицам в 3НФ. Теперь изменение данных в неключевых полях не влияет на содержимое других полей.

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

–  –  –

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

Связываемые поля должны иметь схожие типы данных.

Между таблицами в парах устанавливаются отношения, подобные отношениям инфологической модели. Если между двумя таблицами определена зависимость «один к одному», то каждая запись в главной таблице соотносится ровно с одной записью в связанной таблице и наоборот, каждая запись связанной таблицы соответствует не более чем одной записи главной таблицы. Как правило, в этом случае связывают друг с другом ключи таблиц. В частности, в зависимости 1:1 находятся таблицы Стенд-Экспонат-Участник и Участник-Должность. Ключевое поле Участник второй — главной — таблицы является первичным ключом, а аналогичное поле первой — связанной — таблицы представляет внешний ключ. Отношение 1:1 часто используют при разделении таблиц большой степени.

При связи «один ко многим» каждой записи главной таблицы соответствует несколько записей в связанной таблице, но каждой записи в связанной таблице соответствует не более одной записи в таблице главной. Например, таблицы Стенд-Экспонат-Участник и Экспонат-Площадь связаны полем Экспонат в отношении 1:2. Таблица Экспонат-Площадь является здесь главной, а ее ключевое поле Экспонат — первичным ключом. Одноименное поле связанной таблицы играет роль внешнего ключа.

Реляционные отношения таблиц связаны с дальнейшей нормализацией базы данных.

Считается, что таблицы находятся в четвертой нормальной форме (4НФ), если в них отсутствуют независимые элементы данных, связанные отношением «много ко многим».

Иными словами, в таблице, находящейся в 3НФ, не должно быть двух полей, связанных друг с другом через другую таблицу. Чтобы удовлетворить этому условию, отношение «много ко многим» в реляционной модели обычно не устанавливают между двумя таблицами непосредственно — для этого вводят промежуточные таблицы связи, объединяя их отношением «один ко многим».

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

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

4 этап проектирования: физическое моделирование в MS Access Организация Access Каждая база данных Access представляет собой единый файл с расширением.mdb, содержащий до шести категорий объектов базы данных: таблицы, запросы, формы, отчеты, макросы и модули с уникальными именами. Базы данных могут объединяться в рабочие группы, регистрируемые в файле System.mdw. В зависимости от прав, предоставляемых пользователям, различают три группы функций, реализуемых в Access:

• доступ к данным, то есть представление информации,

• управление транзакциями, то есть добавление, удаление и правка записей,

• программирование, то есть создание и правка структур баз данных и макетов таблиц,

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

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

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

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

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

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

Наконец, программы в виде таких категорий объектов базы данных, как макросы на процедурном макроязыке Access и модули на встроенном в СУБД языке Visual Basic for Applications (VBA), автоматизируют выполнение сложных и регулярно повторяющихся операций над сущностями баз данных. Программы могут открывать и закрывать таблицы, отображать формы, конструировать отчеты и формировать запросы. С помощью программ часто создают интерфейс пользователя, системы меню, организуют контекстную помощь, ведут учет и контроль информационных потоков.

Полный состав объектов конкретной базы данных представлен на вкладке Состав, открываемой в меню Файл.Свойства базы данных.

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

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

Среда разработки баз данных Центральную часть среды разработчика Access занимает окно базы данных с вкладками категорий объектов базы данных: таблиц, запросов, форм, отчетов и программ в виде макросов и модулей. Каждый такой объект может быть создан и представлен в режиме конструктора или в режиме выполнения. Выполнение таблиц, запросов и форм называют открытием, выполнение отчетов — просмотром, а выполнение программ — запуском. Из любого режима можно вернуться в окно базы данных через меню Окно 1: База данных, нажатием клавиши F11 или щелчком по кнопке панели инструментов. Щелчок правой кнопкой мыши во многих областях окна или клавиатурная комбинация Shift F10 открывает всплывающее контекстное меню.

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

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

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

В каждый момент времени Access предоставляет возможность создать (кнопкой панели инструментов или из меню Файл.Создать базу данных) или открыть (кнопкой панели инструментов или из меню Файл.Открыть базу данных) одну базу данных.

Представлением ее на экране управляют меню Вид и Окно. Иногда организуется связывание с таблицами других приложений через меню Файл.Внешние данные. Через это же меню база данных может дополняться новыми таблицами. Если данные, предназначенные для импорта, созданы с помощью приложений Windows, для копирования удобно использовать буфер обмена, доступный через меню Правка.Вставить. СУБД проверяет уникальность имен объектов базы данных, обеспечивая ее целостность. В тех случаях, когда работа связана с переносом и копированием информации между отдельными частями документа или разными документами, на экран выводится сразу несколько окон. Окна изменяются в размерах и перемещаются по экрану с помощью мыши и упорядочиваются командами меню Окно. Лишние окна могут быть временно скрыты без выгрузки из памяти с помощью меню Окно.Скрыть и впоследствии восстановлены на экране из меню Окно.Отобразить.

Закрываются окна посредством выбора меню Файл.Закрыть или кнопкой Закрыть.

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

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

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

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

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

Таблицы Чтение и правка таблиц Таблицы являются основными объектами базы данных. При наличии открытой базы данных любая ее таблица открывается с вкладки Таблицы, доступной через меню Вид.Объекты базы данных.Таблицы. Каждая отдельная запись таблицы, соответствующая определенной сущности предметной области, описывается атрибутами данных, разнесенных по именованным полям. Для новых записей в конце таблицы оставлено свободное место, в которое можно перейти щелчком мыши, из меню Записи.Ввод данных, Правка.Перейти или выбором кнопки на панели инструментов. Если таблица открыта для транзакций, пользователь имеет возможность правки записей, их вставки и удаления. При этом он работает с каждым атрибутом данных в предварительно выделенной ему ячейке таблицы как в обычном редакторе текста. Если в ячейке не хватает места, ее можно раскрыть клавиатурной комбинацией Shift F2. Ряд операций, связанных с заполнением таблицы, в Access автоматизирован. Например, для копирования значения предыдущей записи достаточно нажать Ctrl ', для вставки текущего времени — Ctrl Shift :, а для ввода значения из буфера обмена выбирается меню Правка.Добавить из буфера. Текущая запись сохраняется комбинацией Ctrl Enter, а удаляется через Ctrl -. Новую запись добавляет Ctrl +, а неудачный ввод отменяется клавишей Esc.

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

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

Сохранение нового формата или порядка записей выполняется из меню Файл.Сохранить, Записи.Сохранить запись или кнопкой.

Для поиска информации служит меню Правка.Найти и кнопка. Пользователь имеет возможность искать конкретные записи в таблице по содержащимся в них фрагментам текста. Допускается поиск по фразе, слову, буквосочетанию и шаблону. Если не требуется проводить поиск по всей таблице, выделяется поле поиска и выбирается меню Правка.Найти или соответствующая кнопка. В открывшееся окно диалога Поиск вводится образец искомого текста полностью или с шаблоном, например, ст*, *иск, ко[к-м]а, ко[рс]а, ко[!рс]а, 1#3. Для замены отдельных фрагментов используется меню Правка.Заменить.

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

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

Нажатие Ctrl Space при выделенной записи приводит к выделению первого поля.

Группа записей выделяется перетаскиванием указателя-стрелки по полю выделения, а диапазон ячеек — перетаскиванием указателя-креста по его диагонали. Вместо мыши можно пользоваться клавишами-стрелками при нажатой клавише Shift. Если выделено меньше записей, чем хранится в буфере, то часть буфера при вставке остается неиспользованной, а если больше, то часть выделенных записей не меняется. В случаях, когда вставка из буфера обмена завершается неудачно, Access автоматически создает таблицу Ошибки вставки, в которую помещает данные из буфера. Для удаления выделенных записей служат меню Правка.Удалить, Правка.Удалить запись, клавиши Delete и Ctrl -, а также кнопка. Вставка новых записей осуществляется из меню Вставка.Запись и клавишами Ctrl +. Отмена последнего из сделанных изменений в ряде случаев возможна из меню Правка.Отменить, кнопкой или клавиатурными комбинациями Ctrl Z, Alt BackSpace.

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

Макет характеризуется набором свойств:

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

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

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

Текст не подлежит математической обработке. Числовой тип хранит числа, имеющие до 15 значащих цифр (от 1 до 16 байт), в виде, подходящем для проведения вычислений. Различают числовые поля несколько размеров: байт, целое и длинное целое, простое и длинное с плавающей точкой (вещественные). Денежный тип — это те же числа (4 байта), но изображаемые на экране со знаком валюты и с выделением десятичных позиций, сотен, тысяч, миллионов. Тип Счетчик ведет автоматический учет записей от 1 до 2 млрд. Значение в поле этого типа изменяется только автоматически. При добавлении записи в таблицу оно увеличивается на единицу при последовательной организации, или случайным образом при управлении от датчика случайных чисел, а при удалении записи не изменяется. Логический тип определяет условия истины (-1, Да, True) и лжи (0, Нет, False). Тип Дата/время оперирует с любой допустимой датой от 100 до 9999 г., правильно обрабатывая високосные годы и столетия.

Поле МЕМО имеет возможность хранить до 64000 символов информации. Начальная часть содержания такого поля представлена в таблице, остальное может считываться по запросу пользователя при нажатии клавиатурной комбинации Shift F2. Поле объекта OLE поддерживает связь с объектами из различных приложений и ограничивается в размере лишь фактическими ресурсами памяти компьютера. Объектами OLE могут быть файлы растровой графики (.bmp,.dib,.tif) графических процессоров Paint, Adobe, векторной графики (.wmf) от MS Draw, Corel Draw, Power Point, форматированные тексты (.doc,.rtf) Word, неформатированные упакованные тексты (.txt), таблицы (.xls,.dib) Excel, звукозаписи (.wav), MIDI-файлы (.mid) и видеозаписи (.avi). Тип Гиперссылка представляет строку адреса, состоящую максимум из трех частей: текста, пути к файлу (в формате пути UNC) или странице (адрес URL) и дополнительного адреса смещения внутри файла или страницы.

Чтобы вставить адрес гиперссылки в поле или в элемент управления, выбирается меню меню Вставка.Гиперссылка. Об отсутствии данных в поле свидетельствует специальный тип Null. Типы Счетчик со случайными значениями, поле МЕМО, поле объекта OLE и Гиперссылка не подходят для ключевых полей.

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

Ознакомившись со структурой, удобно вернуться в таблицу через меню Вид.Таблица

–  –  –

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

Простые таблицы можно заполнять и без Конструктора в Режиме таблицы, предоставив «свободу» Access в именовании полей и назначении типов их данных. С этой же целью может быть использован Мастер таблиц, который преобразует один из множества встроенных шаблонов в подходящую таблицу. Мастер Импорт таблиц используется для преобразования в формат Access ранее созданных таблиц DBase, FoxPro, структурированных текстов и прочих файлов. Мастер Связь с таблицами соединяет с базой данных доступные таблицы различных форматов, не включая их в базу. Такое присоединение целесообразно, когда требуемый файл имеет большие размеры, когда он часто обновляется или планируется работа в сети. Аналогичные операции могут быть выполнены и без участия программ-мастеров.

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

Ключевые поля назначаются из меню Правка.Ключевое поле или кнопкой, причем в составных ключах объединяются поля произвольных типов. Таблица автоматически индексируется по ключевым полям. Индексом является специальная, в Access обычно недоступная пользователю таблица, в которой записи физически упорядочены по заданному полю, независимо от порядка, в котором заполнялась исходная таблица. «Привязывая»

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

Свойства, определяющие вид и поведение полей, также задаются в Конструкторе таблиц. Щелчок по имени поля открывает бланк его свойств с комментариями, которые можно прочитать и изменить. В частности, некоторые таблицы содержат поля, в которые практически всегда вводятся одни и те же значения. С этой целью полезно установить конкретное значение свойства Значение по умолчанию. Так, в поля даты часто вводится текущая дата, для чего можно установить Значение по умолчанию =Date().

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

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

арифметических (+, -, *, /, \, Mod, ^), сравнения (, =,, =, ), логических (And, Or, Not, Xor, Eqv), а также слияния (&), разделения объектов (!) и свойств (.), пустого поля (Is), подобия (Like), списка (In) и диапазона (Between). К операндам относятся встроенные, числовые, текстовые и временные константы (например, True, False, Null; 1,23E02;

«строка»; #10:20:30#, #1.янв.01#), имена объектов (например, Клиенты, [Домашний адрес]).

Большую группу операндов возвращают функции — даты и времени (Date, Now, Time,..), обработки текста (Lcase, Left, Len, Mid, Right, Str, Ucase, Val,..), преобразования данных (CStr, Cvar,..), математические (Abs, Fix, Sgn, Sin, Sqr,..) и прочие (Choose, Iif, IsNull, Switch,..).

Примеры условий отбора: 0 And 1000, Not(«Сша» Or «Канада»), Like «[N-Z]*», Like S* Or Like V*, Like «*рим*», Like «*.*.98», In(5;7;12), Between 500 And 1000, Is Null. К числу шаблонов, применяемых в выражениях, относятся * — произвольное число любых символов и ? — один любой символ. Выражения, относящиеся не к одному полю, а ко всей таблице, заносятся в сторку Условие на значение таблицы под кнопкой Свойства таблицы, например, Year([Дата выдачи])=1995. Условия удобно формировать с помощью Построителя выражений, открываемого кнопкой в поле Условие на значение или на панели инструментов. Если пользователь введет недопустимое значение, Access предложит его изменить. Чтобы обязать пользователя заполнять поле, выбирается Да для свойства Обязательное поле. Формат поля определяет до четырех шаблонов вывода, а Маска ввода ускоряет ввод повторяющихся буквосочетаний в поле.

Те и другие приведены в таблице:

–  –  –

В частности, в Формате поля m, d месяц или день выводятся одной цифрой, mm, dd, yy — двумя цифрами, mmm, ddd — тремя первыми буквами, а mmmm, dddd, yyyy — словом. Формат времени может выглядеть как hh:nn «часов» или h:nn A/P. Телефонный номер удобно представлять в формате (@@@)@@@-@@-@@ или «(812)»#. Для ввода имен подходит маска Laaaaaaaaa. В Маске ввода номера телефона удобно заранее ввести код города и ограничить число цифр, например \(000\)000\-00\-00, а для валюты подходит $### ###,00 или ###р.

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

После задания последовательности, типов и свойств полей таблица сохраняется из меню Файл.Сохранить, Файл.Сохранить как/экспорт, кнопкой или клавишей F12.

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

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

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

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

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

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

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

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

Таблица Товары: ключевое поле Номер партии (тип — счетчик); неключевые поля Название (текст); Отправитель (текст); Получатель (текст); Цена (денежное);

Характеристика (мемо).

Таблица Контроль: ключевое поле Номер партии (длинное целое), являющееся внешним ключом к одноименному полю таблицы Товары при связи 1:1; неключевые поля количество (целое); контроль (логическое).

Таблица Склады: составной ключ из полей Номер партии (длинное целое) и Номер склада (байт), причем поле Номер партии является внешним ключом для связи с таким же полем таблицы Контроль в отношении 1:1; неключевое поле Дата поступления (дата).

Таблица Организации: ключевое поле Организация (текст) связано с внешними ключами Отправитель и Получатель таблицы Товары в отношении 1:N; неключевые поля Страна (текст), Реквизиты (текст).

Таблица Страны: ключевое поле Страна (текст) связано с внешним ключом такого же поля предыдущей таблицы в отношении 1:N; неключевые поля Валюта (текст), Курс (вещественное).

Запросы Язык запросов QBE Любой язык запросов предоставляет пользователю набор правил и инструмент для формирования вопроса с информацией о желаемом результате. В ответ на запрос СУБД автоматически выдает результат в виде экранной (виртуальной) таблицы, отражающей итоговый набор данных (RecordSet) в определенном макете (QueryDef), на базе которого впоследствии можно построить таблицу, отчет или новый запрос. К числу наиболее популярных в практике СУБД относятся непроцедурные визуальные языки запросов на примере QBE.

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

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

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

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

Итоговыми наборами данных можно не только отображать связанные записи объединенных таблиц базы данных (Inner Join — «внутреннее объединение»), но и вводить новые либо размыкать существующие связи.

Подобные «внешние объединения» позволяют отображать все записи главной таблицы независимо от наличия совпадающих значений в связанной таблице (Left Join) или все записи связанной таблицы независимо от главной таблицы (Right Join). Переключение типа объединения выполняется через меню Вид.Параметры объединения при выделенной линии связи таблиц. Характер объединения отравжается в бланке запроса стрелкой на линии связи. Кроме того, даже между полями одной таблицы в запросе можно установить так называемое «самообъединение», проверяющее эти поля на совпадение значений.

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

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

–  –  –

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

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

Чтобы организовать в запросе вычисляемое поле, в строку Поле свободного столбца бланка запроса вводится выражение, например НовоеИмя:[Год]*2-50, в котором в прямоугольные скобки заключаются имена числовых полей таблиц базы данных. В строке Групповая операция этого столбца выбирается Выражение. При изменении значений полей, используемых в выражении, значения вычисляемых полей и групповых операций автоматически обновляются. Если в скобки заключить константу (число, слово, пробел…), то она будет вписана во все записи вычисляемого поля, что удобно для группировки всех без исключения записей таблицы. Аналогичную роль играет функция Count, если на базе запроса с вычисляемым полем создать новый вычисляемый запрос для подстчета итогов по всей таблице. Функция Format(Выражение; ШаблонФормата)форматирует любое поле Результаты статистических расчетов по данным поля отображает перекрестный запрос.

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

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

Запросу на изменение должно предшествовать создание таблицы результатов запроса на выборку. После выборки в режиме конструктора выбирается меню Запрос.Создание таблицы или выбирается строка Создание таблицы под кнопкой. После задания имени и нажатия кнопки ОК запрос на выборку преобразуется в запрос на создание таблицы и его значок помечается восклицательным знаком. При открытии такого запроса не отображается результирующий набор записей, а создается новая таблица. К созданной таблице Конструктор позволяет обратиться с запросом на изменение: обновление, добавление или удаление записей с помощью меню Запрос.Обновление, Запрос.Добавление, Запрос.Удаление или выбором таких строк под кнопкой. В бланке запроса на обновление строка Обновление содержит новое значение обновляемого поля, а Условиями отбора ограничены обрабатываемые записи. В бланке запроса на удаление строка Удаление может содержать значения Из и Выражение. Первое указывает поле обрабатываемой таблицы, а второе — поле, для которого задано условие удаления. Добавление данных в таблицы не вызывает проблем при идентичности полей таблицы и итогового набора данных. Если же имена полей различны, в строке Добавление бланка запроса на добавление следует добиться соответствия имен. В частности, запрос на добавление к таблице с полем типа Счетчик таблицы с числовым полем позволяет установить нужный начальный номер в поле Счетчика.

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

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

Механизм QBE позволяет выполнять все операции реляционного исчисления:

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

• вычитание и дополнение таблиц с одинаковыми макетами выполняет Мастер записей без подчиненных;

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

• перемножение несвязанных таблиц выполняется в Access при формировании запроса ко всем неповторяющимся полям обеих таблиц;

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

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

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

Основу Access SQL составляют SQL-операторы Create, Insert, Select и др. Каждый запрос SQL указывает, что нужно сделать с входными данными для генерации выходной информации, и возвращает информацию в табличном формате. Для конкретизации выполняемых действий SQL-операторы снабжаются SQL-аргументами, задающими имена таблиц и полей, условия и отношения. В запрос включаются, также, разного рода анализирующие SQL-функции и знаки операций: ? — подстановочный знак замены любого символа, * — подстановочный знак замены любой группы символов, # — подстановочный знак замены любой цифры или ограничитель значений даты и времени, ; — конец запроса,, — разделитель списка, ' — ограничитель текстовой строки, Like – оператор подобия, Between — указатель диапазона. При обработке запросов лишние пробелы и знаки конца запроса игнорируются.

Любой QBE-запрос может быть представлен в Access как запрос SQL через меню Вид.Режим SQL или выбором Режим SQL под кнопкой. В то же время, пользователь имеет возможность самостоятельного формирования SQL-запросов в этих режимах.

Центральным, наиболее часто используемым SQL-оператором является Select. Запрос на выборку с этим оператором имеет формат Select [{All | Distinct | Distinctrow}] { * | списокПолей} From списокТаблиц [Where логическоеВыражение] [In списокЗначений ] [Group By логическоеВыражение] [Having логическоеВыражение] [Order By списокПолей [{Asc | Desc}]]];

где списокПолей = {имяТаблицы.* | [имяТаблицы.]имяПоля [,…]]};

списокТаблиц = имяТаблицы [,...];

списокЗначений = Значение [,...].

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

В общем случае оператор Select определяет поля, обрабатываемые в запросе.

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

–  –  –

SELECT Фирма, Год, Президент FROM Таблица;

Здесь из Таблица выбираются все записи в полях Фирма, Год, Президент, а в следующем примере находится произведение двух таблиц:

–  –  –

SELECT Таблица1.Фирма, Таблица2.Год, Таблица1.Президент FROM Таблица1, Таблица2 WHERE Таблица2.Год 1950;

Диапазон значений запроса определяется аргументами функции In, заключенными в скобки:

–  –  –

SELECT * FROM Таблица, Таблица1 WHERE Таблица.Имя IN ("Иванов", "Петров") AND Таблица1.Оклад 10000;

В примере выбираются все записи двух таблиц, если поле Имя в Таблица содержит «Иванов», «Петров», а значение поля Оклад в Таблица1 превышает 10000.

Аргументы All, Distinct, Distinctrow управляют включением и исключением дубликатов:

–  –  –

SELECT DISTINCTROW * FROM Таблица, Таблица1 ORDER BY Таблица.Имя, Таблица.

Оклад;

Здесь из Таблица и Таблица1 выбираются неповторяющиеся записи с сортировкой по полям Имя и Оклад из Таблица.

Для вычислений в SQL используются статистические функции, приведенные ранее в списке групповых операций:

–  –  –

SELECT Имя, SUM(Оклад) FROM Таблица GROUP BY Имя;

Здесь аргумент Group By формирует одну запись из записей с одинаковым значением поля Имя. В запросе формируется информация о поле Оклад, причем для каждого работника выводится одна запись с суммой.

Аргумент Having ограничивает число записей:

–  –  –

SELECT MIN(Оклад) AS Минимум, MAX(Оклад) AS Максимум, AVG(Оклад) AS Среднее FROM Таблица;

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

–  –  –

SELECT Имя, Оклад FROM Таблица WHERE Оклад BETWEEN 1000 AND 3000;

Сообщаются работники, имеющие оклады от 1000 до 3000.

Запрос в формате Select списокПолей Into новаяТаблица [In внешняяБазаДанных] From исходнаяТаблица;

создает таблицы. Если при этом не указываются поля и не накладывается условий, выполняется копирование таблиц:

–  –  –

SELECT Имя, Оклад INTO Таблица2 FROM Таблица1 ORDER BY Оклад, Имя;

В Таблица2 заносятся два поля, отсортированных по Оклад (ключевое поле) и Имя.

Аргумент Inner Join объединяет записи из двух таблиц, если связующие поля этих таблиц содержат одинаковые значения:

Select списокПолей From имяТаблицы1 Inner Join имяТаблицы2 On имяТаблицы1.имяПоля1 операторCравнения имяТаблицы2.имяПоля2;

В частности, Inner Join можно применить к таблицам Отделы и Сотрудники для отбора всех сотрудников каждого отдела. Для отбора же всех отделов (в том числе тех, в которых нет ни одного сотрудника) или всех сотрудников (в том числе тех, которые не приписаны ни к какому отделу) следует использовать аргументы Left Join или Right Join, которые создают внешнее объединение.

–  –  –

SELECT Категория, Марка FROM Типы INNER JOIN Товары ON Типы.КодТипа = Товары.КодТипа;

В этом примере поле КодТипа используется для объединения таблиц, однако оно не включается в результат выполнения запроса, поскольку нет оператора Select. Чтобы добавить связующее поле (в данном случае поле Типы.КодТипа) в результат выполнения запроса, следует включить имя этого поля в Select.

–  –  –

SELECT DISTINCTROW Таблица1.* FROM Таблица1 INNER JOIN Таблица3 ON Таблица1.Фирма = Таблица3.Фирма;

В данном примере Таблица1 пересекается с Таблицей3, а в следующих примерах сначала из таблицы Задачи вычитается таблица Задачи1, а затем Задачи делится на таблицу

СотрудникиЗадачи :

–  –  –

SELECT DISTINCTROW Задачи.КодЗадачи, Задачи.ОписаниеЗадачи, Задачи.НачальнаяДата, Задачи.КонечнаяДата FROM Задачи LEFT JOIN Задачи1 ON Задачи.КодЗадачи = Задачи1. КодЗадачи WHERE ((Задачи1.КодЗадачи) IS NULL);

–  –  –

SELECT Задачи.ОписаниеЗадачи, Задачи.НачальнаяДата, Задачи.КонечнаяДата FROM Задачи INNER JOIN СотрудникиЗадачи ON Задачи.КодЗадачи = Сотрудники.Задачи. КодЗадачи;

–  –  –

SELECT * FROM Таблица1 UNION SELECT * FROM Таблица2;

Это запрос на объединение двух таблиц с идентичными макетами.

Запросам на изменение и управляющим запросам Access соответствуют другие выражения SQL. По запросу в формате Create Table имяТаблицы (имяПоля типПоля [(Размер)] [списокИндексов][,…]);

создается новая таблица с указанными в аргументах полями конкретного типа и размера, а запрос формата Drop {Table имяТаблицы | Index Значение On имяТаблицы};

удаляет заданную таблицу или ее индекс.

–  –  –

CREATE TABLE [Отдел кадров] (Фамилия TEXT(30), [Номер п/п] INTEGER, Оклад DOUBLE);

Представленный SQL-запрос создает таблицу Отдел кадров с текстовым полем Фамилия длиной 30 символов и числовыми полями [Номер п/п] и Оклад.

Следующие запросы создают индексы:

Create [ Unique ] Index Значение On имяТаблицы (имяПоля [{Asc | Desc}][,...]) [With {Primary | Disallow Null | Ignore Null }];

Constraint Индекс {Primary Key | Unique | References};

имяТаблицы [имяПоля]} Чтобы добавить в таблицу новые поля или удалить существующие, используется запрос на изменение Alter Table имяТаблицы {Add | Drop} Column имяПоля [типПоля(Размер)]];

Удалить из таблицы индекс или таблицу из базы данных можно запросом Drop {Table имяТаблицы | Index Индекс On имяТаблицы};

–  –  –

Insert Into имяТаблицы [In базаДанных] [(имяПоля [,...])] Select списокПолей From имяТаблицы;

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

Если опущены имена полей, данные заносятся последовательно поля в соответствии с макетом таблицы базы данных:

–  –  –

INSERT INTO [Отдел кадров] (Фамилия, Оклад) VALUES ("Иванов", 54700);

Запросы на удаление и обновление информации в таблицах строятся в форматах:

Delete From имяТаблицы [Where логическоеВыражение] [In базаДанных];

Update имяТаблицы Set имяПоля=Значение [,…] [Where логическоеВыражение];

–  –  –

UPDATE Таблица SET Имя=" " WHERE Оклад 5000;

Из Таблица удаляются значения поля Имя, если значение поля Оклад превышает 5000.

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

Форма удобна для представления записей одной таблицы или группы связанных таблиц.

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

Записи правятся прямо в текстовых полях формы. Для добавления новой записи в базу данных используется навигационная кнопка со звездочкой или меню Правка.Перейти.Новая. После перехода к следующей записи или закрытия формы новая запись сохраняется в таблице. Для отмены изменений в текущем поле служит меню Правка.Восстановить текущее поле/запись и кнопка на панели инструментов. Повторное нажатие этой же кнопки отменяет все изменения, внесенные в редактируемую запись. Чтобы удалить запись, используется меню Правка.Удалить запись или кнопка. Меню Сервис.Орфография и кнопка помогают провести синтаксический контроль записей. Для копирования запись выделяют через меню Правка.Выделить запись или одноименной кнопкой в левой части формы, после чего ее заносят в буфер обмена. Затем копию из буфера вставляют в любую выделенную запись. Чтобы быстро найти известную запись через форму, следует перейти в нужное поле и выбрать меню Правка.Найти или нажать одноименную кнопку панели инструментов. Произвольные буквосочетания отыскиваются после выбора строки С любой частью поля из списка Совпадение в окне поиска. Если требуется регулярное использование формы, ее можно перенести в любую папку Windows или создать ярлык из меню Правка.Создать ярлык, в том числе — на Рабочем столе.

Создание формы Если к таблице не разработано форм или существующие формы не отвечают требованиям к базе данных, создается новая форма с помощью меню Вставка.Форма или кнопки Создать в окне базы данных. Если же нажать кнопку панели инструментов и выбрать пункт Автоформа, то будет автоматически подготовлена форма, содержащая все поля таблицы. Если какие-либо поля автоформы не требуются, от них следует отказаться, вступив в диалог с Мастером форм. Эта программа позволяет создавать формы с полями из одной или нескольких связанных таблиц или запросов. Управляя включением в форму необходимых полей, Мастер форм одновременно создает базовый внешний вид формы В столбец, представляющую одну запись, либо Ленточной формы из нескольких записей, либо Табличной формы. Разновидностями форм являются Диаграмма и Сводная таблица, использующая данные из таблиц, подобных Excel. При работе с несколькими таблицами создаются подчиненные формы или связанные формы. В формах, где источником данных служат таблицы, связанные отношением «один ко многим», подчиненные формы необходимо связывать с основной формой так, чтобы все их записи соответствовали текущей записи основной формы. При этом Мастер форм использует информацию о типе отношения между таблицами для связи основной и подчиненных форм. Чтобы создать подчиненную форму, отображаемую в режиме таблицы, иногда оказывается проще перетащить таблицу или запрос из окна базы данных в форму.

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

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

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

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

–  –  –

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

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

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

После заполнения формы элементами управления, формируется ее стиль из меню Формат.Автоформат, кнопкой или вручную кнопками панели форматирования, управляющими цветом фона, текста, границ, их шириной и представлением. Перед этим вся форма выделяется через меню Правка.Выделить форму или щелчком по специальной кнопке на пересечении горизонтальной и вертикальной линеек. Двойной щелчок по этой кнопке ведет к одновременному открытию окна Свойства формы. В качестве фонового рисунка формы (свойство Рисунок) можно использовать растровую картинку из папки \Office\Bitmaps\Styles или графические файлы в форматах.wmf,.bmp. Изменяя свойства Тип рисунка, Масштабы рисунка, Выравнивание рисунка, Мозаичное заполнение, можно добиться разнообразных эффектов оформления. Стили элементов удобно копировать кнопкой. Элементы в форме выравниваются по разметочной сетке через меню Формат.Выровнять, Формат.Привязать к сетке, Формат.Размер.По узлам сетки или — наоборот — Формат.Размер.По размеру данных.

В окне Конструктора форма разделена на три части: Заголовок формы, Область данных и Примечание формы. Форма размечается по вертикальной и горизонтальной линейкам (вертикальная линия справа определяет ее ширину, а горизонтальная внизу — высоту), изменяемым перетаскиванием.

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

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

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

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

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

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

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

Оформление может копироваться и изменяться автоформатированием, как это делалось при создании форм. Из меню Вставка.Номер страницы задается формат и расположение номеров. Поля отчета можно заполнять не только содержимым таблиц, но также выражениями, например: =[Количество] * [Цена] или =Sum([Количество] * [Цена]).

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

Размеры полей и колонтитулов отчета устанавливаются в меню Файл.Макет страницы. А вкладка Формы/отчеты меню Сервис.Параметры управляет исходным шаблоном формируемого документа

Похожие работы:

«Содержание Введение Управление перегрузкой для GW Защита перегрузки сети для входной регулировки сообщения GTP-C Настройте входную регулировку сообщения GTP-C Защита элемента сос...»

«тельных нервов". В 1907 г. В.К. фон Анреп избран по первому разряду городских избирателей в III Государственную думу как член Союза 17 октября в Санкт-Петербурге. В Думе вошел в бюджетную комиссию и в комиссию по народному образованию (в последней был председателем); в пленарных заседаниях часто выступал докладчиком той и...»

«Украина, 03048, г. Киев ул. Народного Ополчения, 1, оф. 107-В тел./факс 249-93-42, 050-332-20-22 www.ldesign.prom.ua www.ldesign.kiev.ua E-mail: ldesign@bigmir.net ЛАНДШАФТНЫЙ ПРОЕКТ ПО БЛАГО...»

«Абсолютный Баланс Практическое Руководство по Кундалини йоге Yoga Press Delivering Sacred Knowledge Абсолютный Баланс Практическое Руководство по Кундалини йоге Альманах. Издание второе. Под общей редакцией Хари Картар Каур и Дхарам Атма Сингха Книга “Абсолютный Баланс” — это практическое руководство по Кундалини йоге,...»

«C рабочего стола социолога Б И Б Л И О Г РАФ И Ч Е С К И й С П И С О К См.: Т е н н и с Ф. Общность и общество // Социологический журнал. 1998. № 3/4. С. 207–229. См.: В е б е р М. Город // Избранное. Образ общества. М., 1994. С. 309–440. См.: З и м м е л ь Г. Большие города и духовная жизнь //...»

«Содержание 3. Исследование поверхности твердых тел методом атомно-силовой микроскопии в неконтактном режиме Содержание 3. ИССЛЕДОВАНИЕ ПОВЕРХНОСТИ ТВЕРДЫХ ТЕЛ МЕТОДОМ АТОМНО-СИЛОВОЙ МИКРОСКОПИИ В НЕКОНТАКТНОМ РЕЖИМЕ 3.1. ЦЕЛИ...»

«Вестник ПСТГУ I: Богословие. Философия 2011. Вып. 4 (36). С. 52–61 ПРОТЕСТАНТСКАЯ ТЕОЛОГИЧЕСКАЯ РЕЦЕПЦИЯ ОРГАНИЗАЦИОННОЙ ТЕОРИИ НИКЛАСА ЛУМАНА Е. В. ВОРОНЦОВА В данной статье предлагается краткий обзор организа...»

«Комнатные растения Илья Мельников Комнатные растения. Классификация и строение "Мельников И.В." Мельников И. В. Комнатные растения. Классификация и строение / И. В. Мельников — "Мельников И.В.", 2012 — (Комнатные растения) ISBN 978-5-457-14276-3 Э...»

«Жунал "Connect! Мир связи" – №10, октябрь 2007 КОНВЕРГЕНЦИЯ ТЕХНОЛОГИЙ В ОПЕРАТОРСКИХ СЕТЯХ. СЦЕНАРИИ ВОЗМОЖНЫЕ И НЕВОЗМОЖНЫЕ Борис Гольдштейн, Александр Гольдштейн, д. т. н., проф., зав. кафедрой к. т. н., доцент СПбГУТ, систем коммутации зам. директора НТЦ СПбГУТ "АРГУС"...»

«СОДЕРЖАНИЕ 1. Общие положения.. 2. Требования к профессиональной подготовленности выпускника. 3 3. Формы государственной итоговой аттестации 6 4. Содержание и организация проведения государственного экзамена 6 5. Содержание и организация защиты выпускной квалификационной работы. 7 ПРИЛОЖЕНИЯ 1. ОБЩИЕ ПОЛОЖЕНИЯ 1.1. Программа государственной ито...»

«5 1,3 65 15,3 255 53,3 159 31,3 42 6,4 Средний % выборки от общего запаса 23 40 40 30 25 20 10 Запас, вырубаемый за один прием 25,2 0,5 0,5 4,6 13,0 6,0 0,6 Средний период повторяемости х х х х х х х Ежегодная расчетная лесосека: корневой 53 2,5 7 0,5 26 1 16...»

«ЗАКОН РЕСПУБЛИКИ ТАДЖИКИСТАН О естественных монополиях (Ахбори Маджлиси Оли Республики Таджикистан 2007 год, №3, ст.168; 2008 год, №10, ст.814) Принят Постановлением Маджлиси намояндагон Маджлиси Оли Респуб...»

«Социологическое обозрение Том 2. № 3. 2002 Анри Лефевр ПРОИЗВОДСТВО ПРОСТРАНСТВА1 H. Lefebvre. La production de l.espace. P. 2000. pp. 35-40 1.12. Пространство (социальное) есть продукт (социальный). Это утверждение кажется близким к тавтологии и, таким...»

«Глава 1 Конвергенция сетей связи 4 1.1 Пропорции в телекоммуникациях 4 1.2 Перспективы развития ТфОП и IP-сетей 5 1.3 Транспортные технологии пакетной коммутации 7 1.4 Уровни арх...»

«50 Электронное научное издание "Устойчивое инновационное развитие: проектирование и управление" том 5 (2009), ст. 3 www.rypravlenie.ru УДК 004.6 ТЕОРЕТИКО-ГРАФОВОЕ ПРИВЕДЕНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ К ТРЕТЬЕЙ НОРМАЛЬНОЙ ФОРМЕ Э.КОДДА Иван Андреевич Зорин, старший преподаватель Московского государственного горного...»

«основы ЭРГОНОМИКИ И ДИЗАЙНА АВТОМОБИЛЕЙ И ТРАКТОРОВ УДК 331.101.1:629.113/.115(075.8) ББК 30.17:30.18:39.33:39.34я73 0-753 Авторы: И. С. Степанов, А. Н. Евграфов, A.JI. Карунин, В. В.Ломакин, В. М. Шарипов Рецензенты: профессор кафедры "Колесные машины" МГТУ им. Н.Э.Баумана д-р техн. наук Г. И. Гладов; зав. кафедрой "Тягачи и амфибийные маш...»

«Правила предоставления жилых помещений на территории Слободзейского района и г. Слободзея Настоящие правила устанавливают порядок предоставления жилых помещений на территории Слободзейского района и г. Слободзея, по договору социального и коммерческого найма в муниципальном жилом фонде.1. ОБЩИЕ ПОЛО...»

«АЛЕКСАНДР ТАРАСОВ РЕВОЛЮЦИЯ НЕ ВСЕРЬЕЗ Квазиреволюционеры существуют ровно столько времени, сколько существуют революции. Они морочат всем и своим и чужим голову, путаются под ногами у революции, отравляют общественную атмосферу мелким честолюбием, своим сектантством, мещанской трусостью или же мелкобуржуазным авантюри...»

«ГЛАВНОЕ УПРАВЛЕНИЕ ЗАПИСИ АКТОВ ГРАЖДАНСКОГО СОСТОЯНИЯ РЯЗАНСКОЙ ОБЛАСТИ ПРИКАЗ г. Рязань 18 февраля 2013 г. № 54-д О мерах, направленных на обеспечение выполнения обязанностей, предусмотренных Федеральным законом от 27.07.2006 № 152-ФЗ О персональных данных В соответствии с Конституцией Российской Федерации, Трудо...»

«Исследование рынка карбида кремния стр. 1 из 40 Исследование рынка карбида кремния Январь, 2014 Исследование рынка карбида кремния стр. 2 из 40 Оглавление Список диаграмм Список таблиц 1 Общий анализ рынка карбида кремния в России в 2012-2013...»

«приятие как деятельность. Активный характер восприятия. Роль моторных компонентов в восприятии. Восприятие и система перцептивных действий. Роль прошлого опыта, установок, мышления, речи, сознания в восприятии. Апперцепция при восприятии. Вос...»

«ИНФОРМАЦИОННАЯ БРОШЮРА ДЛЯ ПАЦИЕНТА E A D V ЧЕСОТКА task force “skin disease in pregnancy” Цель этой брошюры Эта брошюра позволит вам больше узнать о чесотке. Она расскажет вам о том, что такое чесотка, о причинах ее появления, профилактике и лечении, а также укажет, где можно найти более детальную информацию об это...»

«АКАДЕМИЯ НАуК СОЮЗА ССР СОВ ЕТСКАЛ ЭТНОГРАфИ-Я 13ДАТЕЛЬСТВО АКАДЕМИИ НАуК СССР Р едакционная коллегия Главный редактор член-корр. А Н СССР С. П. Толстой, З а м. главного редактора член-корр. А Н СССР А. В. Ефимок Н. А. Баскаков, Г. Ф. Д е б ец, М. О. Косвен, П. И...»

«МЕТОДОЛОГИЯ Борис БРОДСКИЙ Диалектика и принцип выбора Еще вчера служившая социальному культу, а ныне развенчанная и лишенная идеологического табу диалектика стала предметом научных и философских дискуссий. Одни видят в ней идейный корень "конфронтационного мышления", приведшего к национальным и человеческим трагедиям XX века. Другие про...»

«Константин Костинов Сектант Текст предоставлен издательством http://www.litres.ru/pages/biblio_book/?art=3523715 Сектант: Альфа-книга; Москва; 2012 ISBN 978-5-9922-1174-0 Аннотация 1925 год. Ни войн, ни катаклизмов, ни революций – годы созидания, надо строить, а не воевать. Справится ли с этой задачей житель д...»

«MEDIAMUSIC № 2 (2013) Электронный научный журнал Electronic scientific magazine Медиамузыка Mediamusic № 2 (2013) № 2 (2013) http://mediamusic-journal.com/archive/2.html Содержание Content НОТНЫЕ ЦИФРОВЫЕ ТЕХНОЛОГИИ: SCORE DIGITA...»









 
2017 www.doc.knigi-x.ru - «Бесплатная электронная библиотека - различные документы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.