Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Veritabanına Giriş  (Okunma sayısı 5274 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Veritabanına Giriş
« : 19 Şubat 2006 20:27:34 »
Veritabanı Nedir
Veri (Data) ve Bilgi (Information)Tablo
Veritabanının en temel öğesi olup, bilgileri barındıran nesnedir. Üyelik sistemi kullanan bir web sayfasındaki bilgileri örnek alalım.


Şekil: 1

Yukarıda basit bir tablo görüyoruz. Tablonun her satırına kayıt diyoruz. Üye_No: 1, Adı: Mehmet Fatih, Soyadı: Küçükkelepçe, Kullanıcı_Adı: Fatih, Mesleği: Programcı bilgileri bir kaydı temsil ediyor. Kayda aynı zamanda Satır da diyebiliyoruz. Üye_No, Adı, Soyadı, Kullanıcı_Adı, Mesleği altına yazılan bilgilerin her birine Alan, Sütun, Kolon (Column, Field) diyoruz.
Tabloya dikkat ederseniz sütun başlıklarında Türkçe karakter kullanmadım. Bazı VTYS’ler Türkçe karakter desteği sunsalar da siz sütun başlıklarında Türkçe karakter kullanmamayı bir prensip haline getirin. Sütun isimlendirme de ğ,ş,ç,ü,ı,ö,I,Ğ,Ş,Ü,Ç,Ö harflerini kullanmayın. Diğer harf,  rakam, ve altı çizili karakter (_) dışında kalan karakterleri kullanmayın. Sütun isimlendirmelerinde ilerde yine başınızın ağrımaması için Sütun ismini büyük harfleri kullanarak belirtin. Bu size Büyük Küçük karakterlere duyarlı olan VTYS’lerde problem çıkarmamasını sağlayacaktır.
Tıpkı Delphideki değişkenler gibi Sütunları oluştururken Sütunlara girilecek bilgilerin Veri Tipini belirtmek zorundayız.
Veri tipi alanların barındırdığı bilgi türünü belirler. Örneğin birinin mesaj sayısı rakamsal veridir. Veritabanınızda böyle bir bilgi barındırıyorsanız rakamsal bir veri tipi seçmelisiniz.  Foruma her mesaj  attığınız da üyenin mesaj sayısını bir arttırarak toplama işlemi yapmış olursunuz. İçinde rakam geçiyor diye o alanın veri tipini rakamsal bir veri tipi olarak belirlemeniz hatalı bir yöntem olur. Örneğin üyenin  telefon bilgilerini barındıran bir alanımız olduğunu düşünelim. Bu bilgiler rakamlardan oluşmasına rağmen hiçbir şekilde matematiksel bir işleme tabi tutulmayacaktır. Bu sebeple bu alanın veri tipini metinsel tipte seçebiliriz.
Veritabanı konusunda yeni iseniz Veritabanı deyince her şeyin tablolardan ibaret olduğunu düşünebilirsiniz; ancak veritabanı birçok nesneyi barındırır.

Birincil Anahtar (Primary Key)
Teorik olarak zorunlu olmayan ama her tabloda olması gereken önemli bir faktördür. Bir önceki sayfada Üye_No adında bir Birincil Anahtarımız vardı. Üye no alanına kesinlikle  aynı değere sahip bilgi giremezsiniz. Yani iki adet 1 verisi girilemez. En bariz bir şekilde önemini anlatmak için silme işlemini örnek gösterebiliriz. Veritabanlarında silme işlemleri kaba bir tamirle kodlar vasıtasıyla emrinizle silinir. Sitemizde adı fatih olan bir çok üye olabilir. Emir verirken sadece ben silmek istediğiniz düşünelim. Adı fatih olan kaydı sil dediğinizde bütün fatihler silinir, ancak Birincil Anahtara  sahip olan üye no alanına göre emri verirseniz emriniz harfiyen yerine getirilir. Çünkü 1 numarasına sahip başka bir üye olamaz.

İlişkisel Bütünlük (Referential Integrty)
Birbiri ile ilişkili tabloların belli kurallara göre organize bir şekilde yönetilmesini sağlayan kurallar bütününe İlişkisel Bütünlük diyoruz.
Birbiri ile ilişkili tablolarda ne demek oluyor diye sorabilirsiniz. Bunun Cevabını örnekler üzerinde açıklayalım.


Şekil: 2

Yukarıdaki örnek tablomuzda bir kullanıcının yazdığı mesaj başlıkları bulunmaktadır. Her kullanıcı birden fazla mesaj atabilmektedir. Nitekim Kullanıcı Adı Fatih olan kişi 5 onu başlığı açmıştır. Dikkat ettiyseniz her attığı mesaj için Adı, Soyadı, Kullanıcı Adı, Mesleği Sütunlarına (Alan) her defasında Üyenin Adı, Soyadı, Kullanıcı Adı, Mesleği bilgileri tekrar tekrar girilmiştir. Bu ise daha çok yer kaplaması,  yavaşlama anlamına gelmektedir. Ayrıca kayıt sayısı arttıkça kayıtlar üzerinde hakimiyetinizde zorlaşır.
İlişkisel Bütünlük (Referential Integrty) dediğimiz yapıyı dikkate alarak, yukarıdaki tabloyu aşağıdaki şekilde iki tablo halinde bölüyoruz. Tabloları dikkatle inceleyiniz.

Ana Tablo (Master Table)

Şekil: 3      

Ayrıntı Tablo (Detail Table)

Şekil: 4   
   
Gördüğünüz gibi üyenin üyelik bilgileri ve açtığı konu başlıkları bilgileri tek tabloda değil iki ayrı tabloda tutulmuştur. Bu ilişkiye Ana/Ayrıntı (Master/Detail) diyoruz. Peki detay tablodaki kayıtların Ana tabloda bulunan üyelerin hangisine ait olduğunu nasıl anlayacağız. Dikkat ettiyseniz Ana ve Ayrıntı tablolarının her ikisinde de UYE_NO adında bir alan bulunmaktadır. Ayrıntı tablosunda bulunan Üye_No alanındaki değerler ile Ana Tablodaki Üye_No alanındaki değerler bir biri ile eşleşiyorsa Ayrıntı tablosunda bulunan kayıtların Ana tablodaki hangi kayda ait olduğunu bulmak pek zor olmasa gerek.
Örneğin yukarıdaki ayrıntı tablosunda Üye_No alanında 1 değeri bulunan kayıtlar Ana Tabloda Kullanıcı Adı Fatih olan üyeye aittir. Tablolarınızı oluştururken kesinlikle bu yapıya dikkat edin. Bu dersimizde yapı olarak veritabanını tanıdık. Gelecek dersimiz MySQL kurulumu üzerine olacak.
« Son Düzenleme: 11 Eylül 2007 02:06:41 by kocaturk »
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı mavikent

  • Yeni Üye
  • *
  • İleti: 1
  • Rep: +0/-0
Ynt: Veritabanına Giriş
« Yanıtla #1 : 24 Nisan 2009 10:22:55 »
Güzel bir anlatım,Gerçekten faydalı bilgi ...