• 29-01-2020, 20:19:31
    #1
    Merhabalar, iyi akşamlar. Üzerinde çalıştığım bir projem var. Bir video paylaşım sitesi. Şuan kodlama aşamasındayım ve işleyiş senaryosu kurma konusunda sorun yaşıyorum. Uzun süredir bu tür projeleri yapmadığım için parçaları birleştiremiyorum 😄

    Sitenin panelinde video ekleme alanı hazırladım. Birden çok kategori seçimini destekleyecek şekilde.

    Şimdi panelde kategori ekleme kısmındayım. Kategori adı ve kategorinin öne çıkan resmi olarak sorunsuz çalışıyor.

    Senaryo kuramadığım kısım tam olarak burada başlıyor. Videolar ve kategoriler adında 2 adet tablom var. Ben sitenin anasayfasında kategorileri listeleyeceğim ve tıkladığım kategoriye göre ilgili videolar ayrı bir sayfada gelecek. Bu iki tabloyu birbirine bağlayıp nasıl bir işlem yapmalıyım? INNER JOIN olayı aklıma geliyor ama devamını gene getiremiyorum. Bu konuda fikir verirseniz sevinirim. Teşekkürler.
  • 29-01-2020, 20:24:56
    #2
    Yapılacak yöntem şu şekilde olmalı;

    videos
    categories
    videos_categories_bounce

    Bir videoyu bir yada birden fazla kategoriye bağlayacaksınız. Videos_categories_bounce tablosunda video_id ve category_id değerlerini girip okuyacağınız zamanda aynı şekilde bounce tablosundan çekmeniz gerekiyor
  • 29-01-2020, 20:25:30
    #3
    Plan program olmadan girişilen projelerde karşılaşılan normal bir durumdur.Kağıt üzerinde biraz çalışırsanız (UML-Flowchart) bu tip problemleri yaşamazsınız. Soruya gelecek olursak gerekli DB altyapısı hazır ise InnerJoin kullanarak o kategori ID değerine sahip videoları getirebilirsiniz şimdilik doğru yoldasınız diyeyim
  • 29-01-2020, 20:26:20
    #4
    Videolara kategori id kaydettirip ilgili sorguyla ilgili kategori videolarını çekebilirsiniz
  • 29-01-2020, 20:36:05
    #5
    Blacksheep adlı üyeden alıntı: mesajı görüntüle
    Plan program olmadan girişilen projelerde karşılaşılan normal bir durumdur.Kağıt üzerinde biraz çalışırsanız (UML-Flowchart) bu tip problemleri yaşamazsınız. Soruya gelecek olursak gerekli DB altyapısı hazır ise InnerJoin kullanarak o kategori ID değerine sahip videoları getirebilirsiniz şimdilik doğru yoldasınız diyeyim
    Cevabınız için teşekkür ederim. O zaman şöyle bir yol izlemeliyim anladığım kadarıyla;

    Her kategoriye belirli bir ID değeri vereceğim. Videoyu kaydederken de belirlediğim ID ile kaydedeceğim. Veriyi çekerken de "SELECT * FROM videolar INNER JOIN kategoriler ON kategoriidsi = videolar.kategoriidsi" gibi bir sorgu kullanmam gerekiyor. Doğru mu anladım acaba?



    CihanAksoy adlı üyeden alıntı: mesajı görüntüle
    Yapılacak yöntem şu şekilde olmalı;

    videos
    categories
    videos_categories_bounce

    Bir videoyu bir yada birden fazla kategoriye bağlayacaksınız. Videos_categories_bounce tablosunda video_id ve category_id değerlerini girip okuyacağınız zamanda aynı şekilde bounce tablosundan çekmeniz gerekiyor
    mertkilic0111 adlı üyeden alıntı: mesajı görüntüle
    Videolara kategori id kaydettirip ilgili sorguyla ilgili kategori videolarını çekebilirsiniz
    Cevaplarınız için teşekkür ederim 😊
  • 29-01-2020, 20:43:18
    #6
    MythDev adlı üyeden alıntı: mesajı görüntüle
    Cevabınız için teşekkür ederim. O zaman şöyle bir yol izlemeliyim anladığım kadarıyla;

    Her kategoriye belirli bir ID değeri vereceğim. Videoyu kaydederken de belirlediğim ID ile kaydedeceğim. Veriyi çekerken de "SELECT * FROM videolar INNER JOIN kategoriler ON kategoriidsi = videolar.kategoriidsi" gibi bir sorgu kullanmam gerekiyor. Doğru mu anladım acaba?







    Cevaplarınız için teşekkür ederim 😊
    Aynen doğru anlamışsınız.
  • 30-01-2020, 05:34:38
    #7
    MythDev adlı üyeden alıntı: mesajı görüntüle
    Cevabınız için teşekkür ederim. O zaman şöyle bir yol izlemeliyim anladığım kadarıyla;

    Her kategoriye belirli bir ID değeri vereceğim. Videoyu kaydederken de belirlediğim ID ile kaydedeceğim. Veriyi çekerken de "SELECT * FROM videolar INNER JOIN kategoriler ON kategoriidsi = videolar.kategoriidsi" gibi bir sorgu kullanmam gerekiyor. Doğru mu anladım acaba?
    yanlis anlama var - bu sekide her video isin sadece 1 kategori secebilirsiniz.
    bir video, birden fazla kategoriye eklenecekse link tablo gerekir (kopru)

    cihan aksoy dedigi sekilde yapmalisiniz

    ornek birakiyorum

    -- Drop table
    
    -- DROP TABLE public.video;
    
    CREATE TABLE public.video (
        video_id int4 NOT NULL,
        link text NULL,
        CONSTRAINT video_pk PRIMARY KEY (video_id)
    );
    
    -- Drop table
    
    -- DROP TABLE public.video_cat;
    
    CREATE TABLE public.video_cat (
        cat_id int4 NOT NULL,
        cat_name text NULL,
        CONSTRAINT video_cat_pk PRIMARY KEY (cat_id)
    );
    
    -- Drop table
    
    -- DROP TABLE public.video_cat_link;
    
    CREATE TABLE public.video_cat_link (
        video_cat_link_id int4 NULL,
        video_id int4 NULL,
        video_cat_id int4 NULL,
        CONSTRAINT video_cat_link_video_cat_id_fkey FOREIGN KEY (video_cat_id) REFERENCES video_cat(cat_id),
        CONSTRAINT video_cat_link_video_id_fkey FOREIGN KEY (video_id) REFERENCES video(video_id)
    );
  • 31-01-2020, 20:22:52
    #8
    Video ve kategorileri baglayan ayri bir tablo oluşturmayı deneyebilirsiniz.

    cat_video_relation isimli tabloda
    ID - cat _id- video_id
    1 | 32 | 56
    2 | 32 | 63
    3 | 21 | 63

    Gibi kategori ve video idlerini eleştirip ona göre çekebilirsiniz. Hem bu sayede 1 video yu borden fazla kategoride de gösterebilirsiniz.