Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по БД 1-4.doc
Скачиваний:
22
Добавлен:
10.07.2019
Размер:
4.51 Mб
Скачать

Ход работы:

Шаг 1. Создание новой базы данных

Для создания новой базы данных необходимо открыть MS Access 2003, для этого выбираем пункт меню «Пуск\Все программы\Microsoft Office\Microsoft Office Access 2003» или, если на рабочем столе существует ярлык для запуска MS Access 2003, выполняем двойное нажатие на этот ярлык.

После запуска СУБД MS Access 2003 выполняем пункт меню «Файл\Создать» или нажимаем «CTRL+N» или выбираем на кнопочной панели «База данных» выбираем кнопку «Создать», на которой изображён чистый лист с загнутым уголком. Справа, на панели задач, появляется набор доступных команд из которых следует выбрать «Новая база данных…» (рис.3.1.).

Рис. 3.1. Панель задач MS Access 2003

После открытия окна «Файл новой базы данных», выбираем место сохранения файла – папка «Мои документы» и имя для файла - «Т31 Иванов» новой базы данных, после чего нажимаем клавишу создать. (рис. 3.2.).

Рис. 3.2. Сохранение файла базы данных

После выполнения этой операции появляется окно проекта, содержащее множество вертикально расположенных вкладок: «Таблицы», «Запросы», «Формы», «Отчёты», «Страницы», «Макросы» и «Модули».

Шаг 2. Создание новой таблицы

Создание новой базы данных следует со вкладки «Таблицы», пока нет таблиц, другие объекты создавать невозможно.

В MS Access 2003 существует три способа создания таблиц:

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

  • Создание таблиц с помощью мастера;

  • Создание таблиц путём ввода данных;

Рекомендуется выбирать режим – «Создание таблиц в режиме конструктора», так как это наиболее короткий и более качественный путь создания структуры таблиц.

Первым полем в новой таблице рекомендуется помещать первичный ключ данной таблицы. Для выделения первичного ключа MS Access 2003 использует полужирный шрифт. Кроме того, будем именовать поля первичного ключа, начиная с символов «ID», то есть идентификатор, в нашем случае в таблице со списком студентов группы назовём первое поле «ID студента». Затем выбираем тип поля, чаще всего для первичного ключа используется тип «Счётчик». Это тип обеспечивает не повторяемость значений и самостоятельно, без участия пользователя, вводит очередной порядковый номер записи.

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

Чтобы указать СУБД что это поле будет первичным ключом, необходимо находясь в этом поле, при помощи правой клавиши мыши включить режим «Ключевое поле» или нажать на панели элементов MS Access соответствующую клавишу с ключом.

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

Поля таблицы и их свойства должны соответствовать следующим параметрам приведенным в таблице 3.1.

Состав полей и их свойств для таблицы «Список студентов»

Таблица 3.1.

Наименование поля таблицы

Назначение

Тип поля

Свойства поля, отличные от заданных по умолчанию

ID студента

Первичный ключ

Счётчик

Включить режим «Ключевое поле»

Фамилия студента

Определяют атрибуты студента

Текстовый

Размер поля: 30

Имя

Текстовый

Размер поля: 20

Отчество

Текстовый

Размер поля: 25

Дата рождения

Дата/время

Формат поля: Краткий формат даты

Id пола

Логический

Индексированное поле: Да (допускаются совпадения)

Поле «Id пола» это внешнее ключевое поле или внешний ключ. Для обозначения внешних ключей в наименование договоримся добавлять в начало имени «Id». Кроме того, внешние ключи рекомендуется индексировать, чтобы повысить скорость обработки базы данных.

Это поле будет содержать номер пола. Его тип логический, так как полов всего два, это дополнительно экономит память.

После ввода всех строк в конструкторе – полей таблицы, её необходимо сохранить. В качестве имени используем «Список студентов». Главное требование к именованию таблиц, как и её отдельных полей - функциональность имени, то есть имя должно отражать суть того, что содержит таблица и для чего она предназначена. Не рекомендуется использовать слишком длинные имена полей, так как при последующем создании запросов, это может привести к невозможности их создания. Длинна запроса ограничена, а длинные имена их существенно увеличивают. Поэтому для имен можно использовать типовые сокращения для часто встречающихся слов в именах. Например, имя данной таблицы можно было бы построить так «СП_студентов».

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

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

Шаг 3. Создание таблицы «Список полов».

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

Состав полей и их свойств для таблицы «Список полов»

Таблица 3.2.

Наименование поля таблицы

Назначение

Тип поля

Свойства поля, отличные от заданных по умолчанию

ID пола

Первичный ключ

Логический

Включить режим «Ключевое поле»

Наименование пола

Определяет текстовый эквивалент пола

Текстовый

Размер поля: 7

Шаг 4. Заполнение таблицы «Список полов» значениями

Так как таблица «Список полов» является справочником, содержит всего два значения, а самое главное, не содержит внешних ключевых полей, то её можно сразу же после сохранения заполнить исходными данными (рис. 3.3).

Рис. 3.3. Редактирование справочника «Список полов»

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

Шаг 5. Определение связей на схеме данных

После заполнения таблицы «Список полов» значениями, самое время определить связи на схеме данных для построенных таблиц.

Для этого создаём схему данных, используя кнопку «Схема данных» на панели MS Access «База данных». После нажатия на кнопку появляются два окна: окно «Схема данных», а поверх него окно «Добавление таблицы». Используя данное окно, добавляем на схему данных обе таблицы, вкладка «Таблицы», при этом очень важно не добавить одну и ту же таблицу дважды, так как после сохранения схемы данных, удалить дубликат невозможно – особенность MS Access.

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

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

Появится окно мастера «Изменения связей», в котором следует визуально проверить какие поля и из каких таблиц связываются. Кроме того, в нижней части окна высвечивается тип нового отношения. Возможно два варианта: «Один ко многим» или «Один к одному», остальные варианты – состояние ошибки.

В обязательном порядке следует после проведения визуальной проверки включить «Обеспечение целостности данных», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей». Это существенно препятствует появлению пользовательских ошибок ввода данных. После установки связей схему данных следует сохранить (рис. 3.4.).

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

Шаг 6. Выполнение приема подстановка

Откроем двойным нажатием мыши таблицу «Список студентов» и обратим внимание на то, что пол студента отображается «галочкой». Пользователь вынужден гадать, какой из полов отражается с «галочкой», а какой без. Для отображения текстового эквивалента была создана таблица справочник – «Список полов» и реализована связь на схеме данных.

Выполним приём подстановка, для этого переходим в режим «Конструктор таблиц» и выбираем поле «Id пола». Переходим на вкладку «Подстановка» расположенного в нижней части экрана. Меняем тип элемента управления «Флажок» на «Поле со списком», после чего появляется множество новых свойств (рис. 3.5.).

Рис. 3.5. Выбор типа элемента управления

Выполняем подстановку из таблицы «Список полов», для этого меняем свойства в следующей последовательности:

Изменение свойств поля «Id пола» из таблицы «Список студентов»

Таблица 3.3.

Свойство

Значение

Описание

Источник строк

Список полов

Указываем таблицу, где хранятся данные для подстановки

Присоединённый столбец

1

Номер столбца в таблице из которой подставляются значения. То есть первичного ключа в таблице «Список полов»

Число столбцов

2

Номер того столбца в таблице «Список полов» в котором хранятся значения содержащие текстовый эквивалент

Ширина столбцов

0;

Скрытие на экране первого столбца с «галочкой», чтобы на экране отражался только текст

После завершения редактирования параметров подстановки следует выполнить «сохранение» и прейти в режим таблицы.

Шаг 7. Ввод данных в таблицу «Список студентов»

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

Рис. 3.6. Редактирование списка студентов

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

Рис. 3.7. Альтернативный вариант редактирования списка студентов

Для обретения навыка требуется увеличить количество студентов до десяти.

Шаг 8. Создание таблицы «Паспортные данные»

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

Таблица «Паспортные данные»

Таблица 3.4.

Наименование поля таблицы

Назначение

Тип поля

Свойства поля, отличные от заданных по умолчанию

ID паспорта

Первичный ключ

Счётчик

Включить режим «Ключевое поле»

Серия

Атрибуты паспорта

Текстовый

Размер поля: 4

Номер

Текстовый

Размер поля: 6

Кем выдан

Текстовый

Размер поля: 50

Код подразделения

Текстовый

Размер поля: 6

Дата выдачи

Дата\время

Формат поля: Краткий формат даты

Id студента

Определяет связь с таблицей «Список студентов», чтобы знать, чей это паспорт

Числовой

Индексированное поле: Да (допускаются совпадения)

Шаг 8. Определение связи между таблицами «Паспортные данные» и таблицей «Список студентов»

Открываем схему данных и добавляем таблицу «Паспортные данные» при помощи правой клавиши мыши. Связываем поле «ID студента» из таблицы «Список студентов» и поле «Id студента» из таблицы «Паспортные данные», с обязательным включением обеспечения целостности. Сохраняем схему данных и закрываем её.

Шаг 9. Выполняем подстановку в поле «Id студента» в таблице «Паспортные данные».

Для этого в конструкторе открываем таблицу «Паспортные данные» и меняем свойства во вкладке «подстановка» согласно таблице 3.5.

Изменение свойств поля «Id студента» из таблицы «Паспортные данные»

Таблица 3.5.

Вкладка «Подстановка»

Свойство

Значение

Описание

Тип элемента управления

Поле со списком

Меняем значение для элемента управления

Источник строк

Список студентов

Указываем таблицу, где хранятся данные для подстановки

Присоединённый столбец

1

Номер столбца в таблице из которой подставляются значения. То есть первичного ключа в таблице «Список студентов»

Число столбцов

4

Номер того столбца в таблице «Список студентов» в котором хранятся значения, содержащие текстовый эквивалент. То есть столбцы: «ID студента», «Фамилия», «Имя», «Отчество».

Ширина столбцов

0;

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

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

Рис. 3.8. Редактирование таблицы «Паспортные данные»

Шаг 10. Создание запроса для подстановки

Рисунок 3.8. позволяет оценить недостатки при вводе паспортов в таблицу. При выборе студента отражается «фамилия», «имя» и «отчество», а по завершению выбора, на экране остаётся только «фамилия». Чтобы избежать этой ситуации, а кроме того для представления списка студентов по алфавиту, рекомендуется выполнить подстановку не на основе исходной таблицы, а на основе запроса для подстановки.

С этой целью, переходим на вкладку «Запросы» в окне проекта MS Access 2003. Как и таблицы, запросы рекомендуется строить в режиме конструктора. Главные критерии – скорость, и качество построения запроса.

После открытия конструктор запросов требует ввода исходных таблиц. В нашем случае одна таблица – «Список студентов». Добавляем её в запрос и закрываем окно «Добавления таблицы».

Рис. 3.9. Сохранение запроса

Перетаскиваем из таблицы часть полей, в частности «ID студента», «Фамилия студента», «Имя», «Отчество» и «Дата рождения», и располагаем их, как показано на рисунке, то есть оставляя второй столбец пустым.

Сохраняем запрос под именем «З_для подстановки». После этого во втором столбце правой клавишей мыши открываем построитель выражений для запроса (рис. 3.10.).

Рис. 3.10. Открытие построителя выражений

В построителе выражений помещаем необходимые для вывода на экран поля, в требуемом порядке. Между объектами для их конкатенации (склеивания) необходимо вставлять символ «&», а для того чтобы между полями поместить пробел, его необходимо поместить внутри кавычек (рис. 3.11).

В результате получим следующую строку: