Jumat, 22 April 2011

TYPE DATA SQL SERVER

1
TUGAS PRAKTEK SISTEM BASIS DATA
OLEH :
NAMA : I KADEK PURNAWIRAWAN
NIM : 080020113
PROGRAM : DIPLOMA TIGA (D3)
BIDANG STUDI : MANAJEMEN INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA
DAN TEKNIK KOMPUTER
(STMIK) STIKOM BALI
2011
2
tipe data pada setiap field yang akan digunakan.
SQL Server menyediakan macam-macam tipe data yang dikelompokkan menjadi beberapa bagian, yaitu :
a. Tipe data numeric
- Integer
Mendefinisikan bilangan bulat positif dan negative mulai dari range -2^63 sampai -2 ^ 15 -1, dan 0 sampai 255
- bit
mendefinisikan nilai bilangan bulat dengan nilai 0 atau 1.
- decimal
mendefinisikan bilangan numeric yang disimpan dengan nilai tepat yang tanpa pembulatan.
- floating point
mendefinisikan bilangan numeric dengan nilai pembulatan.
b. Tipe data string
- char
mendefinisikan nilai string sepanjang n karakter sampai dengan 8000 byte.
- varchar
mendefinisikan nilai string sepanjang n karakter sampai dengan 8000 byte.
- text
mendefinisikan semua jenis data yang berupa text, seperti memo, dokumen, listing program diman ukurannya dapat mencapai 2^31 -1. 21
c. 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 (.jpg,.tif,.gif) dengan ukuran yang bervariasi.
Tipe data didlam SQL Server terdiri dari beberapa macam, penjelasan dari masing – masing tipe data tersebut adalah sebagai berikut.
1. Bigint
Tipe data ini mirip dengan int, hanya saja nilai yang diterima lebih besar daripada int. Tipe data ini dapat menerima nilai mulai dari -263 (-9,223,372,036,854,775,808) hingga 263-1 (-9,223,372,036,854,775,807). Tipe data ini menghabiskan 8 bytes untuk menyimpan data pada harddisk.
2. Binary
Tipe data ini dapat menerima data binary dengan maksimum 8000 bytes data. Tipe data ini diinterpretasikan sebagai string dari bit misalnya (110011001011).
3
3. Bit
Tipe data bit hanya bisa menerima input angka 1 dan 0 sebagai nilai (atau bisa juga null, yang berarti tidak ada nilai). Tipe data ini sangat membantu jika Anda ingin menghasilkan output yes/no, true/false, dsb.
4. Char
Tipe data ini dapat digunakan untuk memasukkan data karakter non-Unicode dengan jumlah karakter yang fix. Tipe data ini bisa menerima hingga 8000 karakter, dan jumlah bytes yang dibutuhkan tergantung jumlah karakter yang dimasukkan. 1 karakter membutuhkan 1 bytes, sehingga jika Anda mendefinisikan seperti ini : char(5) maka field tersebut hanya bisa menerima karakter sebanyak 5 buah karakter dengan space yang dibutuhkan untuk menyimpan data pada harddisk sebanyak 5 bytes.
5. Datetime
Tipe data ini dapat menerima nilai tanggal dan waktu mulai dari 1 Januari 1753 hingga 31 Desember 9999. Tipe data ini menghabiskan 8 bytes untuk menyimpan data pada harddisk.
6. Decimal
Tipe data ini menerima nilai yang lebih presisi dibanding tipe data integer yang telah dibahas sebelumnya. Tipe data ini menggunakan 2 parameter untuk menentukan tingkat presisi nilai yang diterima; precision dan scale. Precision adalah jumlah digit yang bisa diterima oleh field, sedangkan scale adalah jumlah angka di belakang koma yang bisa diterima oleh field. Jadi, jika kita membuat parameter precision sebanyak 5 dan scale sebanyak 2 maka field kita bisa menerima nilai seperti ini : 123,45. Tipe data ini bisa menerima nilai mulai dari -1038 hingga 1038-1. Tipe data ini menghabiskan 5-17 bytes untuk menyimpan data pada harddisk, tergantung pada tingkat kepresisian nilai yang dimasukkan.
7. Float
Tipe data ini mirip dengan tipe data decimal, hanya saja paramater scale pada tipe data ini bisa menerima nilai yang tak terhingga, seperti pada nilai pi. Tipe data ini bisa menerima nilai mulai dari -1.79E + 308 hingga 1.79E +308. Jika Anda mendeskripsikan field dengan tipe data seperti ini : float(2), maka nilai output dari pi (misalnya) adalah 3,14. Angka 2 di dalam kurung menjelaskan berapa banyak angka yang harus ditampilkan dibelakang koma. Tipe data ini menghabiskan 4-8 bytes untuk menyimpan data pada harddisk.
8. Int
Tipe data ini mungkin sudah banyak dikenal oleh Anda. Tipe data ini dapat menerima nilai mulai dari -231 (-2,147,483,648) hingga 231-1 (2,147,483,647). Tipe data ini menghabiskan 4 bytes untuk menyimpan data pada harddisk.
4
9. Money
Tipe data ini dapat menerima nilai mulai dari -263 (-9,223,372,036,854,775,808) hingga 263-1 (-9,223,372,036,854,775,807). Tipe data ini menghabiskan 8 bytes untuk menyimpan data pada harddisk.
10. Nchar
Tipe data ini mirip dengan tipe data char, namun tipe data ini bisa menerima nilai atau data Unicode (berbeda dengan tipe data char yang hanya bisa menerima nilai karakter non-Unicode). Tipe data ini bisa menerima nilai hingga 4000 karakter. Tipe data ini menghabiskan 2-8000 bytes untuk menyimpan data pada harddisk. Mengapa dibutuhkan 2-8000 bytes? Karena tipe data ini mengkali 2 bytes untuk setiap karakternya. Jadi jika user hanya memasukkan 1 karakter, maka dibutuhkan 2 bytes untuk menyimpan data pada harddisk.
11. Real
Tipe data ini mirip dengan tipe data float, hanya saja menerima nilai yang lebih kecil dibandingkan dengan float, yaitu mulai dari -3.40E +38 hingga 3.40E +38. Tipe data ini menghabiskan 4 bytes untuk menyimpan data pada harddisk.
12. Smalldatetime
Tipe data ini dapat menerima tanggal dan waktu mulai dari 1 Januari 1900 hingga 6 Juni 2079, dengan akurasi waktu yang digunakan adalah menit. Tipe data ini menghabiskan 4 bytes untuk menyimpan data pada harddisk.
13. Smallint
Tipe data ini juga mirip dengan int, hanya saja nilai yang diterima lebih kecil dari int. Tipe data ini dapat menerima nilai mulai dari -215 (-32,768) hingga 215-1 (32767). Tipe data ini hanya membutuhkan 2 bytes untuk menyimpan data pada harddisk
14. Smallmoney
Tipe data ini pada dasarnya sama dengan tipe data money, hanya saja nilai yang diterima lebih kecil, yaitu mulai dari -214,748.3648 hingga 214,748.3647. Tipe data ini menghabiskan 4 bytes untuk menyimpan data pada harddisk.
15. Sql_variant
Tipe data ini merupakan tipe data baru di SQL Server 2005, saya pribadi belum mengetahui dengan pasti kapan saat yang tepat untuk mengimplementasikan tipe data ini. Tipe data ini disebutkan dapat digunakan untuk mengubah tipe data sesuai dengan apa yang dimasukkan oleh user. Mungkin, ilustrasinya seperti ini : jika user memasukkan angka ke dalam field dengan tipe data ini, maka SQL_Variant akan menyesuaikan menjadi int atau tipe data lain yang lebih sesuai (seperti varchar), tapi jika kemudian user mengisi field tersebut dengan tipe data char, sql_variant akan mengubahnya tipe data field untuk row tersebut menjadi char. Tipe data ini sebenarnya kurang disarankan untuk digunakan karena tidak adanya batasan yang jelas dalam penggunaannya, dan dapat menyebabkan collision data.
5
16. Timestamp
Tipe data ini digunakan untuk mencatat record ketika data baru dimasukkan dan diupdate. Tipe data ini sangat berguna untuk mencari tahu perubahan yang terjadi pada database Anda.
17. Tinyint
Tipe data ini menerima nilai yang lebih kecil dari smallint. Nilai yang bisa diterima mulai dari 0 hingga 255, dan hanya membutuhkan 1 bytes untuk menyimpan data pada harddisk.
18. Uniqueidentifier
Tipe data ini berfungsi untuk membuat nilai yang unik yang mungkin bisa tampil seperti ini 6F9619FF-8B86-D011-B42D-00C04FC964FF. Tipe data ini berguna jika Anda ingin membuat serial number atau id yang unik.
19. Varbinary
Tipe data ini mirip dengan varchar, hanya saja nilai yang bisa diterima hanya data binary. Tipe data ini berguna untuk menyimpan data binary yang tidak diketahui dengan pasti jumlah bytes datanya.
20. Varchar
Tipe data ini mirip dengan tipe data char, namun tipe data ini berguna bagi Anda yang tidak mengetahui secara pasti jumlah karakter yang akan dimasukkan oleh user. Tipe data ini juga bisa menerima nilai hingga 8000 karakter. Jadi, jika pada tipe data char, Anda mendefinisikan char(5), maka Anda akan selalu membutuhkan 5 bytes untuk menyimpan data pada harddisk, walaupun jumlah karakter yang dimasukkan hanya 1 hingga 4 karakter; maka pada tipe data ini, jumlah bytes yang dibutuhkan akan lebih fleksibel. Misalnya jika Anda mendefinisikan varchar(30) untuk sebuah field, maka field tersebut dapat menerima data hingga 30 karakter (30 bytes), namun jika Anda hanya memasukkan 1 karakter, maka jumlah bytes yang dibutuhkan hanya sebanyak 1 bytes.