Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_CYBD_Lec.doc
Скачиваний:
0
Добавлен:
03.01.2020
Размер:
6.24 Mб
Скачать

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

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

Установление связей

В Microsoft Access связываемые поля не обязательно должны иметь одинаковые имена, но они должны иметь одинаковые типы данных и одинаковый смысл. Кроме того, связываемые поля числового типа должны иметь одинаковые значения свойства Размер поля.

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

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

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

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

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

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

В диалоговом окне Связи можно установить несколько флажков.

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

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

После установления флажков тип связи будет определен, и на схеме появятся соответствующие изображения.

При закрытии окна схемы данных на экран будет выведено сообщение, нужно ли сохранять макет схемы. Независимо от того, будет он сохранен или нет, связи, созданные в базе данных, будут сохранены.

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

С помощью кнопки Очистить макет можно очистить окно Схема данных. Установленные связи при этом не разрушатся.

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

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

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

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

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

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

Поиск и фильтрация данных

Поиск данных

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

Для поиска по значению конкретного поля надо установить курсор в любой записи этого поля, а затем нажать кнопку Найти на панели инструментов или выполнить команду Правка / Найти. В открывшемся окне Поиск и замена в строке Образец следует указать нужное значение. В образце поиска можно использовать подстановочные символы * и ?. Символ * заменяет строку любой длины, а знак вопроса ? - один произвольный символ. Для поля подстановок в качестве образца поиска надо вводить то значения, которые физически хранится в этом поле, а не подстановочные значения.

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

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

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

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

Использование фильтров

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

Е сли можно легко найти и выбрать в объекте в режиме Таблицы то значение, которое должны содержать отбираемые записи, следует использовать Фильтр по выделенному фрагменту.

Для установки Фильтра по выделенному фрагменту нужно в поле любой из записей таблицы выделить заданное значение (слово или значение поля). Затем следует нажать кнопку Фильтр по выделенному на панели инструментов или выбрать в меню команду Запись / Фильтр / Фильтр по выделенному. По окончании поиска Access выведет отобранный набор записей. К отобранным данным можно применить новый фильтр, ужесточив условия отбора. Фильтр снимается с помощью кнопки Удалить фильтр на панели инструментов.

Обычный фильтр используется для отбора нужных записей без просмотра всех записей в таблице и позволяет задавать несколько условий отбора одновременно. Обычный фильтр активизируется кнопкой Изменить фильтр на панели инструментов. Условия фильтрации формируются в окне, похожем на исходную таблицу, но с пустыми столбцами. В нижней части окна имеются ярлычок вкладки Найти и один ярлычок ИЛИ. В столбце, для которого нужно задать условие отбора, можно выбрать значение из раскрывающегося списка или ввести выражение, определяющее условие отбора. Для определения условий отбора, связанных логическим ИЛИ, надо перейти на первую вкладку ИЛИ и задать еще одно значение и т.д. По мере определения каждого из дополнительных условий отбора Access предоставляет дополнительный ярлычок ИЛИ. После нажатия кнопки Применение фильтра будут выведены строки таблицы, удовлетворяющие всем этим условиям. Условия отбора, заданные в другом столбце для любой из вкладок, воспринимаются системой как операнды логического И.

После применения фильтра кнопка Применение фильтра становится кнопкой Удаление фильтра, с помощью которой фильтр снимается.

Для создания сложных фильтров используют окно Расширенного фильтра. Расширенный фильтр позволяет формировать запросы на поиск с помощью Окна запроса на выборку. Порядок формирования таких запросов рассмотрен ниже.

Импорт данных

Импорт файлов dBASE

Microsoft Access поддерживает импорт данных из таблиц других баз Access, а также файлов баз данных других форматов: dBASE, Microsoft FoxPro, Paradox.

При импорте данных создается их копия в новой таблице текущей БД Access. Исходная таблица или файл при этом не изменяются.

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

Для импорта файлов в формате . dbf (например, из БД FoxBase Plus) необходимо выполнить следующие действия:

- выбрать в меню команду Файл / Внешние данные / Импорт;

- в диалоговом окне Импорт выбрать в списке Тип файла одно из значений dBASE;

  • выбрать диск и папку, где находится файл .dbf, выделить значок файла и нажать кнопку Импорт;

  • закрыть окно импорта.

В БД Access создается таблица с именем выбранного файла, в которую импортируются данные из файла .dbf.

После импорта файла можно скорректировать тип данных, форматы и свойства полей таблицы, определить ключ таблицы.

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