MAKALAH DASAR – DASAR SQL
MAKALAH DASAR – DASAR SQL
(Structured Query Language)
(Structured Query Language)
Diajukan sebagai tugas ujian akhir semester ganjil pada matakuliah database 2 Diajukan sebagai tugas ujian akhir semester ganjil pada matakuliah database 2
Ju
Jurruusasann : : TTeekknniik k IInnfoforrmmaatitikkaa
Tahun Akademik 2014/201 Tahun Akademik 2014/201
Disusun !leh : Disusun !leh :
"
"aammaa : : ##aahh$$u u %%rraattaammaa
"
"iimm : : 1144001111110000&&''
(
(eemmeesstteerr : : IIIII I ) ) TTiigga a * * / / ++aannjjiill
,
,eellaass : : %%aaggii
(-,!.A
(-,!.A TI"++I TI"++I I. I. ,!%T- ,!%T- 3I%TA 3I%TA ,A,AA A I"5!ATI,AI"5!ATI,A
)(TI,!3,I* JA,ATA )(TI,!3,I* JA,ATA
DAFTAR ISI
Daftar Isi6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666i ,ata %engantar6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666ii 7A7 I %-"DA.A" 161 .atar 7elakang66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666iii 162 umusan asalah66666666666666666666666666666666666666666666666666666666666666666666666666666666666666i8 169 Tujuan dan anfaat666666666666666666666666666666666666666666666666666666666666666666666666666666666666i8 7A7 II I(I261 %engertian (.666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 1 26161 (tandarisasi66666666666666666666666666666666666666666666666666666666666666666666666666666666666666662 262 %emakaian Dasar6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 2 26261 DD. )Data Definitio .anguage*666666666666666666666666666666666666666666666666666666669 26262 D. )Data anipulation .anguage*666666666666666666666666666666666666666666666666 26269 D3. )Data 3ontrol .anguage*6666666666666666666666666666666666666666666666666666666666' 26264 T. )Transi;tion .anguage*6666666666666666666666666666666666666666666666666666666666666666& 269 ( (. (er8er6666666666666666666666666666666666666666666666666666666666666666666666666666666666666 66666< 7A7 III %enutup
961 ,esimpulan666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666611 962 (aran6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666611 969 Daftar %ustaka66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 12
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.%uji dan s$ukur penulis panjatkan kehadirat Allah atas limpahan rahmat dan karunia="$a kepada penulis> sehingga penulis dapat men$elesaikan makalah $ang berjudul ?akalah Dasar=Dasar (.@ ini dengan lan;ar6 %enulisan makalah ini bertujuan untuk memenuhi salah satu tugas $ang diberikan oleh dosen matakuliah
Database6
%en$usunan laporan ini tidak lain dengan adan$a bantuan dari berbagai pihak> oleh karena itu kami mengu;apkan terima kasih kepada:
16 7apak (apta> selaku dosen mata kuliah Database 26
26 !rang tua> $ang senantiasa memberikan dukungan dan dorongan kepada kami6
96 (emua pihak $ang turut membantu dalam pen$usunan makalah ini6
akalah ini ditulis dari hasil pengumpulan data $ang penulis peroleh dari internet $ang berkaitan dengan (. dan (. (er8er> serta infomasi dari media massa $ang berhubungan dengan database> tak lupa pen$usun u;apkan terima kasih kepada pengajar matakuliah Database atas bimbingan dan arahan dalam penulisan makalah ini6
%enulis berharap> dengan memba;a makalah ini dapat memberi manfaat bagi kita semua> dalam hal ini dapat menambah aasan kita mengenai Database6 emang makalah ini masih jauh dari sempurna> maka penulis mengharapkan kritik dan saran $ang membangun dari pemba;a demi perbaikan menuju arah $ang lebih baik6
Wassalamu’alaikum Wr. Wb.
Jakarta> 29 !ktober 201
Ba !
PENDAH"L"AN
!#! Latar Be$a%angA# Latar Be$a%ang
(ebelum kita membahas lebih jauh tentang (. dan (. (er8er> $ang menjadi pertan$aan Apa itu (.BApa itu (. (er8erB(. (er8er dalah sebuah sistem manajemen basis data relasional )D7(* produk i;rosoft6 ang paling utama kita jangan disalah artikan dengan (.>karena (. sendiri didefinisikan sebagai suatu sintak perintah=perintah tertentu $ang digunakan untuk mengelola suatu database6 (. merupakan bahasa terstruktur $ang khusus digunakan untuk mengolah database6 (. pertama kali didefinisikan oleh Ameri;an "ational (tandards Institute )A"(I* pada tahun 1<&C6(. (er8er adalah sebuah sistem manajemen database $ang bersifat open sour;e6
(. (er8er dapat digunakan untuk membuat dan mengola database beserta isin$a6,ita dapat memanfaatkan (. (er8er untuk menambahkan> mengubah dan menghapus data $ang berada dalam database6(. (er8er merupakan sisitem manajemen database $ang bersifat at relational6 Artin$a data= data $ang dikelola dalam database akan diletakkan pada beberapa tabel $ang terpisah sehingga manipulasi data akan menjadi jauh lebih ;epat6 (. (er8er dapat digunakan untuk mengelola database mulai dari $ang ke;il sampai dengan $ang sangat besar6(. (er8er juga dapat menjalankan perintah=perintah (tru;tured uer$ .anguage )(.* untuk mengelola database=database $ang ada di dalamn$a6
!#& Ru'uan Maa$a
Dari latar belakang diatas> dapat disusun rumusan masalah sebagai berikut:
1. Apa perngertian (.B
2. Apa pengertian (. (er8erB
3. 3ontoh pengaktualisasian %an;asila di lingkungan kampus
!#* Tu+uan
Tujuan pembahasan makalah ini adalah
1. ntuk mengetahui pengertian (.6
26 ntuk mendapatkan pengetahuan tentang pemanfaatan (.6
!#, Man-aat
anfaat $ang dapat diambil dari mempelajari makalah ini adalah mengetahui dan mengerti apa itu (El dan (. (er8er dan bagaimana menggunakan n$a dalam pemanfaatan database6
BAB II
PEMBAHASAN
&#! Pengert.an SQL7ahasa database adalah bahasa khusus $ang ditetapkan pembuat D7(
)database management system*> tentang ;ara berinteraksi/berkomunikasi antara pemakai dengan database6 7ahasa ini terdiri atas sejumlah perintah $ang diformulasikan untuk dapat diberikan oleh pengguna dan dikenali oleh D7(6 (alah satu bahasa database $ang populer adalah SQL6
SQL (Structured Query Language) adalah sebuah bahasa $ang dipergunakan untuk mengakses data dalam basis data relasional6 7ahasa ini se;ara de fa;to merupakan bahasa standar $ang digunakan dalam manajemen basis data relasional6 (aat ini hampir semua ser8er basis data $ang ada mendukung bahasa ini untuk melakukan manajemen datan$a6
(ejarah (. dimulai dari artikel seorang peneliti dari I7 bernama -5 3odd $ang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1<'06 Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut6 7ahasa tersebut kemudian diberi nama (--. )(tru;tured -nglish uer$ .anguage*6
(etelah terbitn$a artikel tersebut> I7 mengadakan pro$ek pembuatan basis data relasional berbasis bahasa (--.6 Akan tetapi> karena permasalahan hukum mengenai penamaan (--.> I7 pun mengubahn$a menjadi (.6 Implementasi basis data relasional dikenal dengan ($stem/6
Di akhir tahun 1<'0=an> mun;ul perusahaan bernama !ra;le $ang membuat s er8er basis data populer $ang bernama sama dengan nama perusahaann$a6 Dengan
naikn$a kepopuleran !ra;le> maka (. juga ikut populer sehingga saat ini menjadi standar de fa;to bahasa dalam manajemen basis data6
ang perlu diperhatikan dalam penulisan perintah (. adalah :
16 %erintah pada pemrograman (. bersifat tidak ;ase sensiti8esehingga perintah dapat ditulis dalam huruf besar maupun ke;il6
26 %erintah dapat ditulis satu atau beberapa baris untuk memberikan komentar pada perintah (.6 +unakan tanda minus ? = = ? untuk komentar 1 baris> atau di antara tanda ? FG ? dan ? GF ? untuk komentar beberapa baris6
96 Antar klausa perintah biasan$a ditulis pada baris $ang berbeda> ini tidak akan mempengaruhi program6
46 ,e$ords tidak dapat dipisah antar baris6
6 (etiap akhir perintah (. )tidak baris* diakhiri dengan tanda titik koma )H*6
&#& Pe'a%a.an daar
(e;ara umum> (. terdiri dari dua bahasa> $aitu Data Definition .anguage )DD.* dan Data anipulation .anguage )D.*6 Implementasi DD. dan D. berbeda untuk tiap sistem manajemen basis data )D7(*> namun se;ara umum implementasi tiap bahasa ini memiliki bentuk standar $ang ditetapkan A"(I6 Artikel ini akan menggunakan bentuk paling umum $ang dapat digunakan pada keban$akan D7(6
DBMS (Dataae Manage'ent Syte') merupakan perangkat lunak $ang diran;ang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumlah $ang besar6 D7( juga diran;ang untuk dapat melakukan manipulasi data se;ara lebih mudah6 (ebelum adan$a D7(> data pada umumn$a disimpan dalam bentuk flat file> $aitu file teks $ang ada pada sistem operasi6 (ampai sekarangpun
Tujuan dari pemakaian (l dalam men$elesaikan tugas=tugas $ang berkaitan dengan database> diantaran$a :
emanggil data dari satu table atau lebih
emanipulasi data
endapatkan ringkasan informasi
embuat> memodifikasi atau menghapus table
embuat atau menghapus inde
!# DDL (Data De-.n.t./n Language)
DD. digunakan untuk mendefinisikan> mengubah> serta menghapus basis data dan objek=objek $ang diperlukan dalam basis data> misaln $a tabel> 8ie> user> dan sebagain$a6 (e;ara umum> DD. $ang digunakan adalah 3-AT- untuk membuat objek baru> (- untuk menggunakan objek> A.T- untuk mengubah objek $ang sudah ada> dan D!% untuk menghapus objek6 DD. biasan$a digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data6
• 0reate untuk membuat obje;t dalam database> bisa berupa table> 8ie>
pro;edure> fun;tion> trigger> ataupun pa;kage )ora;le*6
Syntax:
CREATE TABLE namatabel (namakolom typekolom(size), namakolom typekolom(size),…);
Contoh : CREATE TABLE mahasiswa (nim varchar(15), nama varchar(35), jurusan varchar(15));
• A$ter> adalah perintah untuk mengubah struktur tabel $ang telah dibuat6
5ungsin$a men;akup mengganti nama tabel> menambah kolom> mengubah kolom> menghapus kolom> maupun memberikan atribut pada kolom6
Syntax
ALTER TABLE namatabel ADD namakolom typekolom(size);
Contoh : ALTER TABLE mahasiswa add email char(3);
• Dr/1> untuk menghapus database a$au tabel dalam database6
Sintax
DR! DATABASE namadatabase;
Contoh: DR! TABLE mahasiswa;
• Truncate> untuk menghapus/membersihkan isi table beserta alokasi spa;e
$ang ada di dalamn$a6
Sintax
TR"#CATE table namatabel
Contoh: TR"#CATE TABLE mahasiswa;
• 0/''ent> memberikan keterangan/komentar pada ke dalam kamus data6
berisi deskripsi dari sebuah objek dalam database6
• Rena'e> mengganti nama objek dalam database6)$sEl> !ra;le*6
S.nta2
RE#A$E namatabelyan!di!anti T namatabelbaru;
Contoh : RE#A$E siswa T mahasiswa;
%ada DD. ini ada beberapa $ang perlu diperhatikan $aitu :
= "ama tabel harus unik
= "ama kolom ditulis dalam tanda kurung dan dipisahkan dengan tand koma )>*6
= %ada nama kolom terakhir tidak boleh dipakai tanda koma6 = (etiap kolom harus memiliki t$pe data dan lebarn$a6
= 3onstraints )batasan* bisa berupa batasan pada kolom dan batasan pada tabel6
&# DML (Data Man.1u$at./n Language)
D. adalah pern$ataan $ang digunakan untuk mengorganisir data dengan menggunakan skema objek6
• Se$ect> untuk men$eleksi data dari dalam database6
SELECT namakolom" namakolom, """ %R$ namatabel
&'ERE kriteria;
Contoh:
SELECT nim,nama,jurusan %R$ mahasiswa &'ERE jurus an # $%eknik &n'ormatika;
Keterangan3
%erintah #-- merupakan !ptional tidak harus disertakan
seperti (-.-3T dan 5!6
3ontoh menampilkan semua informasi nim>nama>jurusan dari data
mahasisa jurusan Teknik Informatika6
• Inert> untuk menginputkan re;ord ke dalam suatu table6 3ontoh:
Sintax
#SERT #T namatabel (kolom) AL"ES (value)
Contoh: #SERT #T mahasiswa(npm,nama,alamat)
AL"ES($13,*bdul +alik &khsan,alan akarta -o" ./)
• "1date> untuk melakukan update dari table $ang sudah dibuat6 3ontoh:
Sintax:
"!DATE namatabel SET namakolom#value &'ERE keriter ia;
Contoh: "!DATE mahasiswa SET npm#1 &'ERE
npm#13;
• De$ete> untuk menghapus isi re;ord baik semuan$a ataupun sebagian dari
suatu table6 3ontoh:
DELETE %R$ mahasisa &'ERE npm K L001MH
• Merge> penggabungan update> insert> delete pada suatu table berdasarkan
kondisi $ang ;o;ok6 )!ra;le*6 3ontoh:
$ER*E #T table0name "S#* table0re'erence #
(condition) &'E# $ATC'ED T'E# "!DATE SET column1 # value1 , column. # value. """2 &'E# #T $ATC'ED T'E# #SERT (column1 , column. """2) AL"ES
(value1 , value. """2)
• E4E0> memanggil pro;edure $ang telah kita buat6 3ontoh:
CREATE !RCED"RE seleksimhs Nnpm ;har)'* AS SELE0T G FR5M mahasisa 6HERE npmKNnpm6 3ara eksekusi : -O-3
T.1e Data Daar
I
n
t
e
g
e
r
T.1e Data Keterangan
7IT Integer dengan nilai 0 atau 1
I"T "ilai Integer antara =2614'649&6C4& = 2614'649&6C4'
(A..I"T "ilai antara =926'C& s/d 926'C' TI"I"T "ilai antara 0 s/d 2 D-3IA. /
"-I3 Akurasi angka tetap antara P10Q9&=1s/d 10Q9&=1
!"-
Data moneter dari P2QC9 s/d 2QC9=1> dengan tingkat akurasi hingga sepersepuluh ribu unit
moneter
5.!AT =9640-R9& s/d 9640-R9& -A. =9640-R9& s/d 9640-R9&
DAT-TI- 1 januari 1'9 s/d 91 desember <<<<
S T R I N
G T.1e Data Keterangan
3A 5ield tetap dengan ukuran ma &000 b$te SA3A 5ield tetap dengan ukuran ma &000 b$te
T-OT Sariabel dengan ukuran 2Q91=1 b$te
E%1re. dan 51erat/r 1ada SQL
%ada (. operator bertindak berdasarkan operand> $aitu elemen $ang dianalisa oleh operator6 Terdapat dua jenis operator> $aitu operator unar$ $ang bertindak berdasarkan satu operand saja> dan operator binar$ $ang bertindak berdasarkan dua atau lebih operator6 Apabila pada sebuah ekspresi terdapat lebih dari satu operator> maka operator=operator tersebut akan die8aluasi berdasarkan urutan sebagai berikut:
R ) positif *> = ) negatif *> ) bitise "!T * ) perkalian *> / ) pembagian *> U ) modulus *
R ) penjumlahan *> R ) penggabungan *> = ) pengurangan *
" ! T A " D
A..> A"> 7-T#--"> I"> .I,-> !> (!- K ) penugasan *
*# D0L (Data 0/ntr/$ Language)
D3. adalah keenangan pengguna untuk mengakses dan memanipulasi data6 Dua pern$ataan utaman$a adalah:
16 GRANT $aitu keenangan satu atau lebih pengguna untuk melakukan operasi atau seperangkat operasi pada objek6
*RA#T #SERT, "!DATE, DELETE n mahasiswa %o public
26 RE75KE untuk membuang hak $ang telah dilarang dengan perintah Den$ atau hak $ang telah diberikan oleh perintah +A"T
RE+E SELECT n mahasiswa %o 4ublic
,# T0L (Tranact./n 0/ntr/$)
%ern$ataan untuk mengelola perubahan $ang dilakukan oleh D.6
• 3!IT KV men$impan hasil perintah
• (AS-%!I"T KV identifikasi point transaksi $ang akan digunakan
nantin$a6
• !..7A3, KV estore database ke kondisi ;ommit terakhir6 • (-T TA"(A3TI!" KV mengubah le8el transaksi6
&#* M.cr//-t SQL Ser8er
%ada dasarn$a pengertian dari (. (er8er itu sendiri adalah bahasa $ang dipergunakan untuk mengakses data dalam basis data relation6 7ahasa ini se;ara defacto adalah bahasa standar $ang digunakan dalam manajemen basis data relasional6 (aat ini hampir semua ser8er basis data $ang ada mendukung bahasa ini dalam manajemen datan$a6 (. ser8er 200& merupakan salah satu produk dari Relational Database Management System )D7(*6
b* Ana$y. Ser8.ce : 7asis dari solusi intelijen bisnis $ang ampuh )poerful*> dan mendukung aplikasi=aplikasi !.A% )online anal$ti;al pro;essing*> serta data minning6
;* Data Tran-/r'at./n Ser8.ce (DTS): sebuah mesin untuk membuat solusi ekspor dan impor data> serta untuk mentransformasi data ketika data tersebut ditransfer6
d* N/t.-.cat./n Ser8.ce: sebuah frameork untuk solusi dimana pelanggan akan dikirimi notifikasi ketika sebuah e8ent mun;ul6
e* Re1/rt.ng Ser8.ce: ser8i;e $ang akan mengambil data dari (. (er8er> dan menghasilkan laporan=laporan6
f* Ser8.ce r/%er: sebuah mekanisme antrian $ang akan menangani komunikasi berbasis pesan diantara ser8i;e6
g* Nat.8e HTTP Su11/rt: dukungan $ang memungkinkan (. ser8er $ang )jika diinstall pada #indos (er8er 2009* akan merespon reEuest terhadap TT% endpoint> sehingga memungkinkan pembangunan sebuah eb ser8i;e untuk (. (er8er tanpa menggunakan II(6
h* SQL er8er Agent : akan mengotomatiskan peraatan database dan mengatur task> e8ent dan alert6
i* NET 0LR (0/''/n Language Runt.'e): akan memungkinkan pembuatan solusi menggunakan managed ;ode $ang ditulis dalam salah
satu bahasa 6"-T6
j* Re1$.cat./n: serangkaian teknologi untuk menjalin dan mendistribusikan data dan ob$ek database dari sebuah database ke database lain> dan melakukan sinkronisasi untuk menjaga konsistensin$a6
k* Fu$$9Te2t Searc: memungkinkan pengindeksan $ang ;epat dan fleibel untuk Euer$ berbasis kata kun;i )terhadap data teks $ang disimpan dalam database*6
T//$ 1enge'ang SQL er8er &::; dan ut.$yta yang da1at d.guna%an untu% 'e'angun /$u. data ae <
1.SQL Ser8er Manage'ent Stud./
Ini adalah lingkungan pengembangan utama untuk (. (er8er 200&6 De8elopers ;an use it to ;reate database solutions ;ontaining all of the
s;ript $ang berhubungan dengan database tertentu6 ou ;an use this tool to ;reate database appli;ations graphi;all$> or $ou ;an ;reate> ee;ute> and sa8e s;ripts6 Anda dapat menggunakan alat ini untuk membuat aplikasi database se;ara grafis> atau Anda dapat membuat> mengeksekusi> dan men$impan s;ript6
&# Bu.ne Inte$$.gence e8e$/1'ent Stud./
Digunakan untuk membuat Analisis solusi .a$anan6 3.SQL0MD
SQL0MD adalah sebuah utilitas baris perintah baru $ang menggantikan .=$ dan /=$# al ini memberikan peningkatan fungsionalitas dan kinerja lebih dari pendahulun$a6
,# 7.ua$ Stud./ de.gner
(. (er8er 200 men$ediakan sejumlah desainer $ang memperpanjang lingkungan Sisual (tudio dan membuatn$a mudah untuk membangun (. (er8er 200 item seperti laporan dan objek database dikelola6
BAB III
PEN"T"P
Ke.'1u$an(. )(tru;tured uer$ .anguage* adalah bahasa Euer$ $ang standard $ang digunakan sebagai suatu bahasa sederhana dan dasar> $ang memungkinkan Anda untuk berkomunikasi dengan database> memba;a> menulis> dan memperoleh informasi $ang berguna dari database6
Saran
Dari makalah ini diharapkan pemba;a menjadi tahu apa pengertian (.> dan hubungan (. dengan database6 (elain itu pemba;a juga bisa mulai memahami perintah=perintah dasar $ang terdapat pada bahasa (. $ang akan sangat bermanfaat nantin$a dalam pembuatan sebuah database6