• 05-03-2016, 18:15:15
    #1
    S.a arkadaşlar...

    Asp.net ile hazırlamaya çalıştığım projede Haber-Blog-Sayfa şeklinde başlıklarım var blog için veritabanını hazırladım;

    -Blog
    +BlogId
    +BlogBaslik
    +BlogEtiket
    +BlogMetaAciklama
    +BlogYazi
    +BlogResim
    +BlogTarih
    +BlogAktif

    Ayrı olarak haber sayfası da yapmak istediğimde veritabanı yapısında tekrardan blog yapısı gibi tablo oluşturmak yerine Blog tablosunu değiştirip şöylemi yapsam dedim;

    -Sayfa
    +SayfaId
    +SayfaBaslik
    +SayfaEtiket
    +SayfaMetaAciklama
    +SayfaYazi
    +SayfaResim
    +SayfaTarih
    +SayfaAktif
    +SayfaKonuId

    -SayfaKonu
    +SayfaKonuId
    +SayfaKonuAdi


    Yani yapmak istediğim blog, haber , normal sayfaları tek bir tabloda tutup SayfaKonuId sine göre eleyip ona göre çekmek Örneğin blog sayfalarını çekmek istediğimde SayfaKonuId=1 blog olsun;

    "Select * From Sayfa where SayfaKonuId=1"

    Böylelikle blog sayfalarını çekmiş olurum diyorum hemde ekstra koddan ekstra tablolardan feragat etmiş olurum? Sizce bu yöntem daha iyi değil mi? Yada öneriniz var mı?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 18:15:15 -->-> Daha önceki mesaj 17:47:05 --

    Yardım edip fikir sunabilecek var mı?
  • 05-03-2016, 23:34:50
    #2
    Güncel
  • 06-03-2016, 16:43:46
    #3
    Yol gösterecek ya da şu şekilde yap yoksa şu sıkıntıları yaşarsın ilerde falan diyecek bir arkadaş fikirlerini sunarsa çok memnun olurum
  • 06-03-2016, 16:50:16
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    istediğin şekilde yapabilirsin başlangıç olarak. ileride satır sayısı ve sorgu sayısı artınca performans iyileştirmeleri için normalizasyon uygulaman gerekecek.

    normalizasyon için tabloları data girişleri sırasında boş alan kalmayacak şekilde mümkün mertebe ayrıştırmalısın. indexlemelerini de düzgün yaparsan performans sıkıntısı yaşamazsın.
  • 06-03-2016, 17:01:30
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    -Blog
    id
    name
    slug
    content
    keywords
    description
    content_type ('blog', 'page')
    active
    created_at
    updated_at

    -Kategori
    id
    name
    slug
    keywords
    description
    content_type ('blog', 'page')
    active
    created_at
    updated_at

    -Kategori Blog İkişkisi (Böylece bir yazı farklı kategorilere girebilir)
    id
    blog_id
    category_id
    created_at
    updated_at

    - Blog Etiket (Etiketleri yönetmek daha kolay olur)
    id
    name
    slug
    created_at
    updated_at

    - Blog Etiket İlişkisi
    id
    blog_id
    tag_id
    created_at
    updated_at

    - Blog Medya İçerikleri
    id
    name
    image
    embed
    type ('image', 'video')
    active
    created_at
    updated_at

    Ben sayfalar ile blogu ayrı tabloya ayırmam. Type diye bir alan açarım toplarım. Tek tabloda böylelikle admin kısmında ayrıca yer açmamam gerek kalmaz. Tek listede toplar orda sadece blog yada sadece sayfaları gör derim. Daha tutarlı olurki Wordpress de böyle yapıyor. Daha da geliştirilebilir. Ben tablo adlarına blog yazdım fakat siz daha kapsamlı bir şey belirleyebilirsiniz.
  • 06-03-2016, 17:14:49
    #6
    LadyArch3r adlı üyeden alıntı: mesajı görüntüle
    -Blog
    id
    name
    slug
    content
    keywords
    description
    content_type ('blog', 'page')
    active
    created_at
    updated_at

    -Kategori
    id
    name
    slug
    keywords
    description
    content_type ('blog', 'page')
    active
    created_at
    updated_at

    -Kategori Blog İkişkisi (Böylece bir yazı farklı kategorilere girebilir)
    id
    blog_id
    category_id
    created_at
    updated_at

    - Blog Etiket (Etiketleri yönetmek daha kolay olur)
    id
    name
    slug
    created_at
    updated_at

    - Blog Etiket İlişkisi
    id
    blog_id
    tag_id
    created_at
    updated_at

    - Blog Medya İçerikleri
    id
    name
    image
    embed
    type ('image', 'video')
    active
    created_at
    updated_at

    Ben sayfalar ile blogu ayrı tabloya ayırmam. Type diye bir alan açarım toplarım. Tek tabloda böylelikle admin kısmında ayrıca yer açmamam gerek kalmaz. Tek listede toplar orda sadece blog yada sadece sayfaları gör derim. Daha tutarlı olurki Wordpress de böyle yapıyor. Daha da geliştirilebilir. Ben tablo adlarına blog yazdım fakat siz daha kapsamlı bir şey belirleyebilirsiniz.
    Teşekkür ederim hocam zahmet edip baya açıklayıcı yazmışsınız
    Bende aynı şekilde tek tablo üzerinden type özelliğini belirtip ona göre verileri çekmek bana daha mantıklı geldi ama daha önceden yapıp tecrübeli kişilerden bir fikir almak istedim olumsuz olumlu yanları hakkında
  • 06-03-2016, 17:32:04
    #7
    imas adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim hocam zahmet edip baya açıklayıcı yazmışsınız
    Bende aynı şekilde tek tablo üzerinden type özelliğini belirtip ona göre verileri çekmek bana daha mantıklı geldi ama daha önceden yapıp tecrübeli kişilerden bir fikir almak istedim olumsuz olumlu yanları hakkında
    Rica ederim. Wordpress, Drupal, Prestashop gibi yapılarla çok ilgilendim. Tüm sistemlerde veritabanı yapısı aşağı yukarı yukarıdaki gibi. Başta böyle ilerlersen ileride çok sorun yaşamazsın.
  • 06-03-2016, 17:47:17
    #8
    @LadyArch3r;

    -Kategori Blog İkişkisi (Böylece bir yazı farklı kategorilere girebilir)
    id
    blog_id
    category_id
    created_at
    updated_at

    bu kısımda kafam karıştı. Yeni konu ekleyeceğimde blog tablosuna ekliyorum pki burda blog kategori ilişki tablosunada ayrı olarak insert yapmam mı gerekiyor. Bu işin mantığı nasıl oluyor?
  • 06-03-2016, 19:14:17
    #9
    imas adlı üyeden alıntı: mesajı görüntüle
    @LadyArch3r;

    -Kategori Blog İkişkisi (Böylece bir yazı farklı kategorilere girebilir)
    id
    blog_id
    category_id
    created_at
    updated_at

    bu kısımda kafam karıştı. Yeni konu ekleyeceğimde blog tablosuna ekliyorum pki burda blog kategori ilişki tablosunada ayrı olarak insert yapmam mı gerekiyor. Bu işin mantığı nasıl oluyor?
    -Kategoriler
    1 Genel
    2 Teknoloji
    3 Seo
    4 Veritabanı
    5 Yazılım

    diye kategoriler olduğunu var sayalım.

    Bir yazı yazdık. Genel, Teknoloji ve Vertabanı kategorisine sokmak istiyoruz yazıyı. Yani yazı birden fazla kategori içerebilir.

    Yazımızın id si de 33 olsun. Bunu kategori ilişki tablosuna

    Kategori İlişki
    33
    1
    ___
    33
    2
    __
    33
    4

    diye kayıt edeceksin.

    Daha sonra kategorilerle ilgili yazıları çekerken joın ile bu tablodan o yazıları çekeceksin.