Ben normalize veritabanları ile geliyor tutar bir sorun var ve en iyi çözüm arıyordu.
Ben bir albüm bilgileri veritabanı var herhalde. Ben bir normalize moda kurulum şema istiyorum, bu yüzden kurulum iki tablo - albümleri, albüm içerdiği tüm şarkıları listeler tek her albüm için liste ve şarkıları vardır.
albums
------
aid
name
songs
-----
aid
sid
length
Bir albüm şarkı herhangi bir sayı içerebilir gibi bu kurulum, normalleştirilmiş bir şekilde veri depolamak için iyidir. Ancak, sezgisel bir şekilde veri erişim artık çok daha zor hale gelmiştir. Sadece tek bir albüm üzerinde bilgi kapmak sorgu basit, ama nasıl bir zamanlar tek bir sorguda birden fazla albüm kapmak mı?
Şimdiye kadar, ben ile geldi iyi cevabı yardımı ile gruplama ve diziler gibi şarkılar bilgisini dönüştürmektedir. Örneğin, sonuç bu gibi bir şey olacaktır:
aid, sids, lengths
1, [1, 2], [1:04, 5:45]
2, [3, 4, 5], [3:30, 4:30, 5:30]
Ben verilerle çalışmak istiyorsanız, o zaman bir anlamsız egzersiz gibi görünüyor SID ve uzunlukları, ayrıştırmak zorunda: Ben sadece bunları daha sonra ayırmak için db değerleri bir demet bağlamak yapıyorum.
Sorum: şemanın bu tür bir veritabanına erişmek için en iyi yolu nedir? Birden diziler ile şaşırıp? Ben yerine birden diziler sahip, tek bir diziye bir nesne ve daha sonra bu şarkıları bir şarkının bilgilerinin tamamını saklamak gerekir? Veya resultset (sonsuz katılmak çeşit), şarkı N sayısını karşılamak için sütun keyfi bir sayı ekleyerek bir yolu var mı? Ben en iyi veri erişim konusunda herhangi bir fikir açığım.
Bu sorguları sık sık çalıştırmak olacak gibi ben de verimlilik konusunda endişeliyim.
Herhangi bir fark yaparsa, ben bir PHP ön uç ile birlikte bir PostgreSQL db kullanıyorum.