Есть ли разница между объединениями и таблицами ссылок по верстаку или это одно и то же? - PullRequest
0 голосов
/ 24 февраля 2019

Здравствуйте, я начал изучать C # и MySQL, и я пытаюсь создать 2 или более таблиц для соединения друг с другом, чтобы сформировать реляционную базу данных.

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

Я запутался в некоторых ключевых понятиях, которые не очень хорошо объяснены.Например, разница между объединениями и ссылочными таблицами в WorkBench.

Как они работают?Это одно и то же?Используется ли WorkBench только для создания шаблона проектирования для базы данных?

Когда я говорю «Внешний ключ» и «Первичный ключ» и соединяю их, это рассматривается как объединение или это совершенно другая концепция и по-разному используется?

1 Ответ

0 голосов
/ 24 февраля 2019

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

Первичный ключ уникально идентифицирует строки в данной таблице.

A Внешний ключ обозначает первичный ключ в другой таблице.

A Присоединение - это способ полученияданные из нескольких таблиц.

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

Например:

Таблица User

CREATE TABLE User(
    userId INT PRIMARY KEY,
    username VARCHAR(40)
);

Таблица Post

CREATE TABLE Post(
    postId INT PRIMARY KEY,
    postContents VARCHAR(max)
);

Таблица UserPost

CREATE TABLE UserPost(
    userId INT FOREIGN KEY REFERENCES User(userId),
    postId INT FOREIGN KEY REFERENCES Post(postId)
);

Таблица UserPost будет «таблицей ссылок», которая связывает вместе таблицы User и Post, чтобы указать, сколько сообщений может иметь любой пользователь.

Затем можно найти все сообщения данного пользователя с SQL-запросом, как показано ниже, используя UserPost - ссылку вместе User иPost

SELECT u.username, p.postContents FROM User u
  JOIN UserPost up ON up.userId = u.userId
  JOIN Post p ON up.postId = p.postId

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

...