Birçok kez biz ben gibi aynı veritabanındaki diğer sorunları çözebilir bu bir kategori tasarımınınKategori ağacı DB tasarımı ne kadar verimli?
car(id, tag, year, make_category_id, model_category_id)
category (id, name, description, parent_category_id) //this works like a tree
ile bu çözmeye çalışıyorum
car(id, tag, year, make_id, model_id)
make(id, name)
model(id, name, make_id)
bu senaryoyu bulundu normalleştirmek zaman:
Bu nedenle, tüm kategorileri aynı tabloya yerleştirmek bana bir ağaçta süresiz olarak kategori oluşturma esnekliği verir, ancak sorum s: Bu yaklaşım ne kadar etkili? Teşekkür
Bu Erişim dbm için değil ama formlara Combo kutuları doldurmak erişimde SQL hızlı testini çalıştırın. içinde
SELECT c.name AS Category, category.name AS Subcategory, category.id
FROM category AS c INNER JOIN category ON c.id=category.parentcategory
WHERE c.[name]='Vehicle';//CB populated with subcategories from Vehicle parent category
ve açılan kutu modeli: Birlikte yapmak açılan kutu doldurulan araç için bir formda
SELECT c.name AS Category, category.name AS Subcategory, category.id
FROM category AS c INNER JOIN category ON c.id=category.parentcategory
WHERE c.[name]='Email';//CB populated with subcategories from Email parent category
: E-posta yoluyla temas ben nüfuslu-posta türü açılan kutu için bir formda
Aynı araç formu ile dolduruldu:SELECT c.name, c.id
FROM category AS c
WHERE (((c.parentcategory)=[Forms]![Car]![Combo38]));//CB populated with subcategories from Make selected parent category
Kişisel tasarımı özellikle verimli ve bazı veritabanlarında oldukça zor değildir:
iyi bir başlangıç olarak, burada SimpleTalk sitesinde Phil Factor tarafından konuyla ilgili bir makale. Yalnızca ebeveyn yerine, kategorilerin tam yolunu ekleyin. Bu çok daha verimli. –
@GordonLinoff: Deneyimlerim sırasında (bu model için gerekli olan) yinelemeli sorgular oldukça verimlidir - ya da en azından tüm kullanım durumlarım için yeterince verimli. Tam yolu depolamak, hiyerarşiyi _update_ yapmanız gerektiğinde, aslında ** çok ** verimsizdir. [Http://modern-sql.com/slides] [http://modern-sql.com/slides] destekleyici olan DBMS _not_ istisnasıdır, günümüzde kural değil –
Modeli anlıyorum, ama sorunun ne olduğunu açıklamıyorum ...? –