Một câu hỏi đã có từ lâu đối với tôi là: khi nào tôi lưu trữ dữ liệu (giá trị thực) trong bảng cơ sở dữ liệu và khi nào tôi lưu trữ chúng ngay trong mã?
Sự đồng thuận chưa được nói đến thường là như vậy (*):
Nếu nó là một biến đơn hoặc một cấu trúc đơn giản hoặc một mảng của một vài giá trị, hãy đặt dữ liệu ngay trong mã.
[* sự đồng thuận đã được tranh luận trong các bình luận và câu trả lời, nhưng về cơ bản tôi muốn có một tiền đề để bắt đầu câu hỏi, vì vậy hãy thoải mái thử thách và cải thiện nó ]
Thí dụ:
$number = 44;
$colors = array("blue", "yellow", ... "mauve");
Nếu nó có hàng trăm + hàng dữ liệu cùng loại, hãy sử dụng cơ sở dữ liệu.
Nhưng dường như có một khu vực màu xám; Còn những trường hợp không rõ ràng thì sao? Những cân nhắc và yếu tố nào người ta cần chú ý để đưa ra quyết định?
Ví dụ:
Giả sử công ty của bạn sử dụng 10-15 loại khung động cơ khác nhau có thể được biểu thị là "412T". Bạn có khoảng 30 người trong số họ và họ hiếm khi thay đổi. Bạn có thể tạo bảng DB cho những người đó hoặc mã cứng chúng trong cơ sở dữ liệu. Trong trường hợp này, động cơ là những thứ tĩnh, vật lý không có khả năng thay đổi thường xuyên.
Giữ chúng trong mã khiến chúng phải kiểm soát nguồn, trong đó trong cơ sở dữ liệu, các thay đổi DB thường không được theo dõi. Nhưng việc giữ chúng trong cơ sở dữ liệu sẽ giải phóng mã (tách) khỏi dữ liệu.
Một ví dụ (thực tế) khác mà tôi có thể sử dụng là câu hỏi này của tôi: /programming/26169751/how-to-best-get-the-data-out-of-a-lookup-table (hiện 48 hàng dữ liệu tùy chọn).
global_constants.h
tệp).