Файл: Лабораторные по ИТ.docx

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Базы данных

Добавлен: 06.11.2018

Просмотров: 1684

Скачиваний: 23

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторная работа № 4

Основные понятия СУБД Access. Создание базы данных



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

Задание

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


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


В любой информационной системе производится обработка данных об объектах реального мира, при этом объём сохраняемых данных очень велик. Ядро ИС составляет её база данных, в которой сохраняются все данные.

База данных (БД) – упорядоченная совокупность данных, предназначенных для хранения, накопления и обработки с помощью ЭВМ.

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

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

СУБД Access, являющаяся частью пакета Microsoft Office, поддерживает реляционную модель данных.

Файл базы данных Access имеет расширение .accdb и содержит таблицы, формы, запросы, отчёты и другие объекты.


Объекты базы данных Access


К объектам базы данных 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


Заказы

Имя поля

Тип данных

Размер

Примечание

Код заказа

Счетчик


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

Код клиента

Числовой



Код сотрудника

Числовой



Дата заказа

Дата/Время

Краткий формат


Дата исполнения

Дата/Время

Краткий формат


Сумма

Денежный



Отметка о выполнении

Логический




Для создания следующей таблицы (Клиенты) на вкладке Создание вызываем Конструктор таблиц и задаём её структуру. При закрытии окна конструктора таблиц в диалоговом окне надо ввести имя создаваемой таблицы.

Создадим таблицу Заказы.

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

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

  • Для поля Код сотрудника выберите тип данных Мастер подстановок.

  • В появившемся окне выберите команду Объект "столбец подстановки" будет использовать значения из таблицы или запроса и щелкните на кнопке Далее.

  • В списке таблиц выберите таблицу Сотрудники и щелкните на кнопке Далее.

  • В списке Доступные поля выберите поле Код сотрудника и щелкните на кнопке со стрелкой, чтобы ввести поле в список Выбранные поля. Таким же образом добавьте поле ФИО и щелкните на кнопке Далее.

  • Выберите порядок сортировки списка по полю ФИО.

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

  • Установите флажок Скрыть ключевой столбец» и нажмите кнопку Далее.

  • На последнем шаге Мастера подстановок замените Надпись для поля подстановок (зададим Сотрудник). Далее необходимо активизировать опцию Включить проверку целостности данных и щёлкнуть на кнопке Готово.

Аналогичным образом создайте раскрывающийся список для поля Код клиента.

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

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

  • при отношении «один-ко-многим» каждой записи в первой таблице соответствует несколько записей во второй, но запись во второй таблице не может иметь более одной связанной записи в первой таблице;

  • при отношении «многие-ко-многим» одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице могут соответствовать несколько записей в первой.

Закройте все открытые таблицы, так как создавать или изменять связи между открытыми таблицами нельзя. Вызовите команду Работа с базами данных -Схема данных.

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