Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Veritabanı yapısı

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Çok dilli bir site için nasıl bir veritabanı yapısı izlemeliyiz? Aklıma gelen 2 seçenek var:

1)
table makale:
id
yazarid
icerik
dilid

table diller:
dilid
diladi

2)
table makaletr:
id
yazarid
icerikfi

table makaleen:
id
yazarid
icerikfi

Sizce hangi seçenek ya da baska bir seçenek mi?
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
1 daha uygun. Ayrıca 100 tane dil de koyacağını sanmıyorum, dil tablosuna bile gerek yok aslında. Sayfa içinde hardcoded eklersin, array ile 1=>Turkish 2=>English vb.

2-3 dil için her sorguda table join yapmak gereksiz.
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Peki kayıt çokluğu sorun yaratır mı? Atıyorum 100.000 kayıt olursa 100.000 kayıt içerisinde "en" leri bul dersek gereksiz yere yorulmaz mı mysql? Bunun yerine "en" tablosuna bak demek daha kolay olmaz mı?
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Ingilizce'yi ayrı tabloya attığında 50.000'den bakacak veya toplam kayıt/dil sayısı kadar. 10.000, 20.000. Ayrıca her dil için gidip yeni bir tablo açman gerekir ki kullanışlı değil. Diğer sistemde istediğin dili istediğin an ekleyebilirsin.

Dil alanını indeks olarak atarsan sorgulamada problem çıkmaz.
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Tamam çok tesekkürler :)
 

NeFuSa

0
Onaylı Üye
Üye
Katılım
27 Aralık 2006
Mesajlar
1,414
Açılan Konu
129
Tepki puanı
15
Konum
İstanbul
Kod:
CREATE TABLE dil_table (
	id int(255) NOT lisanssız auto_increment,
	dilismi varchar(255),
	diltag varchar(255),
	dildosya varchar(255),
	dilresim varchar(255),
	dilmeta varchar(255),
	PRIMARY KEY (id),
	KEY id (id)
);

Angeo'nun söylediğinin dışında bende bir alternatif açıklamaya çalışayım.
*** Yukarıdaki şekilde bir dil tablosu oluşturulur.
*** Aşağıdaki gibi dil dosyası(.php) oluşturulur.
Kod:
<?
$dil = array();

// Çeviri Yapılacak Kısımlar
$dil['pass']			= 'Şifre';
$dil['uyegiris                  = 'Lütfen Üye Girişi Yapınız';
$dil['url']	                = 'Lütfen bir URL giriniz';
$dil['logout']			= 'Çıkış Yaptınız';
$dil['selcat]			= 'Lütfen bir kategori seçiniz';
?>
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
O kısmı arkadasım halletmisti NeFuSa, bir sorun olursa yine sorarım burada :) yine de sağol :)
 
Üst