Ben bir gıda veritabanı üzerinde çalışan, her besin (yağ, enerji, vitaminler, vb) özelliklerinin bir listesi vardır
These props are composed by 50 different columns of proteins, fat, carbohydrates, vitamins, elements, etc.. (they are a lot)
the number of columns could increase in the future, but not too much, 80 for extreme case
Each column needs an individual reference to one bibliography of a whole list from another table (needed to check if the value is reliable or not).
Kimlikleri düşünün, belirli bir istisna başvuru için bir numara, bir NULL val veya 0 içermelidir (başka bir tabloya işaret eder)
Ben bazı çözüm olsa da var, ama onlar çok farklı eachothers, ve ben db ile bir çaylak değilim, bu yüzden en iyi çözüm konusunda hiçbir fikrim yok.
proteinler olarak değer_1 dikkate vb karbonhidratlar gibi value_2'ye.
Düşündüm (umarım) iyi 2 alternatifler:
(1), bir varchar (? 255) 50 kimlikleri ile kolon, yani böyle bir şey:
column energy (7.00)
column carbohydrates (89.95)
column fats (63.12)
column value_bil_ids (165862,14861,816486) ## as a varchar
etc...
In this case, I can split it with "," to an array and check the ids, but I'm still worried about coding praticity... this could save too many columns, but I don't know how much could be pratical in order to scalability too. Principally, I thought this option usual for query optimization (I hope!)
(2) Bunun için, bu yüzden her bir değeri için bir ek id sütunu kullanılarak:
column energy (7.00)
column energy_bibl_id (165862)
column carbohydrates (89.95)
column carbohydrates_bibl_id (14861)
column fats (63.12)
column fats_bibl_id (816486)
etc...
Bu sütun bir weightful dizi gibi görünüyor, ama çok net sonra ilk başta herhangi bir değer sütun ve onun kimlik ilişkisi için.
(3) değerleri ve bibliyografilerden arkasında ilişkisel bir tablo oluşturma, bu yüzden
table values
energy
carbohydrates
fats
value_id --> point to table values_and_bibliographies val_bib_id
table values_and_bibliographies
val_bib_id
energy_id --> point to table bibliographies biblio_id
carbohydrates_id --> point to table bibliographies biblio_id
fats_id --> point to table bibliographies biblio_id
table bibliographies
biblio_id
biblio_name
biblio_year
Ben bu en iyi çözüm olup olmadığını bilmiyorum, ve birisi ışık getirmek için bana yardımcı olacak eğer ben minnettar olacaktır!