ANASAYFA MCSE ORACLE LINUX TEMEL PC SINEMA SPOR
Merak ettiğiniz veya öğrenmek istediğiniz konuları bize yazın.Makalelerini yayınlayalım.Mail adreslerimiz:
pektas.isil@gmail.com,acakmakli1983@gmail.com Bekliyoruz...

14 Ağustos 2009 Cuma

Oracle 11g de Data Tipleri

Oracle Database 11g birçok yeniliğiyle birlikte Temmuz,2007 de hayatımıza girdi. İlk yazım olan bu makalede Oracle 11g de kullanılan data tipleri hakkında kısaca bilgi vermek istiyorum.
11g de data tiplerini 5 sınıfta toplayabiliriz.

CHARACTER
Varchar2
Clob
Long
Nchar
Nvarchar2
Nclob

NUMERIC
Number
Binary_Float
Binary_Double
Float

ROW ID
ROWID
UROWID

BINARY
RAW
Long RAW
BLOB
BFILE

DATE and TIME
Date

Timestamp
Timestamp with time zone
Timestamp with local time zone
Inverval year to month
Interval day to second

Şimdi kısaca bu tiplerin nasıl kullanıldıklarına ve ne tür verileri için kullanıldıklarına bakalım,

Karakter Data Tipleri

Char : Char [( [BYTE CHAR] )] şeklinde kullanır.Parantez içinde yer alan Byte ve Char opsiyonaledir.Kullanılma zorunluluğu yoktur ve default değer BYTE dır.Char kullanırken dikkat edilmesi gereken önemli bir nokta vardır,char da belirtilen değer kadar database de yer ayrılır.Char belirtilen kolona değerinden az veri girilse de girilmese de belirtilen boyut kadar db de yer kaplar.Char data tipinde boyut belirtilmezse default değeri 1 byte tır ve maksimum değeri 2000 byte tır.
NCHAR : Nchar() Char tipine benzer ,fakat biz nvarchar’ı Unicode character-set dataları saklamak için kullanırız.Max. Size ı char da olduğu gibi 2000 byte tır.
Varchar2-Varchar : varchar2 ( [byte-char]) .Varchar2 de max. size belirlenmek zorundadır.Default değeri yoktur ve char dan ayrılan önemli özelliğinden biride varchar2 de belirlenen uzunluktan daha kısa veri seti girildiğinden varchar2 girilen veri seti kadar database de yer kaplar.Varchar2 ‘ e 1 ile 4000 byte arasında değer girilebilir.
Nvarchar2: Unicode verileri saklar.Boyut nchar da da olduğu bigi karakter cinsindendir.
CLOB : Karakter datalar için Large object data tipidir.Clob veri tipinde saklanabilecek max veri boyutu veritabanının size ına bağlıdır.Saklanabilecek verinin büyüklüğü (4G-1)*(database block size)
NCLOB : Clob la aynıdır.Unicode verileri saklar.
LONG : Long datatipi kullanımı Oracle Database 11g tarafından önerilmemektedir.Bunun yerine clob data tipini kullanabiliriz.2 gb yeri saklanabilir.Bir tabloda sadece bir tane Lopng veri turunde kolon tanımlayabiliriz.

Numeric Data tipleri
Number : Number data tipiyle fixed-point ve floating point sayıları saklayabiliriz.Bununla birlikte integer,float ,decimal gibi sayılarıda number tipiyle saklayabiliriz.
Float : Number data tipinin subtype ı gibi düşünebiliriz.Oracle 11g Float yerine Binary_Float ve Binary_Double data tipnin kullanılmasını önermektedir.
Binary Float: 5 byte yer tutar ve 32-bit floating point sayıları saklamak için kullanılırız.
Binary Double: 9 byte yer kaplar ve 64-bit floating-point sayıların saklanmasında kullanabiliriz.

Binary Data Tipleri
RAW: Binary bilgileri saklamak için kullanılır. Maksimum boyutu 2,000 byte tır.
Long RAW: RAW ile aynı sayılır fakat max. boyut belirtilmez.Bir tabloda Long ve Long RAW data tipinden sadece 1 tane kolon tanımlayabiliriz.Bu yüzden Oracle Blob data tipini kullanmayı önermektedir.
BLOB : 4 gb ta kadar Binary dataları saklamak için kullanabiliriz.
Bfile: Bu data tipi binary dosyları işletim sisteminde saklamak için kullanılır.Oracle database dışında veri saklayan tek data tipidir.

Row ID Data Tipleri
ROWID: Satırların fiziksel adreslerini saklar.
UROWID: Satırların,tablolarda primary-key lerine göre mantıksal olarak yerlerini tutar.

Tarih ve Zaman Data Tipleri

Date : Tarih ve saat bilgisini tutar.Data data tipi saniye,dakika,saat,gün,ay,yıl ve yüzyıl bilgisini tutar.
Timestamp : Date ve timestamp data tipi arasındaki tek fark timestamp de saniye kısmı kesirli ifade içerir.Default da 6 hanesi vardır,fakat niz 0-9 arasında değer verebiliriz.
Timestamp With Time Zone: Timestamp den tek farkı time zone bilgisinide saklar.
Timestamp With Local Time Zone : Saat ,tarih ve Time zone bilgisini database den değilde programın çalıştığı client dan alır.
Interval Year to Month : Bu data tipi adından da anlaşıldığı gibi Yıl ve ay cinsinden aralık belirler.
Interval Day to Second: Gün,saat,dakika ve saniye cinsinden zaman aralığını saklayan data tipidir.

Oracle koskocaman bir deniz,bu denizden size bir inci tanesi verebildiysem ne mutlu bana :)

1 yorum:

  1. merhaba Hocam,
    paylaşımınız için teşekkürler.!!!
    bir number tipinde değişken tanımladığımızda, eğer size'ını vermezsek varsayılan size ne olur?

    YanıtlaSil