Senin, 01 April 2013

Tipe data dalam Oracle 11G, SQL SERVER 2000, dan MySql

  • TIPE-TIPE DATA ORACLE 11G

          Datatype (tipe data) adalah klasifikasi atau jenis dari suatu informasi atau data tertentu. Setiap nilai yang dimanipulasi oleh Oracle memiliki sebuah tipe data masing-masing. Tipe data dari sebuah nilai tersebut diasosiasikan dengan nilai properti yang diset tetap. Properti ini menyebabkan nilai-nilai dari satu tipe data diperlakukan berbeda dengan nilai-nilai lain oleh Oracle. 

Oracle Database menyediakan sejumlah built-in tipe data serta beberapa kategori untuk jenis yang ditentukan oleh pengguna, yang dapat digunakan sebagai tipe data. Penjelasan dari tipe data Oracle tiap-tiap tipe data akan dijelaskan pada bagian berikut:

  1. Varchar2(size) : string yang memiliki panjang karakter vaiable dengan panjang maxial sebesar size. Tipe data ini memperbolehkan penyimpanan semua karakter yang dapat dimasukkan melalui keyboad. Maksimum size yang dapat disimpan sebesar 4000 bytes (karakter). Tipe data ini juga memungkinkan untuk mneyimpan data numerik. Biasanya space akan langsung dieliminasi jika menggunakan tipe ini.
  2. Char(size): string dengan panjan gkarakter tetap sebesar ukuran size. Tipe data ini mempunyai kemampuan yang hampir sama yakni menyimpan karakter, hanya saja maksimum size yang disimpan hanya sebesar 2000 bytes.
  3. Number(p,s) : tipe data number memiliki presisi p dan s digit dibelakan koma jika kita abaikan p dan s berarti dianggap sebagai tipe number floating point. Tipe data ini menyimpan bilangan interger sampai maksimum dari digit integer tersebut. misal untuk spesifikasi (5,2) berarti 3 digit sebelum koma dan 2 digit dibelakang koma.
  4. Long : data karakter dengan ukuran panjang bervariasi, hingga mencapai 2 GB.(tipe data seperti ini tidak dapat digunakan sebagai primary key).
  5. Raw(size) : tipe data berupa binary data dengan ukuran maksimal 255 bytes
  6. Long Raw : Tipe data berupa binary data dengan ukuran maksimal 2 GigaBytes tidak dikonversi oleh oracle (data mentah apa adanya, spasi dihitung 1 karakter).
  7. Date : Tipe data ini menyimpan waktu dan tanggal dari sebuah informasi, dengan komponen waktu yang dibulatkan ke detik terdekat. Untuk menampilkannya dalam teks harus menggunakan fungsi to_char.
  8. Timestamp : tipe ini mirip dengan date. Di dalam tipe ini terdapat komponen waktu yang dapat langsung ditampilkan tanpa harus mengubahnya terlebih dahulu dengan fungsi to_char.
  9. Clob : Tipe data ini memperbolehkan penyimpanan objek dengan ukuran yang sangat besar sekitar 4 GB. Clob mirip sekali dengan varchar2 hanya saja tipe data ini mempunyai kapasitas maksimum yang lebih besar.
  10. Blob : tipe ini memperbolehkan penyimpanan objek bbinary yang besar dan tidak terstruktur. Contoh dari tipe data blob adalah suara dan video.
  • JENIS JENIS TIPE DATA DI SQL SERVER 2000 

    - char(n) : Mendefinisikan string sepanjang n karakter. Bila n tidak didefinisikan maka
    panjang karakter adalah 1.
    - varchar(n) : Mendefinisikan string sepanjang variabel n.
    - binnary(n) : Untuk menyimpan bit pattern seperti heksadecimal. Contoh : 0x0fa9008e
    - datetime : Mendefinisikan tanggal, menyimpan tahun, bulan, hari, jam, menit, detik dan
    seperseribu detik (milliseconds). Nilai tanggal sampai dengan 31 desember
    9999.
    - text : Menyimpan teks sampai dengan 2 GB. Text disebut juga dengan binary large
    objects (BLOBs)
    - image : Mendefinisikan binary data untuk menyimpan image seperti GIF, JPG, TIFF,
    dll.
    - money : Bilangan pecahan dengan 4 angka dibelakang koma. Digunakan untuk
    perhitungan moneter.
    - smallint : Sama dengan int, membutuhkan 50% memory yang ditempati int.
    int : Mendefinisikan integer, bilangan bulat yang menampung angka sebanyak 4
    byte.
    - float(n) : Mendefinisikan angka pecahan (floating point). Nilai n adalah jumlah angka
    yang dapat ditampung . sysname
    - real(n) : sama dengan float namun menempati memory 50% dari float.
    - smalldatetime : sama dengan datetime hanya dengan presisi lebih kecil dimana satuan waktu
    terkecil adalah menit dan nilai tanggal sampai dengan 6 juni 2079.
    - numeric(n,p) : Mendefinisikan angka pecahan baik fixed desimal ataupun floating point.
    Nilai n adalah jumlah bytes total dan p adalah presisi angka dibelakang
    koma. Numeric analog dengan DECIMAL(n,p).
    - Unicode Charakter String
             Unicode adalah karakter international yang menampung 16 bit per karakter. Unicode digunakan
    oleh bahasa non latin, misalnya jepang, jerman, Thai, dll.
    - nchar : Unicode karakter maksimum 4.000 karakter.
    - nvarchar : Unicode karakter dengan data variable maksimum 4.000 karakter. Sysname adalah
    contoh tipe data yang didefinisikan sebagai synonym dari nvarchar(128) dan
    digunakan untuk referensi ke nama object database.
    - ntext : Unicode texts dengan panjang dua pangkat tigapuluh (1.073.741.823)karakter.
    Untuk dapat melihat semua tipe data yang ada dalam Ms.SQL Server adalah dengan menggunakan
    perintah stored procedure sp_datatype_info
    Mendefinisikan tipe data baru
    Tipe data dapat dibangun dari tipe data yang sudah ada.
    Syntax secara umum untuk membuat tipe data baru.
  • Type Data Pada Mysql

    Tutorial kali ini kita membahas tentang type-type data mysql, karena sebelumnya telah saya bahas tentang membuat database dengan mysql pada command line dos.

    Berikut daftar type-type data mysql :

    Numerik
    MySQL dapat menerima masukan berupa angka-angka yang dibagi atas integer (angka tanpa pecahan) dan floating-point (angka dengan pecahan). MySQL juga mengerti notasi scientific yaitu integer atau floating-point yang diikuti tanda ‘e’ atau ‘E’, tanda ‘+’ atau ‘-‘. Misalnya angka 1.34E+12 atau 3.23e-5.

    Tipe ini untuk harga integer dan floating-point. Untuk integer kolom haruslah PRIMARY KEY atau indeks yang unik jika ia diberi atribut AUTO_INCREMENT (dapat otomatis mengurutkan angka). Jika diberikan atribut UNSIGNED berarti angka tidak boleh negatif. Sedangkan atribut ZEROFILL menandakan bahwa angka diawali dengan angka nol.

    TINYINT
    Berarti integer dengan range yang sangat kecil yaitu –2 sampai 2 , -1 atau 0 sampai 2. -1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT, UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 1 byte.

    SMALLINT
    Berarti integer dengan range yang kecil yaitu –2 sampai 2, -1 atau 0 sampai 2.
    -1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT, UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 2 byte.

    MEDIUMINT
    Berarti integer dengan range yang sangat kecil yaitu –2 sampai 2, -1 atau 0 sampai 2. -1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT, UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 3 byte.

    INT
    Berarti integer dengan range yang normal yaitu –2 sampai 2, -1 atau 0 sampai 2.
    -1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT, UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 4 byte.

    BIGINT
    Berarti integer dengan range yang sangat kecil yaitu –2 sampai 2, -1 atau 0 sampai 2. -1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT, UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 8 byte.

    FLOAT
    Berarti floating-point dengan range kecil yaitu antara +1.175494351E-38
    sampai +3.402823466E+38 serta dengan single presisi. Atribut yang dibolehkan adalah ZEROFILL. Harga default NULL jika bisa atau 0 jika NOT NULL. Tempat penyimpanan 4 byte.

    DOUBLE
    Berarti floating-point dengan range besar yaitu antara +2.22507385072014E-308 sampai +1.7976931348623157E308 serta dengan double presisi. Atribut yang dibolehkan adalah ZEROFILL. Harga default NULL jika bisa atau 0 jika NOT NULL. Tempat penyimpanan 8 byte.

    DECIMAL(M,D) atau NUMERIC(M,D)
    Berarti floating-point yang tersimpan sebagai string (1 byte untuk setiap digit, tanda desimal, atau tanda ’-‘). Range harga sama seperti DOUBLE. Atribut yang dibolehkan adalah ZEROFILL. Tempat penyimpanan sebesar Mbyte. Jika D diisi 0 berarti tidak punya nilai desimal.

    String/Karakter
    Merupakan deretan huruf yang membentuk kata yang diapit oleh tanda petik (‘’) atau tanda petik ganda (“”).

    CHAR(M)
    Karakter dengan panjang 0 sampai Mbyte. Atribut yang dibolehkan adalah BINARY. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat pemyimpanan Mbyte.

    VARCHAR
    Variabel karakter dengan panjang 0 sampai Mbyte. Atribut yang dibolehkan adalah BINARY. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat pemyimpanan M+1 byte.

    TINYTEXT
    Teks berukuran kecil dengan panjang 0 sampai 2. -1 byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 1 byte.

    TEXT
    Teks yang normal dengan panjang 0 sampai 2. -1 byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 2 byte.

    MEDIUMTEXT
    Teks berukuran sedang dengan panjang 0 sampai 2. -1 byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 3 byte.

    LONGTEXT
    Teks berukuran besar dengan panjang 0 sampai 2. -1 byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 4 byte.

    ENUM(“harga1”,”harga2”,…)
    Berarti kolom hanya boleh diisi dengan salah satu dari harga yang ada. Harga default adalah NULL jika bisa atau harga1 jika NOT NULL. Tempat penyimpanan adalah 1 byte untuk enumerasi dengan anggota 1 sampai 255 dan 2 byte untuk enumerasi dengan anggota 256 sampai 65535.

    SET(“harga1”,”harga2”,…)
    Berarti kolom boleh dikosongi atau diisi dengan beberapa harga dari daftar harga yang ada. Harga default adalah NULL jika bisa atau ” “ jika NOT NULL. Tempat penyimpanan adalah 1 byte untuk set dengan anggota 1 sampai 8, 2 byte untuk set dengan anggota 9 sampai 16, 3 byte untuk set dengan anggota 17 sampai 24, 4 byte untuk set dengan anggota 25 sampai 32, atau 8 byte untuk set dengan anggota 33 sampai 64.

    Waktu
    Merupakan data yang berisi tanggal (date) dan jam (time) misalnya “2001-10-15” untuk tanggal dengan format YYYY-MM-DD dan “12:45:15” untuk jam dengan format hh:mm:ss.

    DATE
    Untuk kolom tanggal dengan format YYYY-MM-DD dan range antara “1000- 01-01” sampai “9999-12-31”. Harga default adalah NULL jika bisa atau “0000- 00-00” jika NOT NULL. Tempat penyimpanan 3 byte.

    TIME
    Untuk kolom jam dengan format hh:mm:ss atau -hh:mm:ss untuk harga negatif. Range harga antara “-838:59:59” sampai “838:59:59”. Harga default adalah NULL jika bisa atau “00:00:00” jika NOT NULL. Tempat penyimpanan 3 byte.

    DATETIME
    Gabungan antar hari dan jam dengan format YYYY-MM-DD hh:mm:ss dan range antar “1000-01-01 00:00:00” sampai “9999-12-31 23:59:59”. Harga default adalah NULL jika bisa atau “0000-00-00 00:00:00” jika NOT NULL. Tempat penyimpanan 8 byte.

    TIMESTAMP
    Hampir sama dengan DATETIME tapi dengan format YYYYMMDD hhmmss dan range antara 19700101000000 sampai suatu saat di tahun 2037. Harga default adalah hari dan jam saat itu. Tempat penyimpanan 4 byte.

    YEAR
    Untuk kolom tahun denga format YYYY dan range antara 1900 sampai 2155. Harga default adalah NULL jika bisa atau 0000 jika NOT NULL. Tempat penyimpanan 3 byte.

    Data kosong (NULL)
    NULL berarti kosong atau tidak diisi data atau bisa juga berarti data yang tidak jelas, data yang hilang ataupun yang lainnya.
    • Data Type di dalam Table Microsoft Access 2010
      Terdapat 10 data type didalam table Microsoft Access 2010, diantaranya:
      1. Text, yaitu data yang bisa diisi dengan nilai kombinasi antara text dan number, dengan maximum karakter sebanyak 255 karakter.
      2. Memo, sama saja dengan jenis Text, hanya saja memiliki jumlah karakter maksimum yang lebih banyak, yaitu 63,999 karakter.
      3. Number, yaitu data dengan jenis number (angka) yang digunakan untuk kalkulasi matematika dan keperluan lainnya. Umumnya number ini terdiri dari 1, 2, 4 dan 8 bytes data. Khusus untuk number jenis Replication ID mempunyai 16 bytes data. Silahkan pelajari table berikut ini untuk lebih jelasnya:

      Jenis Keterangan Jumlah desimal Ukuran
      Byte Terdiri dari angka 0 s/d 255 (tidak ada pecahan). Tidak ada 1 byte
      Decimal Untuk jenis decimal, dibagi lagi menjadi dua macam: 
      *   Terdiri dari angka -10^38 -1 s/d 10^38 -1 (untuk SQL Server Database)
      *   Terdiri dari angka -10^28 -1 s/d 10^28 -1 (untuk Ms Access Database)
      28 12bytes
      Integer Terdiri dari angka –32,768 s/d 32,767 (tidak ada pecahan). Tidak ada 2 bytes
      Long Integer Terdiri dari angka –2,147,483,648 s/d 2,147,483,647 (tidak ada pecahan). Long integer ini merupakan pilihan default ketika jenis number dipilih sebagai data type suatu field. Tidak ada 4 bytes
      Single Terdiri dari angka –3.402823E38 s/d
      –1.401298E–45 untuk bilangan negatif dan dari 1.401298E–45 s/d 3.402823E38 untuk bilangan positif dan bilangan 0.
      7 4 bytes
      Double Terdiri dari angka
      –1.79769313486231E308 s/d
      –4.94065645841247E–324 untuk bilangan negatif dan dari 1.79769313486231E308 s/d 4.94065645841247E–324 untuk bilangan positif dan bilangan 0.
      15 8 bytes
      Replication ID Globally unique identifier (GUID), yaitu jenis number yang mempunyai format {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} dimana masing-masing x merupakan bilangan hexa decimal dari 0 s/d F. Misalnya {003A84CF-96E2-40D8-9023-04324F208C2A}. Replication ID ini umumnya digunakan untuk jenis field AutoNumber pada database replikasi (tiruan). Tidak ada 16 bytes
      4. Date/Time, yaitu data dengan jenis tanggal, waktu atau penggabungan dari tanggal dan waktu.
      5. Currency, yaitu data dengan jenis number, hanya saja pada awal angka selalu disertakan symbol currency default sesuai dengan regional setting yang digunakan, misalnya Rp, $, dll. Currency dapat menggunakan angka dengan 15 digit dibelakang desimal dan 4 digit sesudah desimal.
      6. AutoNumber, yaitu data yang tidak dapat kita isi secara manual melainkan ia terisi secara otomatis oleh Access, baik secara menjumlah ataupun random (acak).
      7. Yes/No, yaitu data dengan jenis hanya 2 pillihan yaitu Yes (-1 atau True) atau No (0 atau False). Format yang tersedia adalah : Yes/No, True/False, dan On/Off.
      8. OLE Object, yaitu data yang diambil dari system OLE seperti Microsoft Excel spreadsheet, Microsoft Word document, graphics, sounds, atau data-data biner lainnya baik yang dilink ataupun dimasukkan secara permanen (embedded) kedalam table Microsoft Access.
      9. Hyperlink, yaitu type data yang digunakan untuk menyimpan alamat internet atau file yang ditunjukkan melalui alamat URL.
      10. Attachment, yaitu data type yang digunakan untuk menyimpan attachment file yang berformat apa saja (bebas, bisa file gambar, file suara, dll).

      Selain 10 data type diatas, ada dua fasilitas tambahan khusus untuk field di dalam Microsoft Access, yakni:
    • Calculated, yaitu fasilitas yang berguna untuk menghitung operasi matematika antara field yang satu dengan field yang lainnya. Misalnya, kita bisa menjumlahkan field A dengan field B, dll.
    • Lookup Wizards, yaitu fasilitas combo box (list) yang dibuat secara wizard sehingga kita dapat memilih (lookup) suatu data dari daftar pada table lainnya.