Sql Server Veri Tipleri

Kısaca: Veri tipleri tablolarda tutacağımız verilerin yapısını belirlemeye yarar. Tabloları oluştururken doğru veri tiplerini kullanmak bize sonradan (hazırladığımız veri tabanını kullanırken) kaynak ve performans açısından büyük kazançlar sağlar. Aksi takdirde hazırladığımız veri tabanları gereğinden büyük boyutta veriler tutmamıza sebep olacağı için hazırladığımız veri tabanını kullanan programların performansını da olumsuz yönde etkileyecektir. ...devamı ☟

Data tipleri bir kolona gireceğimiz verinin tipini sınırlandırırlar. Bazı durumlarda da verinin limitini (saylısal büyüklük ve küçüklük) belirerler. Veri tipinin seçilmesi bir database in hazırlanmasındaki en kritik aşamadır. Bir sutun için data tipi belirlenirken,depolamak istediğimiz değerlerin hepsine uygun bir tip seçmeliyiz ve bunu yaparken kullanabildiğimiz en küçük alanı kullanmalıyız. SQL Serverda data tipleri 7 kategoriye ayrılabilirler:

  1. Exact Numeric: Sayıları eğer varasa ondalık kısımlarıyla birlikte depolayan veri tipleri
  2. Approximate Numeric : Exact Numeric tipinin tutamadığı uzunluktaki ondalık sayıları tutan veri tipleri
  3. Monetary : Parasal birimleri tutmak için kullanılan veri tipleri
  4. Date and Time : Tarihsel değerlerin tutulduğu veri tipleri
  5. Cahracter : Uzunluğuna göre karakterleri depolayan veri tipleri (kelimeler… gibi)
  6. Binary : Binary tipli verileri tutmak için kullanılan veri tipleri (resim, mp3…gibi)
  7. Special  Purpose : Özelleştirilmesi gereken karmaşık veri tiplerini tutmak için tasarlanmış veri tipleridirleri


1. Exact Numeric Data Tipleri

Bu veri tipleriyle tam sayılar veya ondalık sayılar tutlabilirler. Bu veri tipleriyle matematik işlemleride yapılabilir. Kapladıkları alana göre ve kapasitelerine gore 6 ya ayrılırlar:

Bigint = 8 bayt yer kaplar. (int: Integer(tamsayının kısaltması) Adından belli olduğu üzere tam sayıları tutar. Tutabileceği aralıkda -263 ile 263- 1 arasıdır. (Pek kullanılmaz)

Int= 4 bayt yer kaplar. Yine belirli aralıktaki tam sayıları tutarlar. Aralıkda -231 ile 231 - 1 dır. En çok kullanılan veri tiplerinden biridir. Bizim için sadece bir tane olması gereken değerlere (ID lere) verilebilir.

Smallint=2 bayt yer kaplar. -215 ile 215 – 1 arasındaki değerleri tutar. (-32768 ile 32767 arası)

Tinyint=1 bayt yer kaplar. 0 'dan 255 'e kadar olan sayıları tutarlar.

Decimal(p,s)=Decimal ondalık veya tam butun sayıları tutar ama ondalık sayı için kullanılır. Neden? Çünkü kapladığı alan bakımından. Decimal içine parametre alır. Yani şöyle ki mesela decimal(4,2) diye bie değişken tanımladım, bu demek oluyorki önce 4 basamak yazıyorum ondan sonra sağdan 2 basamak sayıp virgülü koyuyorum.

Örnek: decimal(5,3) önce rastgele beş basamak sayı yazıyorum "12345" , şimdide 3 basamak ayırıyorum "12,345". Yani decimal(5,3) sayısı 2 basamaklıdır ve virgülden sonra 3 basamak bulundurur.

Numeric(p,s) = İşlev ve özellik bakımından decimal ile aynıdır.(Pek kullanılmaz)

2. Aproximate Numeric Data Tipleri

Bu veri tiplerinde (zaten 2 tane var) amaç decimal in tutamadığı büyüklükteki değerleri tutmaktır.

Float(n) = -1,79E + 308 'den 1,79E + 308 'e kadar olan değerleri alabilir. Kapladığı alan içine aldığı "n" değerine göre değişir. (1<= n <= 53 olmalı)

Real = eski versiyonlarda kullanıldığı için bu versiyonda da kullanılmış. Bu da -3,40 + 38 'den 3,40 + 38 'ekadar olan küsürlü verileri tutar. 4 bayt yer tutar.

3. Monetary Data Tipleri

Söyleyecek fazla bişey sanırım, adları üstünde; para yerine kullanacağımız değişkenler

Money= -922 337 203 685 47,.5808 'den 922 337 203 685 477,5807 'ye kadar paraları tutabilir. 8 bayt yer kaplar.

Smallmoney= 214 748,3648 'den 214 748,3647 'kadar olan sayıları tutabilir. 4 bayt yer kaplar.

4. Date and Time Data tipleri

Tarih ve zamanı tutmak için kullanılan veri tipleri

Datetime= 1 Ocak 1753 'ten 31 Aralık 9999 'a kadar olan tarih aralığıı tutabilir. 8 bayt yer kaplar.

Smalldatetime= 1 Ocak 1900 'den 6 Haziran 2079 'a kadar olan tarih aralığını tutar. 4 bayt yer kaplar.

5. Character Data Tipleri

Karakter data tipleri en çok kullanılan data tipleridir. Kelimelerin yerine daha doğrusu harflerin yerine kullanılır. Parametre alırlar. Aldıkları parametreler içerdikleri karakter sayısıdır. İsimlerinde genelde "char " kelimesi vardır. Bunun başına "n" veya " var" önekleri getirilerek diğer data tipleri oluşturulmuştur. Kısaca bunlar ne demek bi bakalım.

Önce "n" varsa veri tipinin başında bu unicode karakterleride içeriyor demektir. Yani her dilde görüntülenebilir. Başında " n " olanlar olmayanlarına göre 2 kat daha fazla yer tutarlar (açıklayınca daha rahat görebilirsiniz).

Başında "var" olanlar ise içine aldıkları parametreye kadar genişletilebilirler. Örneğin varchar(5) direk olarak 5 baytlık yer ayırmaz, içine 3 harf yazarsak 3 bayt, 2 harf yazarsak 2 bayt yer ayırır. Bu neden boyle diyecek olursanız veri tipi varchar(5) değilde char(5) olsaydı ben içine tek bi karakter bile yazsam direk 5 baytlık alnı işgal edecekti. Şimdi diceksinizki o zaman ben hepsini varchar la yaparım. Ne kadar girersem o kadar yer kaplasın. Ama bu sizin yapacağınız sorgularda performans kaybetmenize sebep olabilir. Veri tiplerine geçelim..

Char(n) = Enfazla 8000 karakter alabilir. Dolayısıyla maksimum 8000 bayt yer kaplar. Bu veri tipi içine girilecek olan karakter sayısı kesin belli olduğu zaman kullanılır. Örnek: Northwind tablosundaki CustomerID ler (hepsi 5 karakterli)

Nchar(n) = Enfazla 4000 karakter alır. 2 ile 8000 bayt arası yer tutar. (unicode karakterleri yüzünden)

Varchar(n ) = Enfazla 8000 karakter içerir. 8000 bayta kadar yer tutabilir. Bu veri tipini girceğimiz değerin uzunluğu kesin belli olmadığında kullanabiliriz. Örnek: şehirlerin isimleri…

Nvarchar(n) = Enfazla 4000 karakter alır. 2 ile 8000 bayt arası yer tutar. (unicode karakterleri yüzünden)

Varchar(max) = 2Gb 'a kadar karakter alabilir. 1 073 741 824 karakter alabilir.

Nvarchar(max) = 2Gb 'a kadar karakter alabilir. 536 870 912 karakter alabilir. (unicode karakterleri yüzünden)

Text = varchar(max) ın aynısı.

Ntext = nvarchar(max) ın aynısı. Bu text ve ntext çok fazla kullanılmıyor. Onların yerine varchar, char … kullanılıyor.

6. Binary Data Tipleri

Bu data tiplerini anlatmanın bence en klay yolu bunları depoya benzetmektir. İçine tutabileceği kadar ne koysanız tutar.Örneğin mp3, resim, word belgesi…gibi. Bunlarda parametre alıyor ve yukardaki "var" olayı bunlarda da var. (alanı direk ayırmayıp, biz değer girdikçe artan olay) Zaten 4 tane var bunlardan.

Binary(n) = 8000 bayta kadar veri tutabilir.

Varbinary(n) = 8000 bayta kadar veri tutabilir.

Varbinary(max ) = 2Gb 'a kadar veri tutabilir.

Image = 2Gb 'a kadar veri tutabilir.( image=varbinary(max) )

7. Specialized Data Tipleri

Hepsinin adını yazayım ama 3 tanesine değineceğim sadece. Bit, timestamp, uniqueidentifier, sql_variant, cursor, table, Xml.

Bit= 0 veya 1 tam sayı değeri alan değişkenlerdir. Yani geriye true veya false bi değer döndürür. Örneğin cinsiyette, evli-bekar, evet-hayır, var-yok gibi şekillerde kullanılabilir.

Sql_variant= Bu gireceğimiz değerin çeşidini bilmediğimiz sütunlarda kullanabileceğimiz bir veri tipidir. Yani resim, string, sayı, table ne olduğunu bilmediğim şeyler yerine kullanabilirim. Tabiki 8000 bayta kadar.

Uniqueidentifier= 16 bayt yer kaplar. Global tek değişkenlerdir (GUID, Globally Unique Identifier).

Kaynak

http://www.ceturk.com/forum/forum_posts.asp?TID=10022&get=last

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.

Microsoft SQL Server
2 yıl önce

tabanı" Sybase SQL Server tarafından Microsoft'a satıldı, ve bu Microsoft'un kurumsal seviyede veritabanı pazarına girişi oldu. Sybase SQL Server 3.0 ile esasen...

Microsoft SQL Server, ,
SQL
2 yıl önce

bir dildir. SQL, kendisi bir programlama dili olmamasına rağmen birçok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında...

SQL, MySQL, Oracle İlişkisel Veritabanı Yönetim Sistemi, PostgreSQL, Programlama dili, Veri tabanı, İngilizce, MSSQL
Veritabanı
2 yıl önce

tabanı dizaynı çıkarma, fiziksel olarak veri tabanı oluşturma, Transact-SQL kullanarak sorgu yazma, Microsoft SQL Server kurulumu ve konfigürasyonu, güvenlik...

Bağıntısal cebir, MSSQL Server, DBMS, Firebird, MySQL, Oracle, Otomotiv, PL/SQL, PostgreSQL, SQL, Sybase
Veritabanı yönetim sistemi
2 yıl önce

sistemi. Veri sorgulama alt sistemi. Veri tanımlama alt sistemi. Uygulama geliştirme alt sistemi. Veri tabanı yönetim alt sistemi. 1C Adaptive Server Enterprise...

Veritabanı yönetim sistemi, DBase, Microsoft Access, Oracle, Veritabanı, Yazılım, Taslak madde
Uzamsal veritabanı
2 yıl önce

Microsoft SQL Server sürümlerinin 2008 tarihinden beri uzamsal türler için desteği vardır. PostgreSQL DBMS (veritabanı yönetim sistemi) ölçüt veri türü geometri...

Arabellek aşımı
6 yıl önce

(İngilizce: Buffer overflow), iki yazılım arasında veri iletişimi için ayrılmış olan bir arabelleğe boyutundan daha fazla veri konulması ile ortaya çıkan durumdur....

Arabellek aşımı, Arabellek, Bilgisayar virüsleri, Windows NT, İngilizce, RPC
İşletim Sistemi
2 yıl önce

v10.0) ile, MacOS X Server 1.0 olarak 1999 yılında piyasaya sürüldü. O zamandan beri, altı farklı "müşteri" ve MacOS X'in "server" sürümleri serbest bırakıldı...

Matlab
2 yıl önce

tarafından geliştirilmektedir. MATLAB kullanıcıya, matris işleme, fonksiyon ve veri çizme, algoritma uygulama, kullanıcı arayüzü oluşturma, C, C++, Java, ve...

MATLAB, C++, Fortran, Mühendislik, Bilim, Fourier analizi, Optimizasyon, Lineer cebir