Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?
  • YardımLaravel
  • Veritabanında 1 Tablo'da Birçok Veri Tutmak Mı Yoksa Farklı Tablolara Bölmek Mi?

Merhabalar,

Örnek olarak E-Ticaret sitesinde bir ürünümüz var ve tek kayıt içerisinde 30 dan fazla sütun var.

Bu sütünlar Ürün Adı, Fiyat, Seo Başlık, Açılama, İçerik v.s. diye gidiyor.

Hepsinde çok uzun veriler tabi yok 30 sütunun 5 inde text 25 inde 1 0 gibi veriler tutuluyor yada id'ler var diyelim.

Sizce bunları farklı tablolara mı bölmeli yoksa tek tablodan mı çekilmeli?

Farklı tablolardan kastım ;

Ürün
Ürün_Detay
Ürün_Sıralama

gibi bölünebilir, birde yorumları 30 binden fazla kayıt olabilecek yada 5000 den az kayıt olabilecek bir sistem için cevaplarsanız daha faydalı olacaktır hem ben hemde diğer faydalanacak arkadaşlar için.

iyi geceler..

    byhk44 Sütun sayısı çok diye ayrı tablolara bölünmez.

    1. Bir alan birden fazla satıra ihtiyaç duyuyordur, bu satırlar ile ilişkiler kurulabilecektir, json kısıtlamaları ile uğraşmamak ve rahat joinler yazabilmek için ayrı tablolara bölünür.
    2. Bir alan birden fazla satıra ihtiyaç duyuyordur, çok fazla satır vardır ve sorgu sırasında hepsi istenmiyordur, ayrı tabloya bölünür.
    3. Ana tabloyu birden fazla kaynak tipi kullanıyordur, kaynak tipine özel verileri ayırmak için ayrı tabloya bölünür. users ile admin_details ve customer_details gibi.
    4. Bazı sütunlar çok ama çok nadir kullanılıyordur, üzerlerinde çok basit ve nadir işlem yapılıyordur. SELECT sorgularını rahatlatmak için belki bölünebilir.

    Öteki türlü gereksiz yere joinler ile uğraşmak zorunda kalırsınız. Üstelik maksimum sınırın 4096 (MySQL) olduğunu düşünürseniz bir tablo için 30-40 sütun çok değil. Sadece, SELECT sorgularında ihtiyacınız olan alanları çekmeye özen göstermeniz lazım. Ben 3. madde dışında bölmeye ihtiyaç duymadım.

    Yeterince açıklayıcı oldu teşekkür ederim. Elinize sağlık.