1 / 17

SQL SERVER 2008

SQL SERVER 2008. VERİ TİPLERİ. Sql tam sayı veri tipleri. Bit: F iziksel olarak 1 bayt yer kaplar. Bit 1 ya da 0 değeri depolar. Böylece yazılım uygulamalarında true / false yapısına destek verir. Tinyint : Fiziksel olarak 1 baytlık yer kaplar.

Download Presentation

SQL SERVER 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL SERVER 2008 VERİ TİPLERİ

  2. Sql tam sayı veri tipleri • Bit: Fiziksel olarak 1 bayt yer kaplar. Bit 1 ya da 0 değeri depolar. • Böylece yazılım uygulamalarında true/false yapısına destek verir. • Tinyint:Fiziksel olarak 1 baytlık yer kaplar. • 0 ile 255 aralığında veri depolamak için kullanılır • Smallint:Fiziksel olarak 2 baytlık yer kaplar. -32,768 ile 32,767 aralığındaki değerleri depolamak için kullanılır.

  3. Sql tam sayı veri tipleri • Int:Fiziksel olarak 4 baytlık yer kaplar. • 2,147,483,648 ile 2,147,483,648 aralığında değerleri depolamak için kullanılır. • Bigint: 8 baytlık yer kaplar. -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 aralığındaki değerleri depolamak için kullanılır.

  4. Ondalık sayı veri tipleri • SmallMoney:Fiziksel olarak 4 baytlık yer kaplar. -214.748,3648 ile 214.748,3647 aralığındaki değerleri depolamak için kullanılır. • Money : 8 baytlık yer kaplar. -922.337.203.685.477,5808 ile 922.337.203.685.477,5807 aralığındaki değerleri depolamak için kullanılır.

  5. Metinsel Veri tipleri • Char:Sabit uzunluktaki ANSI(İngilizce karakter) karakterleri depolamak için kullanılır. Her bir karakter için veritabanında 1 baytlık yer kaplar. En fazla 8000 karakter kadar veri saklayabilir. • Chartipinde bir alan tanımlandığında, alan, veri alanı kapasitesinden az sayıda karakter içerse bile veri tabanında aynı büyüklükte yer kaplar. • Örnek: Char(6) şeklinde tanımlandığında bu alana ‘Ali’ değeri de girilse ‘Zeynep’ değeri de girilse veri tabanında 6 baytlık yer kaplayacaktır. Aynı alana ‘mustafa’ değeri girilirse veritabanı bu değeri ‘mustaf’ olarak saklayacaktır.

  6. Metinsel Veri tipleri • Varchar:VarChartipinde bir alan tanımlandığında alan içerisine girilen veri kadar yer kaplar. • Örnek: VarChar (6) şeklinde tanımlandığında bu alana ‘Ali’ değeri girilirse 3 baytlık ‘Zeynep’ değeri girilirse veri tabanında 6 baytlık yer kaplayacaktır. Aynı alana ‘mustafa’ değeri girilirse veritabanı bu değeri ‘mustaf’ olarak saklayacaktır.

  7. Metinsel Veri tipleri • Text:Veri tipi 8000 karakterden fazla uzunluktaki ANSI(İngilizce karakter) karakterleri depolamak için kullanılır. • NCHAR:Veri tipi char gibidir. Ancak ANSI yerine UNICODE karakter seti kullanılır. Bu nedenle bir bayt yerine 2 bayt yer işgal eder. 4000 karaktere kadar metin saklayabilir ve sabit uzunluktaki metinleri depolar. • NVARCHAR: UNICODE karakter depolamak için kullanılır

  8. Tarih/ zaman Veri tipleri • SmallDateTime:Fiziksel olarak 4 baytlık yer kaplar. 1 Ocak 1960 ile 6 Haziran 2079 arasında tarihleri depolar. Tarih ve zaman bilgisini “ 1” dakikalık hassasiyetle kayıt tutar. • DateTime:Fiziksel olarak 4 baytlık yer kaplar. 1 Ocak 1753 ile 31 Aralık 9999 arasındaki tarihleri depolayabilir. Tarih bilgisini 3,33 milisaniyelik hassasiyetle kayıt edebilir.

  9. Veri Tipleri Seçimi • Metinsel veri tiplerini seçerken ilk bakmamız gereken şey ulusal karakterleri kullanıp kullanamayacağımızdır. Örneğin; e-mail adreslerini depolayacak bir alan”ç,ğ,ş,ü” gibi harfleri barındırmayacağımızdan ANSI veri tipleri olan char yada varchar daha akıllıca olacaktır.

  10. Veri Tipleri Seçimi • Metinsel veri tiplerini seçerken ikinci bakmamız gereken şey durum değerlerin sabit uzunlukta olup olmadığıdır. Örneğin web adreslerinin karakter sayıları değişkenlik gösterir. Bu nedenle böyle bir alan için değişken boyutta metin veri tipi olan varchar veya text kullanmak daha akıllıca olacaktır. Ancak eğer plaka bilgisi tutacaksak sabit uzunlukta veriler kayıt edeceğiz demektir ve char veri tipi kullanmamız daha doğru olur.

  11. Veri Tipleri Seçimi • Metinsel veri türünde bilgiler depolayacak alanlar tanımlanırken tutabilecekleri en fazla karakter sayısının belirtilmesi gerekir. Burada dikkat edilmesi gereken nokta bir alan için alabileceği en uzun değerin üzerinde veri girersek, verinin sınırının üzerinde kalan kısmının silinecek olmasıdır. Bu nedenle alanda karakter sayısı belirtilirken olası en uzun karakter sayısının doğru analiz edilerek belirtilmesidir.

  12. Veri Tipleri Seçimi • Bazen bazı bilgileri saklarken metinsel veri tipi mi yoksa sayısal veri tipi mi kullansak daha iyi olur diye tereddütte kaldığımız olabilir. Örneğin: T.C Vatandaşlık numarası tamamen rakamlardan oluşmuştur ve sabit uzunluktadır. 11 rakamdan oluşan vatandaşlık numaralarını char(11) veri tipiyle tanımlanan bir alanda tutmak mümkündür. Fakat 11 baytlık bir yer kaplar. Aslında temel olarak matematiksel işlemlerde ve sayısal karşılaştırmalarda kullanmayacağımız bilgileri sayısal veri tipleriyle kayıt etmemize gerek yoktur.

  13. Veri Tipleri Seçimi • Örneğin: vatandaşlık numarası için 11 basamaklı tam sayı değerleri depolayabilen bigintveri tipini kullanırsak, sırf bu alanda kayıt başına 3 bayt kazanmış oluruz. Bu da yaklaşık 70 milyon mevcut nüfusu olan Türkiye’de kabaca 30 milyon civarında da eski kayıtlar olduğunu varsayarsak, 100 milyon kayıtta 300 milyon baytlık, yani 300 MB alan kazanırız.

  14. Veri Tipleri Seçimi • Sayısal verilerle çalışırken ilk yapmamız gereken tam sayı-ondalık sayı ayrımıdır. Bu ayrımı yaptıktan sonra, alanın alacağı en yüksek değere göre uygun olan veri tipini seçmemiz yeterlidir. Özellikle parasal değerler girilecek bir alan tanımlıyorsanız smallmoney ya da Money veri tipini kullanabilirsiniz. Alan ondalık değerleri de tutacaksa decimal kullanın.

  15. Null ve Not Null • Bir alanın NULL olarak tanımlanması demek bu alana veri girilmeden yeni bir satır oluşturulabileceği anlamına gelir. Örneğin: iki isimli insanları düşünerek 2. isim diye bir yer açtık tablomuzda. Fakat her insanın 2. ismi olmak zorunda değil. Ozaman 2. isim özelliğini NULL yapabiliriz. • Fakat bazı veriler varki bunları kesinlikle NULL yapamayız. Mesela TC kimlik numarası her insanda olmak zorundadır. O yüzden TC kimlik numarası değerini kesinlikle boş bırakılamaz.

  16. IDENTITY • Oluşturulan bir tabloda verilerin ardışık sayılardan oluşan değerleri alması isteniyorsa identity özelliği kullanılır. Yani veri ekleyeceğimiz zaman ürün veya nesnesinin ID sayısı otomatik olarak artar. • Tanımlayıcı alanlar Null değer alamazlar(ID ler) ve her tabloda ancak ve sadece bir tanımlayıcı alan olabilir(bir tane primaryKey). Tanımlayıcı alanlar gelende int,bigint,smallint,tinyint,numeric, yada decimal olabilir. Tanımlayıcı alanlar(ID) ler güncellenemezler.

More Related