sql >> Databáze >  >> RDS >> Mysql

Má Join tabulka (asociační tabulka) primární klíč? vztah mnoho k mnoha

V čisté 'join' nebo spojovací tabulce budou všechna pole součástí primárního klíče. Podívejme se například na následující tabulky:

CREATE TABLE USERS
  (ID_USER NUMBER PRIMARY KEY,
   FIRST_NAME VARCHAR2(32),
   LAST_NAME VARCHAR2(32));

CREATE TABLE ATTRIBUTES
  (ID_ATTRIBUTE NUMBER PRIMARY KEY,
   ATTRIBUTE_NAME  VARCHAR2(64));

Spojovací tabulka mezi nimi, která umožní mnoha uživatelům mít mnoho atributů, by byla

CREATE TABLE USER_ATTRIBUTES
  (ID_USER NUMBER REFERENCES USERS(ID_USER),
   ID_ATTRIBUTE NUMBER REFERENCES ATTRIBUTES(ID_ATTRIBUTE),
   PRIMARY KEY(ID_USER, ID_ATTRIBUTE));

Někdy se setkáte s nutností přidat do spojovací tabulky neprimární sloupec, ale podle mě je to poměrně vzácné.

Sdílejte a užívejte si.



  1. MySQL - vložte, pokud ještě neexistuje

  2. pomozte mi pochopit now() pro aktuální čas mysql a jeho časová pásma

  3. MySQL Vyberte dotaz, chcete-li skupiny x prvků vrátit v dávkách

  4. Jak vytvořit Rest API s Spring Boot pomocí MySQL a JPA