Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных-1.pdf
Скачиваний:
18
Добавлен:
06.02.2018
Размер:
614.28 Кб
Скачать

МИНОБРНАУКИ РОССИИ

————————————

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Омский государственный технический университет»

Базы данных: технология создания и основы работы

Учебное текстовое электронное издание локального распространения

Омск

Издательство ОмГТУ

2013

————————————————————————————————

Сведения об издании: 1, 2

© ОмГТУ, 2013

УДК 004.6 ББК 32.973 З-96

Зыкин, С. В.

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

к лабораторным работам / сост. С. В. Зыкин. – Омск : Изд-во ОмГТУ, 2013.

Методические указания к лабораторным работам содержат описание процесса создания баз данных и работы с ними с использованием СУБД

Access.

Предназначены студентам вузов направлений подготовки 010300.62, 010500.62, 230100.62 для практического освоения знаний, полученных при изучении дисциплин «Базы данных», «Технологии баз данных».

УДК 004.6 ББК 32.973

Рекомендовано редакционно-издательским советом Омского государственного технического университета

© ОмГТУ, 2013

1 электронный оптический диск

Оригинал-макет издания выполнен в Microsoft Office Word 2007 с использованием возможностейAdobe Acrobat X.

Минимальные системные требования:

процессор Intel Pentium 1,3 ГГц и выше;

оперативная память 256 Мб;

свободное место на жестком диске 260 Мб;

операционная система Microsoft Windows XP/Vista/7;

разрешение экрана 1024×576 и выше;

акустическая система не требуется;

дополнительные программные средстваAdobe Reader v 5.0 и выше.

№ госрегистрации 0321303867

Редактор М. А. Болдырева

Компьютерная верстка Е. А. Державиной

Сводный темплан 2013 г. Подписано к использованию 19.09.13. Объем 601 Кб.

—————————————————

Издательство ОмГТУ. 644050, г. Омск, пр. Мира, 11; т. 23-02-12

Эл. почта: info@omgtu.ru

ВВЕДЕНИЕ

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

4

1. СОЗДАНИЕ ТАБЛИЦ БАЗЫ ДАННЫХ И РАБОТА С НИМИ

Перед началом выполнения работы необходимо построить проект схемы БД (см. методику для проектирования схемы БД [1, 2, 4]): определить схемы отношений (таблиц) и связи между ними.

Для каждого отношения схемы БД создается таблица в режиме конструктора:

На вкладке Создание в окне базы данных активируйте элемент Конструк-

тор таблиц.

Определите в таблице каждое поле. Наименования полей определяются

виндивидуальном задании, типы полей – из их содержания. Обязательно продумайте и правильно определите свойства полей в соответствии с требованиями к базам данных [3]. При этом выполняются следующие действия:

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

Выберите столбец и введите имя поля, соответствующее имени атрибута

всхеме отношения (таблицы).

В столбце Тип данных оставьте настройку по умолчанию (Текстовый) или выберите требуемый тип данных в раскрывающемся списке в ячейке столбца Тип данных.

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

5

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

внижней части окна:

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

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

допускаются ли пустые значения в поле (для ключевых полей не допускаются).

Определите ключевые поля до сохранения таблицы.

Выделите одно или несколько полей, которые необходимо определить как ключевые. Для выделения одного поля выберите область выделения строки нужного поля (слева). Для выделения нескольких полей нажмите и удерживайте клавишу CTRL и выберите область выделения для каждого поля. Нажмите кнопку Ключевое поле на панели инструментов.

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

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

2)выбрать другое поле;

3)добавить поле счетчика и определить его как ключевое.

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

нем PrimaryKey.

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

Формирование таблиц заканчивается, если каждому отношению на схеме БД сформирована своя таблица.

Каждому студенту предлагается свой вариант схемы БД (см. варианты заданий). В задании требуется сформировать таблицы БД и заполнить их согласованными данными (от пяти до десяти записей). Эти данные будут использованы при выполнении последующих работ.

6

2. ФОРМИРОВАНИЕ СХЕМЫ БАЗЫ ДАННЫХ

Для работы со схемой на вкладке Работа с базами данных нажмите кноп-

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

Определение в базе данных связей между таблицами

Типы связей между таблицами:

один-ко-многим – наиболее часто используемый тип связи, при котором каждой записи в таблице A могут соответствовать несколько записей в таблице B, а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A;

многие-ко-многим – при отношении многие-ко-многим одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B – несколько записей в таблице A. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит, по крайней мере, из двух полей, которые являются полями внешнего ключа в таблицах A и B. Например, между таблицами Заказы и Товары имеется отношение многие-ко-многим, которое определяется путем создания двух связей с отноше-

нием один-ко-многим для таблицы Заказано;

7

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

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

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

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

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

Для связывания полей выберите поле в одной таблице и перетащите его на соответствующее поле во второй таблице. При этом появится следующее окно:

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

8

(FieldSize) задано значение Длинное целое; а также поле счетчика можно связать с числовым, если для обоих полей в свойстве Размер поля (FieldSize) задано значение Код репликации. Заметим, что связывание различных по наименованию полей скорее всего свидетельствует о потере функциональной зависимости между этими полями при проектировании схемы БД [3].

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

Установите ссылочные ограничения на данные.

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

1)связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;

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

Установив целостность данных, необходимо следовать определенным правилам:

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

вполе КодКлиента;

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

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

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

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

дует установить флажки Каскадное обновление связанных полей и Каскадное

9

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

Замечание. Пользоваться каскадным

обновлением либо удалением следует

в крайнем случае, поскольку они допускают

массовое изменение данных.

Для создания связи нажмите кнопку Создать.

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

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

Примечание. Если необходимо просмотреть все связи, определенные в базе данных, нажмите кнопку Показать все связи на панели инструментов. Для просмотра связей только для определенной таблицы выберите таблицу, а затем на панели инструментов нажмите кнопку Показать прямые связи. Если в структуру таблицы необходимо внести изменения, выберите правой кнопкой таблицу и далее команду Конструктор таблиц. Допускается определение связей не только для таблиц, но и для запросов. Однако для запросов целостность данных вовсе не обязательна. Для связывания таблицы самой с собой или для связывания поля таблицы с другим полем той же таблицы следует дважды добавить таблицу. Такая ситуация возникает при определении поля с подстановкой значений из той же таблицы. Например, в таблице Со-

трудники из демонстрационной базы данных Борей поля КодСотрудника и Подчиня-

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

10

Соседние файлы в предмете Базы данных