1. Открыть созданную ранее таблицу Пациенты в режиме конструктора:
- выбрать таблицу Пациенты в списке таблиц
- нажать кнопку Конструктор.
2. Удалить поле КодРаны из списка полей. Для этого необходимо выполнить следующие шаги:
- переместить курсор на поле КодРаны;
- выполнить команду Правка→Удалить строки или вызвать контекстное меню щелчком правой кнопки мыши и выполнить команду Удалить строки.
Альтернативным способом создания поля подстановки на основе уже существующего поля таблицы БД является изменение типа данных поля на тип «Мастер подстановок...». При этом вызывается мастер создания полей подстановок, работа с которым рассматривается ниже.
3.Для сохранения измененной таблицы выполнить команду Файл→Сохранить.
4.Выполнить команду Вставка→Поле подстановок...
5.Выбрать пункт Объект «столбец подстановки» будет использовать значения из таблицы или запроса в появившемся диалоге:
Нажать кнопку Далее
6.В следующем диалоге выбрать таблицу Раны и нажать Далее.
7.В следующем диалоге переместить поле КодРаны и поле Вид раны из списка Доступные поля в список Выбранные поля
- выделить поле КодРаны;
- нажать кнопку ;
- выделить поле Вид раны;
- нажать кнопку .
В результате выбора полей диалог должен выглядеть, как показано на рисунке:
Нажать кнопку Далее→ Далее.
8.В следующем диалоге, перетаскивая правую границу столбца установить такую ширину столбца подстановки, чтобы текст в поле подстановки был полностью виден.
Нажать кнопку Далее.
9.Ввести в следующем диалоге подпись столбца подстановки текст КодРаны как показано на рисунке:
Нажать Готово.
10.Ответить Да в следующем диалоговом окне:
ПРИМЕЧАНИЕ: При создании поля подстановки Access автоматически создает связь «один ко многим» между таблицей подстановки и таблицей где устанавливается поле подстановки. Создание связей будет подробно рассмотрено ниже.
11.Сохранить таблицу: выполнить команду Файл→Сохранить
12.Закрыть таблицу базы данных.
Рассмотрим, как заполняются значения полей подстановки. Для этого выполним следующие операции:
1. Откроем таблицу Пациенты (двойной щелчок по наименованию таблицы в списке таблиц).
2. Переведем стрелками или мышью курсор ввода в поле КодРаны.
Как видно из рисунка, значение поля уже не вводится с клавиатуры, а выбирается из выпадающего списка как показано на рисунке.
После выбора значения из списка на экране в табличном редакторе в поле КодРаны будет отображаться уже не числовое значение — ссылка на запись в таблице Раны, а подставляемое значение.
При этом важно, что в самой таблице будет храниться именно числовое значение — значение поля КодРаны. Подставляемое наименование раны, т.е. значение поля Вид раны таблицы Раны будет отображаться в редакторе таблиц вместо числового значения КодРаны по значению которого осуществляется связь между таблицами.
ВНИМАНИЕ! Поля подстановки необходимо создавать на этапе создания таблиц базы данных, т.к. это существенно упрощает создание диалогов ввода вывода данных.
Создание связей между таблицами
База данных представляет собой не только совокупность таблиц, но и связей между ними. Именно благодаря наличию связей между таблицами база данных представляет собой целостное представление о части предметной области.
Само понятие «связь между таблицами» предполагает наличие между таблицами базы данных какой-либо зависимости.
Существует три основных типа зависимости: «один к одному», «один ко многим», «многие ко многим».
Зависимость «один к одному»(1:1) означает, что одной записи одной таблицы строго соответствует только одна запись другой таблицы. Такой тип связи применяется, когда в таблице с большим числом полей более часто используемые поля выносят в одну таблицу, менее используемые – в другую.
Зависимость «один ко многим»(1:М) означает, что одной записи таблицы соответствует много записей в другой таблице. Такой вид связи является наиболее распространенным. Пример, таблица Раны связана с таблицей Пациенты связью «один ко многим» по полю КодРаны.
Зависимость «многие ко многим»(М:М) означает, что одной записи первой таблицы соответствует много записей во второй, и одной записи во второй таблице соответствует много записей в первой. В нормализованной базе данных таблиц с такими связями быть не может, и эта связь реализуется через третью таблицу, связываемую с исходными отношением «один ко многим».
Практическое значение имеет установление связей «один к одному»и «один ко многим» в Access.
Создадим эти связи между таблицами базы данных в Access. Для этого необходимо выполнить следующую последовательность действий:
1. Перейти на вкладку Таблицы главного окна базы данных.
2. Вызвать контекстное меню и выполнить команду Схема данныхкак показано на следующем рисунке (или выполнить команду Сервис→Схема данных).
Схема данных- графический способ представления связей между таблицами базы данных.
В результате будет выведено окно конструктора схемы данных.
Такая схема была создана автоматически при создании полей подстановки в таблице Пациенты. Для того, чтобы последовательно рассмотреть процесс создания схемы данных, удалим все таблицы и связи, созданные Ассеss автоматически.
3. Выполнить команду Правка→Очистить макетдля очистки ранее созданной схемы данных.
Создать связь Раны-Пациентыы.
5.1. Выполнить команду Связи→Добавить таблицуили нажать кнопку .
5.2. Выбрать таблицу Раныи нажать «Добавить»в следующем диалоге.
5.3 В этом же диалоге выбрать таблицу Пациентыыи нажать Добавить.
В результате в окне схемы базы данных увидим следующее:
5.4. Вызвать диалог Изменение связейдля установки связи «один ко многим».
Для этого необходимо подвести указатель мыши к линии связи и произвести двойной щелчок мышью по ней.
Как видно из рисунка, между таблицами Раныили Пациентыыуже установлена связь «один ко многим».Однако, не установлен режим поддержки этой связи - обеспечение целостности данных.
Существует два метода поддержки целостности связи: каскадное обновление и каскадное удаление.
Каскадное обновление —механизм, при котором при изменении значения поля в родительской таблице автоматически изменяются значения во всех таких же полях связных таблиц.
Каскадное удаление— механизм, при котором при удалении записи из родительской таблицы удаляются все записи, связанные с данной, во всех других таблицах. Этот механизм необходимо включать для таблиц, данные которых составляют один документ.
5.5. Установите флажок «обеспечение целостности данных» и нажмите «ОК».
Теперь пользователь не сможет удалить Пациентыа базы данных Пациенты, если на него были заведена запись.
ВНИМАНИЕ! Необходимо правильно установить связи между таблицами, целостность этой связи и режим поддержки целостности. Без этого база данных не сможет нормально работать.
Окно схемы данных примет следующий вид:
Связь «один ко многим» в Access обозначается как 1:∞
Созданная схема базы данных используется Access для обеспечения ссылочной целостности базы данных — т.е. для сохранения непротиворечивости базы данных по ссылкам:
- если будет удалена запись из родительской таблицы, то будут удалены все связные записи из дочерних таблиц. Если этого не сделать, то после удаления записи из родительской таблицы, связные записи в дочерних таблицах будут указывать на несуществующие данные;
- если будет изменено значение поля связи в родительской таблице, то оно должно быть изменено и во всех связных записях других таблиц. Иначе, связные записи других таблиц будут содержать как новое, так и старое значение, что недопустимо.
3. Цель деятельности студентов на занятии:
Студент должен знать:
1. Основные структурные элементы интерфейса базы данных Ассess.
2. Основные термины Ассess.
3. Принцип работы с базой данных.
4. Как правильно вводить информацию, создавать таблицы.
5. Как импортировать данные электронных таблиц в базу данных.
Студент должен уметь:
1.Создать базу данных.
2.Вводить и редактировать данные при помощи мастера и конструктора.
3.Использовать данные с электронных таблиц.
4.Создавать многотабличную базу данных.
4. Содержание обучения:
Теоретическая часть:
1.Основные понятия базы данных Access.
2.Правила создания таблиц при помощи инструментов базы данных.
3.Создание связей между таблицами в базе данных.
Практическая часть:
1. Изучить теоретический материал, разбирая все представленные в нем примеры решения типовых задач.
2. Создать базу данных Access.
3. На основе предоставленного в варианте задания описания базы данных создать таблицы. Имена создаваемых таблиц должны совпадать с именами таблиц (сущностей), указанных в варианте задания.
4. В каждой таблице создать поля. Имена создаваемых полей и их типы данных должны соответствовать представленному в варианте описанию.
5. Создать связи между таблицами в соответствии с вариантом задания. При этом для каждой связи установить поддержку обеспечения целостности данных.
6. Создать поля подстановки в таблицах, где это необходимо.
Проверить схему базы данных: убедиться в том, что на схеме отражены все таблицы и связи между ними.
Вариант 1
30 - 40 мин.
Даны фрагменты таблиц базы данных. Создать базу данных Травмпункт и заполнить данными. Там где требуется, создать поля подстановки для удобства заполнения таблиц.