Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_1_2.doc
Скачиваний:
2
Добавлен:
18.08.2019
Размер:
740.86 Кб
Скачать

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

  1. Выполнить создание многотабличной БД для заданной предметной области.

  2. Создать таблицы с помощью Конструктора таблиц.

  3. При задании полей установить параметры отображения и проверки значения полей.

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

  5. Заполнить созданные таблицы БД записями (по 5 – 10 записей).

  6. Выполнить просмотр и корректировку записей таблицы БД.

4. Контрольные вопросы и задания

  1. Как создать новую БД в Microsoft Access?

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

  3. Пояснить типы полей Текстовый, поле МЕМО, Числовой, Дата/время.

  4. Как задать полю определенный тип?

  5. Какие существуют режимы отображения содержимого таблиц БД?

  6. Как добавить новую запись в таблицу?

  7. Каким образом можно удалить запись?

  8. Как добавить, удалить, переместить поля в таблице?

  9. Как применить к записи маску ввода?

  10. Как задаются Условия на значения?

  11. Для чего существует Формат ввода? Как его задать?

  12. Какие существуют стандартные форматы для данных Числового типа? Для Логического?

  13. Какие существуют стандартные форматы для данных типа Дата/время?

  14. Как в Accesse записываются логические Да и Нет?

  15. Задан формат ввода: (&&@)-@@@@-@. В каком виде будут отображаться следующие данные: а) 12345678; б) 175949; в) 657448.

  16. Задайте маску ввода для телефона.

  17. Как задать условие, для поля Группа крови, если областью допустимых значений поля являются числа 1,2, 3 или 4?

Лабораторная работа №2 Организация связей между таблицами

  1. Цель работы

Приобретение практических навыков построения и использования индексов и организации связей между таблицами в СУБД Access.

  1. Организация структуры связей в бд

2.1. Порядок создания первичного ключа

Каждая таблица должна содержать первичный ключ — одно или несколько полей, содержимое которых уникально для каждой записи. Например, поле ID_doc — это первичный ключ в таблице DoctorTab, т.е. каждая запись в этой таблице имеет свой уникальный номер врача. Наличие неповторяющегося первичного ключа в каждой записи (как поле ID_doc в таблице DoctorTab) позволяет рассматривать любые две запи-си обособленно.

Первичные ключи создаются для гарантирования уникальности каждой записи. Создавая таблицы, Access всегда предлагает задать первичный ключ с типом данных Счетчик (AutoNumber). Значение такого поля будет автоматически увеличиваться на единицу при добав-лении новой записи. В Access для обеспечения целостности данных нельзя использовать в таблицах поля с типом данных Счетчик (AutoNumber). Поэтому для первичного ключа важно задать иной тип данных, например Текстовый или Числовой.

Так, для за­полнения текстового поля идентификатора используется одно из правил генерации уникального значения. Правила могут очень простыми. Например, можно использовать конкатена­цию некоего символьного выражения и порядкового номера (А001, А002; В001, В002 и т.д.), а также сложное выражение, вычисленное на основе информации из нескольких полей таблицы.

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

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

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

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

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

  • По умолчанию Access сортирует данные по первичному ключу.

Для создания первичного ключа нужно выделить нужное поле, щелк-нуть на кнопке Ключевое поле (Primary Key) панели инструментов. Если необходимо создать первичный ключ, состоящий из нескольких полей (составной первичный ключ), то следует выделить все эти поля (удерживая нажатой клавишу <Ctrl>) и щелкнуть на кнопке Ключевое поле (Primary Key).

При определении составного первичного ключа важен порядок выбора полей. Поэтом следует проверить правильность порядка наз-начения ключевых полей с помощью диалогового окна Индексы (Indexes), вызываемого после щелчка на кнопке Индексы (Indexes) пане­ли инструментов. На рисунке 1 показан первичный ключ, состоящий из двух полей таблица VisitTab .

Диалоговое окно Индексы (рис. 2) открывается (при условии, что таблица открыта в режиме конструктора) с помощью выбора из главного меню Access команды Вид =>Индексы (View => Indexes) или щелчка на кнопке Индексы (Indexes) (кнопка с изображением серии параллельных

линий и молнии, расположенная в середине панели ин­струментов, справа от кнопки Ключевое поле).

Рис.1. Создание первичного ключа

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

Рис.2. Диалоговое окно Индексы

Обратите внимание, что тип индекса PrimaryKey отображен только возле поля Id_doc, хотя графический символ отображается для обоих полей, составляющих первичный ключ.

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

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

  1. Открыть таблицу в режиме Конструктора.

  2. На панели инструментов нажать кнопку Индексы.

  3. В первой пустой строке поля Индекс ввести имя индекса.

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

  5. В следующей строке поля Имя поля указать второе индексируемое поле. (Для данной строки поле Индекс должно оставаться пустым.) Повторить эту операцию для всех полей, которые необходимо включить в индекс. В индексе может быть использовано до 10 полей.

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

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

  • название индекса в поле Индекс;

  • поле таблицы, соответствующее данному индексу, выбрав новое поле из списка в поле Имя поля;

  • порядок сортировки в поле Порядок сортировки;

  • свойства данного индекса в нижней части окна (см. рис. 2):

    • Ключевое поле определяет, является ли индексированное поле ключевым;

    • Уникальный индекс определяет, должно ли быть каждое значение в этом поле уникальным;

    • Пропуск пустых полей определяет, включаются или не включаются в индекс записи с пустым (Null) значением данного поля.

Например, если в одном и том же запросе часто задаются условия для полей Имя врача и Фамилия врача, то для этих двух полей имеет смысл создать составной индекс.

При сортировке таблицы по составному индексу Microsoft Access сначала выполняет сортировку по первому полю, определенному для данного индекса. Если в первом поле содержатся записи с повторяющимися значениями, то выполняется сортировка по второму полю, определенному для данного индекса, и так далее. 2.2. Создание связей между таблицами

Для пояснения возможных отношений между объектами БД обратимся к уже рассмотренной базе данных о врачах и пациентах. Таблица DoctorTab содержит информацию о врачах, таблица PatientTab - информация о пациентах. Связь между ними можно осуществить с помощью таблицы VisistTab (информация о посещении пациентами врачей). Например, вы можете получить информацию о том, кто и когда посещал какого-либо врача. Каждая запись в таблицах идентифицирует один объект группы (врач, пациент и прием). Отно-шение между объектами определяет отношение между таблицами. Предполагая, что один врач может принять несколько пациентов, а один пациент может посетить несколько врачей. Таким образом, между пациентом и его посещениями врача существует отношение один-ко-многим, такая же связь существует между врачом и его приемами. Связь таблиц осуществляется на основании данных в совпадающих полях ID_doc и ID_pat.

Access поддерживает четыре типа отношений между таблицами: один-к-одному, один-ко-многим, много-к-одному, много-ко-многим.

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

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

Связи начинают устанавливать в окне базы данных. При акти-визированном окне базы данных, выберите команду Сервис => Схема данных (Tools => Relationships) или щелкните на кнопке Схема данных (Relationships) панели инструментов. При этом появится окно Схема данных (Relationships), которое позволяет добавлять таблицы и создавать связи между ними (рис. 3).

Рис. 3. Окно Схема данных

Обратите внимание, что с ним связана новая панель инструментов, которая имеет две кнопки, характерные для окна Схема данныхОтобразить прямые связи (Show Direct Relationships) и Отобразить все связи (Show All Relationships). Изначально окно Схема данных (Relationships) не содержит таблиц.

Добавлять таблицы в окно можно следующими способами:

  • Использованием диалогового окна Добавление таблицы (Show Table), которое открывается автоматически, если окно Схема данных (Relationships) для базы данных открывается впервые.

  • Нажатием кнопки Отобразить таблицу (Show Table) панели инструментов.

  • С помощью команды Связи => Добавить таблицу (Relationships => Show Table).

  • Находясь в окне Схема данных (Relationships), щелкните правой кнопкой мыши и выберите из контекстного меню команду Добавить таблицу (Show Table).

Для вызова окна Схема данных (Relationships) и добавления в него таблиц выполните следующие действия.

  1. Щелкните на кнопке Схема данных (Relationships) панели инструментов, и Access откроет диалоговое окно Добавление таблицы (Show Table).

  2. Выберите все таблицы (DoctorTab, VisitTab, PatTab).После этого щелкните на кнопке Добавить (Add).

  3. Щелкните на кнопке Закрыть (Close) диалогового окна добавление таблицы (Show Table). Экран будет выглядеть так, как на рисунке 3. Каждая таблица представлена в окне Схема данных списком своих полей, в качестве заголовков этих списков используются имена

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

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

Рис.4. Отображение связей между таблицами в окне Схема данных

Если вы ошиблись при выборе поля для связи, просто пере-местите символ поля в пустую область окна, где символ изменится на международный символ Нет -- 0. Как только отобразится этот символ, отпустите кнопку мыши, и процесс соз­дания связи прекратится.

Access автоматически определяет тип отношения в связи между двумя табли­цами, основываясь на данных в записях этих таблиц. Тип отношения отобража­ется в нижней части диалогового окна Изменение связей (рис. 5).

Рис. 5. Окно Изменение связей

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