Формы субд ms access. Краткая характеристика Microsoft Access

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

В этой статье:

Что представляет собой база данных?

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

Компьютерная база данных - это хранилище объектов. В одной базе данных может быть больше одной таблицы. Например, система отслеживания складских запасов, в которой используются три таблицы, - это не три базы данных, а одна. В базе данных Access (если ее специально не настраивали для работы с данными или кодом, принадлежащими другому источнику) все таблицы хранятся в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули. Для файлов баз данных, созданных в формате Access 2007 (который также используется в Access 2016, Access 2013 и Access 2010), используется расширение ACCDB, а для баз данных, созданных в более ранних версиях Access, - MDB. С помощью Access 2016, Access 2013, Access 2010 и Access 2007 можно создавать файлы в форматах более ранних версий приложения (например, Access 2000 и Access 2002–2003).

Использование Access позволяет:

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

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

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

    упорядочивать и просматривать данные различными способами;

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

Элементы базы данных Access

Ниже приведены краткие описания элементов стандартной базы данных Access.

Таблицы

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

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

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

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

Дополнительные сведения о таблицах см. в статье Общие сведения о таблицах .

Формы

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

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

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

Дополнительные сведения о формах см. в статье Формы .

Отчеты

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

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

Запросы

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

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

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

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

Дополнительные сведения о запросах см. в статье Знакомство с запросами .

Макросы

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

Дополнительные сведения о макросах см. в статье Общие сведения о программировании в Access .

Модули

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

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

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

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

Целью данной курсовой работы является рассмотрение проектирования в теории и создания на практике базы данных в продукте корпорации Microsoft для управления базами данных «Microsoft Access».

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

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

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

Основные понятия о базах данных MS Access

1.1 Краткая характеристика MS Access

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

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

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

Особенности MS Access, отличающиеся от представления об «идеальной» реляционной СУБД.

Создание многопользовательской БД Access и получение одновременного доступа нескольких пользователей к общей базе данных возможно в локальной одноранговой сети или в сети с файловым сервером. Сеть обеспечивает аппаратную и программную поддержку обмена данными между компьютерами. Access следит за разграничением доступа разных пользователей к БД и обеспечивает защиту данных. При одновременной работе. Так как Access не является клиент серверной СУБД, возможности его по обеспечению многопользовательской работы несколько ограничены. Обычно для доступа к данным по сети с нескольких рабочих станций, файл БД Access (с расширением *.mdb) выкладывается на файловый сервер. При этом обработка данных ведется в основном на клиенте – там, где запущено приложение, в силу принципов организации файловых СУБД. Этот фактор ограничивает использование Access для обеспечения работы множества пользователей (более 15-20) и при большом количестве данных в таблицах, так как многократно возрастает нагрузка не сеть.

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

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

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

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

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

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

Access обладает широкими возможностями по импорту/экспорту данных в различные форматы, от таблиц Excel и текстовых файлов, до практически любой серверной СУБД через механизм ODBC.

Еще одно немаловажное преимущество MSAccess заключается в развитых встроенных средствах разработки приложений. Большинство приложений, распространяемых среди пользователей, содержит тот или иной объем кода VBA (Visual Basic for Applications). Поскольку VBA является единственным средством для выполнения многих стандартных задач в Access (работа с переменными, построение команд SQL во время работы программы, обработка ошибок, использование Windows API и т. д.), для создания более-менее сложных приложений необходимо его знание и знание объектной модели MSAccess.

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

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

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

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

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

Рассмотрим работу СУБД на примере MS Access, входящей в профессиональный пакет MS Office.

В начале работы с Access происходит создание новой базы данных с присвоением файлу базы оригинального имени и расширения.mdb.

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

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

Основные объекты базы данных Access можно создавать в режиме Мастер и в режиме Конструктор .

Таблицы

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

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

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

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

Характеристики полей базы данных:

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



· тип поля определяет тип данных, которые могут содержаться в данном поле;

· размер поля определяет предельную длину (в символах) данных, которые могут размещаться в данном поле;

· формат поля определяет способ форматирования данных в ячейках, принадлежащих полю;

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

· подпись определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля );

· значение по умолчанию – то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных);

· условие на значение – ограничение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты);

· сообщение об ошибке – текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности выполняется автоматически, если задано свойство Условие на значение );

· обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы;

· пустые строки – свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым);

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

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

Запросы

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

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

Запрос-изменение используется для изменения или перемещения данных. К этому типу относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление.

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

Ряд запросов строятся с использованием мастеров. Возможно создание запросов следующих видов:

простой запрос , позволяющий выбирать поля из нескольких таблиц или запросов;

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

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

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

После выбора Конструктора при создании запроса Access предлагается использовать бланк запроса по примеру QBE.

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

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

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

Кроме традиционных математических действий существует еще несколько специальных операторов.

BETWEEN AND заменяет знаки «больше или равно» и «меньше или равно». Например, условие BETWEEN 1981 AND 1984 эквивалентно условию > =1981 AND<=1984.
Знак «^» определяет возведение в степень.
Знак «&» используется для сложения данных символьного типа. Для соединения можно использовать и более привычный знак «+». Например, эквивалентны следующие три выражения: «Петров», «Петр» & «ов», «Петр» + «ов».
Оператор LIKE используется для создания масок при определении строк с неизвестными символами и требует дополнительных специальных символов:

? – обозначает любой одиночный символ;

* - обозначает любую последовательность символов;

# - обозначает любую цифру;

– обозначает символ из определенного набора в квадратных скобках, например [а - d] обозначает одну из четырех букв: а, b, d. Восклицательный знак инвертирует смысл выражения, заключенного в квадратные скобки: [!1 - 5] – исключает цифры от 1 до 5.

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

Формы

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

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

Самый простой способ создания формы – Автоформа.

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

Отчеты

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

Можно создать отчеты следующих видов:

· простая распечатка из режима Таблицы или Формы, используемая как черновой вариант отчета;

· детальный отчет – хорошо подготовленный отчет в наглядном удобном виде, включающий ряд дополнительных элементов;

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

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

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

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

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

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

Между одноименными полями двух таблиц MS Access автоматически устанавливает связь. Например, между таблицами «Студенты» и «Успеваемость» устанавливается связь по полю «№ студ. билета». Это означает, что при формировании запроса к этой паре таблиц Access сможет объединить записи (строки) таблиц, в которых значения поля «№ студ. билета» совпадают.

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

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

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

Механизм, который обеспечивает согласованность данных между двумя связанными таблицами, называется поддержкой целостности данных. Чтобы обеспечить целостность данных, при установлении связи между двумя таблицами нужно активизировать переключатель. Если пользователь включил механизм поддержки целостности, то он должен одновременно указать тип связи: «один к одному» или «один ко многим».

Целостность данных означает следующее:

· в связанное поле подчиненной таблицы можно вводить только те значения, которые имеются в связанном поле главной таблицы (например, в таблицу «Успеваемость» нельзя ввести запись с номером студенческого билета, отсутствующим в таблице «Студенты»);

из главной таблицы нельзя удалить запись, у которой значение связанного поля совпадает хотя бы с одним значением того же поля в подчиненной таблице (например, из таблицы «Студенты» нельзя удалить «№ студ. Билета», который еще не удален из таблицы «Успеваемость»).

При попытке нарушить эти запреты MS Access выдает сообщение об ошибке.

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

  • каскадное обновление связанных полей;
  • каскадное обновление связанных записей.

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

Установление связей между таблицами рассмотрим на конкретном примере – на нашей базе данных «Колледж».

Выберите команду Правка /Схема данных . На экране появится диалоговое окно со списком всех таблиц открытой базы данных.

Можно включить в этот список и запросы (или создать список только из запросов).

Задача пользователя– указать системе те таблицы, между которыми он устанавливает связи. Нужно выделить таблицу «Преподаватели» и нажать кнопку Добавить , затем то же самое проделать с таблицами «Успеваемость» и «Студенты». Нажать кнопку Закрыть.

На экране появится окно Схема данных .

Это окно содержит все таблицы базы данных, между которыми устанавливаются (или уже установлены) связи. Для установления связи между двумя таблицами можно методом «Drag-and-Drop» переместить имя поля с первичным ключом главной таблицы на одноименное поле подчиненной таблицы.

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

После активизации флажка «Обеспечение целостности данных» становятся допустимыми радиокнопки Отношение и два флажка каскадных операций. В группе «Отношение» надо обязательно выбрать один из типов связи: «один-к-одному» или «один-ко-многим».

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

Сервисные операции

1) Проверка орфографии. О беспечивают авто-исправление ошибок ввода. Используется словарь. Включается система и при обнаружении слова, отсутствующего в словаре, появляется диалоговое окно "Орфография". Можно это слово пропустить, добавить в словарь, заменить.

2) Автозамена . Автоматически исправляет ошибки и опечатки непосредственно в процессе набора данных в базу. Список автозамены "общий" для MS Office 2003. Есть много настроек как делать замену.

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

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

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

7) Репликация предоставляет пользователям, которые работают за различными компьютерами, удобный способ обмена изменениями, вносимыми в единую БД. Репликация имеет широкое практическое применение. Для создания и синхронизации реплик в MS Access 2003 предусмотрены команды репликации.

Термины и определения

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

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

База данных - множество логически совместимых файлов данных.

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

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

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

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

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

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

Коммерческие системы на основе реляционной модели данных начали появляться в конце 1970-х - начале 1980-х годов. В настоящее время существует несколько сотен типов различных реляционных СУБД, как для мэйнфреймов, так и для персональных компьютеров, хотя многие из них не полностью соответствуют точному определению реляционной модели данных. Примерами реляционных СУБД для персональных компьютеров являются СУБД Access и FoxPro фирмы Microsoft, Paradox фирмы Corel Corporation, InterBase и BDE фирмы Borland, а также R: Base фирмы R: Base Technologies.

С учетом требований, возможностей и ресурсов ЧП «нал», было принято решение в качестве целевой СУБД выбрать СУБД Microsoft Access 2000.

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

На рисунке 6.1 отображена оригинальная маркетинговая концепция Microsoft для Access. Этот простой рисунок иллюстрирует возможности работы с MS Access на всех уровнях. На нижнем уровне иерархии перечислены объекты: они дают возможность с легкостью создавать таблицы, запросы, формы и отчеты. С помощью выражений (функций) можно осуществлять простую обработку данных для проверки их правильного ввода, поддержки бизнес-правил или для отображения числа с символом валюты. Макросы позволяют осуществлять автоматизацию, не прибегая к программированию, однако необходимо принять во внимание, что код VBA (Visual Basic for Applications) позволяет пользователю программировать более сложные процессы. И, наконец, используя Windows API (Application Programming Interface - программный интерфейс приложения), с помощью которого осуществляется обращение к функциям или библиотекам динамических связей (DLL - Dynamic Link Libraries), написанных на других языках, таких как С, Java или Visual Basic, программист может написать интерфейс для других программ и источников данных.

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

  • 1) Типы данных. В MS Access предусмотрены все основные типы данных, некоторые из которых, такие как числа, имеют несколько разновидностей.
  • 2) Индексы. Поля могут быть проиндексированы, что значительно сокращает время, затрачиваемое на поиск нужной информации.
  • 3) Ограничения. Ограничения, налагаемые на водимые данные, могут быть заданы как на уровне таблицы (путем введения выражения контроля ввода в строку свойства Условие на значение), так и на уровне формы (в окне свойств поля формы в режиме Конструктора форм).

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

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

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

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

  • 8) Запросы. Одна из самых мощных возможностей MS Access одновременно является и наиболее важной. Можно строить запросы применительно к любым данным в таблицах, определять порядок сортировки, создавать вычисляемые выражения и вводить критерии отбора нужных записей. Можно отображать результаты выполнения запроса в виде таблицы, формы или отчета. Для установки связей между таблицами можно пользоваться Конструктором запросов.
  • 9) SQL. Широкие возможности по использованию языка SQL для манипулирования данными и построения сложных запросов (запросов на объединение, запросов к серверу, управляющих запросов).

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

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

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

Импортирование, экспортирование и связывание внешних файлов. MS Access позволяет импортировать и экспортировать файлы многих известных форматов, включая dBASE, FoxPro, Excel, SQL Server, Oracle, Btrieve, многие текстовые форматы ASCII (в том числе с фиксированной длиной строки или заданным ограничителем), а также данные в формате HTML. В результате экспортирования таблицы MS Access создается файл в заданном формате. Связывание означает, что можно использовать внешние данные, не создавая таблицы MS Access. Очень мощная возможность - связывание таблиц MS Access с их внешними таблицами с последующим совместным использованием; это относится к таблицам MS Access, dBase, FoxPro, SQL Server.

Формы и отчеты WYSIWING. Окна конструкторов форм и отчетов имеют одинаковый интерфейс и представляют пользователю много возможностей. Форма или отчет конструируются по принципу WYSIWYG (What You See Is What You Get - что ты видишь, то и получишь). Добавляя очередной элемент управления, пользователь видит, как при этом изменяется создаваемая форма или отчет.

15) Поддержка работы в сети. СУБД Microsoft Access может использоваться как автономная система на одном персональном компьютере или как многопользовательская система в сети. Реализация клиент / сервер. В Microsoft Access 2003 может быть создан файл с расширением.adp (Access project File), в котором могут храниться локально формы, отчеты, макрокоманды и модули VBA и который может соединяться с удаленной базой данных SQL Server, используя технологию OLE DB для отображения и работы с таблицами, представлениями, связями и хранимыми процедурами. В такой реализации может также использоваться машина базы данных MSDE.

Это лишь часть возможностей MS Access, делающих эту систему одной из лучших СУБД, представленных сегодня на рынке. Остается добавить, что это одна из самых распространенных СУБД, поскольку входит в стандартный пакет Microsoft Office.

Мощный арсенал средств Microsoft Access позволяет, как нельзя успешнее решить задачу по автоматизации учета продаж в ЧП «Сласть».

Краткая характеристика Microsoft Access

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

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

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

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

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

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

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

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

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

MS Access предоставляет в распоряжение непрограммирующему пользователю разнообразные диалоговые средства, которые позволяют ему создавать приложения не прибегая к разработке запросов на языке SQL или к программированию макросов или модулей на языке VBA .

Access обладает широкими возможностями по импорту / экспорту данных в различные форматы, от таблиц Excel и текстовых файлов, до практически любой серверной СУБД через механизм ODBC.

Еще одно немаловажное преимущество MS Access заключается в развитых встроенных средствах разработки приложений. Большинство приложений, распространяемых среди пользователей, содержит тот или иной объем кода VBA (Visual Basic for Applications). Поскольку VBA является единственным средством для выполнения многих стандартных задач в Access (работа с переменными, построение команд SQL во время работы программы, обработка ошибок, использование Windows API ит. д.), для создания более-менее сложных приложений необходимо его знание и знание объектной модели MS Access.




Top