verimli birçok kategoride ve birçok özellikleri ile veri saklamak için nasıl?

3 Cevap php

Biz, örneğin, pek çok özellikleri ile birçok kategoride veri çok sayıda var

category 1: Book

properties: BookID, BookName, BookType, BookAuthor, BookPrice

category 2: Fruit

properties: FruitID, FruitName, FruitShape, FruitColor, FruitPrice

Biz kitap ve meyve gibi birçok kategoriler var. Açıkçası biz kaç tanesi (MySQL gibi) için tablolar, ve her bir kategoriyi bir tablo oluşturabilirsiniz. Ama bu çok fazla tablo oluşturmak zorunda olacak ve biz manipüle verileri birleştirmek için birçok "adaptörleri" yazmak zorunda.

Zorluklar şunlardır:

1) Her kategori farklı özelliklere sahiptir ve bu başka bir veri yapısı ile sonuçlanır.

2) Her categoriy özellikleri her zaman değiştirilebilir gerekebilir.

3) Sabit verileri işlemek için eğer her kategori bir tablo (çok tablolar)

Nasıl veri bu tür saklamak?

3 Cevap

Tanımı Tablolar ve Veri Tabloları: iki bölüme veritabanı ayırabilirsiniz. Temelde tanımı Tablolar (bazı XML temsil eğer tanım tabloları daha şık olduğunu söyleyebilirim) gerçek veri depolanan Veri Tabloları yorumlamak için kullanılır.

Aşağıda ortaya çıkmaktadır.

Definition Tables:

TABLE class  
class_id (int)  
class_name (varchar)

TABLE class_property  
property_id (int)  
class_id (int)  
property_name (varchar)  
property_type (varchar)  

Data Tables:

TABLE object  
object_id (int)  
class_id (varchar)  

TABLE object_property  
property_id (int)  
property_value (varchar) 

Aynı zamanda daha kolay veri Katman verileri üzerinde çalışmak için yapmak amacıyla yapısını yorumlamak için ek bir katman oluşturabilir eğer iyi olurdu. Ve tabii, vb dikkate performans, sorgu kolaylığı, içine almalıdır

Sadece benim iki sent, ben herhangi bir yardım olabilir umuyoruz.

Saygılar.

Bu soruya ve diğer benzer olanlar tarafından tetiklenen, ben bir grafik veritabanı kullanarak bu tür durumlarda nasıl bir blog post yazdı. Kısacası, grafik veritabanları "nasıl tablo içine bir ağaç / hiyerarşi zorlamak" Bunun için sadece gerek var gibi sorun yok: olduğu gibi sizin ağaç yapısını saklamak. Onlar her şeyi en iyi değil (örneğin gibi raporlar oluşturarak) ama bu grafik veritabanları parlayacak bir durumdur.