Как отобразить первичный ключ состоящий из вторичных?

Ссылка скопирована
1 ответ
CREATE TABLE DeviceEvent (     device_id INT,     event_id INT,     PRIMARY KEY (device_id, event_id),     FOREIGN KEY (device_id) REFERENCES Device(device_id),     FOREIGN KEY (event_id) REFERENCES NetworkEvent(event_id) );

CREATE TABLE DeviceEvent ( device_id INT, event_id INT, PRIMARY KEY (device_id, event_id), FOREIGN KEY (device_id) REFERENCES Device(device_id), FOREIGN KEY (event_id) REFERENCES NetworkEvent(event_id) );

Я это делаю чтобы нельзя было создать дубликат для связующих таблиц
Как мне в диаграмме отобразить первичный ключ ?
Я предполагаю сделать так

Как отобразить первичный ключ состоящий из вторичных?

Дополнительно:

Да все правильно .

  • Вот зацени как тут реализованно
    https://egorzimowski.com/2022/05/27/composite-prim...
  • Lutov700, Спасибо за ответ, интересное решение

    Мне тут стало интересно, а это всё вообще соответствует 3 нормальной форме ?

  • Kotorkovsciy, нормализация хороша в идеальном мире с розовыми пони и единорогами.
    про нее надо знать просто в силу образования и понимания как устроены связи.

    но в реальном мире денормализация – сплошь и рядом. иначе сервера кипят.

  • Kotorkovsciy, ваше отношение это Device к Event. Здесь видим только часть реализации этого отношения - техническую таблицу, а для определения соответствия нормальной форме нужно все отношение.
    Если предполагаем, что больше ничего нет, а 2 поля это натуральные ключи, то очевидно соответствие 1 форме, а так как нет неключевых атрибутов, то и 2, и 3.
  • У тебя все правильно

    • bruh
    • Kotorkovsciy, druh
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Мария Код Ответ

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

    Для создания комбинированного ключа в MySQL, например, необходимо использовать команду CREATE TABLE с указанием столбцов и их типов данных, а затем добавить ограничение PRIMARY KEY для комбинированного ключа.

    Пример создания таблицы с комбинированным ключом в MySQL:

    CREATE TABLE users (
        id INT,
        department_id INT,
        PRIMARY KEY (id, department_id)
    );

    CREATE TABLE users ( id INT, department_id INT, PRIMARY KEY (id, department_id) );

    В данном примере, первичным ключом является комбинация столбцов id и department_id. Теперь каждая запись в таблице users будет уникально идентифицироваться по этим двум столбцам.

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

    Например, для выборки данных из таблицы users по первичному ключу (id=1, department_id=2) можно использовать следующий запрос:

    SELECT * FROM users WHERE id=1 AND department_id=2;

    SELECT * FROM users WHERE id=1 AND department_id=2;

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

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно