Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Relacja jeden-do-wielu w MySQL - jak zbudować model?

create table Area(id int primary key auto_increment, name varchar(100));

create table Map(id int primary key auto_increment, 
                 area_id int not null,
                 name varchar(100),
                 foreign key (area_id) references area(id));

SqlFiddle

Każda Map MUSI mieć Area , jako area_id nie jest null (i jest Foreign key w Area )

Ale nie będziesz w stanie (i nie jest to pożądane) mieć „przynajmniej jedną mapę” dla każdego obszaru.

Pewnego dnia będziesz musiał utworzyć Area . I nie będzie miał żadnej Map w tej chwili.Lub przeprowadzaj „regularne” kontrole, aby zobaczyć obszary bez mapy.

Możesz chcieć usunąć Area , jeśli nie ma więcej powiązanych Map , gdy usuniesz Map .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje mysql JDBC, który będzie respektował fetchSize?

  2. Wyczyść pamięć podręczną zapytań MySQL bez restartowania serwera

  3. Błąd krytyczny:nie można ponownie zadeklarować session_start() w wierszu functions.php 25

  4. Jak używać pól wyboru do pobierania określonych danych z bazy danych

  5. Zrozumienie dziennika audytu ProxySQL