Создание баз данных Access: Учебное пособие, страница 8

   Для удаления столбца из таблицы его надо выделить и выбрать команду ме­ню Правка / Удалить столбец. Ссылки на удаленное поле, содержащиеся в дру­гих объектах базы данных, также необходимо удалить. Нельзя удалить поле, уча­ствующее в связях, сначала необходимо удалить связи.

   При просмотре данных иногда бывает удобно постоянно держать отдельные столбцы на экране, прокручивая остальные столбцы таблицы вправо и влево. Что­бы закрепить один или несколько столбцов, надо выделить их и выбрать команду Формат / Закрепить столбцы. Выделенные столбцы переместятся в левую часть экрана и зафиксируются там. Для отмены закрепления служит команда Формат / Освободить все столбцы.

Создание в таблице поля со списком подстановок или списком значений

   Для устранения избыточности данных в некоторых полях таблиц хранятся не значения полей, а их коды. Например, в таблице КНИГИ есть поле КодРаздела, в таблице КНИГИАВТОРЫ таких полей два: КодКниги и КодАвтора. Истинные значения этих полей хранятся в других таблицах. Так, названия разделов хранятся в таблице РАЗДЕЛЫ, названия книг - в таблице КНИГИ, а фамилии авторов - в таблице АВТОРЫ. При просмотре таблиц, содержащих кодовые поля, хотелось бы видеть истинные значения этих полей, а не малоинформативные коды. Мастер подстановок помогает установить свойства подстановки для любого кодового поля таблицы таким образом, что вместо кодов можно видеть соответствующие значения полей, хранящиеся в другой таблице. Такое поле называют Полем со списком подстановок.

   Помимо повышения информативности выводимых на экран таблиц, свойст­во подстановки обеспечивает еще одно преимущество: после определения для по­ля свойства подстановки в этом поле создается раскрывающийся список допусти­мых значений. Теперь при вводе значений в такое поле не придется вводить дан­ные с клавиатуры. Допустимые для этого поля значения можно выбирать из рас­крывающегося списка.

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

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

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

   После создания списков подстановок для полей КодРаздела, КодКниги и КодАвтора при просмотре таблицы КНИГИ в столбце Код раздела будут фигури­ровать наименования разделов, а при просмотре таблицы КНИГИАВТОРЫ будут выведены столбцы с названиями книг и фамилиями авторов.

   В некоторых случаях бывает полезно при просмотре данных объединить данные из нескольких полей в одном столбце таблицы. Например, в таблице КНИГИ АВТОРЫ в столбце КодАвтора удобно было бы видеть фамилию и имя авторов. Для этого надо выполнить конкатенацию соответствующих полей. По­скольку поле КодАвтора является полем подстановки, при работе с Мастером под­становок в качестве полей - источников подстановочных значений следует указать поля Фамилия и Имя из таблицы АВТОРЫ. Затем следует выполнить следующие действия:

  •    открыть таблицу КнигиАвторы в режиме Конструктора;

  •     щелкнуть в поле КодАвтора;

  •    в бланке Свойства полей выбрать вкладку Подстановки;

  •    щелкнуть в конце строки Источник строк (там содержится инструкция SQL);

  •    щелкнуть всплывшую кнопку, обозначенную многоточием; откроется бланк QBE Построителя запросов, в котором указаны поле подстановки КодАвто­ра и поля - источники подстановочных значений Фамилия и Имя;

  •    щелкнув в поле Фамилия, ввести в ячейку с именем поля строку

                          Код автора:[Фамилия]&", "&[Имя]

  •    закрыть окно Построителя запросов, сохранив изменения, внесенные в инструкцию SQL, и сохранив таблицу.

   Теперь при просмотре таблицы КНИГИАВТОРЫ в столбце Код автора бу­дут фигурировать фамилии и имена авторов.

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

   •       Поля  КодРаздела  (таблица КНИГИ),  КодКниги  (таблица КНИ-ГИАВТОРЫ), КодКлиента, КодКниги (таблица ПОКУПКИ) преобразуйте в поля со списком подстановок.

   •       Для поля КодАвтора таблицы КНИГИ_АВТОРЫ выполните подста­новку с конкатенацией полей Фамилия и Имя.

Определение связей

Определение в базе данных связей между таблицами

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

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

   Отношение «один-ко-многим»

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