Tipe Data SQL
DEFINISI SQL, TIPE DATA SQL DAN KOMPONEN SQL
Definisi SQL :
- Structured Query Language
- Sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional
- Dalam prakteknya bahasa ini merupakan bahasa standar yang digunakan dalam manajemen basis data relasional.
- Dibaca “S-Q-L” atau “Sequel”
- Dikembangkan oleh IBM pada pertengahan 1970s
- Sekarang merupakan bahasa standar internasional untuk pembuatan (creating) dan query database relational
- Dikenal dengan standarnya SQL-99 (disetujui sebagai standard ANSI tahun 1999)
SQL – Wikipedia bahasa Indonesia, ensiklopedia bebas
Sejarah SQL :
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama Jhonny Oracle yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran John Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar bahasa dalam manajemen basis data.
Penulisan Perintah-Perintah SQL :
- Perintah SQL tidak case sensitive
- Perintah SQL bisa ditulis pada satu baris atau lebih
- Antar klausa perintah biasanya ditulis pada baris yang
berbeda - Keywords tidak dapat dipisah antar baris
- Tabs dan spasi diperbolehkan agar mudah dibaca.
- Setiap akhir perintah SQL (tidak baris) diakhiri dengan
tanda(;)
Komponen Komponen SQL :
- Data Definition Language (DDL) : Merupakan bahasa yang digunakan untuk mendefinisikan data, dengan menggunakan perintah : create, alter dan drop.
- Data Manipulation Language (DML) : Merupakan bahasa yang digunakan untuk memanipulasi data, dengan menggunakan perintah : select, insert, delete dan update
- Data Control Language (DCL) : Merupakan bahasa yang digunakan untuk mengontrol hak user dengan menggunakan perintah : grant, revoke, commit, rollback, savepoint
Komponen Tabel :
Tipe Data Dasar :
Untuk setiap kolom/field yang terdapat pada sebuah tabel, harus ditentukan pula tipe datanya yang menentukan jangkauan nilai yang bisa diisikan.
//
- VARCHAR (ukuran) : Tipe data karakter yang dapat menyesuaikan panjang dengan variabel yang ditentukan. Suatu ukuran maksimum harus ditentukan (secara default ukuran minimum adalah 1, maksimum adalah 4000).
- LONG : Tipe data karakter yang ukurannya dapat berubah sesuai variabel, hingga 2GB.
- CHAR (ukuran) : Tipe data karakter yang ukurannya tidak dapat berubah (fixed length). Secara default ukuran minimum adalah 1, maksimum adalah 2000.
- NUMBER : menyimpan bilangan bulat serta bilangan pecahan di belakang titik desimal. Panjang maksimum tergantung pada implementasi oleh sistem operasi yang digunakan, tetapi pada umumnya 38 digit.
- DATE : menyimpan data tanggal dan waktu dalam tabel. Tipe data DATE menyimpan data tahun (termasuk abad), bulan, hari, jam, menit, serta detik. Oracle XE menggunakan format tanggal default dalam bentuk DD-MM-YY.
- RAW dan LONG RAW, digunakan untuk menyimpan data yang tidak perlu ditafsirkan. Tipe data ini ditujukan untuk data biner atau string byte. RAW adalah tipe data yang panjangnya berubah-ubah seperti tipe data varchar2. Long RAW dapat digunakan untuk menyimpan gambar (image), suara(audio), dokumen atau larik dari data biner, yang penafsirannya bergantung pada pengguna.
- BFILE, menyimpan data biner tak terstruktur dalam berkas yang berada di luar database (external file). Data yang dapat disimpan hingga 8 GB. BFILE bersifat “read–only”.
- BLOB,CLOB,dan NCLOB, ketiga tipe data ini memungkinkan kita menyimpan blok-blok data tidak terstruktur berukuran besar (misalnya teks, gambar, klip video, serta berkas suara) dalam format biner atau format karakter. BLOB dapat menyimpan data biner hingga sejumlah 8 TeraByte, sedangkan CLOB dan NCLOB menyimpan hingga 8 TerraByte data karakter di basis data. CLOB menyimpan data karakter, sedangkan NCLOB menyimpan data karakter unicode. CLOB dan NCLOB berpartisipasi penuh dalam transaksi. Perubahan yang terjadi pada CLOB dan NCLOB dapat ditanamkan ke Basis Data (COMMIT) atau dibatalkan (ROLLBACK).
- ROWID, digunakan untuk menyimpan alamat (rowid) setiap baris dalam basis data. Kita tidak dapat melakukan apa-apa terhadap ROWID.Sistem basis data ORACLE XE menggunakannya secara internal untuk membangun indeks.
- SMALL INT adalah tipe data bilangan bulat yang range-nya lebih kecil dari integer.
- DECIMAL adalah tipe data yang dapat menampung data pecahan.
- FLOAT adalah tipe data yang dpat menampung bilangan real (sama dengan numeric) contoh: 3,33.
- DOUBLE adlah tipe data yang bertipe float namun dengan ketelitian yang lebih tinggi contoh: 3,333333
- TEXT adalah tipe data yang dapat menampung semua tipe data.
- BOOLEAN adalah tipe data yang digunakan untuk menampung data yang bertipe logika dan hanya mengenal true dan false.
- ENUM adalah tipe data yang digunakan untuk menampung data dengan 1 karakter saja.
- TIME
Ada beberapa macam tipe data untuk waktu:• TIMESTAMP: dapat menyimpan hingga ukuran sepersekian detik• INTERVAL YEAR TO MONTH: dapat menyimpan interval tahun dan bulan• INTERVAL DAY TO SECOND: dapat menyimpan interval hari, jam, menit hingga detik.
Data Definiton Language (DDL) :
• CREATE : Perintah yang digunakan untuk membuat, termasuk diantaranya membuat database
baru, tabel baru, view baru, dan kolom
baru, tabel baru, view baru, dan kolom
• ALTER : Perintah yang digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya mencakup, mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom.
• DROP : Perintah yang digunakan untuk menghapus database dan tabel
Ciri-Ciri Penulisan & Pembuatan program DDL :
- Nama tabel harus unik
- Nama kolom dalam sebuah tabel harus berbeda
- Nama kolom ditulis dalam tanda kurung dan dipisahkan dengan tanda koma(,)
- Pada nama kolom terakhir tidak boleh pakai tanda koma
- Setiap kolom harus memiliki type data dan lebarnya
- Constraints (batasan) bisa berupa
◦Batasan pada kolom
◦Batasan pada tabel
Contoh :
Keterangan :
Primary Key (PK) : field kunci / utama dari suatu tabel yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, / dengan kata lain Primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik). Satu tabel tidak boleh memiliki lebih dari satu primary key, karena primary key merupakan variable data yang menjadi identitas utama dari tabel tersebut.
Foreign key (FK) : satu attribute yang melengkapi satu relationship yang menunjukan ke induknya. Satu tabel boleh memiliki lebih dari satu foreign key.
Tabel Barang :
Kode barang (PK)
Nama barang
Satuan barang
Stok barang
Tabel Pasok :
Kode pasok (PK)
Kode barang (FK)
Kode suplier (FK)
Tanggal pasok
Jumlah pasok
Tabel Suplier :
Kode suplier (PK)
Nama suplier
Telp suplier
Data Definiton Language (DDL) terbagi atas dua, yaitu :
1. Syntax tanpa Constraints
2. Syntax dengan Constraints
- Syntax tanpa Constraints :
- Create Table :
CREATE TABLE nama_tabel (
nama field ke-1 tipe_data (lebar_field),
. . .
. . .
nama field ke-n tipe_data (lebar_field),
);
nama field ke-1 tipe_data (lebar_field),
. . .
. . .
nama field ke-n tipe_data (lebar_field),
);
Contoh : (berdasarkan “tabel barang” sebelumnya)
CREATE TABLE barang (
kode_barang char(6),
nama_barang varchar2(25),
satuan_barang varchar(20),
stok_barang number(4)
);
kode_barang char(6),
nama_barang varchar2(25),
satuan_barang varchar(20),
stok_barang number(4)
);
- Syntax dengan Constraints :
Untuk membuat tabel acuan (references) sebelum tanda ‘)’ tambahkan sintak :
Constraint nama_constraint primary key (nama_field_primarykey) notnull);
Untuk membuat tabel yang mengacu pada tabel lain (tabel relasi) sebelum tanda ‘)’ tambahkan sintak :
Constraint nama_constraint primary key (nama_field_primarykey-1,…, nama_field_primarykey-n),
Constraint nama_constraint foreignkey (nama_field_foreignkey-1)
References nama_tabel_acuan-1 (nama_field_primarykey-1),
. . .
. . .
Constraint nama_constraint foreignkey (nama_field_foreignkey-n)
References nama_tabel_acuan-n (nama_field_primarykey-n)
);
Constraint nama_constraint foreignkey (nama_field_foreignkey-1)
References nama_tabel_acuan-1 (nama_field_primarykey-1),
. . .
. . .
Constraint nama_constraint foreignkey (nama_field_foreignkey-n)
References nama_tabel_acuan-n (nama_field_primarykey-n)
);
Contoh : (berdasarkan “tabel barang, tabel pasok, tabel suplier” sebelumnya)
CREATE TABLE suplier (
kode_suplier char(10),
nama_suplier varchar(25),
telp_suplier char(15),
constraint pk_suplier primary key (kode_suplier)
);
- Alter Table :
Modifikasi pendefinisian tabel :
1. Beberapa sistem database tidak mendukung penghapusan (dropping) suatu kolom pada tabel
2. Tipe data saat dimodifikasi jika suatu kolom tidak memiliki nilai
2. Tipe data saat dimodifikasi jika suatu kolom tidak memiliki nilai
Komentar
Posting Komentar