MySQL - Lưu trữ kho nhân vật


7

Cách tốt nhất để lưu trữ kho đồ của nhân vật (bao gồm mỗi vật phẩm có giá trị về loại và số lượng). Phương pháp duy nhất tôi có thể nghĩ đến là sử dụng loại trường "văn bản" sau đó phân tích giá trị từ đó bất cứ khi nào hàng tồn kho được tải. Có một phương pháp hay cấu trúc dữ liệu tốt hơn?


bạn có thể đưa ra một overveiw về trò chơi của bạn? nó sẽ dựa trên trình duyệt hay sẽ có ứng dụng khách? Có bao nhiêu khách hàng có thể kết nối với máy chủ của bạn? ngôn ngữ nào bạn đang sử dụng phía máy chủ?
Ali1S 232

3
Tôi muốn nói "văn bản" là sự lựa chọn tồi tệ nhất. Xây dựng mối quan hệ giữa các bảng "vật phẩm" và "người chơi" ... nói chung, điều này có thể được hỏi tốt hơn tại: dba.stackexchange.com
bummzack

Cảm ơn vì lời khuyên. Tôi đã không biết về dba.stackexchange.com - rõ ràng đó sẽ là một lựa chọn tốt hơn!
jSherz

Câu trả lời:


6

Đọc lên thiết kế cơ sở dữ liệu tiêu chuẩn. Cụ thể hình thức bình thường hóa. Một cách tiếp cận sẽ có 3 bảng:

ký tự có character_id và dữ liệu khác

các mục có item_id và dữ liệu khác (tên, trọng lượng, v.v ...)

hàng tồn kho có character_id, item_id, số lượng.

Khoảng không quảng cáo của người chơi có thể được biểu thị dưới dạng "CHỌN vật phẩm. Đặt tên cho vật phẩm, khoảng không quảng cáo WHERE Invent.character_id = 'THECHARSID'" Tất nhiên dựa trên các câu hỏi khác của bạn, tôi rất có thể đề xuất sử dụng ORM xử lý việc này cho bạn. Nhìn vào Mối quan hệ và backrefs trong một cái gì đó như SQLAlchemy.

Nếu bạn cần khái niệm về khoảng không quảng cáo, thì đó là một cột khác trong bảng kho. (IE: Ký tự 32423 có một loại 832 trong khe 0 (Khe đầu)) Nếu mỗi mục có chỉ số duy nhất (Độ bền / nâng cấp) Sau đó, bạn có thể làm một cái gì đó như bảng vật phẩm chứa dữ liệu cụ thể của vật phẩm và có liên kết đến một cột item_base xác định các số liệu thống kê cơ sở mà tất cả các mục thuộc loại đó có điểm chung.


Cảm ơn đã giúp đỡ. Tôi sẽ xem xét ORM và SQLAlchemy.
jSherz

2
Nếu bạn vẫn quyết định sử dụng sản phẩm máy chủ SQL nào, hãy xem PostgreQuery (nguồn mở và miễn phí, nơi có cộng đồng tập trung nhiều hạt tối ưu hóa ) - vì bạn có thể cần phải có nhiều máy chủ, có lẽ bạn sẽ thấy thú vị khi biết rằng PostgreSQL hiện có các tính năng sao chép tích hợp và rất phù hợp để xử lý các cơ sở dữ liệu lớn trong môi trường có nhu cầu cao trong một thời gian dài: postgresql.org
Randolf Richardson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.