Добавлен: 06.11.2018
Просмотров: 1879
Скачиваний: 24
Основные понятия СУБД Access. Создание базы данных
Цель работы: ознакомиться с основными понятиями и объектами СУБД Access, освоить на практике технологию создания таблиц, обеспечения целостности данных.
Задание
1. Выполнить задания, помеченные в методических указаниях по выполнению работы символом √.
Методические указания по выполнению работы
В любой информационной системе производится обработка данных об объектах реального мира, при этом объём сохраняемых данных очень велик. Ядро ИС составляет её база данных, в которой сохраняются все данные.
База данных (БД) – упорядоченная совокупность данных, предназначенных для хранения, накопления и обработки с помощью ЭВМ.
Для создания и ведения баз данных (их обновления, обеспечения доступа по запросам и выдачи данных по ним пользователю) используются системы управления базами данных (СУБД).
Система управления базами данных (СУБД) – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в рабочем состоянии и организации доступа пользователя к данным.
СУБД Access, являющаяся частью пакета Microsoft Office, поддерживает реляционную модель данных.
Файл базы данных Access имеет расширение .accdb и содержит таблицы, формы, запросы, отчёты и другие объекты.
К объектам базы данных Access относятся:
Таблицы – предназначены для упорядоченного хранения данных.
Запросы – предназначены для поиска, извлечения данных и выполнения вычислений.
Формы – предназначены для удобного просмотра, изменения и добавления данных в таблицах.
Отчеты – используются для анализа и печати данных.
Страницы доступа к данным – предназначены для просмотра, ввода, обновления и анализа данных через сеть или из любого места компьютера.
Макросы – используются для выполнения часто встречающегося набора макрокоманд, осуществляющих обработку данных.
Модули – предназначены для описания инструкций и процедур на языке VBA.
Основным объектом базы данных является таблица. В таблице содержатся сведения о некотором классе объектов выбранной предметной области. Например, таблица может содержать сведения о студентах вуза, при этом каждая строка-запись содержит информацию о конкретном объекте (студенте). Каждый столбец-поле описывает один из атрибутов некоторого объекта, например, фамилию студента или дату рождения. Поэтому все данные одного столбца характеризуются одинаковым типом - множеством допустимых значений и операций над ними. В СУБД Access определены следующие типы данных:
Типы данных |
Тип Описание |
Текстовый |
Используется для хранения символьных или числовых данных, не требующих вычислений. Максимальное количество символов, которые могут содержаться в текстовом поле, – 255 |
Поле МЕМО |
Предназначено для ввода текстовой информации, по объему превышающей 255 символов; может содержать до 65 536 символов |
Числовой |
Используется для хранения числовых данных, участвующих в математических расчетах |
Дата/Время |
Используется для представления даты и времени |
Денежный |
Предназначен для хранения данных, точность представления которых колеблется от 1 до 4 знаков после запятой. Целая часть может содержать до 15 десятичных знаков |
Счетчик |
Предназначен для автоматической вставки уникальных последовательных (увеличивающихся на 1) чисел в качестве номера новой записи. Номер, присвоенный записи, не может быть удален или изменен. Поля с этим типом данных используются в качестве ключевых полей таблицы |
Логический |
Предназначен для хранения одного из двух значений, интерпретируемых как «Да / Нет», «Истина / Ложь» |
Поле объекта OLE |
Содержит данные, созданные в других программах, которые используют протокол OLE. Это могут быть, например, документы Word, электронные таблицы Excel, рисунки, звуковые и видеозаписи и др. Объекты OLE связываются с базой данных Access или внедряются в нее. Сортировать, группировать и индексировать поля объектов OLE нельзя |
Гиперссылка |
Специальный тип, предназначенный для хранения гиперссылок |
Мастер подстановок |
С его помощью создаётся поле со списком, из которого можно выбирать данные, содержащиеся в другой таблице или в наборе постоянных значений |
Создание базы данных
Создадим базу данных некоторой организации, сотрудники которой работают с клиентами и выполняют их заказы.
Если все сведения поместить в одной таблице, то она станет очень неудобной для работы, так как в ней будут повторяться некоторые данные. Всякий раз, когда сотрудник Иванов будет работать с какой-либо фирмой, придется прописывать данные о сотруднике и этой фирме заново. Чтобы уменьшить избыточность данных, можно исходную таблицу разбить на несколько таблиц и установить связи между ними.
Реляционная база данных – это совокупность связанных таблиц.
Таким образом, необходимо создать три таблицы: Сотрудники, Клиенты и Заказы
√ Вызовите СУБД Access. В открывшемся после запуска окне выберите опцию Новая база данных, в поле Имя файла задайте имя файла, например Фирма Ирина, и нажмите кнопку Создать.
Активизируется вкладка Работа с таблицами и панель Режим таблицы. Существует несколько вариантов создания таблицы, но наиболее универсальным является создание таблиц на основе Конструктора.
√ Перейдите в режим Конструктора, используя опцию Режим панели Режим таблицы. В появившемся диалоговом окне введём имя таблицы Сотрудники и нажмём ОК.
Эти действия приводят к открытию окна Конструктора (рис. 4.1), в котором выполняем описание структуры таблицы.
√ В описании структуры таблицы Сотрудники зададим следующие поля:
Имя поля |
Тип данных |
Размер |
Примечание |
Код сотрудника |
Счетчик |
|
Ключевое поле |
ФИО |
Текстовый |
17 |
|
Должность |
Текстовый |
15 |
|
Телефон |
Текстовый |
11 |
|
Адрес |
Текстовый |
30 |
|
Дата рождения |
Дата/Время |
Краткий формат |
|
Заработная плата |
Денежный |
|
|
Рис. 4.1. Окно конструктора таблиц
Каждое поле должно иметь имя, длина которого не может превышать 64 символа. В именах полей можно использовать любые комбинации букв, цифр, пробелов и других символов, за исключением ., !, ', [ и ].
Для каждой реляционной таблицы существует понятие ключа - набора полей, которые однозначно идентифицируют каждую запись таблицы. В такой таблице не допускаются две или более записи с одинаковыми значениями ключевых полей. В общем случае ключ может состоять только из одного поля (простой ключ). Составной ключ предполагает идентификацию записи на основе комбинации значений нескольких полей.
В столбце Имя поля указывается произвольное имя поля. Переход в столбец Тип данных приводит к появлению кнопки раскрытия, щелчок по которой отображает список допустимых типов полей. Выбор типа также может производиться щелчком, а затем в строке Размер поля производится его конкретизация. Столбец Описание является вспомогательным (заполнять не обязательно), в нем могут храниться комментарии к создаваемым полям.
Для задания ключа необходимо выделить требуемое поле и щелкнуть по пиктограмме Ключевое поле в панели инструментов. Если в качестве ключа определяются несколько полей, то они выделяются путем протягивания мыши с нажатой левой клавишей по ячейкам первого столбца у требуемых полей или щелчком у требуемых полей при нажатой клавише Ctrl, а затем щелкается пиктограмма Ключевое поле.
Контроль достоверности вводимых данных
СУБД автоматически осуществляет проверку достоверности данных, вводимых в поля определенного типа (например, нельзя ввести букву в числовое поле). Уровень контроля может быть повышен пользователем путем задания дополнительных ограничений на значения полей в области конструктора Свойства поля из бланка описания структуры таблицы.
Для этого можно использовать следующие свойства:
-
Значения по умолчанию. Если в каком-либо поле формируемой таблицы будет преобладать одно значение, то целесообразно установить его в качестве значения по умолчанию, и оно будет появляться в данном поле автоматически при каждом создании новой записи. Например, если в таблицу заносится город проживания студента и преобладает Калининград, то целесообразно именно его установить в качестве значения по умолчанию. При занесении другого города данное значение необходимо стереть, например, сочетанием клавиш Ctrl/Backspace.
-
Обязательное поле. Установка данного свойства в значение Да приводит к тому, что переход к новой записи не будет разрешен, пока пользователь не заполнит обязательное поле.
-
Условие на значение. После перехода к данному свойству необходимо раскрыть путем нажатия на кнопку окошко, в котором формируется само условие с помощью указанных в нём операций. Например, можно установить условие на экзаменационные оценки в виде ограничения >1 And <6, что позволит вводить только цифры 2, 3, 4 и 5.
-
Маска ввода. Это свойство используется для установки ввода данных по определенному шаблону. Шаблон состоит из трех частей, разделенных точками с запятой. Первая часть является маской, содержащей служебные символы и символы-заполнители данных, которые нужно ввести в поле. Служебными символами являются:
0 - знакоместо для цифры (от 0 до 9), ввод ее обязателен;
9 - знакоместо для цифры или пробела, ввод не обязателен;
# - знакоместо для цифры или пробела, ввод не обязателен, пустые символы преобразуются в пробелы. Разрешены символы + и -;
L - буква, ввод обязателен;
? - буква, ввод не обязателен;
А - буква или цифра, ввод обязателен;
а - буква или цифра, ввод не обязателен;
& - любой символ или пробел, ввод обязателен;
с - любой символ или пробел, ввод не обязателен;
< - принудительный перевод всех последующих символов в нижний регистр;
> - принудительный перевод всех последующих символов в верхний регистр;
! - заполнение маски справа налево (символ ! можно ставить в любую позицию маски);
\ - следующий символ является текстовой константой (отображается как литерал).
Любые символы, не включенные в этот список, отображаются как литералы.
Вторая и третья части шаблона не являются обязательными. Если во второй части указана 1 или ничего не указано, то при заполнении поля сохраняются только введенные символы, тогда как 0 означает, что нужно сохранять как введенные символы, так и символы маски. В третьей части маски указывается символ, который отображается как заполнитель исходно пустых позиций при вводе нового значения. Если этот символ не используется, то по умолчанию используется подчеркивание.
Примеры масок: Результат ввода:
00-00-00 27-34-56
17-78-32
>L<??????????? Петров
Радиотехника
Достаточно сложно реализовать шаблон для ввода ФИО в виде Фамилия И.О. Если предположить, что сама фамилия содержит не более 12 символов и не короче 2 символов, то маска имеет вид:
>L<L??????????\ >L.>L.;0;"_" и при переходе в данное поле изображается следующей структурой: _______________ _._. При ее заполнении необходимо установить курсор в левую позицию, набрать фамилию в любом регистре (первый символ автоматически станет заглавной буквой, остальные отображаются в прописном варианте), а затем мышью или клавишей перенести курсор в место ввода инициалов:
Романов_______ _._.
При переходе в следующее поле введенное значение преобразуется к нормальному виду, т.е. без пропусков, например, Романов П.Р.
Если в шаблоне будет отсутствовать вторая компонента, то точки после инициалов придется вводить самому пользователю, в противном случае ФИО будет отображаться в формате Фамилия ИО.
√ Задайте маску ввода для поля ФИО таким образом, чтобы первая буква фамилии и инициалы автоматически становились заглавными буквами, точки после инициалов вводились автоматически, количество букв в фамилии – не более 12.
√ Закроем таблицу Сотрудники в Конструкторе, сохранив структуру таблицы. При этом появляется окно (рис. 4.2).
Рис. 4.2. Завершение работы в Конструкторе таблиц
√ Создадим ещё две таблицы Клиенты и Заказы, их структура представлена в таблицах.
Клиенты
Имя поля |
Тип данных |
Размер |
Примечание |
Код клиента |
Счетчик |
|
Ключевое поле |
Название компании |
Текстовый |
20 |
|
Адрес клиента |
Текстовый |
30 |
|
Телефон клиента |
Текстовый |
11 |
|
Заказы
Имя поля |
Тип данных |
Размер |
Примечание |
Код заказа |
Счетчик |
|
Ключевое поле |
Код клиента |
Числовой |
|
|
Код сотрудника |
Числовой |
|
|
Дата заказа |
Дата/Время |
Краткий формат |
|
Дата исполнения |
Дата/Время |
Краткий формат |
|
Сумма |
Денежный |
|
|
Отметка о выполнении |
Логический |
|
|
√ Для создания следующей таблицы (Клиенты) на вкладке Создание вызываем Конструктор таблиц и задаём её структуру. При закрытии окна конструктора таблиц в диалоговом окне надо ввести имя создаваемой таблицы.
√ Создадим таблицу Заказы.
Таблица Заказы содержит поля Код сотрудника и Код клиента. При их заполнении могут возникнуть некоторые трудности, так как не всегда удается запомнить все предприятия, с которыми работает фирма, и всех сотрудников с номером кода.
√ Для удобства ввода данных создадим раскрывающиеся списки с помощью Мастера подстановок.
-
Для поля Код сотрудника выберите тип данных Мастер подстановок.
-
В появившемся окне выберите команду Объект "столбец подстановки" будет использовать значения из таблицы или запроса и щелкните на кнопке Далее.
-
В списке таблиц выберите таблицу Сотрудники и щелкните на кнопке Далее.
-
В списке Доступные поля выберите поле Код сотрудника и щелкните на кнопке со стрелкой, чтобы ввести поле в список Выбранные поля. Таким же образом добавьте поле ФИО и щелкните на кнопке Далее.
-
Выберите порядок сортировки списка по полю ФИО.
-
В следующем диалоговом окне задайте необходимую ширину столбцов раскрывающегося списка.
-
Установите флажок Скрыть ключевой столбец» и нажмите кнопку Далее.
-
На последнем шаге Мастера подстановок замените Надпись для поля подстановок (зададим Сотрудник). Далее необходимо активизировать опцию Включить проверку целостности данных и щёлкнуть на кнопке Готово.
√ Аналогичным образом создайте раскрывающийся список для поля Код клиента.
После создания ключевых полей можно приступить к созданию связей. Существует несколько типов связей (отношений) между таблицами:
-
при отношении «один-к-одному» каждой записи ключевого поля в первой таблице соответствует только одна запись в связанном поле другой таблицы, и наоборот. Отношения такого типа используются не очень часто. Иногда их можно использовать для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности;
-
при отношении «один-ко-многим» каждой записи в первой таблице соответствует несколько записей во второй, но запись во второй таблице не может иметь более одной связанной записи в первой таблице;
-
при отношении «многие-ко-многим» одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице могут соответствовать несколько записей в первой.
√ Закройте все открытые таблицы, так как создавать или изменять связи между открытыми таблицами нельзя. Вызовите команду Работа с базами данных -Схема данных.
Если ранее никаких связей между таблицами базы данных не было, то при открытии окна Схема данных одновременно открывается окно Добавление таблицы, в котором выбирают нужные таблицы.