Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » Veritabanları » Arkadaşlık Forumu Database Dizaynı


Veritabanları MySQL , MSSQL, SQL, Access, Oracle

Yanıt
 
LinkBack Seçenekler
Old 26.08.2007   #1 (permalink)
perplex
 
perplex's Avatar
 
Üyelik Tarihi: 03.01.2007
Yer: istanbul
Yaş: 28
Mesaj: 166
Arkadaşlık Forumu Database Dizaynı

Merhaba,

Bir arkadaşlık sitesinde arkadaş listesi oluştururken db dizaynını nasıl yapmalıyım? Üyeler arkadaş olmak istedikleri üyeye talep göndericekler o şekilde kabul edilirse arkadaş olabilecekler.

Üyeler tablosunda arkadaşlarım,talep ettiklerim, talebimi isteyenler gibi 3 ayrı sütun açıp buraya ilgili id'leri virgüllerle yazmak geldi aklıma ama sanki daha pratik bir yöntemi var.
perplex şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 26.08.2007   #2 (permalink)
meteryus
 
meteryus's Avatar
 
Üyelik Tarihi: 26.12.2005
Yer: feza
Yaş: 27
Mesaj: 173
Görsel: 11
Re: Arkadaşlık Forumu Database Dizaynı

o üç ayrı sütunu kapsayan yeni bir tablo oluşturun bu tablodaki extra bir bölüm ile kullanıcılar tablosu ile ilişkilendirin.

tablo : arkadaş listesi
-------------------------------------------------------------------------
id | talep ettiklerim| talebimi isteyenler | arkadaşlarım | kullanıcı

gibi.
__________________
meteryus.com // geri döndü
meteryus şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 26.08.2007   #3 (permalink)
perplex
 
perplex's Avatar
 
Üyelik Tarihi: 03.01.2007
Yer: istanbul
Yaş: 28
Mesaj: 166
Re: Arkadaşlık Forumu Database Dizaynı

Alıntı:
meteryus tarafından gönderilen mesaj: Mesajı Görüntüle
o üç ayrı sütunu kapsayan yeni bir tablo oluşturun bu tablodaki extra bir bölüm ile kullanıcılar tablosu ile ilişkilendirin.

tablo : arkadaş listesi
-------------------------------------------------------------------------
id | talep ettiklerim| talebimi isteyenler | arkadaşlarım | kullanıcı

gibi.
ama id leri virgüllerle peşpeşe yazma mantığı aynı yine. başka bi yöntem varmıdır acaba. her seferinde id'leri explode/split edip arrattırmak zaman harcatıcakmış gibi geliyor.
perplex şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 26.08.2007   #4 (permalink)
meteryus
 
meteryus's Avatar
 
Üyelik Tarihi: 26.12.2005
Yer: feza
Yaş: 27
Mesaj: 173
Görsel: 11
Re: Arkadaşlık Forumu Database Dizaynı

neden idleri peş peşe virgülle ayırarak yazman gerektiğini anlamadım ? bu tabloya dolu olması gereken her bölüm için bir satır ekle, kullanıcı kısmına da kullanıcının idsini yaz.
__________________
meteryus.com // geri döndü
meteryus şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 26.08.2007   #5 (permalink)
perplex
 
perplex's Avatar
 
Üyelik Tarihi: 03.01.2007
Yer: istanbul
Yaş: 28
Mesaj: 166
Re: Arkadaşlık Forumu Database Dizaynı

Alıntı:
meteryus tarafından gönderilen mesaj: Mesajı Görüntüle
neden idleri peş peşe virgülle ayırarak yazman gerektiğini anlamadım ? bu tabloya dolu olması gereken her bölüm için bir satır ekle, kullanıcı kısmına da kullanıcının idsini yaz.
sanırım ayrı id'lerden bahsediyoruz .)

bir örnek verim: mesela benim id'im 24 , 5 tane arkadaşım 2 arkadaşlık teklifim bana yapılan da 3 arkadaşlık teklifi var o halde arkadaslar tablosu

id kullanıcıid arkadaslar talep_ettiklerim talebimi_isteyenler
---- ------------- ------------- ------------------- -----------------------
1 24 12,20,21,34,45 54,64 30,55,76

vs. şeklinde olcak.

ben bu şekilde anladım yanlış anlamadıysam. ama işte mesela arkadaşlık talebim onaylandığında array'i ayıklayıp talep sütunundaki id 'yi arkadaş sütünuna almak kasıcakmış gibi geliyor. daha kolay bir yolu varmı onu arıyorum.
perplex şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 26.08.2007   #6 (permalink)
meteryus
 
meteryus's Avatar
 
Üyelik Tarihi: 26.12.2005
Yer: feza
Yaş: 27
Mesaj: 173
Görsel: 11
Re: Arkadaşlık Forumu Database Dizaynı

id | kullanıcıid | arkadaslar | talep_ettiklerim | talebimi_isteyenler
1 | 24 | 32 | |
1 | 24 | 11 | |
1 | 24 | 43 | |
1 | 24 | 23 | |
1 | 24 | | 323 |
1 | 24 | | 123 |
1 | 24 | | | 33
1 | 24 | | | 221
1 | 24 | | | 321
1 | 24 | | | 11

ben bu şekilde düşünmüştüm (tabi forumda boşluklar çıkmadığı için biraz karmaşık göründü ) ama bu şekilde mesela "SELECT talebimi_isteyenler FROM tablo WHERE kullaniciid=24" gibi sorgularla verilere ulaşabilirsiniz.
__________________
meteryus.com // geri döndü
meteryus şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 27.08.2007   #7 (permalink)
emreyuce
 
Üyelik Tarihi: 25.08.2007
Yer: Ankara
Yaş: 23
Mesaj: 11
Re: Arkadaşlık Forumu Database Dizaynı

Merhaba,

Forumda ilk mesajım

Bence üyeler tablosunu ve talep tablosunu ayırmalısın. @meteryus'un söylediği de bu sanıyorum. Yani "üyeler" tablosunda id,uye_adi,... olacak.

Bir de "talep" tablosu yap, onda da id,tale_eden_id,talep_edilen_id olacak. "talep" tablosunda tekil anahtar olarak "talep_eden_id+talep_edilen_id" kullanmalısın. Yani bu iki özellik aynı değere birden fazla kere sahip olmamalı.

"arkadaslarim" tablosunu da böyle tasarlayabilirsin

Umarım yardımcı olur.
emreyuce şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 29.08.2007   #8 (permalink)
kArA
 
Üyelik Tarihi: 03.08.2000
Yer: İstanbul
Mesaj: 38
Re: Arkadaşlık Forumu Database Dizaynı

Ben de emreyuce'ye katılıyorum. Kullanıcılar ve Talepler tablolarını ayırmak iş mantığı açısından da verimli olacaktır. (talepler tablosundaki durum alanı için tinyint yerine enum da kullanılabilir)

Kod:
CREATE TABLE kullanicilar (
  Kullanici_Id int(10) unsigned NOT NULL auto_increment,
  Kullanici_Adi varchar(16) NOT NULL,
  PRIMARY KEY  (Kullanici_Id)
);

CREATE TABLE talepler (
  Talep_Eden_Id int(10) unsigned NOT NULL,
  Talep_Goren_Id int(10) unsigned NOT NULL,
  Durum tinyint(1) NOT NULL,
  PRIMARY KEY  (Talep_Eden_Id,Talep_Goren_Id)
);
talepler tablosundaki Durum alanı talebin hangi aşamada olduğunu bildirir. Yeni talep, kabul edildi, reddedildi vb.
Bu tablo sayesinde bir kullanıcıya gelen talepleri, bir kullanıcının yaptığı talepleri, taleplerin kimlere yapıldığı, kimlerden geldiği ve durumları gibi bir çok bilgiye kolayca ulaşabilirsiniz. Bu tip bir tablo hem gereksiz veri kalabalığını engellediği gibi isterseniz geriye dönük istatistiksel veri de sunabilir.
__________________
kara
http://www.karalamalar.net
kArA şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Yanıt

Etiketler
database , database design



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.3 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC5

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 06:49.