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

Dịch các thuộc tính quan hệ từ sơ đồ ER sang SQL

Có, bạn nên tạo một Meeting thực thể đại diện cho mối quan hệ nhiều đến nhiều giữa StudentSupervisor . Trong đó, bạn có thể liên quan đến các bảng đó bằng cách sử dụng các khóa ngoại tương ứng với các bảng tương ứng đó. Trong SQL, nó có thể trông giống như sau:

Create table Meeting {
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
student_id INT NOT NULL,
supervisor_id INT NOT NULL,
//rest of the fields...   
FOREIGN KEY (student_id) REFERENCES Student(id)
FOREIGN KEY (supervisor_id) REFERENCES Supervisor(id)
}

Bạn cũng sẽ làm điều tương tự đối với Supervise giữa ProjectSupervisor . Ngoài ra, bạn có thể sử dụng một thứ gọi là khóa tổng hợp trên Bàn họp của mình, tôi đoán nó phụ thuộc vào sở thích cá nhân, tôi thường làm theo cách này khi đại diện cho nhiều mối quan hệ. Tôi không nói đây là cú pháp bạn sẽ sử dụng, điều đó phụ thuộc vào cơ sở dữ liệu của bạn, đây chỉ là một ví dụ để hướng dẫn bạn đi đúng hướng. Hy vọng nó sẽ hữu ích.

Ngoài ra, đối với sơ đồ của bạn (tôi chỉ đoán đây là dành cho một lớp học), bạn có thể muốn xem xét phần mềm như visio hoặc mô hình trực quan để tạo sơ đồ ER của mình. Mặc dù hầu hết mọi người sẽ có thể hiểu sơ đồ hiện tại của bạn, nhưng đó không phải là mô hình chính xác.

Để giải trí, tôi đã tạo một sơ đồ dựa trên các bảng của bạn:

Bạn muốn có một thực thể giữa SupervisorProject nếu họ là một mối quan hệ nhiều người. Đây được gọi là associative entity . Tôi đã gắn nhãn của mình là SupervisorProject để chúng rõ ràng hơn một chút.

Chỉnh sửa Bỏ qua thực tế rằng Học sinh và dự án là nhiều đối một, đã khắc phục điều đó, xin lỗi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phân tích cú pháp mệnh đề SELECT của các truy vấn SQL thành một mảng PHP

  2. Có thể chèn dữ liệu vào hai bảng khác nhau trong mysql bằng một php truy vấn chèn không?

  3. Cập nhật dữ liệu trong cơ sở dữ liệu MySQL

  4. Tại sao chèn MySQL InnoDB chậm như vậy?

  5. php Mysql Nhóm và Sắp xếp các tin nhắn của người dùng với nhau