Saturday, October 23, 2010

Tipe Data SQL 2003



Langkah pertama sebelum merancang sebuah tabel adalah menentukan tipe data pada setiap field yang akan digunakan. Tipe data digunakan untuk menjamin integritas data karena ada perubahan atau penambahan data yang harus disamakan dengan tipe data dari tabel.

Pada SQL Server ada beberapa obyek yang mempunyai tipe data, antara lain:

  • Field-field dalam suatu table atau view.
  • Parameter dalam stored procedure.
  • Variabel
  • Function pada Transact SQL.
  • Stored Procedure yang memberikan hasil dengan tipe integer.




Dengan menentukan tipe data dari suatu obyek berarti mendefinisikan empat atribut dari obyek tersebut, yaitu:
Jenis data
Jenis data yang ada di salam suatu obyek harus jelas. Apakahdata berbentuk integer, string atau biner.
Ukuran data
Ukuran dari tipe data string dan Unicode didefinisikan dalam satuan karakter. Ukuran dari tipe data numeric dihitung termasuk banyaknya digit desimal yang digunakan. Ukuran tipe data image, binary dan varbinary adalah byte.
Presisi bilangan
Yang dimaksud dengan presisi adalah banyaknya digit dari sebuah bilangan. Misalnya obyek yang bertipe data SmallInt dapat berisi lima digit sehingga presisinya adalah lima.
Skala bilangan
Skala adalah banyaknya digit yang disimpan di sebelah kanan titik decimal. Oleh karenanya skala ini hanya dipakai untuk data numeric. Misalnya, obyek dengan tipe data interger tidak dapat menerima titik decimal dan skalanya NOL.

SQL Server menyediakan macam-macam tipe data yang dikelompokkan menjadi beberapa bagian:
Kelompok tipe data Numeric
Interger
Mendefinisikan bilangan bulat positif dan negative.
* BigInt
Mendefinisikan nilai integer yaitu bilangan bulat dengan batasan nilai antara -2^63 [-9223372036854775808] sampai 2^63-1 [9223372036854775807].


* Int
Mendefinisikan nilai integer yaitu bilangan bulat dengan batasan nilai antara -2^31 [-2,147,483,648] sampai 2^31 – 1 [2,147,483,647].


*SmallInt
Mendefinisikan nilai integer yaitu bilangan bulat dengan batasan nilai antara -2^15 [-32,768] sampai 2^15 – [32,767].


* TinyInt
Mendefinisikan nilai integer yaitu bilangan dengan batasan nilai antara 0 sampai 255.

Bit
Nebdefinisikan bilangan bulat dengan nilai 0 atau 1.

Decimal dan Numeric
Mendefinisikan bilangan numerik yang disimpan dengan nilai tepat, tanpa pendekatan.
* Decimal (n.p)
Mendefinisikan bilangan pecahan, baik fixed decimal atau floating point. Nilai n adalah jumlah byte total dengan panjang antara 1 sampai 38. Sedangkan p adalah jumlah digit bilangan dibelakang titik decimal (dibelakang koma).
* Numeric (n.p)
Fungsinya sama dengan tipe data Decimal.

Monetary
Mendefinisikan jumlah uang dalam bentuk positif atau negative.
* Money
Mendefinisikan nilai uang dengan jangkauan mulai -2^63 [-922,337,203,685,477.5808] sampai 2^63 – 1 [922,337,203,685,477.5807] dan berukuran 8 byte.
* SmallMoney
Mendefinisikan nilai uang, jangkauannya mulai dari -214,748.3648 sampai 214,748.3647.

Floating point
Mendefinisikan bilangan numeric dengan nilai pendekatan.
* Float
Mendefinisikan bilangan floating point dengan jangkauan -1.79E + 308 sampai 1.79E + 308.
* Real
Mendefinisikan bilangan mulai -3.40E + 38 sampai 3. 40E + 38.

Data dan time
Mendefinisikan nilai yang berisi kombinasi data tanggal dan waktu.
* Datetime
Mendefinisikan data tanggal dan jam (waktu) mulai 1 Januari 1753 sampai dengan 31 Desember 9999 dengan akurasi sampai 3,33 milidetik.
* Smalldatetime
Mendefinisikan data tanggal dan jam (waktu) mulai 1 Januari 1900 sampai 6 Juni 2079 dengan ketelitian sampai 1 menit.

Kelompok tipe data String
Character
Mendefinisikan nilai yang berisi karakter-karakter alfanumerik dan symbol.
* Char (n)
Mendefinisikan nilai string sepanjang n karakter sampai dengan batas maksimal sebesar 8000 byte. Jika nilai n tidak disebutkan maka panjang karakternya adalah 1.
* Varchar (n)
Mendefinisikan nilai string sepanjang n karakter sampai dengan batas maksimal sebesar 8000 byte.
* Text
Mendefinisikan semua jenis data yang berupa text seperti memo, dokumen, listing program dimana ukurannya dapat mencapai 2^31 – 1 [2.147.483.647 byte]

Kelompok tipe data Unicode Character String
Unicode
Unicode adalah karakter internasional yang menampung 16 bit per karakter. Unicode digunakan oleh bahasa non latin seperti Jepang, Jerman, Cina dan sebagainya. SQL Server menyiapkan ruang 16 bit per karakter.
* Nchar
Karakter Unicode mempunyai ukuran tetap hingga 4000 byte.
* Nvarchar
Karakter Unicode mempunyai ukuran yang bervariasi hingga 4000 byte.
* Ntext
Karakter Unicode mempunyai ukuran hingga 1000.073.741.823 byt atau 2^30 – 1.
Kelompok tipe data Binary String


Binary
Mendefinisikan bilangan dengan ukuran tetap hingga 8000 byte.

Varbinary
Mendefinisikan bilangan dengan ukuran bervariasi hingga 8000 byte.

Image
Mendefinisikan binary data untuk menyimpan image (.gif, .jpg, .tif) dengan ukuran yang bervariasi hingga 2.147.483.647 byte atau 2^31 – 1.

Kelompok tipe data lainnya
Special
Mendefinisikan nilai yang berisi data khusus yang tidak dapat dimasukkan ke dalam katagori lain.
* Cursor
Merupakan referensi ke kursor.
* Timestamp
Merupakan nilai urutan waktu yang dibuat oleh SQL Server pada saat Insert atau Update suatu field. Nilai ini selalu unik dalam satu database dan selalu lebih besar dari nilai sebelumnya.
* Uniqueidentifier
Merupakan bilangan hexadecimal dengan ukuran 16 byte yang menyatakan Global Unique Identifier (GUID). GUID digunakan jika sebuah baris harus berbeda (unik) dari baris lain.
* SQL Variant
Berisi semua data yang diperbolehkan oleh SQL Server kecuali text, ntext, timestamp, image dan SQL variant.
* Table
Tipe data ini dipakai untuk menyimpan hasil table yang digunakan untuk pemrosesan selanjutnya.

[1]   Yuswanto & Subari, Mengolah Database dengan SQL SERVER 2000, Prestasi Pustaka, 2005

No comments:

Post a Comment