Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

gLPWlXfs02

.pdf
Скачиваний:
0
Добавлен:
13.02.2021
Размер:
523.12 Кб
Скачать

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

––––––––––––––––––––––––––––––––––––––––––––––––––––

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина)

–––––––––––––––––––––––––––––––––––––––––––

А. И. ЛАРИСТОВ

ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ В СРЕДЕ РЕЛЯЦИОННОЙ СУБД MS ACCESS

Учебно-методическое пособие

Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ»

2016

УДК 004.65(07)

ББК З 973.233-018.2я7 Л25

Ларистов А. И.

Л25 Проектирование баз данных в среде реляционной СУБД MS Access: учеб.-метод. пособие по дисциплине «Базы данных». СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2016. 42 с.

ISBN 978-5-7629-2041-4

Содержат цикл лабораторных работ по проектированию учебной базы данных «Деканат» с использованием универсальной системы управления базами данных MS Access. Приведено краткое описание возможностей СУБД MS Access, даны методики создания основных объектов базы данных: таблиц, формуляров, макрокоманд, запросов, отчетов и функций.

Предназначено для выполнения лабораторных работ по дисциплине «Базы данных» в процессе подготовки бакалавров направления 09.03.01 – «Информатика и вычислительная техника» профиля 09.03.01-03 – «Системы автоматизированного проектирования». Может использоваться студентами других направлений, занимающихся проектированием реляционных баз данных в различных прикладных областях.

УДК 004.65(07)

ББК З 973.233-018.2я7

Рецензенты: д-р техн. наук, проф. И. Г. Сидоркина (ФГ БОУ ВО «Поволжский гос. технолог. университет»).

Утверждено редакционно-издательским советом университета

в качестве учебно-методического пособия

ISBN 978-5-7629-2041-4

© СПбГЭТУ «ЛЭТИ», 2016

2

Лабораторная работа 1. ПРОЕКТИРОВАНИЕ СТРУКТУРЫ БАЗЫ ДАННЫХ В СРЕДЕ MS ACCESS

Целью работы являются проектирование структуры базы данных, создание таблиц базы данных и ввод информации в среде универсальной СУБД

Microsoft Access.

1.1. Основные положения

MS Access представляет собой систему обслуживания реляционных баз данных с графической оболочкой, работающую под управлением операционной системы MS Windows на персональных ЭВМ.

Таблицы, запросы, формуляры, отчеты, макросы и модули – это самостоятельные объекты, сохраняющиеся в общем файле базы на жестком диске или другом носителе данных. Благодаря этому создание связанных объектов и проверка ссылочной целости базы данных значительно облегчаются. Графическая оболочка Access позволяет посредством «мыши» сделать процесс связывания таблиц простым и наглядным. Графические возможности оболочки позволяют создавать высококачественные отчеты. Возможность встраивания иллюстраций и применение TrueType-шрифтов позволяют изготовить высококачественные распечатки документов.

Access поддерживает встраивание OLE-объектов (Object Linking and Embedding) в рамках среды Windows. OLE-объект представляет собой ссылку на определенную информацию, которая остается сохраненной в своей первоначальной форме. OLE-объектом может быть Excel-таблица, Paintbrushиллюстрация или Sound-файл. Благодаря механизму актуализации OLEссылок в отчете всегда будет представлена самая свежая версия объекта. Активизация такого объекта открывает родительскую прикладную программу и предоставляет пользователю возможность внесения изменений в объект. Альтернативным способом является статическая вставка копии объекта через буфер обмена Clipboard (буфер промежуточного хранения). В этом случае возможность последующей актуализации отсутствует.

ВAccess встроена система подсказок – Cue Cards. Это разновидность обучающей системы, которая не использует специальных примеров, а предоставляет пользователю рекомендации по выходу из реальных ситуаций при решении им своих прикладных задач.

Всостав системы Access входит также ряд специализированных программ, так называемых Конструкторов, автоматически решающих отдельные

3

задачи, (Wizard). Конструктор формуляра (FormWizard) шаг за шагом проводит пользователя по процедуре изготовления формуляра, предлагая ему ряд типовых решений.

Access также предоставляет в распоряжение пользователя необходимые механизмы для работы с существующими банками данных различных форматов. Так, можно прямо обращаться к банкам данных dBASE, Paradox или Btrieve без конвертирования их в формат, используемый Access. Возможно также применение Access в качестве оболочки управления данными других систем банков данных (например, Oracle) или связывания их с Access-данными.

Для квалифицированных программистов имеется возможность использования языка Access Basic (встроенный диалект языка Visual Basic) для построения специализированных систем управления базами данных.

1.2. Процедуры создания базы данных

1.2.1.Открытие базы данных

После запуска Access на экране появляется прикладное окно графической оболочки. Если при запуске не был указан обрабатываемый банк данных, то в распоряжении пользователя имеются только меню File (Файл) в строке меню и пиктограмма помощи в строке пиктограмм.

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

открыть меню File;

щелкнуть «мышью» на директиве New Database (создать новый банк данных);

в поле списка каталогов выбрать каталог, в котором должен быть сохранен файл банка данных;

заменить предложенное системой временное имя db1.mdb в поле File на имя будущего банка данных, например Dekanat;

щелкнуть «мышью» на командной кнопке ОК.

Врезультате будет создан новый файл банка данных под именем DEKANAT.MDB, который будет иметь начальный размер в 64 Кбайт, хотя еще никаких данных в него не введено. Для построения файла применяются определенные системные объекты, которые тоже сохраняются в файле банка данных. Можно рассматривать их как «накладные расходы».

4

Одновременно с открытием файла на экране появляется окно банка данных: в нем осуществляются все операции обработки входящих в банк данных объектов. Центральную часть этого окна занимает поле списка включенных в банк объектов. При создании нового банка данных список объектов пуст. Список объектов структурирован по категориям (типам) объектов. Чтобы увидеть список объектов некоторого типа, следует щелкнуть в окне банка на кнопку с соответствующей пиктограммой. Различают следующие типы объектов (и кнопки в окне банка данных):

таблица. Для реляционной модели базы данных хранимая информация представляется в виде таблицы. В записях (строках) таблицы, состоящих из отдельных полей определенного типа, хранится информация о конкретном экземпляре объекта;

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

формуляр. Представляет собой бланк, подлежащий заполнению, или маску, накладываемую на набор данных. Бланк-формуляр позволяет упростить процесс заполнения банка данными, благодаря чему появляется возможность поручить ввод информации персоналу невысокой квалификации. Маска-формуляр позволяет ограничить объем информации, доступной пользователю, обращающемуся к банку (речь здесь идет о блокировании индикации служебных или засекреченных полей);

отчет. Как правило, выбранная в банке информация должна быть представлена в виде распечатки – отчета, оформленного соответствующим образом. Доступные способы оформления информации в отчетах Access весьма разнообразны и эффективно используют технологические возможности как оболочки Windows, так и современных лазерных принтеров;

макрокоманда. При обработке больших объемов данных часто приходится выполнять длинные последовательности действий. Любые действия могут быть оформлены как макрокоманды. Вызов макрокоманды запускает соответствующую данной макрокоманде последовательность действий. Применение макрокоманд позволяет автоматизировать процессы заполнения базы, выбора информации и т. д.;

модуль. При решении достаточно сложных задач пользователь сталкивается с ограничениями технологии построения директивных макрокоманд.

5

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

1.2.2. Определение таблиц базы данных

При проектировании базы данных следует определить, какая информация должна в нее входить. Здесь же следует решить, должна ли вся хранимая в базе информация располагаться в одной таблице или лучше разделить ее на несколько таблиц. Каждая строка таблицы содержит один блок данных. Количество полей в записи и их тип определяет пользователь при проектировании. Например, для случая таблицы адресов следует включить в состав записи (блока) поля данных для фамилии, адреса, почтового индекса, названия населенного пункта и т. д. При проектировании таблицы каждому полю выделяется определенное место. Его величина зависит от типа поля, от количества символов для текстовых полей, которые позднее (при заполнении базы) могут быть введены в поле. Следует следить за тем, чтобы размер поля не был слишком мал: для почтовых индексов необходимо минимум 6 символов. Не следует также задавать слишком большой размер поля (например, 50 символов для фамилии), поскольку при этом непроизводительно расходуется память (она резервируется в полной мере независимо от того, будет заполнено поле целиком или только частично).

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

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

щелкнуть мышью на командной кнопке New. На экране появится пустая спецификация блока (записи) таблицы и Access перейдет в режим проектирования таблицы.

Спецификация блока содержит описание его полей. Для каждого поля необходимо указать:

имя (первая колонка – Field Name);

тип (вторая колонка – Data Type);

комментарий (третья колонка – Description).

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

6

Для каждого поля в колонке Тип возможен выбор из следующего списка типов:

Text – сохраняет цепочку алфавитно-цифровых символов (длиной не более 255 символов);

Memo – сохраняет текст, длина которого может быть до 32 000 символов; Number – сохраняет числовые значения (целые или десятичные числа); Date/Time – сохраняет дату и время;

Currency – сохраняет числа в «денежном» формате;

Counter – сохраняет уникальное значение, которое в каждом новом блоке данных Access автоматически увеличивает на 1;

Yes/No – сохраняет логические значения (истинно/ложно); OLE-Object – сохраняет OLE-объекты и иллюстрации;

КОММЕНТАРИЙ – может содержать пояснения на русском или английском языках, уточняющие назначение поля.

Обязательным условием нормальной обработки таблицы банка данных является однозначная идентификация каждого блока данных. Для этого каждому блоку данных приписывается собственный уникальный номер записи – ключ. Access допускает автоматическое создание и ведение ключа выбором в качестве типа поля значения Counter (счетчик). Содержимое поля этого типа Access увеличивает на 1 для каждого нового блока данных. С помощью пиктограммы ключа поле номера записи может быть объявлено полем первичного ключа. Такое объявление автоматически устанавливает для параметра Indexed значение Yes (No Duplicates) (да, без дубликатов). Благодаря этому две разные записи в таблице не могут иметь одинаковые номера.

Записи можно пронумеровать и самостоятельно. В этом случае следует выбрать для поля номера записи тип Number, а для параметра Indexed значение Yes (No Duplicates) (да, без дубликатов). При вводе данных в таблицу (при заполнении базы) пользователь может вносить в это поле любые номера. Access контролирует вводимые данные и при попытке ввести уже использованный номер записи выдает предупреждающее сообщение.

1.2.3. Связывание таблиц

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

7

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

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

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

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

Имеется возможность установить контрольный индикатор опций проверки ссылочной целостности Enforce Referential Integrity. Эта проверка позволяет избежать ряда ошибок при удалении блоков данных из первичной таблицы и вводе данных в связанную таблицу.

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

1.2.4. Импортирование таблиц

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

Для импортирования набора данных следует вызвать директиву Import в File-меню. Эта директива копирует данные из текстового файла, файла программы электронных таблиц или таблицы банка данных в Access-таблицу. Она же позволяет скопировать объекты из другого Access-банка данных в активный банк данных.

8

Данные можно импортировать, если они представлены в одном из следующих форматов:

Microsoft Access;

текст с символами разделения (значения, отделенные друг от друга запятыми, табуляторами или другими символами);

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

Microsoft Excel (версия 2.х, 3.0 и 4.0);

Lotus 1-2-3 или 1-2-3/W(.wks-, wk1- и .wk3-файлы);

Paradox (.db-файлы);

dBASE III и dBASE IV (.dbf-файлы);

Microsoft SQL Server.

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

1.3.Порядок выполнения работы

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

1. Создайте на диске D рабочий каталог с именем номера группы (например: D:\1301), скопируйте в него два вспомогательных файла Katprof.dbf и UP131.dbf. Вызовите СУБД Access и создайте в рабочем катало-

ге новую базу Dekanat.accdb.

2. Создайте с помощью Конструктора таблиц таблицу Студенты, содержащую сведения о студентах учебной группы. Структура полей таблицы приведена в прил. 1. Первое поле таблицы Код_студента должно иметь тип данных Счетчик и являться полем первичного ключа.

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

4. Добавьте в таблицу информацию о студентах других бригад. Для ознакомления выполните операции по удалению и редактированию записей таблицы.

5. Создайте на основе заполненных информацией файлов СУБД Clipper

(формат dBASE) две таблицы: Преподаватели и Дисциплины.

9

При выполнении этого пункта воспользуйтесь операцией импорта, выбрав пункты меню:

Внешние данные → Дополнительно → Файл dBASE.

В качестве исходных данных для импорта последовательно укажите файлы: Katprof.dbf и UP131.dbf, хранящиеся в рабочем каталоге. Переименуйте полученные после импорта таблицы: Katprof → Преподаватели и UP131 → Дисциплины. Отредактируйте структуру полученных после импорта таблиц в соответствии с данными прил. 2 и 3. Каждая из полученных таблиц должна содержать поле первичного ключа с типом данных Счетчик.

Кроме того, в таблице Дисциплины поле Вн_код_преподавателя должно иметь тип данных Длинное целое.

6. Создайте концептуальную модель данных (схему данных) с помощью пунктов меню:

Работа с базами данных → Схема данных.

Добавьте в схему данных две таблицы Преподаватели и Дисциплины. Используя поле первичного ключа Код_преподавателя таблицы Преподаватели (родительская таблица), с помощью перетаскивания курсором мыши установите связь с таблицей Дисциплины (дочерняя таблица). В качестве поля внешнего ключа в таблице Дисциплины используйте поле Вн_код_преподавателя. В свойствах связи установите опцию обеспечения целостности этих и каскадное обновление связанных полей. После выполнения данных операций на схеме данных должен отобразиться тип отношения (связи) 1:n (один преподаватель может вести занятия по нескольким дисциплинам). Откройте в режиме просмотра одновременно обе таблицы Преподаватели и Дисциплины и задайте для каждой дисциплины значение Вн_код_преподавателя, учитывая тип связи 1:n. Попытайтесь выполнить операции по удалению отдельных записей таблицы Преподаватели и таблицы Дисциплины.

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

8.Используя ключевые поля, последовательно свяжите таблицы: Сту-

денты, Дисциплины, Преподаватели (родительские таблицы) с таблицей

Экзамены (дочерняя таблица), задав тип отношения 1:n и установив для каждой связи опции обеспечения целостности данных и каскадное обновление связанных полей.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]