Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Запросы в СУБД Access




ОРГАНИЗАЦИЯ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ И ЗАПОЛНЕНИЕ ТАБЛИЦ

 

После создания макетов таблиц следует указать Access, какие действия необхо­димо выполнять по объединению данных в таблицах в единое информационное пространство БД. В частности, только после установления пользова­телем связей между таблицами Access сможет использовать эти связи для поиска ин­формации в разных таблицах БД. Кроме связей между таблицами, в СУБД Access возможно установление связей между запросами, которые создаются для извлечения и обработки информации, содержащейся в таблицах, и которые сами по себе также представляются в виде таблиц (подробнее о запросах см. следующий раздел этого пособия)

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

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

Установите связь между таблицами «Товары» и «Контракты». В качестве главной следует выбрать таблицу «Товары», а в качестве подчиненной - таблицу «Контракты». Первичный ключ в главной таблице следует присвоить полю «Товар», в подчиненной таблице поле с тем же на­званием определим в качестве вторичного ключа. Для этого необходимо, чтобы в свойствах поля «Товар» таблицы «Контракты» в строке Индексированное ноле (см. рис. 6) было установлено значение Да (Совпадения допускаются).

В процедуре установки связи можно выделить три шага:

открытие окна Схема данных (см. рис. 7);

выбор таблиц или запросов, между которыми следует установить связь (см. рис. 8);

не­посредственно установка связи между полями таблиц с заданием для нее свойств (см. рис. 9).

Открытие диалогового окна Схема данных выполняет команда Сервис/Схема данных... или кнопка Схема данных на панели инструментов (см. рис. 4).

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

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

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

 
 

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

Установка связи между таблицами или запросами в диалоговом окне Схема данных выполняется следующим образом:

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

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

2. Выберите требуемые параметры связи из предлагаемого набора и нажмите кнопку OK -- Access установит указанную связь и проведет линию между связанными полями в двух списках полей. На линии будет указан тип отношения. Эта связь оста­нется в базе данных до тех пор, пока не будет явно удалена.

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

 
 

ставшие ненужными связи из базы данных.

 

 
 

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

 

Рис.10. Окно задания свойств межтабличных связей

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

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

Команда Показать прямые добавляет в окно Схема данных все таблицы и за­просы, непосредственно связанные с выделенной таблицей или запросом. Команда Показать все добавляет все таблицы текущей базы данных, для которых определены какие-либо связи.

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

Добавить таблицуОтобразить прямые связиОтобразить все связи

 

 
 

Рис. 11. Схема данных с установленными связями для БД «Склад»

Удаление связи выполняется следующим образом. Выполнить команду Правка/Схема данных. Затем указать мышью на линию связи, которую следует удалить, и нажать кнопку мыши. Далее выполнить команду Правка/Удалить или нажать клавишу Del.

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

Заполните созданные таблицы БД «Склад», используя соответствующие данные (эта процедура обычно называется «закачкой» данных в базу). Для работы с БД введите в каждую таблицу до десяти записей. Ввод, из­менение и удаление записей производится в Режиме таблицы стандартным для среды Windows образом.

 
 

Для создания новой записи следует выбрать мышью пустую строку и присту­пить к вводу данных. Полезной особенностью является комбина­ция клавиш Shift+F2, использование которой открывает окно ввода -- увеличенную область ввода, которую удобно использовать при работе с большими текстами, например при заполнении данных с типом Поле МЕМО.

Рис. 12. Увеличенное окно для ввода значения поля

Access автоматически следит за обеспечением целостности данных. Запись в подчиненной таблице будет сохранена лишь в том случае, если введенное значение связующего поля присутствует в главной таблице. В нашем случае в таблице «Контракты» наименование товара, по которому заключается контракт, можно ввести лишь в том слу­чае, если он уже имеется в таблице «Товары». Если же при редактировании дан­ных нарушены правила целостности БД, то Access не сможет сохранить такую запись в таблице и появится соответствующее сообщение об ошибке.

 

Контрольные вопросы

Назначение связей в БД.

Между какими объектами устанавливаются связи в БД?

Главные и подчиненные таблицы в БД.

Процедура установления связей в БД.

Назначение режима Обеспечение целостности данных.

Назначение режима Каскадное обновление связанных полей.

Назначение режима Каскадное удаление связанных полей.

Как отредактировать существующую связь.

Как удалить существующую связь.

Как заполнить таблицу данными.

 

Формирование таблиц и заполнение их данными - это основной этап в созда­нии БД. Хотя этот процесс необходим и достаточен с точки зрения хранения данных, он отнюдь не достаточен с точки зрения доступа и использования информации. А ведь именно последние две задачи являются в СУБД наиболее важными, так как информация для того и хранится в БД, чтобы ее можно было быстро извлечь и при необходимости обработать соответствующим образом.

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

 
 

Рис. 13. Диалоговое окно выбора способа создания запроса

При выполнении запроса СУБД Access выбирает нужные данные из соответствующей таблицы или собирает данные из разных таблиц, производит при необходимости их обработку и представляет результат в виде новой таблицы. При этом результат запроса не сохраняется, т.е. таблица запроса существует только как результат выполнения запроса, а в самом запросе сохраняется только инструкция по выборке и обработ­ке данных. Таким образом, запрос в СУБД Access представляет собой некую программу, написанную на т.н. языке запросов SQL (Structured Query Language – язык структурированных запросов, англ., см. подробнее подраздел 4.3).

Для создания запросов СУБД Access 97 предлагает несколько вариантов (см. рис. 13). При этом в режиме Конструктор запрос создается полностью самим пользователем на основе специальной таблицы QBE (Query by Example – запрос по образцу, англ., см. рис. 16), а другие способы используют соответствующих Мастеров, где запрос создается полностью путем выбора предлагаемого готового варианта и по наводящим подсказкам.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 1361; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.