База данных MS SQL Server. Создание связи между таблицами

  1. содержание
  2. выполнение
  3. 2. Создание / подключение базы данных
  4. 3. Поля ID_Source и ID_Emission
  5. 4. Установление связи между таблицами
  6. 4.2. Установление первичного ключа (Primary Key) в таблице Source
  7. 4.3. Создание связи между таблицами по полю ID_Source
  8. 4.4. диаграмма связи
  9. 5. Программное управление данными

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

содержание

Условие задачи

Задано базу данных Microsoft SQL Server. База данных размещается в файлах "MyDatabase.mdf" и "MyDataBase.ldf". Скачать архив с готовыми для работы файлами базы данных можно здесь .

В базе данных заданы две таблицы с именами Source и Emission. Таблица Source определяет источник загрязненных выбросов. Таблица Emission определяет время выбросов и количество загрязненных выбросов, которые были сформированы источником.

Структура таблиц следующая.

Таблица Source.

Таблица Source

Таблица Emission

Таблица Emission

Используя средства системы Microsoft Visual Studio необходимо реализовать связь (отношение) "один ко многим" между таблицами Source и Emission за полем ID_Source.

выполнение

1. Загрузка Microsoft Visual Studio

Скачать систему визуальной разработки приложений Microsoft Visual Studio.

2. Создание / подключение базы данных

На этом этапе нужно подключить (или создать) готовую базу данных "MyDataBase.mdf", которая состоит из двух файлов:

  • файл "MyDataBase.mdf";
  • файл "MyDataBase.ldf".

Архив с файлами можно загрузить здесь .

После подключения окно Server Explorer будет выглядеть, как показано на рисунке 1.

Рис Рис. 1. Окно Server Explorer после подключения базы данных "MyDataBase.mdf"

3. Поля ID_Source и ID_Emission

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

Поле ID_Source таблицы Source является первичным ключом.

Детальный пример создания уникального поля, которое является счетчиком, описывается в статье:

4. Установление связи между таблицами
4.1. Снятие опции "Prevent saving changes that require table re-creation"

По умолчанию система MS Visual Studio запрещает сохранение изменений, требующих повторного создания таблиц.

Чтобы разрешить вносить изменения в таблицы нужно настроить (снять выделение) опцию

Prevent saving changes that require table re-creation

Для этого нужно выполнить следующую последовательность шагов:

  • перейти в меню Tools главного меню MS Visual Studio;
  • в меню Tools выбрать команду "Options ...". В результате откроется окно "Options" (рисунок 2);
  • в левой части окна "Options" последовательно раскрыть вкладки "Database Tools» -> «Table and Database Designers" (рисунок 2);
  • выбрать элемент "Table and Diagram Options". В результате в правой части окна активируется группа элементов "Table Options";
  • в группе "Table Options" снять отметку с опции "Prevent saving changes that require table re-creation" (рисунок 2) и подтвердить выбор (кнопка OK).

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

Рис Рис. 2. Опция "Prevent saving changes that require table re-creation"

4.2. Установление первичного ключа (Primary Key) в таблице Source

Как видно из структуры таблиц (рисунок 1) общим для таблиц есть поле ID_Source. Связь между таблицами будет осуществляться за этим полем.

В таблице Source нужно установить поле ID_Source как "Первичный ключ" (Primary Key).

Чтобы установить первичный ключ нужно выполнить следующие действия:

  • перейти в режим редактирования таблицы Source выбором команды "Open Table Definition" (рисунок 3). Откроется окно редактирования таблицы;
  • сделать клик правой кнопкой "мыши" на строке ID_Source и в контекстном меню выбрать команду "Set Primary Key". В результате поле ID_Source будет обозначено как поле, которое является первичным ключом (рисунок 5);
  • сохранить и закрыть таблицу Source.

Рис Рис. 3. Команда "Open Table Definition"

Рис Рис. 4. Установление первичного ключа в таблице Source

Рис Рис. 5. Поле ID_Source в таблице Source после установления первичного ключа

В таблице Emission не обязательно устанавливать первичный ключ.

4.3. Создание связи между таблицами по полю ID_Source

Для создания связей между таблицами используется элемент "Database Diagrams" базы данных "MyDataBase.mdf". Чтобы создать связь между таблицами нужно выполнить следующие действия:

  • с помощью клика правой кнопкой "мыши" вызвать контекстное меню (рисунок 6). В меню выбрать команду "Add New Diagram". В результате, база данных создаст пустую диаграмму. Будет выведено окно "Add Table" добавление таблиц в диаграмму (рисунок 7);
  • поочередно выбрать нужные таблицы (Source, Emission) и подтвердить выбор нажатием на кнопке "Add Table";
  • закрыть окно "Add Table".

Рис Рис. 6. Команда добавления новой диаграммы

Рис Рис. 7. Окно "Add Table" добавление таблиц в диаграмму

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

Рис Рис. 8. Таблицы Source и Emission

Чтобы начать устанавливать отношения между таблицами, надо сделать клик на поле ID_Source таблицы Source, а затем (не отпуская кнопку мышки) перетащить его на поле Source таблицы Emission.

В результате последовательно откроются два окна: Tables and Columns (рисунок 9) и Foreign Key Relationship (рисунок 10), в которых нужно оставить все как есть и подтвердить свой выбор на кнопке OK.

В окне "Tables and Columns" есть такие поля (рисунок 9):

  • поле "Relationship name". В этом поле задается имя объекта символизирует соединение (отношение) между таблицами. С помощью этого объекта (имени) можно управлять некоторыми свойствами связи (отношения). В нашем случае соединения (отношение) называется FK_Emission_Source;
  • поле "Primary key table:". Это поле задает таблицу, первична по отношению к другой таблицы. В нашем случае первична таблица Source. Поле, служит первичным ключом, таблицы называется ID_Source;
  • поле "Foreign key table:" указывает название таблицы (Emission) и поля в таблице (ID_Source), которое является внешним ключом.

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

В окне "Foreign Key Relationship" настраиваются свойства соединения. Можно оставить все как есть.

Рис Рис. 10. Настройка свойств соединения FK_Emission_Source

4.4. диаграмма связи

После создания связи окно диаграммы будет иметь вид, как показано на рисунке 11.

Рис Рис. 11. Вид диаграммы после установления отношения (связи) между таблицами Source и Emission

Как видно из рисунка, конец соединения (отношения), примыкающей к таблице Source выглядит ключа. А конец соединения, примыкающей к таблице Emission имеет вид знака бесконечность ∞.

Это означает, что в таблице Source числовое значение в поле ID_Source может встречаться только один раз. А в таблице Emission числовое значение ID_Source может повторяться (бесконечную количество раз). Таким образом можно представить любую множество уникальных объектов, имеющих свойство повторяться в некоторой предметной области.

После закрытия диаграммы ее нужно сохранить под некоторым именем, например Diagram1 (рисунок 12). Система выдаст соответствующее окно уточнения.

Рис Рис. 12. Задание имени для диаграммы

Также, система может вывести окно сохранения таблиц в базу данных (рисунок 13), поскольку между таблицами уже существует отношение (связь). В этом окне нужно указать "Yes".

Рис Рис. 13. Окно сохранения таблиц в базе данных в связи с изменениями

После выполненных действий диаграмма Diagram1 отобразится в окне Server Explorer (рис. 14). С помощью команд контекстного меню есть возможность управлять диаграммой. Так, например, команда "Design Database Diagram" переводит диаграмму в режим редактирования, в котором можно изменять связи между таблицами базы данных.

Рис Рис. 14. Команда редактирования связей (отношений) между таблицами

5. Программное управление данными

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

Похожие темы

Похожие

База данных по основным подземным водохранилищам
Польский геологический институт - Национальный исследовательский институт как подрядчик по обновлению карты ГЗВП в масштабе 1: 500 000 и главный подрядчик Гидрогеологической карты Польши в масштабе 1: 50 000, по заказу Министерства окружающей среды для разработки темы исследования: Первичная оценка основных подземных водохранилищ (ГЗВП), в аспекте оценки значений потерь накопленной в них воды, цели и порядка введения защитных процедур . Работа проводилась с участием специалистов
Обзор Samsung Galaxy J5 2017 Duos - позитивный сюрприз для меня
Смартфоны серии Galaxy J ассоциируются в первую очередь с низкой ценой, довольно плохими параметрами, и слово, которое часто выпадает в его направлении из уст людей, даже чуть более осознанных и требовательных, называется ... «Мех». между тем Samsung Galaxy J5 2017 Duos Он выглядит великолепно, имеет хороший экран и хорошую камеру, и его рабочее время может приятно
Cubot Rainbow 2 в тесте »Xgadget.de
... id=11&lkid=10604371"> около 80 евро нужно *. В нашем обзоре мы подробнее рассмотрим сильные и слабые стороны устройства, а также протестируем производительность текущих приложений. распаковка Сначала мы начинаем распаковывать Cubot Rainbow 2, устройство любезно предоставлено GearBest и поставляется в типичной упаковке. Фактически упаковочная коробка поставляется относительно простой и сияет своего рода золотым отливом, а логотип CUBOT украшает переднюю часть упаковки.
Как с помощью жеста переключаться между открытыми приложениями в Android Pie
Джек Валлен показывает вам еще более эффективный способ открытия последних приложений на Android Pie. Android Pie выявил больше незначительных улучшений, чем любой другой крупный релиз платформы на сегодняшний день. Все, от эстетических изменений до изменений, в которых пользователи перемещаются по интерфейсу, все с одной целью - сделать Android максимально удобным для пользователя. С этой целью разработчики Android преуспели. И хотя вам может потребоваться мгновение, чтобы привыкнуть
Samsung Galaxy S6 и S6 Edge в тесте
Новый Samsung Android Смартфоны Galaxy S6 и S6 Edge практически идентичны, за исключением изогнутого дисплея и нескольких дополнительных деталей. Таким образом, протокол испытаний относится к обоим устройствам. Запись в статье делает это Samsung Галактика S6 (Edge) идентифицирована. В других именах соответствующие устройства подразумеваются индивидуально. В ходе разработки
Обзор Apple AirPods: когда технологии важнее качество звука
... связи и автоматическое переподключение, причем так случается в ходе длительных бесед. Голос на секунду пропадает, потом появляется с заметными искажениями и фоновым шумом, а через 5 секунд связь полностью восстанавливается. Не критично, но непростительно при стоимости AirPods.
Информация о нас на корпоративных сайтах
К сожалению, хотя большинство сайтов предлагают раздел « О нас », они часто плохо справляются с передачей важной информации, которую он должен содержать. Исследование пользователя: два раунда Чтобы выяснить, как пользователи находят и интерпретируют профили веб-сайтов компаний и организаций, мы провели пользовательское тестирование сайтов, управляемых 63 организациями в пяти основных категориях: Крупные компании, такие как Bristol-Myers
Плоттер VES
GL840 GL840 - удобный, компактный, многоканальный (20-канальный стандарт) рекордер с 7-дюймовым дисплеем. Все каналы взаимно изолированы и изолированы от массы. Проще говоря, вы можете расширить конфигурацию измерительной системы с 20-канального стандарта до максимум 200 каналов. Каждый из измерительных каналов позволяет измерять напряжение / ток (4-20 мА), температуру
LG G2 - практически идеальный смартфон? - Паутина
Прошло две недели, в течение которых у меня была возможность использовать новейший флагман LG, то есть модель G2. У корейского производителя в последнее время все хорошо, но нет сомнений в том, что продажи Nexus имеют большое влияние. Другие смартфоны уже не так хороши? Может ли G2 конкурировать с Galaxy S 4, Xperia Z1 или HTC One? Я уже знаю ответ на эти вопросы Если вы читали мою предыдущую колонку
Скоростные классы SD-карт на практике, или ADATA против SanDisk
Карты памяти набирают новые скоростные классы, в которых рядовой пользователь не может найти свое место. Я решил отсортировать эту номенклатуру по случаю тестирования нового, очень быстрого ADATA Premier Pro SDXC UHS-I с классом скорости U3. Я сравнил его со скоростными картами U1 и Class 6. Краткое введение или как выяснить класс скорости SD-карты были доступны с 1999 года, и с тех пор появилось четыре поколения этих носителей информации, отличающихся
Более гибкое использование объема памяти ПК введение Многие домашние и офисные пользователи зада...
Более гибкое использование объема памяти ПК введение Многие домашние и офисные пользователи задаются вопросом, как увеличить емкость ПК или подключить их к хранилищу NAS. Это довольно просто. После установки QNAP Qfinder Pro в версии для Windows вы можете войти в систему NAS и спланировать использование памяти для ПК. Пользователь

Комментарии

Есть ли разница между ними?
Есть ли разница между ними? Да, но не там, где вы можете ожидать. Стандарт HDMI полон беспорядка. Это правда, что все очень аккуратно описано в таблицах стандартов, но у нас есть много вариаций стандарта HDMI, и все эти вариации относятся к разъему, который в каждой версии выглядит одинаково. Неудивительно, что продавцы электронного оборудования стараются использовать его и проталкивают нам дорогие кабели, которые нам не нужны. Итак, давайте подумаем
И почему Google должен продолжать вести пользователей на страницу в будущем, если достаточно данных указывает на то, что производится много коротких кликов?
И почему Google должен продолжать вести пользователей на страницу в будущем, если достаточно данных указывает на то, что производится много коротких кликов? Google будет больше оптимизация полочного пространства выполнять и сортировать хиты, которые не способствуют удовлетворенности пользователей. Всегда ли отображается окно быстрого щелчка? Интересно, что поле для быстрого щелчка не всегда
В чем разница между Робустой и Арабикой?
В чем разница между Робустой и Арабикой? Выращивание робусты кофе Деревья этого кофе намного больше, чем деревья арабики, а их высота может достигать даже 13 метров. Робуста - это кофе с исключительно устойчивыми к болезням зернами. Эти зерна меньше, чем зерна арабики. Кроме того, они характеризуются бледно-зеленым цветом и бороздой, которая, пробегая зерно, обозначает прямую линию. Семена робусты чрезвычайно устойчивы к изменениям
А как насчет всех этих драматических историй, когда старика обвиняют (буквально или между строк) в том, что он не позаботился о том, чтобы с младшими братьями и сестрами что-то случилось?
А как насчет всех этих драматических историй, когда старика обвиняют (буквально или между строк) в том, что он не позаботился о том, чтобы с младшими братьями и сестрами что-то случилось? Есть случаи, когда он может годами жить с чувством вины, отказываясь от ответственности и воображения ... Если мы хотим, чтобы у моряка были обязанности, пусть он каждый день лучше режет постель, чем брать на себя ответственность за уход за другим ребенком. Это еще не готово. Родители от этого.
На практике, будут ли различия между двумя смартфонами столь же малы, как на бумаге?
На практике, будут ли различия между двумя смартфонами столь же малы, как на бумаге?
Когда происходит бой между KSI и Логаном Полом?
Когда происходит бой между KSI и Логаном Полом? Пара будет бороться в субботу, 25 августа. Он будет проходить на Манчестер Арене. Шоу начнется в 18:00, главное событие должно состояться около 21:30, в зависимости от андеркарты. Звезды YouTube KSI и Логан Пол взвешиваются и сражаются перед дракой на Манчестер Арене

Другие смартфоны уже не так хороши?
Может ли G2 конкурировать с Galaxy S 4, Xperia Z1 или HTC One?
Есть ли разница между ними?
И почему Google должен продолжать вести пользователей на страницу в будущем, если достаточно данных указывает на то, что производится много коротких кликов?
Всегда ли отображается окно быстрого щелчка?
В чем разница между Робустой и Арабикой?
А как насчет всех этих драматических историй, когда старика обвиняют (буквально или между строк) в том, что он не позаботился о том, чтобы с младшими братьями и сестрами что-то случилось?
На практике, будут ли различия между двумя смартфонами столь же малы, как на бумаге?
На практике, будут ли различия между двумя смартфонами столь же малы, как на бумаге?
Когда происходит бой между KSI и Логаном Полом?