ARSIP BULANAN : October 2012

tipe data pada database

11 October 2012 12:19:50 Dibaca : 818

DBMS masa kini mendukung berbagai jenis data, dari teks, suara, hingga gambar. Contoh berbagai nama tipe data pada berbagai DBMS adalah sebagai berikut:

 

Contoh berbagai jenis data

 

Tipe Data Keterangan
Character (Visual dBASE)

Char (SQL)

Text (Access)

Alpha (Paradox)

Menyatakan tipe data untuk menyimpan deretan karakter seperti nama orang atau nama mobil
Memo (Access dan Visual dBASE)

Text (PostgresSQL)

Untuk menyimpan deretan karakter dengan ukuran yang besar (melebihi 256 karakter)
Number (Access)

Numeric (Visual dBASE)

Untuk menyimpan data bilangan
Date/Time (Access) Untuk menyimpan data jam dan tanggal
Date (Visual dBASE)

Date (PostgresSQL)

Untuk menyimpan tanggal
Time (PostgresSQL) Untuk menyimpan data jam
Currency (Access)

Money (Paradox)

Untuk menyimpan data uang
Yes/No (Access)

Logical (Visual dBASE)

Bool (PostgresSQL)

Untuk menyimpan data logika (benar atau salah)
OLE (Visual dBASE)

OLE Object (Access)

Untuk menyimpan OLE. Dapat berupa objek seperti gambar atau bahkan suara
Binary (Visual dBASE) Untuk menyimpan data gambar atau suara
Graphics (Paradox) Untuk menyimpan data gambar
Hyperlink (Access) Untuk menyimpan data hyperlink

 

Adapun tipe data pada database yang lainnya adalah sebagai berikut:

 

tipe - tipe data yang didukung oleh MySQL. Pemilihan tipe data merupakan suatu hal yang cukup penting dalam mengelola server. Salah satu sebabnya adalah berkaitan dengan ruang di harddisk dan memori yang akan “digunakan” oleh data-data tersebut.

 

Berikut ini akan diberikan tipe-tipe data yang didukung oleh MySQL yang terambil dari dokumentasi MySQL. Tipe - tipe data ini diberikan dalam bentuk yang siap dituliskan pada sintaks-sintaks MySQL, misalnya Create Table. Pada tipe-tipe data tersebut terdapat beberapa atribut yang memiliki arti sebagai berikut:

 

  • M, menunjukkan lebar karakter maksimum. Nilai M maksimum adalah 255.
  • D,  menunjukkan jumlah angka di belakang koma. Nilai maksimum D adalah 30 tetapi dibatasi oleh nilai M, yaitu tidak boleh lebih besar daripada M-2.
  • Atribut yang diberi tanda [ dan ] berarti pemakaiannya adalah optional.
  • Jika atribut ZEROFILL disertakan, MySQL akan otomatis menambahkan atribut UNSIGNED.
  • UNSIGNED adalah bilangan tanpa tanda di depannya (misalnya tanda negatif).

 

Inilah tipe-tipe data tersebut:

 

  • TINYINT[(M)] [UNSIGNED] [ZEROFILL]

 

Integer yang sangat kecil jangkauan nilainya, yaitu -128 hingga 127. Jangkauan unsigned adalah 0 hingga 255.

 

  • SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

 

Integer yang kecil jangkauan nilainya, yaitu -32768 hingga 32767. Jangkauan unsigned adalah 0 hinga 65535.

 

  • MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

 

Integer tingkat menengah. Jangkauan nilainya adalah -8388608 hingga 8388607. Jangkauan unsigned adalah 0 hingga 16777215.

 

  • INT[(M)] [UNSIGNED] [ZEROFILL]

 

Integer yang berukuran normal. Jangkauan nilainya adalah -2147483648 hingga 2147483647. Jangkauan unsigned adalah 0 hingga 4294967295.

 

  • INTEGER[(M)] [UNSIGNED] [ZEROFILL]

 

Sama dengan INT.

 

  • BIGINT[(M)] [UNSIGNED] [ZEROFILL]

 

Integer berukuran besar. Jangkauan nilainya adalah -9223372036854775808 hingga 9223372036854775807. Jangkauan unsigned adalah 0 hingga 18446744073709551615.

 

  • FLOAT(precision) [ZEROFILL]

 

Bilangan floating-point. Tidak dapat bersifat unsigned. Nilai atribut precision adalah <=24 untuk bilangan floating-point presisi tunggal dan di antara 25 dan 53 untuk bilangan floating-point presisi ganda.

 

  • FLOAT[(M,D)] [ZEROFILL]

 

Bilangan floating-point presisi tunggal. Tidak dapat bersifat unsigned. Nilai yang diijinkan adalah -3.402823466E+38 hingga -1.175494351E-38 untuk nilai negatif, 0, and 1.175494351E-38 hingga 3.402823466E+38 untuk nilai positif.

 

  • DOUBLE[(M,D)] [ZEROFILL]

 

Bilangan floating-point presisi ganda. Tidak dapat bersifat unsigned. Nilai yang diijinkan adalah -1.7976931348623157E+308 hingga -2.2250738585072014E-308 untuk nilai negatif, 0, dan 2.2250738585072014E-308 hingga 1.7976931348623157E+308 untuk nilai positif.

 

  • DOUBLE PRECISION[(M,D)] [ZEROFILL] dan REAL[(M,D)] [ZEROFILL]

 

Keduanya sama dengan DOUBLE.

 

  • DECIMAL[(M[,D])] [ZEROFILL]

 

Bilangan floating-point yang “unpacked”. Tidak dapat bersifat unsigned. Memiliki sifat mirit dengan CHAR. Kata “unpacked'' berarti bilangan disimpan sebagai string, menggunakan satu karakter untuk setiap digitnya. Jangkauan nilai dari DECIMAL sama dengan DOUBLE, tetapi juga tergantung dai nilai atribut M dan D yang disertakan. Jika D tidak diisi akan dianggap 0. Jika M tidak diisi maka akan dianggap 10. Sejak MySQL 3.22 nilai M harus termasuk ruang yang ditempati oleh angka di belakang koma dan tanda + atau -.

 

  • NUMERIC(M,D) [ZEROFILL]

 

Sama dengan DECIMAL.

 

  • DATE

 

Sebuah tanggal. MySQL menampilkan tanggal dalam format 'YYYY-MM-DD'. Jangkauan nilainya adalah '1000-01-01' hingga '9999-12-31'.

 

  • DATETIME

 

Sebuah kombinasi dari waktu (jam) dan tanggal. MySQL menampilkan waktu dan tanggal dalam format 'YYYY-MM-DD HH:MM:SS'. Jangkauan nilainya adalah '1000-01-01 00:00:00' hingga '9999-12-31 23:59:59'.

 

  • TIMESTAMP[(M)]

 

Sebuah timestamp. Jangkauannya adalah dari '1970-01-01 00:00:00' hingga suatu waktu di tahun 2037. MySQL menampilkan tipe data TIMESTAMP dalam format YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, atau YYMMDD, tergantung dari nilai M, apakah 14 (atau tidak ditulis), 12, 8, atau 6.

 

  • TIME

 

Tipe data waktu. Jangkauannya adalah '-838:59:59' hingga '838:59:59'. MySQL menampilkan TIME dalam format 'HH:MM:SS'.

 

  • YEAR[(2|4)]

 

Angka tahun, dalam format 2- atau 4-digit (default adalah 4-digit). Nilai yang mungkin adalah 1901 hingga 2155, 0000 pada format 4-digit, dan 1970-2069 pada format 2-digit (70-69).

 

  • CHAR(M) [BINARY]

 

String yang memiliki lebar tetap. Nilai M adalah dari 1 hingga 255 karakter. Jika ada sisa, maka sisa tersebut diisi dengan spasi (misalnya nilai M adalah 10, tapi data yang disimpan hanya memiliki 7 karakter, maka 3 karakter sisanya diisi dengan spasi). Spasi ini akan dihilangkan apabila data dipanggil. Nilai dari CHAR akan disortir dan diperbandingkan secara case-insensitive menurut default character set yang tersedia, kecuali bila atribut BINARY disertakan.

 

  • VARCHAR(M) [BINARY]

 

String dengan lebar bervariasi. Nilai M adalah dari 1 hingga 255 karakter. Jika nilai M adalah 10 sedangkan data yang disimpan hanya terdiri dari 5 karakter, maka lebar data tersebut hanya 5 karakter saja, tidak ada tambahan spasi.

 

  • TINYBLOB dan TINYTEXT

 

Sebuah BLOB (semacam catatan) atau TEXT dengan lebar maksimum 255 (2^8 - 1) karakter.

 

  • BLOB dan TEXT

 

Sebuah BLOB atau TEXT dengan lebar maksimum 65535 (2^16 - 1) karakter.

 

  • MEDIUMBLOB dan MEDIUMTEXT

 

Sebuah BLOB atau TEXT dengan lebar maksimum 16777215 (2^24 - 1) karakter.

 

  • LONGBLOB dan LONGTEXT

 

Sebuah BLOB atau TEXT dengan lebar maksimum 4294967295 (2^32 - 1) karakter.

 

  • ENUM('value1','value2',...)

 

Sebuah enumerasi, yaitu objek string yang hanya dapat memiliki sebuah nilai, dipilih dari daftar nilai 'value1', 'value2', ..., NULL atau nilai special "" error. Sebuah ENUM maksimum dapat memiliki 65535 jenis nilai.

 

  • SET('value1','value2',...)

 

Sebuah set, yaitu objek string yang dapat memiliki 0 nilai atau lebih, yang harus dipilih dari daftar nilai 'value1', 'value2', .... Sebuah SET maksimum dapat memiliki 64 anggota.

 

dengan mengenal tipe-tipe data yang didukung oleh MySQL, Anda dapat dengan tepat memilih tipe data yang Anda butuhkan dalam menyusun sebuah database.

 

Misalnya Anda hendak menyimpan data jumlah suatu stok barang yang tidak melebihi angka 200 misalnya, maka sebaiknya Anda memilih tipe data TINYINT yang diberi atribut UNSIGNED. Alasannya adalah jumlah stok tidak melebihi 200 dan tidak mungkin lebih kecil dari 0, dan tipe data TINYINT memiliki jangkauan 0 hingga 255, jadi memenuhi syarat untuk digunakan.

 

Contoh yang lain, misalnya Anda hendak membuat database nomor telpon dari teman-teman Anda. Memang nomor telpon seluruhnya terdiri dari angka, namun nampaknya tidak tepat bila disimpan dalam tipe data INT (atau bahkan BIGINT bila hendak menyimpan nomor handphone). Lebih baik dimasukkan ke dalam CHAR atau VARCHAR dengan M adalah 12. Mengapa 12? Karena nomor handphone terpanjang terdiri dari 12 digit. Sedangkan nomor telpon rumah terpanjang adalah 8 digit ditambah kode area terpanjang 4 digit, jadi angka 12 sangat pas.

 

Lalu bagaimana penerapannya dalam operasi MySQL? Misalnya Anda hendak membuat tabel stok barang dengan masing-masing field adalah kode barang, nama barang, harga barang, supplier, dan tanggal beli, maka kemungkinan perintah yang harus ditulis adalah sebagai berikut:

 

mysql> create table stok(
    -> kode char(5),
    -> nama varchar(20),
    -> harga mediumint unsigned,
    -> supplier char(5),
    -> tanggal date);

 

Perintah tersebut di atas akan membuat tabel bernama stok dengan field-field sebagai berikut:

 

Nama field

Tipe data

Keterangan

Kode

Char(5)

Kode barang biasanya memiliki jumlah karakter tetap, dalam contoh ini adalah 5.

Nama

Varchar(20)

Nama barang kemungkinan besar memiliki jumlah karakter yang berbeda-beda, sehingga cocok menggunakan varchar.

Harga

Mediumint Unsigned

Harga tergantung dari jenis barangnya, pada contoh ini dianggap harga barang tertinggi di bawah 100 jutaan.

Supplier

Char(5)

Supplier biasanya juga dituliskan dalam kode tertentu yang jumlah karakternya tetap.

Tanggal

Date

Tanggal pembelian. Umumnya waktu pembelian tidak perlu disertakan, hanya tanggalnya saja.

 

 

 

 

BAHASA SQL

04 October 2012 21:56:47 Dibaca : 330

Structured Query Language (SQL)

 

 

 

Sturctured Query Language digunakan untuk berkomunikasi dengan database. Berdasarkan ANSI (American National Standards Institute) SQL menjadi bahasa standart untuk berhubungan dengan DBMS. Perintah - perintah SQL digunakan untuk berbagai macam tujuan seperti merubah data, menghapus data atau menambah data pada database. Banyak DBMS yang menggunakan perintah - perintah SQL diantaranya adalah Oracle, Sybase, Ingres, MySQL dan lain - lain.

 

Pada SQL terdapat DDL dan DML. Data Definition Language (DDL) adalah perintah yang digunakan untuk mendefinisikan suatu database. Perintah-perintah yang termasuk dalam DDL adalah CREATE, DROP, ALTER. Data Manipulation Language (DML) adalah perintah-perintah yang digunakan untuk memanipulasi data pada suatu tabel. Perintah-perintah yang termasuk dalam DML adalah SELECT, UPDATE, DELETE, INSERT.

 

Pengertian Query dan Structure Query Language ( SQL )Query adalah perintah-perintah untuk mengakses data pada sistem basis data
SQL adalah bahasa query baku untuk DBMS. SQL diambil sebagai bakuan sejak tahun 1992.
Awalnya diterapkan pada DBMS besar seperti Oracle dan Informix, sekarang juga pada DBMS berbasis PC seperti dBASE, FoxPro, Ms Access dll.

 

SQL bersifat sebagai bahasa tingkat tinggi (high level). Pemakai hanya menyebutkan hasil yang diinginkan dan optimasi pelaksanaan query dilakukan oleh DBMS.
SQL dapat disisipkan ke bahasa pemrograman yang lain seperti C, Pascal, Cobol, Java, PHP, ASP, dll. Bahasa SQL terbagi dalam dua bagian besar, yaitu: DDL (Data Definition Language) dan DML (Data Manipulation Language)

 

DDL mendefinisikan struktur basis data, seperti pembuatan basis data, pembuatan tabel dsbnya. Contoh: CREATE DATABASE dan CREATE TABLE.
DML merupakan bagian untuk memanipulasi basis data seperti: pengaksesan data, penghapusan, penambahan dan pengubahan data. DML juga dapat digunakan untuk melakukan komputasi data. Contoh: INSERT,DELETE, dan UPDATE.

 

 


 

 

1. Data Definition Language ( DDL )
- Perintah SQL untuk definisi data:
· CREATE untuk membentuk basis data, table atau index
· ALTER untuk mengubah struktur table
· DROP untuk menghapus basis data, table atau index

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Data Manipulation Languange ( DML )
- Bahasa untuk mengakses basis data
- Bahasa untuk mengolah basis data
- Bahasa untuk memanggil fungsi-fungsi agregasi
- Bahasa untuk melakukan query
- Jenis-jenis query:
· Sederhana

 

 

 

 

 

 

 

 

 

 

3. DCL atau Data Control Language
DCL (bukan BCL) merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :

 

  • GRANT
  • REVOKE