[Linux-programlama] Re: Veritaban¹ programlama

---------

[Linux-programlama] Re: Veritaban¹ programlama

From: Mustafa Ekim <mustafaekim2002_at_yahoo.com>
Date: Mon, 15 Oct 2007 23:53:28 -0700 (PDT)
Message-ID: <863940.92761.qm@web31103.mail.mud.yahoo.com>

ilişkilerin db'de tanımlanması neye yarar?

integrity constraint'ler sayesinde db'de olmasını istemediğiniz (mantıksal açıdan olmasının anlamsız olacağı) durumları engelleyebilirsiniz. örneğin bir "ders" acilacaksa, o dersin kesinlikle bir ogretmeni olmali dersek, ogretmeni silemeyiz veya ogretmenle dersi birlikte silebiliriz gibi.

bunun disinda ne isimize yarar ben de bilmiyorum. merak da ediyorum.
cunku zaten iliskiler olsun olmasin bir view yazarken veya bir select, insert yazarken bu iliskiler hic tanimlanmamis gibi yeniden anahtarlar uzerinden birlestirme yapiyorum.

Halbuki ORM (Object Relational Modeling) kullanirsaniz, (uygulama katmaninda, db'de degil) orada iliskileri tanimladiktan sonra ders.ogretmen seklinde dersin ogretmenine ulasmak mumkun oluyor.

ayrica

"veritabanında halledilebilecek herşeyin
veritabanında halledilmesi ileride istemci uygulamanın
 değiştirilmesini
kolaylaştırır."

demissiniz, peki veritabaninin degismesi durumunda ne olacak? bence veritabani degistirmek ve hatta dagitik bir veritabani gecmek daha olasi.
dagitik bir veritabanina gecildiginde ne olacak?

ben performansin kilit rol oynamadigi eylemler haric stored procedure kullanilmasinin anlamli olacagini da dusunmuyorum. bu tur isler db katmaninin uzerinde yapilmali.

"istemci uygulama" derken neyi kastettiniz?

benim de uzun suredir merak ettigim ve cevabini bulamadigim konulardi.

kolay gelsin

----- Original Message ----
From: Timuçin Kızılay <tim_at_savaskarsitlari.org>
To: linux-programlama_at_liste.linux.org.tr
Sent: Tuesday, October 16, 2007 1:52:27 AM
Subject: [Linux-programlama] Re: Veritabanı programlama

Bence sizin yolunuz daha doğru.
Veritabanının işini veritabanı yapmalı, boşu boşuna ilişkisel
 veritabanı
yönetim sistemi dememişler bunlara. Her ne kadar access'i
 veritabanından
saymasam da (MS SQL kullanın daha iyi, hatta buyrun size posgresql
verelim :)

İlişkileri, indexleri vs. veritabanından yapmak tabi ki daha iyi
 olacak.
Bir miktar veritabanının boyutunu arttırsa da bunu şişme olarak
 kabul
etmemek gerekir, günümüzde veritabanları güvenli ve performanslı
çalışmak adına hard diskte kapladığı yerden tasarruf etmek gibi
 bir
dertleri kalmamış, gördüğüm kadarıyla da bu iyi birşey, ne de
 olsa
bilgisayarın en ucuz kaynağı disk alanı. Bırakın veritabanı
 şişsin,
indexler ve ilişkiler iyi düzenlenmişse bir sorun olmaz.

Arkadaşınıza söyleyin, onun yolundan giden yazılımcıyı ben
 döverim.
Veritabanı uygulamasında o veritabanına bağlanan uygulama alt
 tarafı bir
istemci uygulamasıdır, veritabanında halledilebilecek herşeyin
veritabanında halledilmesi ileride istemci uygulamanın
 değiştirilmesini
kolaylaştırır. Veritabanında bütün işlemleri stored procedure
 ile
halledip istemci tarafında da yalnızca bunları çalıştırarak
 tablolara
hiç erişmeden de işlem yapmak mümkün, hem böyle yaparsanız
 uygulamanı
çalışacağı bilgisayarın çok güçlü olmasına da gerek kalmaz,
 adam gibi
bir sunucu kurarsınız ve kullanıcıların bilgisayarlarını da
 yıllarca
yenileme masrafına girmezsiniz çünkü onların yaptığı tek iş
 sunucudan
verileri alıp sunucuya işlem göndermek olur. Hem düşünün,
 uygulamayı bu
şekilde yaptınız, istemci tarafında az kod oldu, işin bir
 kısmını web
tabalı yapayım dediğinizde işiniz kolaylaşmış olacak, ilişkiler
 vs.
uğraşmadan zaten veritabanında hazır olan stored procedure'ları
çalıştıran kodu yazacaksınız iş bitecek.

Bence mümkünse access'den vazgeçin, posgresql var çok güzel, ille
 de
microsoft olacaksa MS SQL de o kadar kötü değildir, düzgün
 kullanılırsa
o da büyük yüklerle başedebiliyor.

Neşet ÖZKAN wrote:
> Merhaba
>
> Bir veritabanına (acces ile hazırlanmış) veri yazıp okuyan bir
 programı
> python ile yapmaya çalışıyorum. Hazırladığım veritabanında
 kullandığım
> bir çok tablo arasında ilişkiler kullandım bunların hepsini
 veritabanı
> içinde hallettim.
> Mesala;
> Bir proje ait parca girmek için parça tablosu içindeki proje id
 sinin
> proje tablosundaki proje id si ile,
> Parçaya ait operasyon tablosundaki parça id sinin parça id si ile,
> Parça ile ilgili personelin personel tablosundaki personel id si
 ile,
> Personelin görevlerini gösteren tablodaki görev id sinin görevler
> tablosundaki görev tanım id si ile
> ilişkisi var. Veritabınında buna benzer başka ilişkilerde var ve
 bu
> ilişkileri direk veri tabanında ayarladım.
>
> Bir arkadaşım bunun yanlış bir yol olduğunu bu tarz ilişkilerin
> veritabanının içinden ayarlanmasının zamanla veritabanın
> şişmesine sebeb olacağını bu işlemlerin direk koddan
 ayarlanması
> gerektiği söyledi. Şimdi;
> - Benimkisi gibi veritabanı hazırlamak gerçekten yanlış bir
 çözüm
> yolumudur?
> - Veritabanında tanımlanan tablo ilşkileri zamanla veritabanının
> şişmesine sebep olurmu?
> sorularına cevap arıyorum.
> Veritabanları ile ilgili çok net bilgilerimin olduğunu söyleyem.
 Eğer
> bu yol yanlış ise kabaca veritabanı programla
> mantığını başlıklar halinde belirtebilirmisiniz. Bu başlıklar
> doğrultusunda ben gerekli araştırmaları yapmaya çalışırım.

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

      ____________________________________________________________________________________
Shape Yahoo! in your own image. Join our Network Research Panel today! http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Tue 16 Oct 2007 - 09:25:19 EEST

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.