Tipe Data Pada SQL

Apa Itu Tipe Data?

Tipe data (data type) adalah klasifikasi atau kategori yang digunakan untuk mengidentifikasi jenis nilai yang dapat disimpan, diolah, dan dikelola oleh komputer atau bahasa pemrograman. Saat kita menyimpan atau memproses data dalam komputer, setiap nilai harus memiliki tipe data tertentu, yang menentukan bagaimana nilai tersebut diinterpretasikan dan dioperasikan oleh sistem.

Tipe data mendefinisikan sifat-sifat dari nilai, seperti apakah itu angka, teks, tanggal, atau tipe data lainnya. Tipe data membantu komputer memahami bagaimana menyimpan nilai dalam memori dan bagaimana melakukan operasi atau manipulasi data pada nilai tersebut.

Contoh beberapa tipe data umum dalam pemrograman:

Integer:

Tipe data ini digunakan untuk menyimpan bilangan bulat (positif, negatif, atau nol) tanpa angka desimal.

Float:

Tipe data ini digunakan untuk menyimpan angka dengan angka desimal, seperti bilangan pecahan.

String:

Tipe data ini digunakan untuk menyimpan teks atau karakter, seperti nama, kalimat, atau paragraf.

Boolean:

Tipe data ini hanya memiliki dua nilai, yaitu true atau false, dan biasanya digunakan untuk operasi logika.

Date/Time:

Tipe data ini digunakan untuk menyimpan tanggal dan waktu.

Array:

Tipe data ini memungkinkan kita untuk menyimpan kumpulan nilai dalam satu variabel.

Object:

Tipe data ini memungkinkan kita untuk menyimpan kumpulan nilai dan fungsi yang terkait dalam satu variabel.

Tipe data sangat penting dalam pemrograman karena membantu dalam mengelola dan memproses data dengan cara yang benar, menghindari kesalahan, dan meningkatkan efisiensi dalam penggunaan memori dan sumber daya komputer.

Tipe data pada SQL SERVER

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 di dalam 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. 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.

  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.

  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.

0%