Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mối quan hệ một-nhiều trong MySQL - làm thế nào để xây dựng mô hình?

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

Mỗi Map PHẢI có Area , dưới dạng area_id không rỗng (và là Foreign key trên Area )

Nhưng bạn sẽ không thể (và không mong muốn) có "ít nhất một bản đồ" cho mỗi khu vực.

Một ngày nào đó, bạn sẽ phải tạo một Area . Và nó sẽ không có bất kỳ Map nào vào thời điểm này. Hoặc thực hiện kiểm tra "thường xuyên" để xem các Khu vực không có Bản đồ nào.

Bạn có thể muốn xóa một Area , nếu nó không có Map liên quan nữa , khi bạn xóa một 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. Giá trị giảm trong mysql nhưng không âm

  2. Chọn một mục phù hợp với nhiều thẻ

  3. Giá trị ràng buộc PDO cho câu lệnh MySQL IN

  4. A. * không nằm trong GROUP BY với kết nối trái trên trình tạo truy vấn laravel

  5. Cách chọn mọi hàng thứ n trong mySQL bắt đầu từ n