Как связать базы данных в access

Как связать базы данных в access

Учебная дисциплина
Информатика и компьютерная техника
Модуль 2. Офисные прикладные программы Microsoft Office 2007

2.4. Microsoft Access 2007

2.4.3. Установка логических связей в БД Access 2007

Логические связи устанавливаются между одноименными полями таблиц базы данных Access 2007. Связь данных в одной таблице с данными в других таблицах осуществляется через уникальные идентификаторы (ключи) или ключевые поля. В нашем случае мы должны установить логические связи между таблицами: Группы студентов, Студенты, Дисциплины и Успеваемость.

Для установления связей используем ключевые поля: КодГруппы, КодСтудентов и КодДисциплины. Например, между первичным ключом (КодГруппы) tables Группы студентов и вторичным ключом (КодГруппы) tables Студенты устанавливаем связь один — ко — многим.

Прежде чем приступить к созданию логических связей надо в Окне редактирования закрыть все tables и перейти на вкладку Работа с базами данных. Затем щелкнуть на пиктограмме Схема данных, в окне редактирования появится активное диалоговое окно "Добавление таблицы" на фоне неактивного окна Схема данных (рис. 1).

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

Далее необходимо установить связи между табл. в окне Схема данных. Для этого в окне Схема данных необходимо отбуксировать (переместить) поле КодГруппы из таблицы Группы студентов на соответствующее поле tables Студенты, в результате этой операции появится окно "Изменение связей" (рис. 3) .

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

В окне Схема данных появится связь один-ко-многим между таблицами Группы студентов и Студенты. Аналогичным образом надо связать поля КодСтудента в таблицах Студенты и Успеваемость, а затем поля КодДисциплины в таблицах Успеваемость и Дисциплины. В итоге получим Схему данных, представленную на рисунке 4.

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

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

Copyright

© Обучение в интернет, .
Обратная связь

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

Типы связей

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

§ Один к одному (взаимно-однозначный). Этот тип связи существует, когда по обе стороны связи для любого значения в связующем поле имеется только одна запись. .

§ Один ко многим.Когда по одну сторону связи для каких-то значений в связан­ном поле может быть несколько записей, а по другую — только одна.

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

Отсюда можно сделать вывод, что в Access тип связи между таблицами определя­ется одним фактором — являются или нет связанные поля полями ключа. Если таблица имеет ключевое поле (или ключ состоит из нескольких полей), это озна­чает, что одно поле (или комбинация полей) было отведено под уникальный иден­тификатор для каждой записи таблицы. Каждая запись в таблице с ключевым полем должна иметь уникальное значение в поле ключа. Или, если полей ключа несколько, то комбинация полей ключа должна однозначно определять каждую запись таблицы. Благодаря этому ограничению Access «знает», какое количество допустимо для значений в некотором поле определенной таблицы.

Практические занятия.

Microsoft Access

Упражнение 1.1. Создание базовых таблиц

Руководитель малого предприятия, выполняющего сборку персональных компьютеров из готовых компонентов, заказал разработку базы данных, основанной на двух таблицах комплектующих. Одна таблица содержит данные, которые могут отображаться для клиентов при согласовании спецификации изделия, — в ней ука­заны розничные цены на компоненты. Вторая таблица предназначена для анализа результатов деятельности предприятия — в ней содержатся оптовые цены на ком­поненты и краткая информация о поставщиках (клиенты предприятия не имеют доступа к данным этой таблицы).

1. Запустите программу Microsoft Access 2000 (Пуск > Программы >Microsoft Access).

2. В окне Microsoft Access включите переключатель Новая база данных и щелкните на кнопке ОК.

3. В окне Файл новой базы данных выберите папку Мои документы и дайте файлу имя: Комплектующие. Убедитесь, что в качестве типа файла выбрано Базы данных Microsoft Access, и щелкните на кнопке Создать. Откроется окно новой базы — Комплектующие: база данных.

Читайте также:  Видеокарта н видео 9600

4. Откройте панель Таблицы.

5. Дважды щелкните на значке Создание таблицы в режиме конструктора — откро­ется бланк создания структуры таблицы.

6. Для первой таблицы введите следующие поля:

Имя поля Тип поля
Компонент Текстовый
Модель Текстовый
Основной параметр Числовой
Цена Числовой

Рис. 1.1. Таблица Комплектующие в режиме Конструктора

Обратите внимание на то, что в данном случае поле Цена задано не денежным типом, а числовым. Данные, относящиеся к денежному типу, имеют размерность, выраженную в рублях (если работа выполняется с версией Microsoft Access, локализованной в России). Но стоимость компонентов вычислительной техники выражать в этой единице измерения не принято. Для сравнимости цен разных поставщиков обычно используют «условные единицы». В таких случаях удобно использовать поле числового типа, чтобы не перенастраивать всю СУБД.

7. Щелкните на поле Цена. В нижней части бланка задайте свойство Число деся­тичных знаков, равным 2.

8. Для связи с будущей таблицей поставщиков надо задать ключевое поле. Поскольку здесь ни одно поле явно не претендует на «уникальность», используем комби­нацию полей Компонент и Модель. Выделите оба поля в верхней части бланка (при нажатой клавише SHIFT). Щелчком правой кнопки мыши откройте кон­текстное меню и выберите в нем пункт Ключевое поле.

9. Закройте окно Конструктора. При закрытии окна дайте таблице имя Комплекту­ющие.

10. Повторив действия пунктов 5-9, создайте таблицу Поставщики, в которую входят следующие поля.

Имя поля Тип поля
Компонент Текстовый
Модель Текстовый
Цена оптовая Числовой
Поставщик Текстовый
Телефон Текстовый
Адрес Текстовый
Примечание Поле MЕMO

Обратите внимание на то, что поле номера телефона является текстовым, несмотря на то, что обычно номера телефонов записывают цифрами. Это связано с тем, что они не имеют числового содержания. Номера телефонов не сравнивают по величине, не вычитают из одного номера другой и т. д. Это типичное текстовое поле.

Ключевое поле можно не задавать — для текущей задачи оно не требуется.

11. В окне Комплектующие: база данных откройте по очереди созданные таблицы и наполните их экспериментальным содержанием (3-4 записи). Закончив работу, закройте таблицы и завершите работу с программой.

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

Упражнение 1.2. Создание межтабличных связей .

1. Запустите программу Microsoft Access 2000 (Пуск > Программы > Microsoft Access).

2. В окне Microsoft Access включите переключатель Открыть базу данных, выберите ранее созданную базу Комплектующие и щелкните на кнопке ОК.

3. В окне Комплектующие: база данных откройте панель Таблицы. Убедитесь, что на ней присутствуют значки ранее созданных таблиц Комплектующие и Поставщики.

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

5. Щелчком на кнопке Добавить выберите таблицы Комплектующие и Поставщики— в окне Схема данных откроются списки полей этих таблиц.

6. При нажатой клавише SHIFT выделите в таблице Комплектующие два поля — Компонент и Модель.

7. Перетащите эти поля на список полей таблицы Поставщики. При отпускании кнопки мыши автоматически откроется диалоговое окно Изменение связей.

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

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

10. Закройте окно Схема данных. Закройте программу Microsoft Access.

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

Упражнение 1.3. Создание запроса на выборку

В этом упражнении мы создадим запрос на выборку жестких дисков, имеющих емкость не менее 8 Гбайт при цене менее 150 условных единиц. Результирующая таблица должна содержать также адрес поставщика и номер его телефона.

1. Запустите программу Microsoft Access 2000 (Пуск > Программы > Microsoft Access).

2. В окне Microsoft Access включите переключатель Открыть базу данных, выберите ранее созданную базу Комплектующие и щелкните на кнопке ОК.

3. В окне Комплектующие: база данных откройте панель Запросы. Дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу; одновременно с ним откроется диалоговое окно Добавление таблицы.

4. В окне Добавление таблицы выберите таблицу Поставщики и щелкните на кнопке Добавить; закройте окно Добавление таблицы.

Читайте также:  Геральт из ривии карта для гвинта

5. В списке полей таблицы Поставщики выберите поля, включаемые в результиру­ющую таблицу: Компонент, Модель, Цена оптовая, Поставщик, Телефон. Выбор производите двойными щелчками на именах полей.

6. Задайте условие отбора для поля Компонент. В соответствующую строку вве­дите: Жесткий диск. Из таблицы будут выбираться не все изделия, а только жесткие диски.

7. Задайте условие отбора для поля Цена оптовая. В соответствующую строку введите: 8 (емкость диска более восьми гигабайт).

Рис. 1.2. Пример создания бланка запроса по образцу

11. Закройте бланк запроса по образцу. При закрытии запроса введите его имя — Выбор комплектующих.

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

13. По окончании работы закройте все открытые объекты и завершите работу

с программой Microsoft Access.

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

Упражнение 1.4. Создание запросов «с параметром»

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

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

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

1. Запустите программу Microsoft Access 2000 (Пуск > Программы > Microsoft Access).

2. В окне Microsoft Access включите переключатель Открыть базу данных, выберите ранее созданную базу Комплектующие и щелкните на кнопке ОК.

3. В окне Комплектующие: база данных откройте панель Запросы. Дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу.

4. Согласно упражнению 1.3, создайте запрос на выборку, основанный на таблице Поставщики, в который войдут следующие поля:

5. В строке Условие отбора поля Компонент введите: Процессор.

6. Строку Условие отбора для поля Цена оптовая надо заполнить таким образом, чтобы при запуске запроса пользователь получал предложение ввести нужное значение.

Текст, обращенный к пользователю, должен быть заклю­чен в квадратные скобки. Если бы мы хотели отобрать процессоры, цена которых больше 100 единиц, мы бы написали: >100. Если бы нам были нужны процессоры дешевле 80 единиц, мы бы написали Программы > Microsoft Access).

2. В окне Microsoft Access включите переключатель Открыть базу данных, выберите ранее созданную базу Комплектующие и щелкните на кнопке ОК.

3. В окне Комплектующие: база данных откройте панель Таблицы. Выберите таблицу Комплектующие.

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

5. В начало структуры таблицы вставьте новое поле. Для этого выделите первое поле (Компонент) и нажмите клавишу INSERT.

6. Введите имя нового поля — Класс и определите его тип — Текстовый.

7. Закройте окно Конструктора. При закрытии подтвердите необходимость изме­нить структуру таблицы.

8. Откроите таблицу Комплектующие и наполните ее содержанием, введя для каждого класса данные по следующим изделиям:

• Дисковод гибких дисков;

Цены на эти изделия для каждого класса проставьте приближенно. Прочие поля

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

9. Закройте таблицу Комплектующие.

10. Откройте панель Запросы щелчком на одноименной кнопке окна Комплектующие: база данных.

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

12. В бланк запроса по образцу введите следующие поля таблицы Комплектующие: Класс, Компонент, Цена,

13. Для поля Класс включите сортировку по возрастанию. Включите также сорти­ровку по полю Цена, но на этот раз — по убыванию.

14. На панели инструментов Microsoft Access щелкните па кнопке Групповые операции или воспользуйтесь строкой меню (Вид — Групповые операции). Эта команда необходима для создания в нижней части бланка строки Групповые операции. Именно на ее базе и создаются итоговые вычисления. Все поля, ото6paнные для запроса, получают в этой строке значение Группировка.

Читайте также:  Как установить новую java

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

16. Для поля Цена выберите итоговую функцию Sum для определения стоимости изделия как суммы стоимостей комплектующих.

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

18. Закройте бланк запроса по образцу и дайте ему имя: Расчет стоимости изделия. Запустите запрос и убедитесь, что он правильно работает.

19. Закройте все объекты базы данных. Завершите работу с программой Microsoft Access.

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

1. Симонович С.В. Информатика. – СПб.: Питер, 2003.

2. Робинсон С. Microsoft Access 2000. — СПб.: Питер, 2002.

3. Вейскас Д. Эффективная работа с Microsoft Access. — СПб.: Питер, 2002.

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

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

Подготовка к созданию связей с таблицами базы данных Access

Найдите исходную базу данных.

Допустимыми форматами файлов являются MDB, MDE, ACCDB и ACCDE. Если исходная база данных защищена паролем, во время операции связывания будет предложено ввести пароль.

Определите таблицы для связывания.

Можно создавать связи с таблицами, но нельзя создавать связи с запросами, формами, отчетами, макросами и модулями.

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

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

Связанные таблицы в качестве источника

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

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

Новая или существующая таблица

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

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

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

Закройте исходную базу данных. Убедитесь, что никто из пользователей не открыл ее в монопольном режиме.

Откройте конечную базу данных. Убедитесь, что она не является доступной только для чтения и у вас имеются необходимые разрешения на добавление объектов и данных в базу данных.

ПРИМЕЧАНИЕ. Если необходимо создать связи в новой базе данных, перед началом операции импорта следует создать пустую базу данных (в которой не содержатся таблицы, формы или отчеты).

Нажмите кнопку Microsoft Office , а затем выберите команду Создать.

В этой операции перезапись или изменение существующих таблиц или объектов не производится. Если в конечной базе данных уже существует объект с таким же именем, как у исходного объекта, к имени связанной таблицы автоматически добавляется число (1, 2, 3 и т. д.). Например, если связь с таблицей «Вопросы» создается из базы данных, в которой уже существует таблица с таким же именем, то в этом случае связанная таблица получит имя «Вопросы1». Если имя «Вопросы1» уже используется, новой таблице будет присвоено имя «Вопросы2» и т. д.

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

Дополнительные сведения о запросах на добавление см. в статье Создание запроса на добавление.

Ссылка на основную публикацию
Как сбросить графический ключ на xiaomi
Что такое графический пароль? Графический пароль – аналог обычного пароля, который был создан для удобства ввода на мобильных телефонах с...
Как разблокировать айфон зная apple id
Пользователи популярных смартфонов от Apple часто ставят на гаджет пароль, чтобы повысить безопасность мобильного устройства и избежать неприятностей – кражи,...
Как разблокировать домофон если отключили
Домофон — вещь нужная и полезная. Установленная в подъезде система отлично защищает жилище обывателей от проникновения посторонних людей. Второе преимущество...
Как сбросить защитный код на нокиа
Секретные коды Nokia для сброса, проверки и настроек. На этой странице собраны все полезные секретные и не секретные коды для...
Adblock detector