phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

Mối quan hệ cơ sở dữ liệu sử dụng phpmyAdmin (các khóa tổng hợp)

Giá trị NULL

Nó cũng có nghĩa là mặt hàng sẽ có 5 id bao gồm cả id của nó. Tất cả điều này gây ra giá trị null (dường như là một không lớn, mà tôi có thể hiểu được) bởi vì nếu địa điểm và giá cả là tùy chọn và không được sử dụng trên một mục nhập của bảng mục, tôi sẽ có giá trị null ở đó

Cá nhân tôi nghĩ đây là một tình huống mà NULL các giá trị là hoàn hảo và tôi chắc chắn sẽ không nghi ngờ gì về việc đưa điều này vào thiết kế cơ sở dữ liệu của mình.

Một cách tôi đã thấy những người khác đạt được điều tương tự mà không cần NULL giá trị là tạo bản ghi trong các bảng tùy chọn (vị trí và giá trong ví dụ của bạn) với ID là 0 cho biết không có bản ghi liên quan - nhưng điều này chỉ khiến nhà phát triển ứng dụng phải làm việc nhiều hơn 10 lần để lọc các bản ghi này ra - việc tham gia sẽ dễ dàng hơn FAR và nếu bạn không lấy lại được bất kỳ bản ghi nào, thì không có bản ghi liên quan nào trong bảng tùy chọn.

Chỉ cần nhớ thực hiện LEFT hoặc RIGHT OUTER tham gia nếu bạn muốn trả lại Item bất kể họ có Place hay không hoặc Price được liên kết (bạn sẽ nhận được NULL giá trị trong các cột bảng tùy chọn cho Item không có các bản ghi được liên kết) và một INNER tham gia nếu bạn chỉ muốn Item đó làm có một bản ghi tùy chọn được liên kết.

Phím tổng hợp

Khóa tổng hợp là một khóa trong bảng được tạo thành từ nhiều cột. Nếu mỗi người trong số Person của bạn , Item , PlacePrice tất cả đều có ID (ngay cả khi đó chỉ là một số tự động tăng dần), bạn sẽ không cần khóa tổng hợp - chỉ cần một cột khóa chính trong mỗi bảng và một cột khóa ngoại trong Item bảng cho mỗi bảng liên quan - ví dụ:item_id , person_id , place_id , price_id . Bạn nói rằng Item có ID riêng, vì vậy bạn không cần khóa tổng hợp - chỉ cần khóa chính trên item_id cột.




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. MySQL LEFT JOIN lỗi 1064 khi truy vấn cơ sở dữ liệu Wordpress

  2. Làm cách nào để lấy ra giản đồ db từ MySQL / phpMyAdmin?

  3. PHPMyAdmin của MAMP cho tôi lỗi mysql # 2002

  4. [Docker]:Kết nối PHPMyAdmin với MySQL không hoạt động

  5. Cách đăng nhập phpMyAdmin bằng WAMP, tên người dùng và mật khẩu là gì?