Şub
16Veritabanı hakkında bir çok kişinin bilmediği yada veritabanını farklı bir gözle gören kişilerin kafasındaki bir çok soru işareti ve yanlış bilgiyi silmek için bu yazımı yazma gereği duydum.
Diyor ki; Veri tabanı düzenli bilgiler topluluğudur. Kelimenin anlamı bilgisayar ortamında saklanan düzenli verilerle sınırlı olmamakla birlikte, daha çok bu anlamda kullanılmaktadır.
Evet, veritabanı bir depo görevi görmektedir. Fakat yanlış kullanıldığında ise çöp yığınına dönüşmektedir. Veritabanının doğru kullanımı, doğru ilişkilendirilmesi çok önemlidir. Bunun en başında hız, zaman, sorgu sayısı gibi kazançlarımız olacaktır. Bir projeye başlamadan önce tasarımını düşünmek yerine veritabanı modelini düşünmek gerekir. Tabii ki veritabanı tipinin seçimide önemlidir. MySQL mi, Access mi, SQL Server mı etc... gibi veritabanı tipleri arasında projemize en uygun tipi tercih etmeliyiz.
Veritabanında gereksiz alanlar yaratmamak gerekir. Çoğu site sahiplerinin yaptığı hataları farkedebiliyorum. Örnek vereyim, bir eğitim yada bilgi paylaşım sitesinde kullanıcının adı, soyadı ve maili varsa üyelik sistemi kullanıcı adı ve parola alanları dışındaki tüm alanlar gereksizdir. Msn - yahoo - skype adresleri, kullanıcının son giriş tarihi ve sayısı etc.. gibi bilgilerin hiç bir faydası yoktur. Sadece veritabanını işgal etmekle yükümlüdürler.
Peki bir veritabanı nasıl ilişkilendirilmeli? Veritabanına nasıl bir bakış açısı ile yaklaşmalıyız?
Bir örnek yaparak konuya başlayalım arkadaşlar, kategorize edilmiş (ana ve alt menülerden oluşan) bir menü yapacaksınız diyelim. Bunun için öncelikle doğru yöntemi, ardından hatalı yöntemi gösterelim.
Doğru yöntem
1. Veritabanında aşağıdaki resim gibi 3 alan olur. Ve tek tabloda kategorimizi oluşturabiliriz.

Örnekte sistem nasıl işler derseniz, alt alanı 0 (sıfır) olanlar ana kategori olur, 0 değilde ilişkilendirilmiş ise, ilişkilendirilen kategorinin alt kategorisi olur.
2. Veritabanında ana ve alt kategoriler için ayrı ayrı tablolar yaratılır.

Bu modelimizde ise iki ayrı tabloda sorgu yapılır. Ana kategorinin ID alanı ile alt kategorisinin kat alanı ilişkilendirilmiştir.
Yanlış yöntem
Kategoriler sayı ile ilişkilendirilmeden yapılır. Unutulmamalıdır ki string ifade daha fazla yer kaplayacaktır.

Bu modelimiz son derece hatalı kullanımdır. Asla programlama mantığında böyle bir uygulama mevcut değildir, olmazda.
Umarım veritabanı modelleme konusunda kafanızda bir şeyler oluşmuştur.
Özetlememiz gerekirse;
1. Proje için uygun veritabanı seçilmeli.
2. Veritabanının iyi analiz edilip gereksiz alanlardan kaçınılmalı.
3. Tekrarlı alanlar için daha iyi bir çözüm geliştirilmeli, string değerlerden kaçılmalı.
4. Unutmayın ki, Veritabanını modellemek kadar geri dönüşümde önemlidir. Modelleme yaparken, verileri sayfaya dökeceğinizi unutmayınız. Yapacağınız sorgu yada döngüleride o anda kafanızda canlandırmanız gerekmektedir.
Veritabanı modelleme ve mantığını öğrenmek için önerebileceğim kitap:
Pusula Yayıncılık - Veritabanı Mantığı Kitapyurdu Fiyatı: (10,97 YTL)Kitaptan önsöz;
Veritabanı programlamanın temelini oluşturan SQL dilini bu kitapla öğrenin!
Hangi programlama dilini kullanıyor olursanız olun, belli bir seviyeden sonra kesin olarak bilmeniz gereken ikinci bir dil daha var: SQL. Veri miktarı ve çeşitliliği arttıkça, veritabanına duyduğunuz ihtiyaç da artacaktır. Veritabanı kullanan her programcı ise, yapısal sorgulama dili olan SQL'i bilmek zorundadır.
34 yorum var
#15.-Mert Sönmez-16 Şubat 2007 Cuma
Öyle güzel anlatmışsın ki ne kadar teşekkür etsem yeri. Meğer ben yanlış modelleme yapan kişiler arasındaymışım.
Bu siteyi gerçekten çok sevdim, güzel dökümanlar hazırlıyorsun. Hele programcılığa giriş dökümanını çok sevdim, izin verirsen yakında açmayı düşündüğüm blogumda yayınlayabilirmiyim?
İyi çalışmalar, başarı sizinle olsun.
#16.-SrcnCkr-16 Şubat 2007 Cuma
Güzel yorum ve dileklerin için teşekkür ederim. 
Elbette, kaynak gösterildikten sonra neden izin vermeyeyim. Umarım hep birlikte birşeyler öğrenip, tazeleyeceğiz.
Teşekkürler yazı için. Güzel olmuş.
Bu şekildeki mantık derslerinizin devamını bekliyoruz. Sadece kod bilmek yeterli olmuyor. Düzgün kodlama yapmak için iyi mantık,algoritma kurmak gerekiyor . Bence programlama dilinde algoritma kodlardan daha önemli ..
#18.-Ali Aydın-17 Şubat 2007 Cumartesi
Bilgi için teşekkür ederim.
#20.-Abdullah DAğLI (abdagli)-17 Şubat 2007 Cumartesi
Msn - yahoo - skype adresleri, kullanıcının son giriş tarihi ve sayısı etc.. gibi bilgilerin hiç bir faydası yoktur. Sadece veritabanını işgal etmekle yükümlüdürler.
Önemli bir miktarda hak payı olsa da ben buna tam olarak katılmıyorum. İstatistikler her zaman için pazarlamada önem arzetmektedir. Hatta bazen luzumsuz gördüğümüz şeylerin istatistikleri bile.
Mesela bir e-ticaret portalınız var. Ve bu portalın doğal olarak üyeleri var. Siz bu üyelerin Msn adreslerini de kayıt altında tutuyorsunuz. Bir zaman geldi ve reklama yatırım yapmak istiyorsunuz. Ve aklınıza hemen şu geliyor: sisteminizdeki MSN Messenger kullanıcılarının yüzdesini hesaplayım, eğer uygun bir yüzdeye sahipseniz MSN Messenger Tab reklam sistemine reklam vermek!
Belki bu çok havada bir örnek ama aklıma gelen ilk şey bu. Birçok örnek olabilir.
Ama ilk başta da dediğim gibi dediğinin önemi büyük. Kimse veritabanını boşa yormak istemez. Ama bazen bu çok işe yarar.
#24.-SrcnCkr-19 Şubat 2007 Pazartesi
Sevgili abdagli, ben sadece örnek olması için bu şekilde dolaylandırdım. Asıl konudaki amacım veritabanına gereksiz yüklenilmemesi.
Eğer işin içinde veritabanı varsa -ki ASP kullanmamızın amacı bu olsa gerek, mutlaka veritabanı iyi modellenmeli. Oturup en ince detaya kadar düşünülmeli. Gerekise 3-5 ay sonraki planlar göz önüne alınmalı.
#73.-Eczacı Kalfası-13 Mart 2007 Salı
ben Front pagede site hazırlamak istiyorum ama hiç bi bilgim yok nereden başlamalıyım BANA xatral@mynet.com,ecz_ali_46@hotmail.com ikisinden birine ulaşıp bilgi verirseniz çok memnun olurum şimdiden teşekkürler ayrıca bu sitedeki yazıları çok sevdim ama tam bişey anlamamaktayım site yapım hakkında 
#75.-SrcnCkr-13 Mart 2007 Salı
Bizler mail ile destek vermiyoruz. Bakın ilk yazımda da belirttim bunu. Dilerseniz kırılın bana siteyi kara listenize alın ama ben kimseye mailden destek vermem.
Biz burada bu yazıları boşuna yazmıyoruz. Uygulamalarımızı boşuna yapmıyoruz. İnceleyip uygulayın. Herşey zordur. Ama zoru başarmakta güzeldir.
#130.-fatma altıparmak-06 Nisan 2007 Cuma
çok beyendimm.bilgilerinizi bizimle paylaştığınız için teşekkürler...
#198.-PELİN-21 Mayıs 2007 Pazartesi
bence çok güzel ve açıklayıcı bir yazı olmuş.Teşekkkür ederim. Beni çok bilgilendirdiniz.
#216.-erkan tepe-08 Haziran 2007 Cuma
gerçekten güzel bilgiler anlatmışsınız ben veri tabanı bölümünü daha yeni seçtim tam olark ne olduğunu bilmiyorudm sayende birazda olsa bir bilgim oldu bana bilgi alacağım bu konu hakkında siteler veririsen çok müteşekkir olurum saygılarım laa......
#307.-Erol BALKAN-31 Temmuz 2007 Salı
Selam Sercan kardeşim. Bu tür paylaşımlarınız için şimdiden sizleri kutlar, devamını dilerim. Bu portalda bir harf bile öğrenmek bazı insanlarımıza uğraşıları olan konuda sanırım oldukça fayda getirebiliyor. Ben asp'yi oldukça merak ettim ve Senin sayende html mantığı ile yoğurdum, oldukça fazla içerik kazandırdım belki şu an sizlerin burada işlediğiniz konular çok ufak tefek gibi geliyor inancındayım tabii ki kendimce.. Sizlerin sayesinde, sizlerin ortaya koyduğu ön yazılımlarla bizlerden gelen bazı mantık evreleri elbette güzel şeyleri ortaya koymama neden oldu.. Seninle ve sizlerle, bu işe baş koymuş huzurla paylaşımcılarla gurur duyuyorum.. Allah yollarınızı, bahtınızı, düşünce dimağınızı, paylaşım beraberliklerinizi açık etsin..
#308.-SrcnCkr-01 Ağustos 2007 Çarşamba
İnşaallah Erol abi, güzel tasviplerine teşekkür ederim. Yakınındaki insanların özel tavırları daha başka sevindiriyor.
#320.-sevimli cadii-17 Eylül 2007 Pazartesi
çok tşk ederim ben end.meslek lisesinde okuyorum lise 3 öğrencisiyim alanım veritabanı programcılığı araştırmak istedim saol tşk ederim paylaşım için amin bu dersden geçerim zora benziyo 
#346.-dudu rose-26 Eylül 2007 Çarşamba
ben bucak anadolu meslek ve meslek lisesi veri tabanı programında okuyorum bilgileriniz için teşekkür ederim
#347.-sonsuz aşkımm-27 Eylül 2007 Perşembe
ben düzce anadolu ticaret meslek ve tıcaret meslek lısesi verı tabanı programcılıgı 3.sınıf ögrencısıyım bu ders tum bu alan ögrencılerın canını cok sıkıcak gıbıme gelıyor hepımıze allah yardım etsın ayrıca tsk ler bılgılerınız için byy
#348.-zafer akan-28 Eylül 2007 Cuma
bu bılgıler ıcın cok tesekkur ederım ben 11. sınıfa yenjı basladım ve bu bılgılere uymayı dusunuyorum
1. Proje için uygun veritabanı seçilmeli.
2. Veritabanının iyi analiz edilip gereksiz alanlardan kaçınılmalı.
3. Tekrarlı alanlar için daha iyi bir çözüm geliştirilmeli, string değerlerden kaçılmalı.
4. Unutmayın ki, Veritabanını modellemek kadar geri dönüşümde önemlidir. Modelleme yaparken, verileri sayfaya dökeceğinizi unutmayınız. Yapacağınız sorgu yada döngüleride o anda kafanızda canlandırmanız gerekmektedir.
tesekkur ederım
#367.-adem yavuz-11 Ekim 2007 Perşembe
aga ben wep tasarımına yeni baslıyorum bakım dedim belki ban bişeler öğretir öğretide zaten demek ki veri tabanı sitenin içindekilerin bulunduğu yerleri kapsıyor işlem hacmini bağlıyor saygılar..
#380.-Oykun Kari-24 Ekim 2007 Çarşamba
Saol kardeş gerçekten çok etkili oldu saol teşekkürler 
#390.-hassssstasıyım-01 Kasım 2007 Perşembe
bende veri tabanı prpramcısıyım ve lise 3 öğrencisiyim kabus gibi yani hiiiiiiiç bişi anlalmıyoom ama yardımınız için saool inanın anlamayı çok isterdim nesse gerçekte çok çalışmam lazım çoooook allah koylaylık versin benle aynı kaderi paylaşanlara......bys
#396.-dilara-06 Kasım 2007 Salı
güzel ama daha başka yokmuyduu yaa

#398.-anov-10 Kasım 2007 Cumartesi
Selam SrcnCkr, gerçekten çok güzel bir site, öncelikle sitenden dolayı tebrik ederim.
Konu hakkında bir link :
http://forum.ceviz.net/showthread.php?t=49233
Bu aralar ortalıkta pek görünmüyorsun, seni özledik :-)
#427.-hüseyin kahraman-27 Kasım 2007 Salı
çok füzel bilgiler varmış teşekkür ederim. herkesi tavsiye ederim
#429.-Sercan Çakır-30 Kasım 2007 Cuma
Anov merhaba,
Bu siteyi ben devrettim, şuan yöneten kişi hakan nickli arkadaşımız. Ceviz'de yaşadığım şahsi problemlerden dolayı girmiyorum maalesef. ÖSS hazırlığında olduğumdan da pek makale yazma zamanım olmuyor.
ÖSS sonrası ciddi projelerim var, umarım bir aksilik çıkmaz. Aa bu arada PHP'ye geçtim sonunda 
#432.-birisi-02 Aralık 2007 Pazar
gerçekten çok güzel olmuş ama bir kaç tane örnek yapsaydınız daha iyi anlardım hemde ödevim tamamlanmış olurdu(u)
#473.-emine öksüm-23 Ocak 2008 Çarşamba
güzel güzel olmasınada biraz geliiştirilmeli bu arada iyi tatiller herkese(u)(k)
#501.-sinan-21 Şubat 2008 Perşembe
aferim güzel olmuş ellerinize saglık diyorum.
#507.-TARIK YAMACI-27 Şubat 2008 Çarşamba
SUPER BRAVO BASKA BI KELIME YOQ
#517.-melisa öztürk-04 Mart 2008 Salı
teşekkürler ödevim için bana çok yardımı oldu ellerinize sağlık...
#528.-kenan erol-11 Mart 2008 Salı
başarılarınızın devamı dileğiyle
#543.-selda-25 Mart 2008 Salı
teşekkür ederim ödevim için çok işime yaradı ellerinize sağlık başarılarınızın devamını dilerim
#570.-derya öztürk-14 Nisan 2008 Pazartesi
yha güzel olmuş aslında şimdi yahoo kelimesini duyunca bizim bilg.hocasının msn si aklıma geldi ama olsuun yinede güzel örnkler verilmiş saollun arkadaşlar ...ödevi olan bu siteye gelsin bana cvp yazın....yorumm ben burdayıımm
#608.-hatice uygun-21 Mayıs 2008 Çarşamba
bilgilendirilsim anlamadığım yerleri anladım teşekkürler
