Oracle – SQL Veri Tipleri

By LovelessGent
May 5th, 2016
0 Comments
88 Views

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

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Connect with Facebook