cuốn sách gpt4 ai đã làm

mysql - 数据库设计 : Multiple join tables or one table with identifying 'table' column

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 12:36:24 29 4
mua khóa gpt4 Nike

Tôi đang thiết kế một cơ sở dữ liệu nơi mọi thứ đều có thể được gắn thẻ và tôi có thể muốn chọn mọi thứ bằng một thẻ cụ thể.

Tôi đang đấu tranh với hai lựa chọn sau đây và muốn một số lời khuyên. Nếu có cách nào tốt hơn xin vui lòng cho tôi biết.

Lựa chọn A
Nhiều bảng tham gia "nhiều-nhiều".

tag: id tagmedia: id title src Creationmedia_tags: id media_id tag_idarticle: id title sáng tạo nội dungarticle_tags: id bài viết_id tag_id

Lựa chọn B
Một bảng "tham chiếu nhãn" duy nhất sử dụng cột "Bảng" để xác định bảng nào cần tham gia.

tag: id tagtag_reference: id row_id tag_id tablemedia: id title src Creationarticle: id title sáng tạo nội dung

Tùy chọn B có vẻ thuận lợi hơn từ quan điểm bảo trì, nhưng hãy cân nhắc rằng truy vấn SQL chọn mọi thứ và điều đó không thể thực hiện được nếu không có nhiều truy vấn.

câu trả lời hay nhất

khi sử dụngLựa chọn BBạn không thể đặt khóa ngoại cho các bảng khác. Vì vậy, tôi sẽ chọnLựa chọn Avà tạo bảng cho từng mối quan hệ m:n.

"Lựa chọn B từ góc độ bảo trì" - ​​là một cơn ác mộng. Điều gì xảy ra nếu một bài viết bị xóa? Có cái này hàng_id Tất cả các hàng sẽ vẫn ở trong tag_reference bàn. Bạn luôn cần cập nhật các mục này theo cách thủ công.

Về mysql - thiết kế cơ sở dữ liệu: Nhiều bảng nối hoặc một bảng có cột 'bảng' xác định, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12910275/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress