Создание межтабличных связей
Создание базы данных Access
- Загрузить на выполнение базу данных Access.
- Создать в своей папке новую базу данных и присвоить ей имя Клиника.mdb.
- Познакомиться со структурой основного окна базы данных. Отметить следующие элементы:
Ярлыки объектов (Таблицы, Запросы, Формы, Отчеты, Макросы и Модули);
Кнопки управления объектами (Открыть, Конструктор, Создать).
- Назначение объектов:
Таблицы – объект для хранения данных. База данных может содержать несколько таблиц, таблицы могут быть связаны между собой для организации эффективного хранения информации.
Запросы – объект, с помощью которого осуществляется выборка из таблиц необходимых данных.
Формы – позволяют реализовывать 2 функции:
Служат для представления данных в удобном для просмотра и анализа виде;
Являются основой для программного управления базой данных. Позволяют встраивать элементы управления (текстовые поля, кнопки, флажки и т.п.) и использовать программную поддержку на языке Visual Basic.
Отчеты – объект, позволяющий готовить отобранные из базы данные для вывода на принтер с широким набором возможностей, включая построение диаграмм и графиков.
Макросы – объект, позволяющий управлять базой данных с помощью последовательности команд. В простых случаях заменяет программирование.
Модули – программы на языке Visual Basic for Applications (VBA), управляющие работой базы данных.
- Кнопки управления объектами:
Открыть – открывает объект для работы;
Конструктор – открывает объект в режиме конструктора, что дает возможность вносить изменения в его структуру;
Создать – открывает конструктор для создания нового объекта.
Создание таблиц
- Переключиться на вкладку Таблица.
- Двойной щелчок по пиктограмме Создание таблицы в режиме конструктора,находящейся на рабочей области Вашей базы данных. При этом откроется конструктор таблиц, который служит для создания табличной структуры. Он имеет вид таблицы, состоящей из 3 столбцов:
Имя поля – название столбца таблицы (в названиях полей нельзя использовать следующие символы: !, ., двойные кавычки, нельзя в начале названия ставить пробел);
Тип данных, которые должны заноситься в данное поле;
Комментарий – необязательное поле, в котором может располагаться поясняющий текст к данному столбцу таблицы. При работе с таблицей комментарий выводится в строке состояния.
- Типы данных, поддерживаемых Access:
Текст – текстовые данные размером не более 255 символов.
Поле МЕМО – текстовые данные большого объема размером до 65535 символов.
Числовой – числовые данные различных форматов, основные из них:
Байт – целое положительное число в диапазоне от 0 до 255;
Целое – целое число в диапазоне от –32768 до + 32767;
Длинное целое - целое число в диапазоне
от –2 147 483 648 до +2 147 483 647;
Одинарное с плавающей точкой – число в пределах от -3.402823E38 до
-1.401298E-45 для отрицательных чисел и от
1.401298E-45 до 3.402823E38 для положительных.;
Двойное с плавающей точкой – число в пределах от
-1.79769313486231E308 до -4.94065645841247E-324 для отрицательных чисел и от 1.79769313486231E308 до 4.94065645841247E-324 для положительных.
Дата/время – специальные форматы для обозначения даты и времени. Наиболее часто используется краткий формат даты, представляемый в виде 12.09.2006 (число, месяц, год).
Денежный – формат представления денежных величин (до 15 знаков в целой части числа и 4 знака в десятичной). Обозначение используемой валюты зависит от настроек операционной системы.
Счетчик – специальный формат представления целых чисел. При вводе данных в таблицу поле счетчика заполняется автоматически (при вводе новой записи увеличивается на 1). Используется для ключевых полей.
Логический – данные этого формата могут принимать только 2 значения – Истина или Ложь (допустимые варианты Да/Нет, Вкл./Выкл.). Может использоваться, например, для характеристики заболеваемости пациента – Заболел/Не заболел, Госпитализирован/Не госпитализирован, Жив/Умер.
Поле объекта OLE – тип данных, допускающий ввод объектов из других программ, таких как изображения, рисунки, фотографии, таблицы Excel или документы других программ, поддерживающих технологию OLE (технологию взаимного обмена данными).
- Создать структуру таблицы со следующими полями (в названиях полей нельзя использовать следующие символы: !, ., двойные кавычки, нельзя в начале названия ставить пробел):
№ пациента
№ карты
Ф И О
Место жительства
Дата рождения
Пол
Возраст
Скидка
Поле № пациента присвоить ему тип данных – счетчик и сделать ключевым (щелкнуть по кнопке с изображением ключа на панели инструментов либо щелкнуть на это поле правой кнопкой мыши и в контекстном меню выбрать соответствующую опцию). (С помощью ключевых полей создаются межтабличные связи).
Дополнительные настройки числового и других форматов производятся в разделе Свойства поля в нижней части конструктора таблиц. Типы данных полей задать по смыслу содержащейся в них информации. Здесь и в последующих таблицах для полей типа Дата/Время установить краткий формат даты. Для этого в разделе Свойства поля щелкнуть по строке Формат поляи выбрать из выпадающего списка нужный формат.
Тип данных поля № картысделать числовым и в разделе Свойства поля в нижней части конструктора таблицы установить размер Целое, а также установить Индексирование (да – совпадения не допускаются).Совпадения не допускаются, т. к. номер карты каждого пациента индивидуален, исключителен и не может повторятся в списке пациентов.Индексирование - вторичный ключ.В основном требуется индексировать поля, в которых часто осуществляется поиск, поля сортировки или поля, объединенные. Объединенные поля устанавливают связь между полем одной таблицы или запроса и полем другой таблицы или запроса, имеющим тот же тип данных и содержащие одни и те же данные на пациентов. Объединение определяет взаимосвязь поля одной таблицы с полями из других таблиц.
Тип данных поля Место жительства сделать текстовым и в разделе Свойства поля в нижней части конструктора таблицы ввести в строке значение по умолчаниюназвание какого-либо города. (Введенное название города будет автоматически добавляться в ячейку поля при вводе новой записи, но при желании это название можно заменить на другое непосредственно в таблице).
5. Присвоить таблице имя Пациенты. Для этого закрыть конструктор таблицы,нажав на крестик. После чего появится диалоговое окно Сохранение с запросом на имя таблицы.
- Самостоятельно создать еще одну таблицу с именем Госпитализация со следующими полями:
№ госпитализации
№ карты
Дата поступления
Врач
Диагноз
Лекарство
Дата выписки
Оплата
№ госпитализации сделать ключевым полем, тип данных - счетчик
Обе таблицы будут связаны друг с другом с помощью одноименных полей № карты. Поэтому тип данных поля № карты таблицы Госпитализация сделать числовым и в разделе Свойства поля в нижней части конструктора таблицы установить целый размер, а также индексирование (да – совпадения допускаются)
Для полей типа Дата/Время установить краткий формат даты.
Тип данных поля Лекарство сделать текстовым и в разделе Свойства поля в нижней части конструктора таблицы установить индексирование (да – совпадения допускаются.), т. к. разным пациентам может быть установлено лечение одним и тем же лекарственным препаратом.
Тип данных поля Оплата сделать денежным.
- Самостоятельно создать еще третью таблицу с именем Препараты со следующими полями:
№ препарата
Лекарство( не забыть про индексирование, т.к. по этому полю будет проводиться связь. И т. к. названия лекарств не повторяются, то и совпадения не допускаются).
Стоимость
Внимательно и аккуратно определить тип данных и свойства для полей таблицы.
Создание межтабличных связей
Связь между таблицами необходима для того, чтобы иметь доступ ко всей информации, введенной в разные таблицы. В большинстве случаев связывают поле одной таблицы с соответствующим ему полем (часто имеющим одно и то же имя) второй таблицы. (Например: поле № карты в таблице Пациентыи№ карты в таблице Госпитализация)
- Закрыть все таблицы. Если по неосторожности оказалась закрытой база данных, то открыть пункт меню Файл и в нижнем разделе меню в списке недавно открывавшихся файлов выбрать пункт с именем вашей базы.
- Вывести на экран окно Схемы данных (Сервис/Схемаданных или кнопка на панели инструментов, на которой изображены 3 соединенные между собой прямоугольника). При этом на экране появится окно схемы данных, на которое наложено окно добавления таблицы.
- Добавить три таблицы и закрыть окно добавления. (Таблицы добавляются либо двойным щелчком по названию таблицы либо после выделения названия щелчок по кнопке «добавить»).
- Выделить поле № карты из таблицы Пациенты и буксировкой наложить его на поле № карты в таблице Госпитализация. В результате должно появиться диалоговое окно настройки межтабличной связи.
- Поставить флажок Сохранение целостности данных, убедиться в том, что создается связь типа Один-ко-многим. Щелкнуть по кнопке ОК.
- После закрытия окна настройки на схеме данных должна появиться связь в виде линии, соединяющей задействованные поля двух таблиц. На стороне один должна стоять 1, на стороне многие должен стоять знак бесконечности.
7. Аналогично создать связь между таблицами Госпитализацияи Препараты по полю Лекарство.
Связь Один-ко-многим означает, что одной записи в таблице Пациенты может соответствовать несколько записей в таблице Госпитализация. Это отражает тот факт, что один пациент может быть госпитализирован несколько раз.