farklı içerik ile concatı masaları

0 Cevap php

Şu anda PHP ve MySQL kullanarak yayıncılık hikayeler için küçük bir web uygulaması inşa ediyorum. Her hikaye ya (alanlar ve veri dolu) bir yazı, sadece bir köprü / url, sadece bir görüntü, ya da belirli özelliklere sahip bir indirilebilir dosya (bir kez daha alanları sürü ile) olabilir.

Benim sorunum sistemi için en uygun veritabanı düzenini bulma ilgilidir. Ben yaklaşık 3 farklı çözümler düşündüm ki olabilir veya (alanların veri veritabanında saklanır ya da gerekip gerekmediğini ile yakalandı alamadım, sadece örnek) çalışmayabilir:

1) Her bir türü için bir tablo yapma ve sadece BİRLİĞİ onları. Örn:

articles
id | date | title | author | preview | last_edited | category | content

hyperlinks
id | date | title | author | url

pictures
id | date | title | author | thumbnail | fullimg

files
id | date | title | author | filetype | filename | filecontent

Her alanda tek tek tablolar ve bireysel satırdan bir satır eklenir böyle bir şekilde bu CONCAT bir SQL deyimi yapmak mümkün mü kendi türü olan tablo, gelen bağlı olan "etiketli" nedir? Yoksa (3-4 alan her tablo için aynı olacak) sadece ortak alanlar için ve her satır için ayrı aramalarını razı olmak zorunda mı?

2) türüne bağlı olarak doğru bir tablo ve satır başvuran indeks tablonun çeşit yapma?

index
id | type | title | date | referenceid -> either articles, hyperlinks, pictures or files depending on the "type" field.

Bu yabancı anahtarları kullanarak, bir şekilde mümkün mü? Hiçbir şüpheli, ama sen ve MySQL yapamazsınız gerçekten emin değil.

3) birinde TÜM türleri ve aynı tabloda TÜM alanları var ve sadece (dağınık görünür beri ben bu çözüm gibi gerçekten yok) özgü alan Nullable olun.

Herhangi bir fikir?

Ben tip çeşit bağlı olarak farklı varlık türleri / alanlara başvurular sorunuyla karşılaşmış ilk kişi olamaz sanıyorum.

Fikirler çok takdir edilmektedir.

0 Cevap