30 Kasım 2013 Cumartesi

C# Temel Metin Dosyası İşlemleri (Text Belgesine Yazma ve Okuma)

Micssoft NET ile programcıların hizmetine sunulan hazır sınıf kütuphaneleri sayesinde diğer dillerde programcıları uğraştıran birçok konu üzerinde program yazmak artık bir zevk haline geldi. Girdi/Çıktı (I/O) işlemleri de böyle zevkli hale gelen konulardan biridir. Biz bu yazımıda metin dosyası (text file) ile ilgli temel birkaç işlem üzerinde duracağız. 

Metin dosylarını oluşturmak, yazmak, içeriklerini okumak için System isimuzayında bulunan Text alt uzayındaki sınıfları kullanıyoruz. Aşağıdaki programımızda 3 tane metodumuz var. Birincisi, DosyayaYaz() metin dosyasını oluşturup bu dosya ya birkaç şey yazdırıyor. Bu metod önce StreamWriter sınıfından dosya isimli bir obje oluşturuyor. Daha sonra StreamWriter sınıfında bulunan WriteLine() metodu ile 2 satır yazıyoruz dosyamıza. Son olarak dosyamızı dosya.Close() ile kapatıyoruz.
İkinci metodumuz, DosyadanOku(), ise bir metin dosyasının içeriğini ekrana yazdırıyor. Bunun için önce StreamReader sınıfına ait dosyaOku nesnemizi oluşturuyoruz. Sonra dosyamızı dosyaOku=File.OpenText(dosyaIsmi); komutu ile açıyoruz. Dosyamızın ilk satırında bulunan yazıyı "yazi" isimli değişkenimize yazi=dosyaOku.ReadLine(); ile aktarıyoruz. Bundan sonra ise eğer okuduğumuz satırda yazı varsa (yani dosyanın sonu değilse) o satırı ekrana yazdırıp bir sonraki satırı okuyoruz. Okuma ve ekrana yazdırma işlemlerini dosyanın sonuna kadar (yada okuduğumu satırın içeriğinin null olana kadar ) devam ediyoruz. Son olarak ise dosyaOku.Close() ile dosyamızı kapatıyoruz.
Üçüncü ve son fonksiyonumuz ise metin dosyamızın sonuna birşeyler ekleyen DosyayaEkle()'dir. Yine StreamWriter sınıfından dosya isimini verdğimiz bir nesne oluşturuyoruz. Dosyamızı File.AppenText() metodu ile açıyoruz ki bu metod sayesinde dosyanın sonuna istedğiğmiz veriyi kolayca ekleyebiliriz. dosya.WriteLine("Bu da en son Append ile eklediğimiz satır..."); komutu ile tırnaklar arasında metni dosyamızın sonuna ekliyoruz. Her zamanki gibi açtığımız dosyayı işimiz bitince hemen dosya.Close(); ile kapatıyoruz.
Aşağıdaki programı sisteminizde derleyip çalıştırmanızı ve hatta kod ile oynayıp değişiklikleri incelemenizde yarar olduğunu düşünüyorum.

using System;
using System.IO;
using System.Text;

class TextFile
{
    public static void Main(string[] args)
       {
           // Metin dosyamıza birşeyler yazan fonksiyon..
           DosyayaYaz();

          // Metin dosyamızı okuyan ve ekrana yazan fonksiyon
          DosyadanOku("c:\\Deneme.txt"); 

          // Metin dosyamızın sonuna birşeyler ekleyen fonksiyon
         DosyayaEkle("c:\\Deneme.txt"); 

        Console.ReadLine();
}

    static void DosyayaYaz()
      {
          //StreamWriter classından dosya isimli bir nesne oluşturalım
          StreamWriter dosya = new StreamWriter("c:\\Deneme.txt");

         //Dosyamıza birinci satırı yazalım
         dosya.WriteLine("Metin dosyamızın ilk satırı");

         //Buda dosyamıza yazdığımız ikinci satır
         dosya.WriteLine("İkinci satır...");

        //Dosyamızın kapatılım..
        dosya.Close();

       //Yazma işlemini başarı ile tamamladığımızı kullanıcıya bildirelim..
      Console.WriteLine("Dosya yazımı Başarı ile tamamlandı...");

    }

   static void DosyadanOku(string dosyaIsmi)
    {
        // Text dosyasından okuyan StreamReader sınıfına ait bir 
        // dosyaOku nesnesini oluşturuyoruz
       StreamReader dosyaOku;

      // dosyadan okuyacağımız yazıyı string olarak depolamak için
      // yazı nesnemizi oluşturuyoruz.
      string yazi;

      //Dosyamızı okumak için açıyoruz..
      dosyaOku=File.OpenText(dosyaIsmi);

     //Dosyamızı okumak için açıyoruz ve ilk satırını okuyoruz..
     yazi=dosyaOku.ReadLine();

     /* okuduğumuz satırı ekrana bastırıp bir sonraki satıra geçiyoruz
    * Eğer sonraki satırda da yazı varsa onu da okuyup ekrana bastırıyoruz. 
    * Bu işlemleri dosyanın sonuna kadar devam ettiriyoruz.. */

     while(yazi!=null)
     { 
        Console.WriteLine(yazi);
        yazi=dosyaOku.ReadLine();
     }

     // dosyamızı kapatıyoruz..
     dosyaOku.Close();
} 

    static void DosyayaEkle(string dosyaIsmi)
     {
        //StreamWriter classından dosya isimli bir nesne oluşturalım
        StreamWriter dosya;

        // dosyamızın sonuna birşeyler eklememek için açıyoruz..
       dosya=File.AppendText(dosyaIsmi);

       // dosyanın sonuna birşey ekliyoruz..
       dosya.WriteLine("Bu da en son Append ile eklediğimiz satır...");

       // Dosyamızı kapatıyoruz..
       dosya.Close();

       Console.WriteLine("Dosyanın sonuna başarı ile ekledik...");
    }

}

2 Kasım 2013 Cumartesi

Veri Tabanı Yönetim Sistemleri (VTYS) IV


Yeni Bir Access Veri Tabanı Yaratma


Bir Veri Tabanı yapısını tasarlamak kadar,  önemli bir diğer işlemde veri girişlerini yapmaktır. Bir Veri Tabanı yalnızca, içindeki Tabloları verilerle doldurduğunuzda amacına hizmet etmeye başlar. Sorgular, Formlar ve Raporlar ekledikçe kullanımı daha da kolaylaşır. Bir Denetim Panosu ve çeşitli araçlarla özelleştirdiğinizde tam bir Veri Tabanı uygulaması olacaktır.

Microsoft Access, Tabloları, Sorguları, Formları, Raporları ve diğer nesneleri yaratırken, bir Veri Tabanı oluşturma ve özelleştirme işinin zor ve sıkıcı kısımlarını, kullanabileceğiniz sihirbazlar sunarak kolaylaştırır ve basitleştirir.
Tablo Oluşturma


Bir Veri Tabanında diğer nesneleri oluşturulmadan önce Tablo oluşturmak gerekir. Microsoft Access bir Tablo oluşturmak için çeşitli seçenekler sunar. Bu seçenekler arasından, bir Tabloyu yapısal tüm ayrıntılarıyla oluşturmak için “Tasarım Görünümü” kullanılabilir.
Tasarım Görünümünde Tablo hazırlarken, Tablonun başlıklarını oluşturacak her bir alanın, “Alan Adı”nı, “Veri Türü”nü ve “Alan Özellikleri”ni ayrı ayrı belirlemek gerekir.

Veri Türleri (DataType Property)


VERİ TÜRÜ
AÇIKLAMA
BOYUT
Metin
Varsayılan Veri Türüdür. Metin veya
metin/sayı birleşimleri, hesaplama
gerektirmeyen sayılar için kullanılabilen
değerleri temsil eder.
Örneğin; Telefon numaraları.
En çok 255 karakter uzunluğunda
veya Alan Boyutu özelliğinin
belirlediği uzunluktadır.
Not
Uzun metin veya metin/sayı birleşimleri
için kullanılan bir türdür.
En çok 65.535 karakter.
Sayı
Matematiksel hesaplamalarda kullanılan
sayısal verilerdir.
1, 2, 4 veya 8 bayt
Tarih/Saat
100 ile 9999 arasındaki yıllar için tarih ve
saat değerlerini tutar.
8 bayt.
Para Birimi
Para birimi değerleri ve bir ila dört ondalık
alanı bulunan verilerle ilgili matematiksel
hesaplamalarda kullanılan sayısal verileri
temsil eder. Ondalık ayracın sol tarafında
en çok 15 basamak, sağ tarafında ise en
çok 4 basamak kullanılır.
8 bayt.
Otomatik Sayı
Tabloya yeni bir kayıt eklendiğinde
Microsoft Access tarafından atanan özgün
bir ardışık (1'er arttırılan) sayı veya
rasgele bir sayı türüdür.
Otomatik Sayı alanları güncellenemez.
4 bayt

VERİ TÜRÜ
AÇIKLAMA
BOYUT
Evet/Hayır
Evet ve Hayır değerleri ile iki değerden
yalnızca birini içeren alanlar için kullanılır.
(Evet/Hayır, Doğru/Yanlış veya
Açık/Kapalı).
1 bit.
OLE Nesnesi
Bir Microsoft Access tablosuna
bağlantılandırılmış veya katıştırılmış bir
nesne için kullanılan türdür.
Örneğin; Microsoft Excel elektronik
tablosu, Microsoft Word belgesi, grafikler
veya sesler.
En çok 1 GigaBayt
(Kullanılabilir disk alanıyla sınırlı)
Köprü
Metin olarak saklanan ve Internet adresi
olarak kullanılan metin veya metin/sayı
birleşimleri temsil eder.
Bir Köprü veri türünün içerdiği üç
alandan her birinde en çok 2048
karakter bulunabilir.
Arama Sihirbazı
Bir liste kutusu veya birleşik giriş kutusu
kullanarak başka bir tablodan veya değer
listesinden bir değer seçmenizi sağlayan
bir alan oluşturur.
Aramayı gerçekleştirmek için
kullanılan birincil anahtar alanı ile
aynı boyuttadır.
Bu değer genellikle 4 bayttır.


¡ Bir alanının “Veri Türü” özelliğini yalnızca, Tablo Tasarım Görünümünde görüntülendiğinde ayarlayabilirsiniz.
¡
¡ Bir Tabloya veri girdikten sonra bir alanın Veri Türünü değiştirirseniz, tabloyu kaydederken veri dönüştürme işlemi oldukça uzun zaman alır. Bir alandaki Veri Türü, değiştirilmiş bir DataType özellik ayarıyla çakışıyorsa, bazı verileriniz kaybolabilir.


Alan Boyutu (FieldSize Property)


Alan Boyutu özelliğini, bir Alan içerisinde depolanan veri için en fazla Alan Boyutu ayarını; Metin, Sayı veya Otomatik Sayı veri türüne ayarlamak için kullanabilirsiniz.


Ayar
1-FieldSize özelliği Metin Veri Türüne ayarlanmışsa, 0 ile 255 arasında bir Alan Boyutu değerini girebilirsiniz. Varsayılan değer 50'dir.
2-FieldSize özelliği Otomatik Sayı'ya ayarlanmışsa, Alan Boyutu değeri Uzun Tamsayı veya Yineleme Kimliği'ne ayarlanabilir.
Globally Unique Identifier (GUID): Bir Access veritabanında yineleme için bir benzersiz tanımlayıcı oluşturmak için kullanılan 16 baytlık bir alandır. Bir Access veritabanında GUID'lere Yineleme Kimliği adı verilir.


3-FieldSize özelliği Sayı Veri Türüne ayarlanmış ise, Alan Boyutu özellik ayarları ve değerleri arasındaki ilişki aşağıdaki biçimdedir.

AYAR
AÇIKLAMA
ONDALIK
DUYARLIK
DEPOLAMA
BOYUTU
Bayt
0 ile 255 arasındaki Tam Sayıları depolar.
Yok
1 bayt
Ondalık (Decimal)
–10^28–1 ile 10^28–1
arasındaki Ondalık Sayıları depolar.
28
12 bayt
Tamsayı
–32,768 ile 32,767
arasındaki Tam Sayıları depolar.
Yok
2 bayt
Uzun Tamsayı
–2,147,483,648 ile 2,147,483,647
arasındaki Tam Sayıları depolar.
Yok
4 bayt
Tek (Single)
Negatif değerler için;
–3.402823E38 ile –1.401298E–45 
Pozitif değerler için;
1.401298E–45 ile 3.402823E38
7
4 bayt
Çift (Double)
Negatif değerler için;
–1.79769313486231E308 ile
–4.94065645841247E–324 
Pozitif değerler için;  
4.94065645841247E–324 ile 
1.79769313486231E308
arasındaki sayıları depolar.
15
8 bayt
Yineleme Kimliği
Genel benzersiz tanımlayıcı (GUID)
Yok
16 bayt





Veri Tabanı Yönetim Sistemleri (VTYS) III


Microsoft Access VTYS


Microsoft Access gibi karmaşık Veri Tabanı programları, verileri birden çok ilişkili Tablo’larda tutabilir. Böylece  İlişkisel Veri Tabanı olarak adlandırılan Veri Tabanlarını  oluştururlar. 

MS Access Veri Tabanı Nesneleri

İlişkisel Veri Tabanlarındaki veriler, yukarıdaki tablolarda olduğu gibi doğru bir biçimde düzenlenmişse, birden çok tabloya tek bir depolama alanı (Tablo) gibi davranabiliriz. Bilgileri farklı tablolardan istediğiniz sırada elektronik olarak ayıklayabilirsiniz.


Veri Depolama alanları olan Tablolar, MS Access’te çalışabileceğiniz Veri Tabanı Nesnelerinden yalnızca birisidir.  Diğer Access Veri Tabanı Nesneleri;
Bütün bu nesne türleri içinde sadece Tablo’lar veri depo-lar. Geri kalan diğer 6 Veri Tabanı Nesneleri ise Tablolar-daki verileri yönetme, değiştirme, çözümleme, yeni-den elde etme, görüntüleme yada yayınlama amacı ile, bir başka ifadeyle verileri kolay erişilebilir, dolayısıyla daha yararlı kılmak için kullanılır.

1-Tablolar ve İlişkiler

Tablolar en temel Veri Tabanı nesneleridir.  Amaçları bilgi depolamaktır. Verilerinizi saklamak üzere, izlediğiniz her bilgi türü için bir tablo oluşturmalısınız. Birden çok tablodan gelen verileri bir Sorgu, Form, Rapor veya Veri Erişim Sayfasında bir araya getirmek için, tablolar arasında ilişkiler tanımlanmalıdır.


¡1-Daha önce bir adres listesinde bulunan veriler artık
  Müşteriler tablosunda yer almaktadır.


¡2-Daha önce bir elektronik tabloda bulunan sipariş bilgileri artık Siparişler tablosunda yer almaktadır. 


¡3-Benzersiz Kimlik (örneğin Müşteri No) tablodaki bir
  kaydı diğerlerinden ayırt etmenizi sağlar. Microsoft
  Access, tablonun benzersiz Kimlik alanını başka
  bir tabloya ekleyerek ve bir ilişki tanımlayarak, her
  iki tabloda ilgili kayıtları eşleştirebilir; böylece bun-
  ları bir Form, Rapor veya Sorguda bir araya
  getirebilirsiniz.




Her Access Veri tabanı nesnesinin iki yada daha çok görünümü vardır. Tabloların en sık kullanılan iki görünümü;

1.1-Tabloların Verilerini görüp değiştirebileceğimiz Veri Sayfası Görünümü,


2.2-Tablonun Yapısını görüp değiştirebileceğimiz Tasarım Görünümü’dür.

2-Sorgular


Access Veri Tabanlarında bilgiye ulaşmanın diğer bir yolu da Sorgu oluşturmaktır. Birden çok tablodan gelen veriler de içinde olmak üzere, yalnızca tam olarak belirlediğiniz koşulları karşılayan verileri bulmak ve almak için bir sorgu oluşturulma-lıdır. Bir sorgu bunun yanı sıra, birden çok kaydı aynı anda güncelleştirebilir veya silebilir ve verileriniz üzerinde önceden tanımlanmış özel hesaplamalar yapabilir. 

1-Bursa için Nisan Siparişleri Sorgusu 

Bu sorgu, siparişleri Nisan ayında karşılanması gereken Bursa'daki müşteriler için Sipariş No, Teslim Tarihi, Şirket Adı ve Şehir bilgilerini almak üzere iki ayrı tabloya erişir.









Bir Sorgu aslında bir Sorudur. Örneğin Müşteriler tablosunun hangi kayıtları, Posta Kodu alanında 32700 değerini içeriyor? Sorusunu sorabiliriz. Bir Sorguyu çalıştırdığımızda (Tabloya Soru Sorduğumuzda) Access belirtilen tablodaki yada tablolar-daki bütün kayıtlara bakıp belirttiğimiz ölçütlere uyan kayıtları bulur ve bir Veri Sayfası biçiminde görüntüler.


Access VTYS’nin sorularınıza yanıt verebilmesi için,Sorgularınızı özel yöntemlerle yapılandırmalısınız.




3- Formlar


Formlar, üzerine kullanıcının bilgiyi görmelerine yada bilgi gir-melerini sağlayan denetimler ekleyebileceğimiz pencerelerdir. Access, içinde etiketler, metin kutuları, seçenek düğmeleri ve onay kutuları gibi bir çok standart Windows denetimi barındıran bir araç çubuğu sunar. Bu denetimler kullanılarak Tasarım Görünümünde formlar oluşturulabilir.
Formları, temeli oluşturan Tablodaki verileri kolayca görüntüle-mek, veri girmek ve değiştirmek için oluşturabilirsiniz. Formu açtığınızda, Microsoft Access bir veya birden çok tablodan gel-en verileri alır ve bunları ekranda Form Sihirbazı'nda seçtiğiniz veya Tasarım görünümünde kendi oluşturduğunuz düzende görüntüleyebilir.

Formları da, tablo ve sorgularda olduğu gibi birkaç görünümde görüntüleyebilirsiniz.

1.Form Görünümü (Görsel olarak Kayıtlar görüntülenir)
2.Veri Sayfası Görünümü (Kayıtlar, Tablolarda olduğu gibi liste şeklinde görüntülenir)
3.Tasarım Görünümü (Formun görünüş, işleyiş biçimini ve tasarımını düzenlemek için form nesneleri üzerine değişiklik yapılabilir) 


 4-Raporlar 


Raporlar, Tablolardan veya Sorgulardan gelen bilgileri, güzelce düzenlenmiş ve kolay erişilebilir bir biçimde, bilgisayar monitöründe veya kağıt üzerinde görüntülemek için kullanılan Access nesnesidir. Verilerinizi çözümlemek veya onları kağıt üzerinde belirli bir yolla sunmak üzere bir rapor oluşturabilirsiniz. Örneğin, verileri gruplandıran ve toplamları hesaplayan bir rapor ve farklı verilerin postalama etiketlerini yazdırmak üzere biçimlendirilmiş olduğu başka bir rapor yazdırabilirsiniz.


Raporlar birden çok Tablo veya Sorgudan seçilmiş bilgileri, veri tabanından hesaplanmış değerleri, üstbilgiler, altbilgiler ve başlıklar gibi biçimlendirme öğeleri içerebilir.
Raporlara üç değişik görünümde bakabiliriz. Raporların tasarı-mını değiştirebileceğimiz Tasarım Görünümü, Yazdırıldığında nasıl görüntüleneceğini görebileceğimiz Baskı Ön İzleme, fazla ayrıntılı olmayan sadece öğelerin yerleşim düzenini görebileceğimiz Yerleşim Ön İzleme’dir.


5- Sayfalar


Kullanıcıların Veri Tabanınızdaki bilgileri Internet yada İntranet aracılığı ile görüntülemelerini yada değiştirmelerini sağlamak amacıyla Veri Erişim Sayfaları oluşturabilirsiniz. Ağ üzerinde veri erişim sayfalarıyla çalışmak, Access’te doğrudan Tablo ve Formalarla çalışmaya benzer, kullanıcılar verilerle çalışabilir, sorguları çalıştırabilir ve formlar aracılığı ile bilgi girebilir.

Microsoft Access verileri bir veya daha fazla tablodan alır ve ekranda Tasarım görünümünde kendi oluşturduğunuz veya Sayfa Sihirbazı'nda seçtiğiniz sayfa düzeninde görüntüler.


1-Genişletme göstergesini tıklatarak ...

2-Verileri ve kayıt gezinme araç çubuğunu bir sonraki ayrıntı düzeyinde görüntüleyebilirsiniz

3-Kayıtları taşımak, sıralamak, filtre uygulamak ve Yardım almak için kayıt gezinme araç çubuklarını kullanabilirsiniz.






6-Makrolar 


Makro, form açma veya rapor yazdırma gibi, her biri belirli bir işlemi gerçekleştiren bir veya daha çok eylem kümesidir. Access'ın bir butona tıklanması, bir formun açılması yada bir kaydın güncellenmesi gibi olaylara tepki göstermesini sağlamak için kullanılan Makrolar, ortak görevleri otomatikleştirme-de size yardımcı olabilir.

Çeşitli görevleri bir kerede gerçekleştirebilen Makrolar, bir veri tabanı uygulamasında sizden daha az deneyimli olduğunu düşündüğünüz kişilerin veri tabanınızı kullandığında yararlı olacaktır.


1-Bir makro oluşturduğunuzda, Makro pencere-sinin bu bölümünde gerçekleştirmek istenilen eylemler belirlenir.
2-Pencerenin bu bölümünde, bir eylem için gerekli olan değişkenler belirtilir. 



7-Modüller


Makrolardan daha güçlü olan Modüller, üst düzey programlama dili olan Microsoft Visual Basic ile yazılmış uygulamalardır(VBA) Ortak bir VBA komutlar kümesi, hemen hemen bütün Microsoft Office uygulamalarında kullanılabilir.
Makrolar birkaç düzine eylemi gerçekleştirebilirken, Modüller yüzlerce komutu bir araya getirebilir.









Veri Tabanı Yönetim Sistemleri (VTYS) II


¡
  • Veri Tabanı Planlama
              -Tablo Nedir ?
             -Tabloların Tasarlanması
¡
¡
¡
  •  İlişkisel Veri Tabanı Kavramı
¡
  •  Key ve Primary Key Nedir?
¡
  •  Veri Tabanı Tasarlama Adımları
Veri Tabanı Planlama
Veritabanı tasarlamada ilk adım, tasarımın amacını ve ne için kullanılması gerektiğini belirlemektir. Veritabanından hangi  bilgiyi istediğinizi bilmeniz gerekir. Buradan, hangi konular hakkında bilgi saklamaya gereksinim duyduğunuzu (tablolar)   ve her konu için hangi bilgileri saklamanız gerektiğini  (tablodaki alanlar) belirleyebilirsiniz. 
Tablo (Table) Nedir?
Tablolar en temel Veri Tabanı nesneleridir.  Amaçları bilgi depolamaktır. Diğer bütün veri tabanı nesneleri bir yada daha  çok tablonun etkileşimini sağlamak amacıyla kullanılır. Bir VT  
binlerce tablo içerebilir ve her bir tablonun alabileceği kayıt sayısı yalnızca sabit diskinizdeki  boş alan ile sınırlıdır. 


Tabloların Tasarlanması
Tablolarınızı tasarlarken, önemli tasarım ilkelerini akılda tutarak
Bilgileri Parçalara Ayırın.

Tablo yinelenen bilgileri içermemeli ve tablolar arasında bilgi yinelenmemelidir. Bu bakımdan, ilişkisel veritabanı içindeki tablo, elektronik tablo gibi düz dosya uygulamasındaki tablodan farklıdır.
¡Her bilgi parçası, yalnızca bir tabloda saklanmalıdır. Bu koşulun uyulmadığı durumlarda, bir yerde güncellenen bir adres bilgisi başka yerde güncellenmeden kalabilir ve bu durum veri tutarsızlığına yol açar. Örneğin, her müşterinin adresini ve telefon numarasını bir defa ve bir tabloda saklamak en uygun tasarım biçimi olacaktır.
¡Her tablo bir konu hakkında bilgi içermelidir. Her tablo yalnızca bir konu hakkındaki gerçeği içerdiğinde, diğer konulardan bağımsız olarak her konu hakkındaki bilgiyi koruyabilirsiniz.
Örneğin, müşteri adreslerini, müşteri siparişlerinden farklı bir tabloda saklayabilirsiniz, böylece bir siparişi sildiğinizde, müşteri hakkındaki bilgiyi korursunuz.

İlişkisel Veri Tabanı Kavramı
Microsoft Office programının Excel bileşeni gibi basit bir Elektronik Tablolama programı, verileri genelde düz bir  dosya olarak başvurulan yalnızca tek bir tabloda depolayabilir. Bu basit Veri Tabanları “Düz Veri Tabanı” olarak  adlandırılır. Günümüzde hemen tüm VTYS’ler ilişkisel veri modelini  kullanırlar. Bu model verileri birden çok ilişkili tablolarda  tutabilir ve böylece “İlişkisel Veri Tabanı” olarak adlandırılan veri Tabanlarını oluştururlar. 
¡İlişkisel modelde veriler basit tablolar halinde tutulmalıdır.
¡İlişkisel Veri Tabanlarındaki herhangi bir tabloda, birbiriyle tamamen aynı iki kayıt (row or record) bulunamaz.  Dolayısıyla; bir müşterinin aynı ürünü iki kez sipariş etmesi görünürde engellenmiştir. Bu durumu da tabloya bir alan ekleyerek çözebilirsiniz. Örneğin Sipariş Numarası .

¡Bir Veri Tabanında bulunan farklı Tablolardaki İlişkisel Alanların Veri Tipleri ve Tanımlamaları aynı olmalıdır.
¡ Key: Birbiriyle eş kayıtları ayırmak için kullanılan bileşenlere denir. 
Tablodaki bir kaydı diğer tüm kayıtlardan ayırmak için kullandığımız bileşene, “Primary Key” adı verilir. Primary Key, o kaydı “unique” (eşsiz, benzersiz) yapar. Tüm İlişkisel  Veri Tabanlarında her bir Tablo ya da İlişkide mutlaka Primary Key olmalıdır. 

Veri Tabanı Tasarlama Adımları
1.-Veri Tabanının amacını belirleme,
2.
2.-Veritabanınızda gereksinim duyduğunuz tabloları belirleme,
3.
3.-Tablolarınızda gereksinim duyduğunuz alanları belirleme,
4.
4.-Anahtar alanları belirleme (her kayıttaki benzersiz değerleri tanımlama)
5.
5.-Oluşturulan Tablolar arasındaki ilişkileri belirleme,
6.
6.-Tasarımı geliştirme,
7.
7.-Veri girme ve diğer veritabanı nesnelerini oluşturma.