Лабораторная работа № 2 Создание связей между таблицами
1. Запустите Microsoft Access 2007.
2. Создадим базу данных «Фирма». Сотрудники данной организации работают с клиентами и выполняют их заказы.
Если все сведения поместить в одной таблице, то она станет очень неудобной для работы. В ней начнутся повторы данных. Всякий раз, когда сотрудник Иванов будет работать с какой-либо фирмой, придется прописывать данные о сотруднике и клиенте заново, в результате чего можно допустить множество ошибок. Чтобы уменьшить число ошибок, можно исходную таблицу разбить на несколько таблиц и установить связи между ними. Это будет более рационально, чем прежде.
Таким образом, необходимо создать 3 таблицы: Сотрудники, Клиенты и Заказы.
Сотрудники
Имя поля | Тип данных |
Код сотрудника | Счетчик |
Фамилия | Текстовый |
Имя | Текстовый |
Отчество | Текстовый |
Должность | Текстовый |
Телефон | Текстовый |
Адрес | Текстовый |
Дата рождения | Дата/Время |
Заработная плата | Денежный |
Фото | Объект OLE |
Эл_почта | Гиперссылка |
Клиенты
Имя поля | Тип данных |
Код клиента | Счетчик |
Название компании | Текстовый |
Адрес | Текстовый |
Номер телефона | Текстовый |
Факс | Числовой |
Адрес электронной почты | Гиперссылка |
Заметки | Поле МЕМО |
Заказы
Имя поля | Тип данных |
Код заказа | Счетчик |
Код клиента | Числовой |
Код сотрудника | Числовой |
Дата размещения | Дата/Время |
Дата исполнения | Дата/Время |
Сумма | Денежный |
Отметка о выполнении | Логический |
Отдельные таблицы, содержащие информацию по определенной теме, необходимо связать в единую структуру базы данных. Для связывания таблиц следует задать ключевые поля. Ключ состоит из одного или нескольких полей, значения которых однозначно определяют каждую запись в таблице. Наиболее подходящим в качестве ключевого поля является «Счетчик», так как значения в данном поле являются уникальными (т. е. исключают повторы).
4. Откройте таблицу Сотрудники в режиме Конструктора.
5. Нажмите правой кнопкой мыши на поле Код сотрудника и в появившемся контекстном меню выберите команду Ключевое поле. Если в таблице необходимо установить несколько ключевых полей, то выделить их можно, удерживая клавишу Ctrl.
6. Для таблицы Клиенты установите ключевое поле Код клиента, а для таблицы Заказы – Код заказа.
7. Таблица Заказы содержит поля Код сотрудника и Код клиента. При их заполнении могут возникнуть некоторые трудности, так как не всегда удается запомнить все предприятия, с которыми работает фирма, и всех сотрудников с номером кода.
8. Откройте таблицу Заказы в режиме Конструктора.
9. Для поля Код сотрудника выберите тип данных Мастер подстановок.
10. В появившемся окне выберите команду «Объект «столбец подстановки» будет использовать значения из таблицы или запроса» и щелкните на кнопке Далее.
11. В списке таблиц выберите таблицу Сотрудники и щелкните на кнопке Далее.
12. В списке Доступные поля выберите поле Код сотрудника и щелкните на кнопке со стрелкой, чтобы ввести поле в список Выбранные поля. Таким же образом добавьте поля Фамилия и Имя и щелкните на кнопке Далее.
13. Выберите порядок сортировки списка по полю Фамилия.
14. В следующем диалоговом окне задайте необходимую ширину столбцов раскрывающегося списка.
15. Установите флажок Скрыть ключевой столбе» и нажмите кнопку Далее.
16. На последнем шаге Мастера подстановок замените при необходимости надпись для поля подстановок и щелкните на кнопке Готово.
17. Аналогичным образом создайте раскрывающийся список для поля Код клиента.
18. После создания ключевых полей можно приступить к созданию связей. Существует _______несколько типов отношений между таблицами:
12) при отношении «один-к-одному» каждой записи ключевого поля в первой таблице соответствует только одна запись в связанном поле другой таблицы, и наоборот. Отношения такого типа используются не очень часто. Иногда их можно использовать для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности;
13) при отношении «один-ко-многим» каждой записи в первой таблице соответствует несколько записей во второй, но запись во второй таблице не может иметь более одной связанной записи в первой таблице;
14) при отношении «многие-ко-многим» одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице могут соответствовать несколько записей в первой.
19. Закройте все открытые таблицы, так как создавать или изменять связи между открытыми таблицами нельзя.
20. Выполните команду: вкладка ленты Работа с базами данных → кнопка .
21. Если ранее никаких связей между таблицами базы не было, то при открытии окна Схема данных одновременно открывается окно Добавление таблицы, в котором выберите таблицы Сотрудники, Клиенты и Заказы.
22. Если связи между таблицами уже были заданы, то для добавления в схему данных новой таблицы щелкните правой кнопкой мыши на схеме данных и в контекстном меню выберите пункт Добавить таблицу.
23. Установите связь между таблицами Сотрудники и Заказы, для этого выберите поле Код сотрудника в таблице Сотрудники и перенесите его на соответствующее поле в таблице Заказы.
24. После перетаскивания откроется диалоговое окно Изменение связей (рис. 1), в котором включите флажок Обеспечение условия целостности. Это позволит предотвратить случаи удаления записей из одной таблицы, при которых связанные с ними данные других таблиц останутся без связи.
Рис. 1. Создание связи между таблицами
25. Флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей обеспечивают одновременное обновление или удаление данных во всех подчиненных таблицах при их изменении в главной таблице.
26. Параметры связи можно изменить, нажав на кнопку Объединение.
27. После установления всех необходимых параметров нажмите кнопку ОК.
28. Связь между таблицами Клиенты и Заказы установите самостоятельно.
29. В результате должна получиться схема данных, представленная на рис. 2.
Рис. 2.
Рис. 2. Схема данных
В приведенном примере используются связи «один-ко-многим». На схеме данных они отображаются в виде соединительных линий со специальными значками около таблиц. Связь «один-ко-многим» помечается «1» вблизи главной таблицы (имеющей первичный ключ) и «∞» вблизи подчиненной таблицы (имеющей внешний ключ). Связь «один-к-одному» помечается двумя «1» (оба поля таблиц имеют первичные ключи). Неопределенная связь не имеет никаких знаков. Если установлено объединение, то его направление отмечается стрелкой на конце соединительной линии (ни одно из объединенных полей не является ключевым и не имеет уникального индекса).
30. В таблицу Сотрудники внесите данные о семи работниках.
31. В таблицу Клиенты внесите данные о десяти предприятиях, с которыми работает данная фирма.
32. В таблице Заказы оформите несколько заявок, поступивших на фирму.
3. Базы данных Access — Web
Установка связей между таблицами > 3. Базы данных Access
|
Учебник Microsoft Access 2010, 2013, 2016 и 2019 — Страница 7 — Учебники Holowczak.com
Опубликовано Автор: holowczak5.5 Создание отношений между таблицами
Напомним, что одной из основных характеристик реляционных баз данных является тот факт, что все таблицы связаны друг с другом. В базе данных банка до сих пор таблица «Клиенты» связана с таблицей «Счета» благодаря полю «Идентификатор клиента», появляющемуся в обеих таблицах. В Access есть средства сделать эту связь явной с помощью экрана «Связи». Access использует эту информацию при разработке отчетов, форм и запросов, для которых требуется отображение более одной таблицы.
Для начала убедитесь, что таблица Accounts и таблица Customer закрыты. Access остановит создание любых отношений, если таблица в данный момент открыта. Чтобы закрыть таблицу, либо щелкните правой кнопкой мыши имя таблицы на вкладке над таблицей и выберите пункт меню «Закрыть», либо щелкните маленький крестик справа над таблицей.
Затем откройте экран «Связи», щелкнув вкладку «Инструменты базы данных», а затем нажмите кнопку «Связи», как показано ниже.
Пустой экран Отношения будет выглядеть следующим образом:
По умолчанию появится диалоговое окно Показать таблицу. Выделите таблицу «Клиенты» и «Счета», как показано ниже, а затем нажмите кнопку «Добавить».
Затем нажмите кнопку «Закрыть», чтобы закрыть это диалоговое окно. Теперь снова появится экран «Отношения» с двумя таблицами, показанными ниже:
Чтобы соединить таблицу «Клиенты» с таблицей «Счета» для формирования связи, щелкните поле «Идентификатор клиента» в таблице «Клиенты» и перетащите его поверх поля «Клиенты». поле в таблице Accounts. После отпускания кнопки мыши появится диалоговое окно «Редактировать отношения», как показано ниже:
Access сделает все возможное, чтобы определить тип отношения (почти всегда выбирается One-to-Many ). В этом примере Access знает, что CustomerID — это ключ таблицы Customer, поэтому он выбирает это поле в качестве стороны «One». Это делает таблицу «Учетные записи» стороной «Многие», поскольку Один клиент может иметь Много учетных записей.
Еще один шаг, который необходимо сделать, — это поставить галочку в поле «Обеспечить ссылочную целостность». Этот параметр вводит ограничения, так что запись учетных записей не может быть создана без действительной записи клиента, а Access также не позволит пользователю удалить запись клиента, если существует связанная запись учетных записей. На этом этапе нажмите кнопку «Создать», чтобы создать связь. Экран «Отношения» должен снова появиться с новыми отношениями следующим образом:
Обратите внимание на символы «1» (обозначающие сторону «Один») и символ бесконечности (обозначающие сторону «Многие») в отношениях. Закройте экран отношений и выберите Да, чтобы сохранить изменения в макете отношений.
Если отношение не отображается указанным выше образом, выделите его и нажмите клавишу удаления, чтобы удалить его. Затем вернитесь к представлению конструктора таблиц и убедитесь, что поле CustomerID назначено ключом таблицы Customers. Затем вернитесь к экрану «Отношения» и попытайтесь воссоздать отношения.
5.6 Обзор создания и просмотра таблиц
Для создания новой таблицы необходимо выполнить следующие шаги:
- Щелкните вкладку Таблицы на главном экране Access
- Нажмите кнопку «Создать».
- Выберите Design View и нажмите кнопку OK.
- Введите имя, тип данных и описание каждого из полей в таблице.
- Назначьте первичный ключ, щелкнув одно из полей правой кнопкой мыши, а затем выберите «Первичный ключ» во всплывающем меню.
- Сохраните таблицу, развернув меню «Файл» и выбрав «Сохранить».
- Закройте новую таблицу, развернув меню «Файл» и выбрав «Закрыть».
Чтобы изменить дизайн существующей таблицы (например, чтобы добавить, изменить или удалить поле):
- Щелкните вкладку Таблицы на главном экране Access
- Выделите имя таблицы, которую нужно изменить, и нажмите кнопку «Дизайн».
- Внесите необходимые изменения.
- Сохраните таблицу, развернув меню «Файл» и выбрав «Сохранить».
- Закройте таблицу, развернув меню «Файл» и выбрав «Закрыть».
Чтобы добавить, удалить или изменить данные в существующей таблице:
- Щелкните вкладку Таблицы на главном экране Access
- Выделите имя изменяемой таблицы и нажмите кнопку Открыть.
- Внесите необходимые изменения в данные.
- Сохраните данные таблицы, развернув меню «Файл» и выбрав «Сохранить».
- Закройте таблицу, развернув меню «Файл» и выбрав «Закрыть».
Чтобы создать или изменить связи между таблицами:
- Выдвиньте меню Сервис и выберите пункт меню Отношения.
- Чтобы отобразить таблицы, щелкните правой кнопкой мыши и выберите «Добавить таблицы».
- Чтобы создать новые связи, перетащите ключевое поле из одной таблицы на связанное поле в другой таблице
- Чтобы изменить существующую связь, дважды щелкните линию связи.
- Чтобы удалить существующую связь, щелкните линию связи и нажмите клавишу удаления.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Категории: доступ, база данных, SQL
Теги: Access, Access 2007, Access 2010, Access 2013, База данных Access, Формы доступа, Отчеты о доступе, Бесплатное руководство по Microsoft Access, Бесплатное руководство по MS Access, Microsoft Access, Форма навигации
Поиск Holowczak. com Искать:
Пожертвования Добро пожаловать
Если вы нашли что-то образовательное или развлекательное на holowczak.com, рассмотрите возможность отправки пожертвования через: PayPal
LRC: 0xbe6738ed824cd34b9a109daa956ee448e41a545d
ETH: 0x1F8C9e8B4342872f868c1d313C13259bc4683933
BTC: 3JC5ZVGejv1seyALGiiSdbET9zomJz464X
Спасибо!
Реферальный код My Loopring Wallet: 013928.
Недавние Посты
- Обратное проектирование схемы Google BigQuery с помощью Dataedo 10
Категории сообщений Категории сообщенийВыберите категориюДоступ к блогуBloombergC#C++CIS 4620Облачные вычисленияХранилище данных и аналитикаБаза данных MySQLDiagramingFactSetFinancial ITInteractive BrokersJavaMicrosoft OfficeOraclePowerPointПрограммирование HTMLASSQLSQL ServerVisioVisual Studio
Общие сведения о связях между таблицами в Access 2013 — часть 1
Домашняя страница > Microsoft Access > Общие сведения о связях между таблицами в Access 2013 — часть 1
Самая важная цель проектирования любой базы данных — полностью исключить избыточность данных. Лучший способ добиться этого — создать связи между разными таблицами, которые имеют некоторые общие поля. Access 2013 предлагает простой способ сделать это. Все, что вам нужно сделать, это выбрать таблицы, перетащить поля и обеспечить ссылочную целостность (при необходимости). Тип отношений и общая структура базы данных, включая соединения, схематически проиллюстрированы в представлении дизайна отношений. Все, что вам нужно сделать, это убедиться, что типы данных внешних ключей совпадают.
Посмотрите бесплатное видео здесь, стенограммы всего видео следуют:
Нужен эффективный курс обучения Access 2013? Пройдите 9-часовой курс обучения работе с Microsoft Access 2013 – нажмите здесь.
Стенограммы видео:
Еще раз здравствуйте и добро пожаловать на наш курс по Access 2013. В предыдущем разделе мы рассмотрели настройку отношений между таблицами в базе данных Access 2013 и, в частности, рассмотрели запись жанра для фильма. в нашей базе фильмов. В этом разделе мы рассмотрим установление отношений между фильмом и актерами в нем.
В какой-то степени это упражнение похоже на то, где мы настраиваем жанр, но есть пара важных отличий. И один из них заключается в том, что когда мы определяем актеров, которые появляются в фильме, мы определяем некоторую другую информацию, в частности, например, их роль в фильме. Это не имя актера, а имя персонажа, которого играет актер. Так что некоторые из них — это почти одна и та же процедура. Мы собираемся создать новую таблицу. Итак, мы можем нажать «Создать». Перейдем к дизайну стола. Начнем с поля ID. Обратите внимание, что когда вы переходите к дизайну таблиц, вы не получаете один из них по умолчанию, но у нас он будет. Так что можете определить сами, если там не все готово. Идентификатор, определенный как AutoNumber. Следующим, что нам нужно, будет фильм. Итак, мы вставили сюда фильм. Теперь мы знаем, что фильм — это внешний ключ, указывающий на первичный ключ в таблице фильмов, поэтому мы знаем, что это должно быть длинное целое число. Итак, тип — это число, проверьте, что мы получили длинное целое, что мы и делаем по умолчанию, все в порядке. И следующее дело — актер. В основном для таблицы актеров идентификатор актера также является полем AutoNumber. Итак, опять же, это должно быть число и длинное целое число, так что все в порядке. Но теперь я собираюсь добавить дополнительное поле для этого и этого поля на тот момент, когда мы просто собираемся вставить роль, роль актера в фильме. И это будет короткий текст, обычно имя персонажа. Так что я почти готов сохранить это. Обратите внимание: если я вручную добавил поле AutoNumbered ID в качестве уникального ключа, мне нужно пометить его как первичный ключ. Итак, позвольте мне просто щелкнуть там, щелкнуть первичный ключ, а затем, чтобы сохранить его с нужным именем, если я щелкну правой кнопкой мыши вкладку, в данном случае таблицу 1, и нажму Сохранить. Введите имя моей таблицы MovieActor, нажмите «ОК», и я закрою ее. И давайте теперь настроим отношения.
Итак, мы переходим к инструментам базы данных, нажимаем на отношения, это диаграмма, которую мы нарисовали ранее. Теперь нам нужно показать другую таблицу, поэтому мы нажимаем «Показать таблицу». Мы хотим показать актера, и мы хотим показать MovieActor. Закрыть снова. Теперь вы можете расположить эти блоки, представляющие эти таблицы, как вам угодно. Вы просто перетаскиваете их за заголовки. Обычно я стараюсь расположить их таким образом, чтобы их было легко прочитать в отношениях. Вы могли бы поставить, например, стол для кино здесь дважды, если бы захотели. Ничто не мешает вам иметь один и тот же стол несколько раз. Но хотя эта база данных еще не особенно сложна, давайте просто остановимся на одной таблице фильмов, и что нам действительно нужно сделать сейчас, так это сделать ссылку от фильма к MovieActor, которая будет идентификатором фильма к фильму, ссылочной целостностью да, нажмите «Создать». А затем ссылка от актера, идентификатор актера к актеру, обеспечение ссылочной целостности, Создать. Итак, мы определили наши следующие отношения.
Теперь мы собираемся ввести некоторые данные, относящиеся к этим новым отношениям, но позвольте мне сейчас указать вам кое-что об этом, один из способов чтения этой диаграммы, который, я думаю, помогает. Если вы посмотрите на таблицу актеров здесь и на строку MovieActor, то вы увидите, что для одного актера, поэтому для каждого актера есть много записей киноактеров. Таким образом, актер может быть во многих из этих записей MovieActor. Каждая запись MovieActor для этого актера представляет один из фильмов, в которых он снимается. Таким образом, у актера есть бесконечное количество фильмов. На самом деле это означает, что у актера много фильмов. Но этот конец, когда вы смотрите на него из киностола, говорит о том, что на киностоле много актеров. Итак, один фильм — много актеров, один актер — много фильмов, вот как это работает.
Давайте закроем диаграмму отношений, сохраним изменения и перейдем к таблице акторов. Давайте просто откроем его, найдем актера, Уилл Смит — актер номер шесть, и установим запись MovieActor. Откройте его, номер фильма, который у нас был раньше, был шесть на День Независимости, номер актера по совпадению — актер номер шесть, а сыгранная роль была капитаном, я просто сделаю эту колонку немного шире, чтобы вы могли видеть все это, и вот у нас есть первый актер в фильме и роль, которую он сыграл в этом фильме. Итак, позвольте мне привести еще один пример. Актер, актер Ингрид Бергман, это актер номер четыре. Давайте вернемся к кино, Касабланка номер пять, MovieActor, фильм номер пять, актер номер четыре, и роль Ильзы Лунд. Именно такую роль сыграла Ингрид Бергман в «Касабланке».
Теперь, надеюсь, вы получили общее представление о том, как работают эти отношения, но вы, вероятно, также смотрите на это и думаете, что на самом деле это довольно сложно отслеживать, не так ли? Потому что вам нужно беспокоиться обо всех этих цифрах. Ну, в этой базовой форме это правда, но, как мы узнаем через некоторое время, особенно когда мы начнем подробно рассматривать формы, существуют различные способы сделать весь этот процесс намного проще. Но важно знать, что происходит под капотом или, как вы говорите в Великобритании, под капотом. Важно понимать, как работает эта связь, но есть способы сделать все это намного проще в использовании, и это то, что мы рассмотрим чуть позже в ходе курса.
Итак, пришло время для следующей работы. Я хочу, чтобы вы взяли это, что в настоящее время является примером-03 в предоставленных файлах, и я хочу, чтобы вы удостоверились, что у нас есть данные, по крайней мере, по одному актеру для каждого фильма и по крайней мере один фильм для каждого актера. Таким образом, каждый актер должен быть хотя бы в одном фильме, и в каждом фильме должен быть хотя бы один актер. Возможно, вам придется добавить актера. Возможно, вам потребуется добавить фильм. Я оставлю это на ваше усмотрение. И ответом на это будет пример-04, но в дополнение я бы хотел, чтобы вы добавили значения жанра для каждого из фильмов, которые есть в этой версии базы данных. Сейчас у большинства из них вы можете получить три-четыре значения жанра, вероятно, просмотрев IMDB. То, что они точны, особого значения не имеет. Более важно, чтобы вы понимали, как работает механизм MovieGenre.
Вот и все в этом разделе. Увидимся в следующем.
Саймон Колдер
Крис «Саймон» Колдер работал руководителем проекта в области информационных технологий в одном из самых престижных культурных учреждений Лос-Анджелеса, LACMA.