Verileri saklamak için veritabanında bir tablo oluşturuldugu zaman ,tabloda ki her bir sütun için bir veritipi belirtilmelidir.Bu veritiplerini ise sütunumuzda saklamak istedigimiz verilerin özelliklerine göre seçeriz.

Veri tipleri ;

CHAR(X) : Karakter degerleri saklayabilmek için kullanılan veritipidir.Büyüklügü en küçük 1 bayt en büyük 2000 baytdır(1 byte’ı 1 karakter olarak düşünebiliriz). CHAR veri tipinde büyüklük belirtmesek büyüklük 1 olarak atanır.CHAR veritipi ile bir sütun oluşturdugumuz zaman,veritabanı belirtilen büyüklük degerinin tamamen doldurulmasını saglar.Örnegin CHAR(10) şeklinde tanımlanmış bir sütuna ‘MUSTAFA’ verisini girdigimiz zaman , ‘MUSTAFA’ verisi 7 karakterli oldugu için veritabanı ‘MUSTAFA’ verisinin yanına 3 tane boşluk koyar ve 7 karakterli ‘MUSTAFA’ verisini, yanında 3 tane boşluk bulunan 10 karakterli ‘MUSTAFA ‘ verisine çevirir.Char veritipinde belirtilen büyüklük degerinden daha büyük bir veri girdigimiz zaman ise hata mesajı alrız.

VARCHAR2(X) : Karakter degerleri saklayabilmek için kullanılan veritipidir. Büyüklügü en küçük 1 bayt en büyük 4000 baytdır(1 byte’ı 1 karakter olarak düşünebiliriz).VARCHAR2 veri tipinde büyüklük belirtmek zorundayız belirtmesek hata alırız. VARCAHAR2 veritipinde CHAR’da oldugu gibi girdigimiz verinin büyüklügünü sütunun veritipinin büyüklügüne eşitlemez bu da CHAR veritipine göre VARCHAR2 veritipinin kullanışlılıgını artırır. CHAR’ın diger büyük farkı ve en büyük kullanılma sebeplerinden biri ise, VARCHAR2(200) ile VARCHAR(2)’nin yaratıldıkları zaman aynı yeri kaplıyor olmasıdır. Yani, bir değer girilene kadar veritabanında aynı miktarda yeri işgal ediyorlar.

NUMBER(X,Y) : Sayısal degerleri saklayabilmek için kullanılan veritipidir. X tam kısmı, Y ise ondalıklı kısmı temsil eder, X ve Y‘den tam kısma ve ondalıklı kısma en fazla kaç karakterli veri girebilecegimizi hesaplarız .Tam kısım 1-38 rakam ve ondalıklı kısım -87 ile 127 sayıları arasında olabilir.Eger tam kısım ve ondalıklı kısım belirtilmezse Oracle bu iki deger için olabilecek en büyük degeri kabul eder.NUMBER veritipinde tam kısma yazabilecegimiz en uzun karakter sayısının sonucunu X’in Y’den çıkartılması işlemiyle bulunur,ondalıklı kısımda ise yazabilecegimiz en uzun karakter Y sayısı kadardır Örnegin NUMBER(6,2) ise 6-2=4 oldugundan tam kısma en fazla 4 karakterli veri girebiliriz ondalıklı kısma ise 2 karakterli veri girebiliriz. NUMBER veritipinde tam kısma yazabilecegimiz veri tipinden daha uzun bir veri girersek hata alırız ama tam kısım da veri girişi düzgün olupda ondalıklı kısımda veri girişi yazabilecegimiz veri tipinden daha uzun olursa hata vermez ondalıklı sayıyı yuvarlar.Ondalıklı kısım negatif bir sayı ise Oracle yuvarlama işlemini virgülün solundan yapar ,yani negatif ondalıklı kısım kadar virgülün solunda ki rakamların yerine sıfır degerini koyulmasını saglar.

<td >DEGER<td >VERİTİPİ<td >ÇIKAN SONUÇ<td >AÇIKLAMA<td >123456,78965<td >NUMBER<td >123456,78965<td >Tam ve ondalıklı kısım belitilmedigi için maksimum degerler alındı ve sonuç geldi.<td >123456,78965<td >NUMBER(6,2)<td >HATA<td >Tam kısım en fazla 4 karakter olabilecegi için hata verdi.<td >1234,78965<td >NUMBER(6,2)<td >1234,79<td >Ondalıklı kısımı yuvarlayıp sonucu döndürdü.<td >1234,78965<td >NUMBER(6)<td >1234<td >Ondalıklı kısım yuvarlandı.<td >12345678,789<td >NUMBER(6,-2)<td >12345700<td >Ondalıklı kısım -2 oldugundan virgülün solundan 2 basamak yuvarlandı.

DATE : Tarih ve Zaman degerleri saklayabilmek için kullanılan veritipidir.7 byte büyüklügündedir.En küçük birimi saniyedir. Tarih formatları, ülkelere göre değişmektedir. Tarih alanları ile aritmatik işlemleri yapılabilmektedir. Standart olanı, DD-MON-YY’dir.

TIMESTAMP : Tarih ve Zaman degerleri saklayabilmek için kullanılan veritipidir.DATE’den farkı saniye’leri daha ayrıntılı şekilde alabilmesidir.

LONG : 2 GB’ a kadar karakter bilgi tutabilen alanlar için kullanılır.Bir tabloda birden fazla long veri tipine sahip olamaz. LONG veri tipine sahip olan alanlar üzerinde indeks oluşturulamaz.

CLOB(character LOB) : Single-Byte karakter tipindeki büyük verileri tutmak için kullanılır.Örneğin bir txt dosyadaki veriler.

NCLOB(National Character LOB) : Multi-byte karakter tipindeki veriler içindir.

BLOB(Binary LOB) : Binary tipte saklanan veriler içindir.Resim, video,fotograf vs.

BFILE : İşletimde sistemindeki fiziksel dosyaları tutmak için kullanılır.Aslında bir referanstır, dosya veritabanında tutulmaz.

XMLTYPE : XML tipindeki verileri saklamak daha ziyade refarans göstermek için kullanılır.

Bu veritiplerinin yanında raw, long raw,rowid, urowid,interval year,interval day,nchar,nvarchar2, float, int, real, decimal gibi veritipleride vardır.

Yazar : Mustafa Bektaş Tepe
Java && Oracle

6,427 total views, 20 views today