Создание таблицы в режиме конструктора

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

(ЛАБОРАТОРНАЯ РАБОТА №6, Базы данных)

СОЗДАНИЕ БАЗЫ ДАННЫХ С ИСПОЛЬЗОВАНИеМ СУБД ACCESS 2010

Цель: овладеть практическими навыками создания базы данных в среде СУБД MS ACCESS.

Оборудование: компьютерный класс.

Программное обеспечение: СУБД MS Access 2010.

Введение

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

Таблица – объект базы данных, в котором данные хранятся в виде записей (строк) и полей (столбцов). Является основным структурным элементом системы управления реляционной базой данных.

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

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

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

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

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

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

Процесс проектирования БД состоит из следующих этапов:

1. Сбор информации.

2. Идентификация объектов.

3. Моделирование объектов.

4. Идентификация типов информации для каждого объекта.

5. Идентификация отношений.

6. Нормализация.

7. Преобразование к физической модели.

8. Создание базы данных.

Этапы 1-6 образуют фазу логического моделирования. Этапы 7-8 представляют собой фазу физического моделирования.

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

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

· какие значения должны содержаться в поле;

· сколько места необходимо для хранения значений в поле;

· какие операции должны производиться со значениями в поле;

· нужна ли сортировка данных поля;

· необходимо ли группировать данные.

В таблице 1 приведен список предусмотренных в приложении Microsoft Office Access 2010 типов данных, инструкции по их применению и сведения о размере места, необходимого для хранения данных каждого типа. При этом необходимо помнить, что максимальный размер файла базы данных Office Access 2010 составляет 2 гигабайта.

Таблица 1

Типы данных MS Access

Тип данных Применение Размер
Текстовый Используется для буквенно­цифровых символов, включая текст, а также текст и числа, не применяемые в вычислениях. До 255 символов
Поле MEMO Используется для текста, размер которого превышает 255 символов, или для текста, в котором используется RTF- форматирование. Свойство поля MEMO указывает, поддерживает ли поле форматированный текст. До 1024 х 1024 х 1024 символов, для хранения которых требуется 2 гигабайта (2 байта на символ). Из них можно отображать до 65 535 символов в одном элементе управления.
Числовой Применяется для хранения числовых значений (целых или дробных), которые используются в вычислениях (за исключением денежных сумм). 1, 2, 4, 8 или 12 байтов (16 байтов, когда поле используется для кода репликации).
Дата/время Используется для хранения значений дат и времени. 8 байтов  
Денежный Используется для хранения денежных значений. Используется для предотвращения округлений во время вычислений. 8 байтов
Счетчик Используется для формирования уникальных значений, которые могут применяться в качестве первичного ключа. Эти значения автоматически вставляются в поле при добавлении записи. Поля с типом данных "Счетчик" могут формироваться добавлением единицы, добавлением заданного значения или с помощью случайных чисел. 4 байта (16 байтов, когда поле используется как код репликации)
Логический Используется для логических значений: Да/Нет, Истина/Ложь или Вкл/Выкл. 1 бит (0,125 байта)
Поле объекта OLE Используется для хранения объектов OLE из других программ Microsoft Windows. До 1 гигабайта
Вложение Используется для хранения двоичных файлов (файлов, которые нельзя прочесть с помощью текстового редактора), таких как цифровые изображения (фотографии и другие изображения) или файлов, созданных с помощью других приложений Microsoft Office. Используя поле с типом данных "Вложение", можно вложить в одну запись более одного файла. 2 гигабайта для сжатых вложений. Для несжатых вложений приблизительно 700 КБ, в зависимости от степени сжатия вложений.
Г иперссылка Используется для хранения гиперссылок (в том числе ссылок на объекты приложения Access, которые хранятся в базе данных). До 1024 х 1024 х 1024 символов, для хранения которых требуется 2 гигабайта (2 байта на символ). Из них можно отображать до 65 535 символов в одном элементе управления.
Мастер подстановок Используется для запуска мастера подстановок, позволяющего создавать поле, в котором в виде раскрывающегося списка отображаются значения из другой таблицы, запроса или списка значений (фактически мастер подстановок не является типом данных). создавать поле, в котором в виде раскрывающегося списка отображаются значения из другой таблицы, запроса или списка значений (фактически мастер подстановок не является типом данных). Если к полю подстановок присоединена таблица или запрос, то это размер присоединенного Если к полю подстановок не присоединен другой столбец (т. е. хранится список значений), то это размер текстового поля, используемого для хранения списка.

 

В большинстве систем управления базами данных, включая Microsoft Access версий до Mirosoft Access 2007, в поле можно хранить только одно значение. При работе с Microsoft Office Access 2010 можно создать поле, хранящее несколько значений, например список категорий, к которым относится проблема.

Технически модель поля, одновременно допускающего несколько значений, в Access реализует отношение «многие-ко-многим».

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

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

· экспортировать таблицу Access на узел SharePoint, где будут применяться поля вариантов или подстановок с несколькими значениями, доступные в Windows SharePoint Services;

· создать связь со списком SharePoint, содержащим поля вариантов или подстановок с несколькими значениями.

Кроме описанных выше ситуаций, поля, одновременно допускающие несколько значений, можно использовать, когда есть уверенность, что не придется позже переносить базу данных на Microsoft SQL Server. Поля, одновременно допускающие несколько значений, из формата Office Access 2010 преобразуются в поля SQL Server в виде полей типа MEMO (ntext), которые содержат значения с разделителями. Поскольку SQL Server не поддерживает типы данных, одновременно допускающие несколько значений и представляющие модель отношения «многие-ко-многим», может потребоваться дополнительная работа по конструированию и преобразованию.

В таблице 2 перечислены свойства полей и описано влияние этих свойств на поля в зависимости от их типа данных.

Таблица 2

Свойства полей MS Access

Свойство поля Применение свойства
Размер поля Задание максимального размера для данных.
Формат поля Настройка отображения поля по умолчанию на экране и при печати.
Число десятичных знаков Задание числа десятичных знаков, используемых при отображении чисел.
Новые значения Указывает, какие значения (последовательные или случайные) присваиваются полю "Счетчик" при добавлении новой записи.
Маска ввода Символы редактирования, определяющие способы ввода данных.
Подпись Текст, отображаемый по умолчанию в качестве подписи в формах, отчетах и запросах.
Значение по умолчанию Значение, автоматически назначаемое полю при добавлении новой записи.
Условие на значение Выражение, значение которого должно быть истинно при добавлении или изменении значения поля.
Текст для проверки Текст, появляющийся при вводе значения, при котором нарушается условие, указанное в поле Условие на значение.
Обязательное поле Указывает, должно ли это поле содержать значение в каждой записи.
Пустые строки Разрешает (установкой значения Да) ввод строки нулевой длины ("") в текстовое поле и в поле MEMO.
Индексация Посредством создания и использования индекса ускоряет доступ к этому полю для чтения.
Сжатие Юникод Выполняется сжатие данных, содержащихся в этом поле, если в нем менее 4096 символов (это условие всегда выполняется для текстовых полей). Если в поле содержится более 4096 символов, не выполняется никаких действий.
Режим IME Управление преобразованием символов в восточноазиатских версиях Windows.
Режим предложений IME Управление преобразованием предложений в восточноазиатских версиях Windows.
Смарт-теги Позволяет выбрать смарт-теги, применяемые к полю.
Только добавление Когда для свойства задано значение Да, ведется журнал значения поля.
Формат текста Для хранения данных в виде HTML-кода и использования RTF-форматирования следует выбрать значение Формат RTF. Чтобы хранить только текст без форматирования, следует выбрать значение Обычный текст.
Выравнивание текста Выравнивание текста по умолчанию в элементе управления.
Отображать элемент выбора даты Указывает, должен ли в приложении Access отображаться элемент выбора даты (элемент управления "Календарь"), когда пользователь изменяет значение поля.

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

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

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

· первичный ключ – представляет собой одно или несколько полей (столбцов), значения которых однозначно определяют каждую запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах. Первичный ключ может быть естественным или искусственным. Ключ, состоящий из информационных полей таблицы (т. е. полей, содержащих полезную информацию об описываемых объектах) называется естественным ключом. Теоретически, естественный ключ всегда можно сформировать, в этом случае он носит название «интеллектуальный ключ». Искусственный ключ – это дополнительное служебное поле, единственное предназначение которого – служить первичным ключом. Значения этого поля не образуется на основе каких-либо других данных из БД, а генерируются искусственно. Как правило, суррогатный ключ – это просто числовое поле, в которое заносятся значения из возрастающей числовой последовательности;

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

Ключи также делятся на два класса: простые и составные.

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

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

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

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

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

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

· Один к одному, каждой записи первой сущности соответствует только одна запись второй сущности, а каждой записи второй сущности - только одна запись первой сущности. Пример: автор, у которого в данный момент имеется лишь одна незавершенная книга.

· Один ко многим, каждой записи первой сущности могут соответствовать несколько записей второй сущности, однако каждой записи второй сущности соответствует только одна запись первой сущности. Пример - издательство, выпустившее несколько книг.

· Многие ко многим, каждой записи первой сущности могут соответствовать несколько записей второй сущности, а каждой записи второй сущности соответствуют несколько записей первой сущности.

Пример: один автор может написать несколько книг, а у одной книги может быть несколько авторов.

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

Связи между сущностями устанавливаются по равенству значений первичного и внешнего ключей.

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

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

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

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

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

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

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

· Обе таблицы принадлежат одной базе данных Microsoft Access. Для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта.

· При установке целостности данных, необходимо помнить следующие правила:

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

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

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

Чтобы задать правила целостности данных для конкретной связи, при ее создании в Microsoft Office Access следует установить флажок

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

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

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

В Microsoft Access существует два инструмента, помогающих в усовершенствовании структуры баз данных:

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

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

Создание базы данных

1. Запустите Microsoft Access из меню Пуск или с помощью ярлыка. Отобразится меню создания базы данных Access.

2. В окне раздела «Создать» в разделе Доступные шаблоны выберите команду Новая база данных (Blank Database) (рис.1).

Рис.1 – Создание новой БД

3. В области Новая база данных (Blank Database) в поле Имя файла (File Name) введите имя файла («Мой_Сад») и укажите путь к папке, в которую он должен быть сохранен.

4. Нажмите кнопку Создать (Create).

Будет создана новая база данных и открыта новая таблица в режиме таблицы. При необходимости новую базу данных можно создать с помощью шаблонов, а кроме того, существует возможность загрузки дополнительных шаблонов с веб-узла Microsoft Office Online.

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

При создании базы данных данные сохраняются в таблицах – списках строк (записей) и столбцов (полей), относящихся к конкретной области.

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

Создание таблицы в режиме конструктора

Задание: в режиме конструктора создайте таблицы «Заказы», «Доставка», «Поставщики», «Фактический_Адрес_Доставки» (см. Приложение 1).

1. В окне БД выберите вкладку Создание (Create), на ней в группе Таблицы (Tables) - Конструктор таблиц (Table Design).

2. В графу Имя поля (Field Name) введите имя формируемого поля.

3. В графе Тип данных (Data Туре) выберите из списка требуемый тип данных.

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

В секции Свойства поля (Field Properties) задайте требуемые свойства поля:

· размер поля (FieldSize);

· условие на значение (Validation Rule);

· формат поля (Format);

· маску ввода (Input Mask);

· обязательность поля (Required).

Формирование маски ввода (Input Mask) см. Приложение 2.

Маска ввода определяет способы ввода данных в базу данных.

6.1. Выберите строку Маска ввода (Input Mask) в секции Свойства поля (Field Properties) и нажмите кнопку Построить (Input Mask Wizard) (кнопка с тремя точками).

Подтвердите сохранение таблицы.

6.2. В открывшемся окне Мастер создания масок (Input Mask Wizard) выберите из предлагаемого списка необходимую маску (если она есть в списке).

6.3. Если необходимой маски в списке нет, нажмите в открытом окне Мастера создания масок кнопку Список. Откроется окно Настройка масок ввода (рис. 2).

Рис.2 – Окно работы с маской ввода

6.4. В поле Описание введите название создаваемой маски ввода; в поле Маска ввода введите собственно саму маску (см. Приложение 2); в поле Заполнитель выберите заполнитель символов маски (по умолчанию – знак нижнего подчеркивания); введите образец данных в соответствующее поле (в качестве примера для пользователя) и выберите Тип маски. Нажмите кнопку Закрыть.

6.5. В окне Мастера создания масок появится только что созданная маска - Далее. В поле Проба (Try It) введите данные для проверки действия маски - Далее (Next) - Далее (Next) - Готово (Finish).

6.6. В случае необходимости маска может быть построена без помощи мастера.

7. Определение первичного ключа

7.1. В режиме Конструктора (Design) с помощью указателя мыши выделите строку с описанием поля, которое должно использоваться в качестве ключа.

7.2. Нажмите на панели инструментов кнопку Ключевое поле (Primary Key) или нажмите правую кнопку мыши, выбрав соответствующий пункт меню (рис.3).

Рис.3 – Группа Сервис

7.3. При определении составного ключа, необходимо выделить сразу все поля, входящие в состав ключа (например, удерживая клавишу Ctrl), и назначить их ключевыми аналогичным образом (п. 7.2).

8. Формирование «Значения по умолчанию» (Default Value)

8.1. В таблице «Заказы» для поля «ДатаЗаказа» в секции Свойства поля (Field Properties) выберите строку Значение по умолчанию (Default Value).

8.2. С помощью построителя выражений (...) (Expression Builder) (Функции (Function) - Встроенные функции (Built-In Function) - Дaтa/Bpeмя (Date/Time))постройте выражение Date(). После этого при формировании нового заказа в поле по умолчанию будет отображаться текущая дата.

9. Сохранение структуры таблиц

Существуют несколько вариантов сохранения структуры таблицы:

9.1. Нажать кнопку Сохранить (Save) на Панели быстрого доступа.

9.2. Кликнуть правой кнопкой мыши на вкладке документа и выбрать в контекстном меню команду Сохранить (Save As).

9.3. Выбрать вкладку Файл (представление Backstage), а затем выбрать команду Сохранить как (Save As). Введите имя созданной таблицы, нажмите ОК, закройте окно.