Основы работы субд ms access
Рассмотрим работу СУБД на примере 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 предусмотрены команды репликации.
Термины и определения
База данных – совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. Является информационной моделью предметной области. Обращение к базам данных осуществляется с помощью системы управления базами данных (СУБД).
База данных - система хранения данных, обеспечивающая оперативный доступ к информации по содержанию хранимых данных.
База данных - множество логически совместимых файлов данных.
Банк данных – автоматизированная информационная система централизованного хранения и коллективного использования данных. В его состав входят одна или несколько баз данных, справочник баз данных, СУБД, а также библиотеки запросов и прикладных программ.
Банк данных - совокупность нескольких баз данных с программами управления ими и совместимыми аппаратными средствами.
База знаний – модель, предназначенная для представления в компьютере знаний, накопленных человеком в определенной предметной области. Является основной составной частью интеллектуальных и экспертных систем.
Транзакция – короткий по времени цикл взаимодействия объектов, включающий запрос – выполнение задания – ответ. Обычно осуществляется в режиме диалога.
Транзакция - входное сообщение, переводящее базу данных из одного непротиворечивого состояния в другое (запрос на изменение базы данных). В зафиксированной транзакции все операции завершены.