İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Veritabanı yapısı

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
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
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
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
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
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
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
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.
 

NeFuSa

0
İyinet Üyesi
Katılım
27 Aralık 2006
Mesajlar
1,414
Reaction score
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
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
O kısmı arkadasım halletmisti NeFuSa, bir sorun olursa yine sorarım burada :) yine de sağol :)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst