Файл: Лабораторная базы данных.doc

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

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

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

Добавлен: 23.10.2018

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

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

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



Таким образом, создали неуникальный индекс на случай полных однофамильцев.

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



Задание: создайте таблицу Группы, создайте для нее составной уникальный индекс для проверки уникальности названия группы. Создайте поле подстановки.


Указания и пояснения:

Основные параметры структуры таблицы Группы

Таблица 1.3

Имя поля

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

Тип данных

Размер поля

Код группы

Да

Счетчик

Длинн.целое

Буквы


Короткий текст

5

Курс-номер


Числовой

Целое

Староста


Короткий текст

50

Бюджет/дог.


Логический

Да/нет


Создание составного индекса по таблице Группы

В таблице Группы название группы, которое должно быть уникальным, состоит из двух полей: Буквы и Курс-Номер. Для проверки уникальности названия и для ускорения поиска по составному названию группы создадим составной индекс по двум полям таблицы. Для этого следует выполнить команду Индексы. В появившемся окне имеется таблица для создания индекса.


Создание составного индекса
















Рис. 1.3


Определение индекса будет занимать в ней две строки. Имя индекса задать только в первой строке. В свойствах индекса обязательно задать Уникальный индекс.

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

Создание поля подстановки в таблице Группы

Освоим еще один типовой момент в структуре таблицы: поля подстановки. Это такие поля, значения которых не вводятся с клавиатуры, а выбираются из заранее заданного списка значений. Чаще всего список значений берется из какой-либо другой таблицы, которая называется подстановочной. В таблице Группы есть одно такое поле, которое удобно сделать полем подстановки: это Буквы специальности в названии группы, которые можно выбирать из таблицы Специальности.

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

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


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



Создание схемы данных

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





Задание: создайте схему данных, включив в нее созданные таблицы.

Указания и пояснения:

Создание схемы данных начинается в окне базы данных с нажатия кнопки Схема данных на вкладке Работа с базами данных, после чего открывается окно с инструментом Отобразить таблицу, в котором выбирают таблицы и запросы для включения в схему данных, выделяя их и нажимая кнопку Добавить. После включения всех нужных таблиц нажимают кнопку Закрыть. В результате в окне Схема данных будут представлены таблицы Студенты, Группы, Специальности со списками своих полей. Далее можно приступать к определению связей между ними. ПЕРЕД УСТАНОВКОЙ СВЯЗЕЙ, УБЕДИТЕСЬ, ЧТО ВСЕ ТАБЛИЦЫ ЗАКРЫТЫ

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

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

Между таблицами будет установлена связь, обозначенная на схеме 1 : .

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

По мере создания новых таблиц схема данных будет дополняться.


ЛАБОРАТОРНАЯ РАБОТА №2


Цель работы: освоить разработку простых и составных экранных форм, закрепить навыки создания таблиц и работы со схемой данных.


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

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


Назначение экранных форм. Способы разработки форм


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

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

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





Форма представляет собой диалоговое окно, в котором данные одной или нескольких таблиц отображаются в удобном для восприятия виде. Не следует путать форму с таблицей: таблица — это хранилище данных, а форма — средство отображения и редактирования данных.



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




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

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

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





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


Указания и пояснения:

Чтобы начать создание формы, нужно в закладке Создание,ленты инструментов, выбрать режим создания формы – Конструктор форм и выбрать в конструкторе Добавить поля, затем нажать Показать все таблицы, развернуть таблицу Спецальности и перетащить все поля на форму

Вид формы приведен на рис.1.3.


Форма специальности

Рис 1.3


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

Изменим такие свойства макета формы: Кнопки Навигации – нет, Область выделения – нет, из кнопок оставьте только кнопку закрытия.

Еще одним важным элементом при конструировании форм является ЭЛЕМЕНТЫ УПРАВЛЕНИЯ, которая содержит пиктограммы с изображением элементов, которые можно помещать на форму (набор строительных материалов).

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

Все кнопки можно создать мастером, если на панели элементов нажата кнопка Мастера. При этом мастер предлагает выбрать действие, которое должно выполняться при нажатии кнопки и внешний вид этой кнопки.


Создание кнопки без использования Мастера — дело непростое, т.к. Мастер автоматически формирует процедуру на языке Visual Basic, которая будет вызываться при нажатии этой кнопки. Текст процедуры можно увидеть, если в окне свойств кнопки выбрать вкладку События, а затем в списке событий найти Нажатие кнопки.


Задание: создайте самостоятельно простую однотабличную форму Студенты, включающую следующие поля: № зачетки, ФИО, Дата рождения, Адрес.

В окне свойств формы на вкладке Макет установите Режим по умолчанию – Режим таблицы

Можно создать форму Студенты и с помощью Мастера или автоформы, при этом выбираем вид формы Табличный.

Не нужно стремиться улучшить внешний вид этой формы, т.к. это вспомогательная форма, которая будет использоваться в составной форме Группы.

Создание составной формы Группы

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

Задание: создать составную форму Группы на основе двух таблиц: Группы и Студенты.


Указания и пояснения:

Форма будет содержать основную часть на основе таблицы Группы и подчиненную форму Студенты

Форма группы



Рис 2.1


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

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

Поле Код группы на форме можно не показывать, т.к. поля, имеющие тип Счетчик, заполняются автоматически.

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

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



Заполнение таблиц Группы и Студенты при помощи формы Группы


Перейдите из режима конструктора в режим Формы и занесите данные в таблицы Группы и Студенты при помощи созданной формы (3-4 группы, в каждой по 3-4 студента). Обратите внимание, что список с буквами специальностей предназначен для занесения данных в таблицу Группы, а не для поиска нужной группы и ее студентов.


Добавление в форму Группы списка для быстрого поиска Группы

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

В Access 2016 эта задача решается просто. Поместите в нижнюю часть формы элемент поле со списком и рядом с ним надпись «Найти группу». Выберите таблицу Группы В качестве полей для поиска выберите Буквы и Курс-номер.

.В некоторых версиях Access нажатие кнопки может не отрабатывать. Следует прописать макрос при нажатии кнопки. Сделать это можно следующим образом: в свойствах списка, в закладке события, выбрать нажатие кнопки затем выбрать в построителе Макрос, из выпадающего списка выбрать ПоискЗаписи и в строке условие отбора прописать :

="[Код группы] = " & Str(Nz([Screen].[ActiveControl];0))

Либо Перейдите в режим формы и убедитесь, что быстрый поиск группы выполняется правильно


Создание таблиц Предметы, Учебный план и Успеваемость

Задание: самостоятельно создать структуру таблиц Предметы, Учебный план и Успеваемость и включить их в Схему данных, указав все связи.


Основные параметры структуры таблицы Предметы

Таблица 2.1

Имя поля

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

Тип данных

Размер поля

Код предмета

Да

Счетчик

Длинное целое

Название предмета


Короткий текст

25

По полю Код предмета рекомендуется создать уникальный индекс.



Основные параметры структуры таблицы Учебный план

Таблица 2.2

Имя поля

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

Тип данных

Размер поля

Буквы

Да

Короткий текст

5

Код предмета

Да

Числовой

Длинное целое

Обязательный


Логический

Да/нет

Колич. Часов


Числовой

Целое

Экзамен/зачет


Логический

Да/нет


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