Oracle – SQL Veri Tipleri
Bu dersimizde Oracle SQL Veri Tiplerini inceleyeceğiz
Oracle SQL Karakter Veri Tipleri
CHAR : Sabit uzunluklu karakter setlerini saklamak için kullanılır . Girilen her karakter için 1 byte yer tutar. Yalnız şu duruma dikkat etmeliyiz . Tanımlanan karakter uzunluğundan daha kısa bir veri saklamaya çalışırsak , kaydetmek istediğimiz verinin sonuna boşluk ekler .
Örnek olarak veritabanında char(10) şeklinde bir tanımlama yaptık . “Ali” içeriğini kaydetmek istediğimizde bu veriyi sonunu 10 a tamamlayacak şekilde veritabanına kaydeder . Veritabanındaki son hali “Ali ” olur .
Maksimum uzunluğu 8000 karakterdir . Her karakter için bir byte yer ayırır
VARCHAR: Karakter türünden veri tiplerini saklar . Maksimum uzunluğu 8000 karakterdir . Char veri tipinden farkı ise kaydetmek istediğimiz veri tipinin sonuna boşluk eklememesidir .
Maksimum uzunluğu 8000 karakterdir . Her karakter için bir byte yer ayırır
VARCHAR(MAX) : 2 GB kadar olan karakter setlerini tutar .
NCHAR : Char veri tipine çok benzerdir tek farkı karakter setini unicode olarak tutar . Bu nedenle her karakter veri tabanında 2 byte yer kaplar . Bu nedenle max 4000 karakter tanımlanabilir
NVARCHAR: Varchar veri tipine çok benzerdir tek farkı karakter setini unicode olarak tutar . Bu nedenle her karakter veri tabanında 2 byte yer kaplar . Bu nedenle max 4000 karakter tanımlanabilir
VARCHAR2 : Varchar veri tipinin yeni versiyonudur . Oracle artık Varchar2 kullanmamızı önerir . Tek farkı ise Varchar null değerlerde boşluk kaydeder . (space) . Varchar2 ise null değerlerde hiçbirşey insert etmez .
NVARCHAR2 : VARCHAR2 veri tipinden tek farkı her karakter 2 byte yer kaplar.
DATE : Tarih ve zaman bilgilerini tutmak için bu veri tipi kullanılır .
Tam Sayı Veri Türleri
BIT : Veritabanında fiziksel olarak 1 bayt veri saklar. 1 yada 0 değerini alır .
TINYINT : Veritabanında 1 byte yer kaplar . 0 – 255 arası değer alır
SMALLINT : Veritabanında 2 byte yer kaplar . -32768 ve 32767 arasında veri saklar
INT : 4 byte bir yer kaplar
BIGINT : 8 byte bir yer kaplar
INTEGER : ANSI standartlarından dolayı Oracle ın kabul etmiş olduğu veri tipidir. NUMBER(38) veri tipine karşılık gelir .
Ondalıklı Sayıların Veri Türleri
DECIMAL : Ondalıklı sayıları tutar. Scale den uzun bir veri geldiği durumda ondalıklı sayıları truncate eder
NUMBER : Ondalıklı sayıları tutar. Scale den uzun bir veri geldiği durumda round(yuvarlar) eder
DATE : Veri tipinde zaman bilgilerini tutmak için kullanılır .
DD.MM.YYYY HH:MM:SS şeklinde tutulur . 30.09.2013 09:00:00
LOB(Large Object) Veri Tipleri
Büyük nesne veri tiplerinin amacı boyutu büyük olan verileri saklamaktır . (örneğin metin, grafik görüntüleri, video klipleri, ses vs. gibi )
LONG , RAW , LONG RAW : Bu veri tipleri günümüzde pek kullanılmaz . Asıl amacı eskiye yönelik desteği sağlamak . Bu tiplerin yerine BLOP , LOB , BFILE gibi veri tipleri kullanılır .
BLOB : Verileri binary olarak saklar. Max 128 TB a kadar veri saklar . Resim , video gibi dosyalar bu veri tipinde saklanabilir .
CLOB : Verileri karakter olarak saklar . Max 128 TB a kadar veri saklar . TXT dosyalarının içerisindeki verileri CLOB veri tipinde saklayabiliriz
BFILE : İşletim sistemindeki fiziksel dosyaların referansını saklamak için kullanılır .
NCLOP : Multi byte veri tipini saklar .
ROWID : Veritabanında ilgili satırın adresini tutar . ROWID tanımladıktan sonra ilgili satırın ROWID değerinin değişmemesi lazım . Hızlı erişimlerde kullanışlıdır
UROWID : ROWID ile yapısı aynıdır . Fakat ROWID geçmişe yönelik destek amacıyla kullanılmaktadır . Oracle yeni versiyon olarak UROWID kullanır .
Diğer Veri Tipleri
BINARY_DOUBLE : Ondalıklı sayı değeri binary(1-0) olarak tutulur . Bu sayede ondalıklı sayılar üzerindeki işlemlerde yuvarlama , kırpma gibi durumlar olmaz
BINARY_FLOAT : Ondalıklı sayı değeri binary(1-0) olarak tutulur . Bu sayede ondalıklı sayılar üzerindeki işlemlerde yuvarlama , kırpma gibi durumlar olmaz
URITYPE : Bir URL adresinin bilgisi kaydedilir .
CHAR_VARYING : VARCHAR veri tipiyle aynıdır
CHARACTER_VARYING : VARCHAR veri tipiyle aynıdır
DOUBLE_PRECISION : NUMBER veri tipiyle aynıdır.
NATIONAL_CHAR : NCHAR tipiyle aynıdır .
REAL : FLOAT veri tipine karşılık gelir
National Karakter Veri Tipleri
Oracle veritabanında karakter setlerini national olarak kaydedersek her bir katakter 1 byte yerine 2 byte yer kaplar . Bunun aslı nedeni ise UTF-16 veri formatına göre kaydetmektir . Yani ANSI standartlarında desteklenmeyen karakterler UTF-16 standartlarında olduğu için bu şekilde kaydedilir .
Bir cevap yazın