makalah sql

15
SQL ( Structure Query Language ) SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd 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 Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing- masing. Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD. Data Definition Language DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

Upload: yoan-adetya

Post on 18-Feb-2015

491 views

Category:

Documents


33 download

TRANSCRIPT

Page 1: Makalah SQL

SQL ( Structure Query Language )

SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd 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 Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.

Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD. Data Definition Language

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

Page 2: Makalah SQL

CREATE CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL

yang umum digunakan adalah:

CREATE DATABASE nama_database Contoh CREATE DATABASE tugas_sbd CREATE TABLE nama_tabel Contoh CREATE TABLE tbl_rs Atau CREATE TABLE tbl_rs(kode_rs Int(10), nama_rs Varchar(20))

Keterangan Kode_rs/nama_rs merupakan nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom. Tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya. constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key). Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer. Maka tabel pertama ( Tabel Rumah Sakit ) yang kita buat adalah, sebagai berikut:

Page 3: Makalah SQL

Membuat tabel yang kedua : ( Tabel Dokter ) CREATE TABLE tbl_Dokter(kode_dokter Int(10), nama_dokter Varchar(20), keterangan Varchar(20))

Maka terbentuklah tabel dokter, sbb :

Membuat tabel yang ketiga : ( Tabel PASIEN ) CREATE TABLE tbl_Pasien(kode_pasien Int(10), nama_pasien Varchar(20), dianogsis_penyakit Varchar(20))

Maka terbentuklah tabel pasien, sbb :

Page 4: Makalah SQL

Membuat tabel yang ke empat : ( Tabel Rekam Medis ) CREATE TABLE tbl_RekamMedis(kode_rekammedis Int(10), kode_pasien Int(10),kode_dokter Int(10), tanggal_masuk date(8), dianogsis_penyakit Varchar(20))

Maka terbentuklah tabel rekam medis, sbb :

Selain fungsi CREATE, masih ada beberapa fungsi dari DDL, antara lain :

- DROP ( yang fungsinya adalah untuk menghancurkan/mendelete database, Tabel,index maupun melihat ). Contoh scriptnya adalah, sbb : DROP TABLE tbl_pasien

- ALTER ( berfungsi untuk memodifikasi database, menambahkan field/colom, atau juga berfungsi untuk mendelete colom ) Contoh scriptnya adalah, sbb : ( Menambahkan coloum ) ALTER TABLE tbl_rs ADD keterangan varchar (20)

Page 5: Makalah SQL

Data Manipulation Language

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah: INSERT untuk menambahkan data baru SELECT untuk menampilkan data UPDATE untuk mengubah data yang sudah ada DELETE untuk menghapus data

INSERT adalah fungsi dari SQL untuk menambahkan record/data pada tabel, anda bisa lihat pada script contoh :

- Menambahkan data ke Tabel Rumah Sakit Insert into tbl_rs(kode_rs,nama_rs) values('100001','Bakti Husada') Insert into tbl_rs(kode_rs,nama_rs) values('105001','Bakti Husada')

- Menambahkan data ke Tabel Dokter Insert into tbl_Dokter(kode_dokter,nama_dokter,keterangan) values('55001','Sinta Fitriani','Spesialis Mata') Insert into tbl_Dokter(kode_dokter,nama_dokter,keterangan) values('56001','Dewa Putra','Spesialis Jantung') Insert into tbl_Dokter(kode_dokter,nama_dokter,keterangan) values('57501','Boyke','Spesialis Kelamin') Insert into tbl_Dokter(kode_dokter,nama_dokter,keterangan) values('55501','Dewi Lastri','Spesialis Telinga')

Page 6: Makalah SQL

- Menambahkan data ke Tabel Pasien Insert into tbl_Pasien(kode_pasien,nama_pasien,dianogsis_penyakit) values('60100','Wahyu','Penyakit Katarak') Insert into tbl_Pasien(kode_pasien,nama_pasien,dianogsis_penyakit) values('60145','Pentas','Penyakit Kelamin') Insert into tbl_Pasien(kode_pasien,nama_pasien,dianogsis_penyakit) values('60105','Kartini','Penyakit Telinga') Insert into tbl_Pasien(kode_pasien,nama_pasien,dianogsis_penyakit) values('60125','Ramdan','Penyakit jantung')

- Menambahkan data ke Tabel Rekam medis Insert into tbl_RekamMedis(kode_rekammedis,kode_pasien,kode_dokter,tanggal_masuk,dianogsis_penyakit)values ('90001','60100','55001','5 Mei 2010','Katarak') Insert into tbl_RekamMedis(kode_rekammedis,kode_pasien,kode_dokter,tanggal_masuk,dianogsis_penyakit)values ('90001','60145','57501','11 Mei 2010','Kelamin') Insert into tbl_RekamMedis(kode_rekammedis,kode_pasien,kode_dokter,tanggal_masuk,dianogsis_penyakit)values ('90001','60105','55501','22 Mei 2010','Telinga') Insert into tbl_RekamMedis(kode_rekammedis,kode_pasien,kode_dokter,tanggal_masuk,dianogsis_penyakit)values ('90001','60125','56001','31 Mei 2010','Jantung')

Page 7: Makalah SQL

SELECT SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang

istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah/script SELECT di SQL, adalah : SELECT * FROM tbl_Dokter

Selain script diatas, perintah select dapat juga dipakai dengan menggunakan kondisi/syarat (WHERE), sebagai berikut : SELECT * FROM tbl_Dokter WHERE nama_dokter="Boyke"

Script diatas menampilkan daftar/list dokter dari tabel dokter dengan nama BOYKE.

Page 8: Makalah SQL

SELECT *FROM tbl_dokter ORDER BY kode_dokter ASC

Script diatas menampilkan daftar/list dokter dari tabel dokter, dengan kode dokter secara ascending berurut dari kecil ke besar. Fungsi SELECT pun bisa untuk menampilkan beberapa field dari beberapa tabel, dengan syarat masing mempunyai primary key yang tipe datanya sama. Sebagai contoh : SELECT tbl_RekamMedis.kode_pasien,tbl_Pasien.nama_pasien ,tbl_RekamMedis.dianogsis_penyakit FROM tbl_RekamMedis INNER JOIN tbl_Pasien ON tbl_RekamMedis.kode_pasien=tbl_pasien.kode_Pasien ORDER BY tbl_RekamMedis.kode_pasien

Tampilan dari tabel di atas adalah gabungan dari beberapa field dan dari beberapa

tabel ( tabel Rekam Medis dan tabel Pasien ). Field/kolom kode_pasien dari tabel Rekam Medis, field/kolom nama_pasien berasal dari tabel Pasien, serta field/kolom dianogsis_penyakit berasal dari tabel Rekam Medis , dan semua tersusun secara ascending dari kode_pasien.

Page 9: Makalah SQL

UPDATE

Update berfungsi untuk memanipulasi data, jika adanya perubahan data di field, maka kita bisa memakai fungsi SQL UPDATE. Sebagai contoh dari script UPDATE kita dapat lihat dari Script di bawah ini. Dari default tabel,

UPDATE tbl_RekamMedis SET tgl_masuk="5 mei 2010" WHERE kode_pasien="60145"

DELETE Fungsi DELETE, secara umum berguna untuk menghilangkan/menghapus data,field/kolom atau tabel maupun database. Sebagai contoh penggunaan fungsi DELETE, sebagai berikut : Fungsi DELETE akan saya gunakan untuk menghapus tabel yang saya tidak perlukan sebagai contoh Pada tampilan menu dari SQL MAESTRO yang saya gunakan. Akan saya hapus salah satu tabel. Lihat Gambar dan scriptnya.

Page 10: Makalah SQL

Pada daerah yang saya tandai, diatas adalah sebuah tabel sumah sakit ( tbl_rs ) dan contoh script DELET untuk menghapus tabel Rumah Sakit ( tbl_rs ) . Setelah menggunakan Script menghapus seperti dibawah ini : DELETE FROM tbl_rs Maka akan keluar hasil sebagai berikut :

Pada Menu Tree di sebelah kiri dapat kita lihat tbl_rs sudah hilang.

Page 11: Makalah SQL

FUNGSI AGGREGAT

Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah: SUM untuk menghitung total nominal data COUNT untuk menghitung jumlah kemunculan data AVG untuk menghitung rata-rata sekelompok data MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.

Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada bagian HAVING, bukan WHERE.

Subquery

Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh: Tampilkan username pengguna yang memiliki jumlah transaksi terbesar. Contoh penggunaan Script dari Fungsi AGGREGAT. SUM Script dasarnya adalah : SELECT SUM (column_name) FROM (table_name) Kalo kita implementasikan ke tabel, kita dapat lihat sebagai berikut : SELECT SUM(kode_pasien) AS jumlah FROM tbl_Pasien

Script diatas menghasilkan Jumlah dari total kode_pasien, yang sebenarnya kode pasien tersebut merupakan sebuat data hitung dari daftar pasien. Akan tetapi fungsi dari SUM berkata lain. Maka tampilan yang dihasilkan adalah jumlah total dari kode_pasien. Dan Fungsi AS pada Script diatas adalah sebuah script manipulasi data, yang berfungsi untuk memberikan nama pada field yang akan ditampilkan dari fungsi tersebut. SELECT SUM(kode_pasien) AS jumlah FROM tbl_Pasien.

Page 12: Makalah SQL

COUNT Script dasarnya adalah : SELECT COUNT (column_name) FROM (table_name) Kalo kita implementasikan ke tabel, kita dapat lihat sebagai berikut : SELECT COUNT(nama_pasien) AS Jumlah_Data FROM tbl_Pasien

Fungsi dari COUNT ini adalah fungsi yang berguna untuk menghitung banyaknya data. Maka hasil yang dikeluarkan dari script diatas adalah 4 , yaitu banyaknya data pada tabel pasien. Fungsi AS sama dengan pengertian yang sebelumnya. AVG Script dasarnya adalah : SELECT AVG (column_name) FROM (table_name) Kalo kita implementasikan ke tabel, kita dapat lihat sebagai berikut : SELECT AVG(kode_pasien) AS Jumlah_Data FROM tbl_Pasien

Dari fungsi AVG diatas maka nilai yang dihasilkan adalah, jumlah rata2 dari data di field kode_pasien di tabel pasien.

Page 13: Makalah SQL

MIN dan MAX MIN Script dasarnya adalah : SELECT MAX (column_name) FROM (table_name) Kalo kita implementasikan ke tabel, kita dapat lihat sebagai berikut : SELECT MAX(kode_pasien) AS data_terkecil FROM tbl_Pasien

Script yang diatas menghasilkan, sebuah tampilan dari data terkecil yang berada di field/kolom kode_pasien pada Tabel Pasien. MAX Script dasarnya adalah : SELECT MAX (column_name) FROM (table_name) Kalo kita implementasikan ke tabel, kita dapat lihat sebagai berikut : SELECT MAX(kode_pasien) AS data_terbesar FROM tbl_Pasien

Kebalikan dari fungsi MIN, Script yang diatas menghasilkan, sebuah tampilan dari data terbesar yang berada di field/kolom kode_pasien pada Tabel Pasien.

Page 14: Makalah SQL

Dari beberapa FUNGSI AGGREGAT diatas, masih ada beberapa fungsi yang sering digunakan dalam perintah-perintah atau script di SQL, sebagai contoh : ALIAS (AS)

Berfungsi untuk mengganti nama field/kolom yang akan ditampilkan. GROUP BY Berfungsi untuk membuat group/ mengurutkan secara grouping. WHERE Berfungsi sebagai syarat/kondisi keadaan yang berlaku di dalam suatu script atau perintah SQL. OR Berfungsi sebagai syarat/kondisi LOGIKA (atau) keadaan yang berlaku di dalam suatu script atau perintah SQL. AND Berfungsi sebagai syarat/kondisi LOGIKA (dan) keadaan yang berlaku di dalam suatu script atau perintah SQL. BETWEEN Berfungsi sebagai syarat/kondisi (antara) , syarat/kondisi 1 dengan syarat/kondisi 2. UCASE Berfungsi untuk mengganti data dengan huruf Besar semua, di suatu field/tabel. LCASE Berfungsi untuk mengganti data dengan huruf Kecil semua, di suatu field/tabel. HAVING Berfungsi untuk hampir sama dengan WHERE, tetapi HAVING ini digunakan pada saat FUNGSI AGGREGAT dijalankan. MID Berfungsi yang digunakan untuk mengambil karakter dari kolom TEXT. LEN Berfungsi untuk mengembalikan nilai panjang dari kolom teks. ROUND Berfungsi untuk membulatkan nilai numeric dengan jumlah desimal tertentu. NOW Berfungsi untuk mengembalikan fungsi tanggal dan waktu saat ini. FORMAT Berfungsi untuk mengformat field yang akan ditampilkan.

Page 15: Makalah SQL

MAKALAH

SYSTEM BASIS DATA

SQL QUERY

Nama : Eddy Purwoko Kelas : V ( Semester IV ) NPM : 2008 435 00 845 Dosen : Bpk. Jonser

Universitas Indraprasta PGRI