IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 08 Nisan 2019, 10:57   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Oracle SQL Veri Tipleri (Oracle / PLSQL Data Types)





Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Oracle / PLSQL'de kolonlar (Columns) için kullandığımız veri tiplerinden bahsedeceğim. Database'de bilgiler tablolar içerisinde tutulmaktadır. Tablomuzu tasarlarken; hangi kolonda hangi veriyi tutacağımızı tasarlayıp ona uygun veri tipini seçmeliyiz. Bu veri tipi karakter olabilir, sayısal bir değer olabilir veya tarih değeri olabilir.

VARCHAR2: Karakter formatı için kullanılır. Null(Boş) değerlerleri "Space" (Boşluk) olarak kaydeder. Maksimum karakter sayısı 4000 Bytes'dır. Büyüklük karakteri belirtilmelidir ve yazı karakteri kadar kolonda yer kaplar. VARCHAR2 ve CHAR arasındaki fark verinin sonuna eklenen boşluk karakteri ihmal ederken, VARCHAR2 bunu dikkate alır ve kaydeder.

CHAR: Sabit uzunluğu belli olan karakter seti için kullanılan veri tipidir. Maksimum karakter sayısı 2000 Bytes'dır. Belirlenen uzunluktan daha kısa bir dizi kaydetmek istediğinizde kalan satır sonuna otomatik boşluk karakteri eklenmektedir. Örneğin 8 karakter uzunluğuna sahip bir kolona siz "Tolga" dizisini eklediniz, kolona "Tolga" olarak kaydetmektedir. Genelde TCKN gibi veri seti belli olan diziler için kullanılabilir.

NUMBER: Digit, sayı karakteri için kullanılır. Tam ve ondalıklı kısım olarak sayıları saklar.
NUMBER (P,S)
NUMBER (4,2) 4 basamak sayısını, 2 ise ondalık kısmı söyler: 77,77



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



INTEGER: Tam sayılı değerler için kullanılan veri tipidir. Negatif ve Pozitif sayı değerleri için kullanılır ve Byte cinsinden kolona kaydedilir. NUMBER(38) veri tipine karşılık gelir.

NUMBER ve INTEGER veri tipleri arasındaki fark; Oracle'da Numeric değerler genelde NUMBER Data tipinde tutulur, INTEGER(INT) daha küçük size da Data tutar. Yani INTEGER pek kullanılan bir Data tipi değildir. Numeric alan tutacaksanız NUMBER işinizi görecektir. Hem küçük sayı hemde çok büyük sayılar için kullanışlıdır. Tabi küçük sayıları da INT alanda da tutabilirsin ama ilerde yetersiz kalırsa Data tipini NUMBER'a dönüştürmeniz gerekir. NUMBER'da size küçük bile gelse basit bir Alter komutu ile size büyütebilirsiniz.

NUMBER(P,S) P karakter sayısı kadar toplam basamak tutar, S kadar ondalık kısım tutar.
NUMBER(9,2) 7456123.89 (Toplam 9 karakter, 2 ondalık)
NUMBER(9,1) 7456123.9 (Toplam 9 karakter, 1 ondalık)
NUMBER(6) 123456 (6 karakter tut, ondalık kısmı tutma)
NUMBER (Bu şekilde kullanılamaz, en azından karakter uzunluğu verilmelidir)


DATE: Tarih formatı için kullanılan veri tipidir. Sadece tarih girişi için kullanılır. 'YYYY-AA-GG' şeklinde depolama yapar. '1000-01-01' ile '9999-12-31' arasındaki tarihleri destekler.

DATETIME: Tarih ve Saat kombinasyonu için kullanılır. 'YYYY-AA-GG SS : DD : SS' şeklinde depolama yapar. '1000-01-01 00:00:00' ile '9999-12-31 23:59:59' arasındaki tarihleri destekler.

TIME: Sadece Saat verisi saklamak için kullanılır. 'SS : DD : SS' (Saat-dakika-saniye) şeklinde saklar.

LONG: Oracle'ın eski versiyonlarda vardır pek kullanılmaz. Maksimum karakter seti 2 GB'dır.

LONG RAW/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.

RAW: Long veri tipine benzer. Maksimum karakter seti 2000 Bytes'dır.

NVARCHAR2: VARCHAR2 veri tipine çok benzer. Aralarında ki tek fark girilen karakterler Unicode olarak saklanır. Maksimum karakter seti 4000 Bytes'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.

ROWID: Satırın(Row) Fiziksel adresini gösteren Pointer, Pseudo bir kolondur. ROWID 10 Byte boyutunda String tutar. Oracle'da en hızlı arama biçimdiri çünkü fiziksel veri setini tutar. Güncelleme, Silme işlemini hızlıca ROWID üzerinden yapabilirsiniz. Select çektiğimizde gözükmez ama görmek istersek;

SELECT ROWID,* FROM HR.TABLE;

ROWID değeri tablo ve blok yapısına göre değişebilir. ROWID tekrar eden kayıtları silerken de işimize yarar, çünkü silerken baz alacağımız değerler aynıysa farklı Unique bir değere ihtiyacımız vardır, bu durumda da ROWID'yi kullanabiliriz;
DELETE FROM TABLE_NAME V WHERE V.ROWID>(SELECT MIN (P.ROWID)
FROM TABLE_NAME P WHERE P.COLUMN_NAME = V.COLUMN_NAME);

NCHAR: Her bir karakteri 2 Byte olan ve en fazla 10 karakter içerebilen metinsel bir ifadeyi tutabilir. Tuttuğu Data kaç karakter olursa olsun 20 Byte'lık yer kaplar. Buradaki "N", National'dan gelmektedir. Bu değişken içerisinde uluslar arası kodlar (UNICODE) içeren metinsel ifadeler tutulabilir. 'N'in tek farkı budur. Eğer tuttuğumuz Data UNICODE içermiyorsa, bu Data tipini kullanmamız gereksizdir. Maksimum karakter seti 2000 Bytes'dır.

CLOB(Character Large Object): Verileri karakter olarak saklar. Büyük veri setleri için kullanılır. Maksimum 4 GB veri saklasa da bu aralık (8 TB-128 TB) kadar çıkabilmektedir. Dosya uzantısı ".TXT" olan içerisindeki verileri CLOB içerisinde saklayabiliriz.

NCLOB: CLOB veri tipi ile aynı mantıkta olup Multi Byte veri tipini saklar.

BLOB: Verileri Binary olarak saklar. Maksimum 128 TB kadar veri saklar. Resim, video gibi dosyalar bu veri tipinde saklanabilir.

BFILE: İşletim sistemindeki fiziksel dosyaların referansını saklamak için kullanılır.

FLOAT (P,S): Küçük rakamlı virgüllü ifadeler için kullanılır. Boyut ile sayının virgüllü kısmı dahil alabileceği en fazla miktar belirtilirken "S" ile virgülden sonra kaç basamak olacağı belirtilir.
Boyut değeri en fazla 38 olabilir.

BINARY_DOUBLE: Ondalıklı sayı değeri Binary(1-0) olarak tutulur . Bu sayede ondalıklı sayılar üzerindeki işlemlerde yuvarlama veya kırpma gibi durumlar oluşmaz.

BINARY_FLOAT: Ondalıklı sayı değeri Binary(1-0) olarak tutulur . Bu sayede ondalıklı sayılar üzerindeki işlemlerde yuvarlama veya kırpma gibi durumlar oluşmaz.

REAL: FLOAT veri tipine karşılık gelmektedir.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



TOAD(Toad for Oracle) üzerinden Tablo oluşturma ve Kolon ekleme, Data Type seçimini yapacak olursak;

İlk olarak Schema Browser kısmından Tables yapısını açarız. Resimdeki ikondan Create Table kısmından yeni tablo oluşturabilirsiniz.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Tablo şemasından tablomuzu seçtikten sonra Columns sekmesinden kolonları görebilirsiniz.
Add Column: Yeni kolon eklemek için kullanılır.
Drop Column From This Table: Kolonu tablodan silmek için kullanılır.
Rename Column: Kolon adını değiştirmek için kullanılır.

Yeni bir kolon için Add Column dedikten sonra Column Name kısmına kolon adı, Type kısmından ise veri tipi seçebilirsiniz. Nullable seçerseniz kolon boş kalabilir, Not Nullable ise kolona veri girmenizi isteyecektir. Kolon özelliklerini belirledikten sonra Show SQL diyerek SQL kodunu da alabilirsiniz.

Kaynaklar
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] (Integer)
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
~

Çok güzel gözlere, kaşlara sahip olman gerekmez.

Yüzüme bakacak kadar, yüzün olsun. ` Kâfi.

#
UzmaN ~
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
oracle sql veri tipleri


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Oracle Turkiye YazılımMimarı Bilim Dünyasından Son Haberler 0 27 Temmuz 2012 14:25
Oracle RIM'i alıyor mu! Deep Cep Telefonlar 0 18 Nisan 2012 18:15
Oracle Fonzerelli Oracle 1 03 Aralık 2010 17:22