Bir MySQL veritabanında özyinelemeli bir üst-çocuk ilişkisini temsil etmek istiyorum. category
- subcategory
ilişkisini oluşturmak istiyorum. Bir kategori N alt kategorilere sahip olabilir ve bunların her biri N alt kategorisine vb. Sahip olabilir. Kendisine işaret eden yabancı bir tuşa sahip bir category
tablosunu düşünmeyi düşünüyordum. Bir kategori bir üst düzey kategori ise SQL Veritabanı Tasarımı, öz-ebeveyn-çocuk ilişkisi?
CREATE TABLE `category` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`parent_category` int NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`parent_category`) REFERENCES `category` (`id`)
)
parent_category
Böyle bir ilişkiyi temsil etmenin doğru yolu bu mu? Tasarımımda göz önünde bulundurmam gereken başka şeyler var mı (performans, sorgular ...)?
olası yinelenen [SQL -? Depolamak ve hiyerarşileri gezinmek için nasıl] (http://stackoverflow.com/questions/38801/sql -how-to-store-ve -ateate-hiyerarşileri) –
MySQL'in sınırlı SQL özellikleri nedeniyle, MySQL'de bu şekilde yapmayacağım. Özyinelemeli sorguların eksikliği nedeniyle bu hiyerarşiden veri almak için gerçekten zor bir zamanınız olacaktır. MySQL ile uygulanabilecek farklı bir tasarım için "iç içe geçmiş model" araması yapın –