Bahasa dalam Model Relational

  

Bahasa dalam M odel Relat ional

  • Bahasa Query adalah bahasa yang digunakan unt uk model

  relasional

  • Bahasa Query merupakan suat u bahasa yang menyediakan fasilit as bagi user unt uk mengakses informasi dari basis dat a.
  • >Pada umumnya level bahasa ini lebih t inggi dari bahasa pemrograman st an
  • Bahasa query dapat dikat egorikan menjadi 2 :

1. Prosedural

  

Bahasa Prosedural dan Non Prosedural

1. Bahasa Prosedural :

  user menginst ruksikan ke sist em agar membent uk serangkaian operasi dalam basis dat a unt uk mengeluarkan hasil yang diinginkan.

  • Yg t ermasuk bahasa query prosedural :

  1. Aljabar Relasional

  

2. Bahasa Non-Prosedural: user mendeskripsikan informasi yang

diinginkan tanpa memberikan prosedur det ail unt uk menghasilkan informasi.

  • Yang t ermasuk bahasa non-prosedural :

  1. Kalkulus relasional tupel

  2. Kalkulus relasional domain

  Bahasa Prosedural

1. Aljabar Relasional

  adalah sebuah bahasa query prosedural yang

t erdiri dari sekumpulan operasi dimana masukkannya adalah sat u

at au dua relasi dan keluarannya adalah sebuah relasi baru sebagai

hasil dari operasi t ersebut .

  Operasi-operasi dasar dalam aljabar relasional adalah :

  1.Select

  2. Project ion

  3.Union

  4. Set difference

  5. Cart esian product , selain it u ada beberapa operasi t ambahan

  

Operasi Dasar Aljabar Relasional

1. Select

  • Operasi select dapat didefiniskan sebagai ” Kumpulan semua t uple-t uple/ record-record dalam suat u t abel yang memenuhi kondisi seleksi t ert ent u”.
  • >Operasi select berfungsi unt uk menyeleksi t uple-t uple yang memenuhi predikat yang diberikan dari sebuah t abel relasiSimbol sigma “ σ ” digunakan unt uk menunjukkan operasi select .
  • Argumen diberikan dalam t anda kurung yang mengikut i σ dan berisi t abel relasi yang dimaksud.

  

Cont oh penggunaan operasi select

M isalkan ada 3 tabel, yait u tabel dosen, tabel matakuliah dan tabel mengajar sepert i berikut :

  NIP Nama_dosen Jenis_kelamin Alamat Kota 95001 Bambang Pria Jl. Mawar Jakarta Selatan 95002 Asri Wanita Jl. Anggrek Jakarta Selatan 95003 Hesti Wanita Jl. Bungur Jakarta Timur 95004 Dimas Pria Jl. Kemuning Cikarang Kd_mk Nama_mk Sks MPK1 PKN

  2 MKB3 BDT

  3 NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A

  Tabel Dosen Tabel M atakuliah Tabel M engajar

  

Cont oh penggunaan operasi select

Cont oh

1. Tampilkan daft ar dosen yang berjenis kelamin pria dari t abel Dosen.

  Aljabar relasional : σ (Dosen) Jenis_kelam in=Pria Hasil:

  NIP Nama_dosen Jenis_kelamin Alamat Kota 95001 Bambang Pria Jl. Mawar Jakarta Selatan 95004 Dimas Pria Jl. Kemuning Cikarang

2. Tampilkan daft ar dosen yang kot a asalnya Jakart a Selat an

  σ

  Aljabar relasional : (Dosen) kota=Jakarta Selatan

  

Cont oh penggunaan operasi select

Hasil:

  Cont oh

  1. Tampilkan daft ar mat akuliah yg sksnya lebih dari at au sama dengan 3

2. Aljabar relasional : σ (sks>=3)(M at akuliah)

  Kd_mk Nama_mk Sks MKB3 BDT

  3 MKB4 ASD

  3 M KB5 PTI

  4

  

Operasi Dasar Aljabar Relasional

2. Project

  • Operasi project berfungsi unt uk memilih nilai at ribut -at ribut t ert ent u saja dari sebuah t abel relasi.
  • Simbol phi “ π ” digunakan unt uk menunjukkan operasi project ion.

  π

  • Predikat muncul sebagai subscript dari dan hanya nama at ribut yang diinginkan yang dit ulis dalam predikat .
  • Argumen diberikan dalam t anda kurung yang mengikut i π dan

  Cont oh penggunaan operasi project

  1. Tampilkan NIP dan Nama_dosen dari t abel Dosen Aljabar relasional : π (Dosen) NIP,Nam a_dosen NIP Nama_dosen 95001 Bambang 95002 Asri 95003 Hesti 95004 Dimas

  

2 . Tampilkan NIP, Nama_dosen, dan kot a dari t abel Dosen, dari dosen-

dosen yang bert empat t inggal di kot a Jakart a Selat an.

  Aljabar relasional : π ( σ (Dosen) NIP,Nam a_dosen,Kota Kota=Jakarta Selatan Hasil

  

Operasi Dasar Aljabar Relasional

3. Union

  • Operasi union berfungsi unt uk mendapat kan gabungan nilai at ribut dari sebuah t abel relasi dengan nilai at ribut dari t abel relasi lainnya. Simbol “ ” digunakan unt uk menunjukkan operasi union.

  

  Operasi union bernilai benar bila t erpenuhi 2 kondisi, yait u : Derajat dari 2 t abel relasi yang dioperasikan harus sama dan domain dari at ribut yang dioperasikan juga harus sama

  

Operasi Dasar Aljabar Relasional

NIP

  • Tampilkan NIP( dari relasi Dosen) Union dari NIP (dari t abel M engajar) Aljabar Relasional: π NIP

  Hasil NIP Nama_dosen Jenis_kelamin Alamat Kota 95001 Bambang Pria Jl. Mawar Jakarta Selatan 95002 Asri Wanita Jl. Anggrek Jakarta Selatan 95003 Hesti Wanita Jl. Bungur Jakarta Timur 95004 Dimas Pria Jl. Kemuning Cikarang

  NIP Kd_mk Kelas Tabel mengajar Tabel dosen

  Cont oh penggunaan operasi union :

  (Dosen)

  ∪ NIP

  (M engajar)

  

Bahasa dalam M odel Relat ional

4. Set Difference

  • Operasi set difference berfungsi unt uk mendapat kan nilai yang

  ada disebuah t abel relasi, tapi tidak ada dalam t abel relasi lainnya.

  • Simbol “ “ digunakan unt uk menunjukkan perasi set difference. -

  

Contoh penggunaan operasi set difference

Tampilkan NIP (dari t abel Dosen) Set -difference dari NIP (dari t abel

M engajar).

  Aljabar relasional: π (Dosen) - (M engajar) NIP NIP Tabel Dosen NIP Nama_dosen Jenis_kelamin Alamat Kota 95003 Hesti Wanita Jl. Bungur Jakarta Timur 95002 Asri Wanita Jl. Anggrek Jakarta Selatan 95001 Bambang Pria Jl. Mawar Jakarta Selatan

  95004 Dimas Pria Jl. Kemuning Cikarang Tabel M engajar

  Hasil NIP Kd_mk Kelas 95002 MKB3 A

  

5. Cartesian Product

  5. Cartesian Product

  • Operasi cart esian product berfungsi unt uk mengkombinasikan

  informasi yang ada dalam 2 t abel relasi dan menghasilkan sebuah t abel relasi yang baru.

  • Simbol “ x “ digunakan unt uk menunjukkan operasi cart esian product .

  Contoh penggunaan operasi cartesian product : Tampilkan Kode_mk, Nama_mk, Sks (dari t abel M atakuliah), Kelas (dari t abel M engajar) dimana kelas yang diajar adalah kelas A.

  π (σ

  Aljabar relasional: Kelas=A ^ Kode_mk,Nama_mk,Sks,Kelas x M engajar.Kode_m k=M atakuliah.Kode_m k (M engajar M at akuliah)) atau

  

Contoh penggunaan operasi cartesian product

Kd_mk Nama_mk Sks Kelas MPK1 PKN

  

2 A

hasil

  Kd_mk Nama_mk Sks MPK1 PKN

  2 MKB3 BDT

  3 MKB4 ASD

  3 M KB2 SBD

  2 M KB5 PTI

  4 NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A 95003 MPK1 A 95003 MPK1 B 95004 MKB4 B

  Tabel M atakuliah Tabel M engajar

  

6. Intersection

  6. Intersection

  • Set int ersect ion / Int ersect ion ( ) t ermasuk ke dalam operator

  ∩

  t ambahan, karena operat or ini dapat diderivikasi dari operator dasar sepert i berikut : A B = A - ( A – B ), at au A B = B - ( B – A )

  ∩ ∩

  Operasi set int ersect ion berfungsi unt uk mendapat kan nilai yang ada dalam sebuah t abel relasi dan juga ada dalam t abel relasi lainnya.

  • Simbol “ “ digunakan unt uk menunjukkan

  ∩ operasi set int ersect ion.

  Contoh penggunaan operasi set intersection NIP Hasil

  

Tampilkan NIP (dari t abel Dosen) Set Int ersect ion dengan NIP (dari t abel

M engajar).

  Aljabar relasional:

  π NIP

  (Dosen)

  ∩ π NIP

  (M engajar) NIP Nama_dosen Jenis_kelamin Alamat Kota 95001 Bambang Pria Jl. Mawar Jakarta Selatan 95002 Asri Wanita Jl. Anggrek Jakarta Selatan 95003 Hesti Wanita Jl. Bungur Jakarta Timur 95004 Dimas Pria Jl. Kemuning Cikarang

  NIP Kd_mk Kelas Tabel Dosen

  Tabel M engajar

7. Natural Join

  • • Operasi nat ural join berfungsi unt uk m enggabungkan

    operasi select ion dan cart esian product m enjadi 1 operasi saja.
  • Sim bol “ “ digunakan unt uk m enunjukkan operasi nat ural join .

  ⋈ Operasi nat ural join hanya m enghasilkan t upel yang m em punyai nilai yang sam a pada 2 at ribut yang bernam a sam a pada 2 tabel relasi yang berbeda.

  7. Natural Join

  7. Natural Join

  • Cont oh penggunaan operasi nat ural join Tam pilkan seluruh dat a yang ada pada t abel M at akuliah dan t abel M engajar. Aljabar relasional : M at akuliah M engajar.Kode_mk=M atakuliah.Kode_mk

  M engajar ⋈

  Tabel M atakuliah Tabel M engajar Kd_mk Nama_mk Sks

  NIP Kd_mk Kelas

MPK1 PKN

  2 95002 MKB3 A MKB3 BDT

  3 95002 MKB4 A MKB4 ASD

  3 95003 MPK1 A 95003 MPK1 B M KB2 SBD

  2 95004 MKB4 B M KB5 PTI

  4 Kd_mk Nama_mk Sks NIP Kelas hasil

  MKB3 BDT 3 95002 A

7. Theta Join

  • Operasi t het a join berfungsi unt uk mengkombinasikan t upel dari 2 t abel relasi dimana kondisi dari kombinasi t ersebut t idak hanya nilai dari 2 at ribut bernama sama, t et api kondisi yang

  (≤,

  diinginkan juga bisa menggunakan operator relasional <, =,

  ≥) >, .

  • Operasi t het a join merupakan ekst ensi dari nat ural join.

7. Theta Join

  Cont oh penggunaan operasi t het a join:

Tampilkan seluruh dat a yang ada pada t abel M at akuliah dan t abel

M engajar. Aljabar relasional : M at akuliah

  ⋈ M engajar.Kode_m k=M atakuliah.Kode_m k

  M engajar Kd_mk Nama_mk Sks MPK1 PKN

  2 MKB3 BDT

  3 MKB4 ASD

  3 M KB2 SBD

  2 M KB5 PTI

  4 NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A 95003 MPK1 A 95003 MPK1 B 95004 MKB4 B

  Tabel M atakuliah Tabel M engajar

  

Bahasa Non-Prosedural

Bahasa query non-prosedural : user menent ukan query

  berdasarkan yang diingingkan ( :

  APA Relational Algebra

  user menent ukan query berdasarkan Bagaimana melakukannya) Kalkulus relasional dibagi menjadi dua, yait u:

  

1. Kalkulus Relasional Tupel ( Tuple Relational

Calculus)

  

2. Kalkulus Relasional Domain (Domain Relational

Calculus )

1. Kalkulus Relasional Tupel

  • Bahasa ini mendeskripsikan informasi yang diinginkan t anpa memberi prosedur/ cara secara det il unt uk mendapat kan informasi t ersebut .
  • Konsep dasar kalkulus relasional t upel adalah konsep variable t upel.
  • Variable ini merepresent asikan t upel – t upel pada relasi dan digunakan unt uk unt uk mengekst rak dat a dari relasi. Komponen - komponen lain rumus kalkulus t upel adalah kualifikasi dat a dengan membat asi nilai – nilai dari at ribut – at ribut yang dispesifikasikan.

1. Kalkulus Relasional Tupel

  • Kalkulus relasional t upel merupakan basis unt uk bahasa query QUEL.

  Sintaks { t | P(t) } art inya, semua t uple t sedemikian sehingga predikat P adalah benar unt uk . t

  T : t uple variables P(t ) : formula

  Lanjut ..

  • Dalam kalkulus relasional ada 2 not asi yang pent ing

  1. “ t erdapat beberapa (t here exist s)” yang dit ulis :

  t r ( Q(t) ), art inya, t erdapat beberapa t uple t ∃ ∈

  anggot a relasi sedemikian sehingga bahw a predikat

  r Q(t) adalah benar.

  2. “ unt uk seluruh (for all)” yang dit ulis : t r ( Q(t) ),

  ∀ ∈

  art inya, unt uk seluruh t upel anggot a relasi

  t r

  Lanjut ...

  Ciri-ciri relasi kalkulus : First order calculus menggunakan simbol-simbol predikat –

  dan simbol-simbol fungsi. Unt uk kait annya dengan basis dat a : simbol fungsi t idak diperlukan dan predikat diint erprest asikan sebagai relasi.

  • Formula pada first order calculus dapat dibedakan ke dalam dua kelas :

1. Open formula (free variable)

  Didefinisikan sebagai himpunan t uples elemen dari kondisi secara keseluruhan, yang dapat menghasilkan

  Lanjut ...

2. Closed Formula atau Sentences yang memiliki variable terbatas.

  • Karena kalkulus dipergunakan sebagai bahasa query dan basis dat a bert ujuan unt uk inst ant maupun relasi lainnya, maka closed formulas t idak diperhat ikan.
  • Dalam kalkulus relasional t upel digunakan variabel dari t upelnya.

  

Kalkulus Relasional

  Berikut ini cont oh kalkulus relasional t uple yang dit erapkan pada SQL.

  SELECT Dosen.nid,dosen.nama_d,Dosen.gajipokok FROM Dosen W HERE Dosen.jkelamin=‘Pria’ AND Dosen.gajipokok>1000000 Pada query di atas menyatakan dua hal :

  M engambil at au mengekst ra t upel-t upel pada relasi - Dosen yang mempunyai at ribut jkelamin ‘Pria’ dan

  Kalkulus Relasional

  • M enampilkan at ribut t ert ent u yait u nid, nama_d, gajipokok. Dengan demikian Dosen.nid,Dosen.gajipokok adalah variabel-variabel t upel.
  • Bent uk umum dari kalkulus relasional t uple adalah:

  TupleVariabel1 operat or[TupleVariabel2 | const ant ] SQL dikembangkan berbasis kalkulus relasional t uple.

  Kalkulus Relasional Domain

2. Kalkulus Relasional Domain

  • Kalkulus relasional domain juga adalah bahasa query yang non prosedural dan karenanya berhubungan dekat dengan kalkulus relasional t upel.
  • Berbeda dengan kalkulus relasional t upel, bahasa ini menggunakan variabel domain yang mengambil nilai dari domain at ribut , bukan dari nilai seluruh t upel.

  Kalkulus Relasional Domain

  

1. Sebuah ekspresi dalam kalkulus relasional

domain adalah berbent uk :

2. { < x , x , . . . , x > | P(x , x , . . . , x ) } dimana

  1 2 n

  1 2 n x , x , . . . , x merepresent asikan variabel-

  1 2 n variabel / konst ant a domain.

3. P merepresent asikan sebuah formula/ rumus2 yang t erdiri dari at om-at om.

  

4. Sebuah at om dalam kalkulus relasional

domain dapat berupa salah sat u dari bent uk

  

Kalkulus Relasional Domain

  • x y, dimana x dan y adalah variabel domain dan

  ϴ ϴ

  adalah operat or relasional <, =, >, . Kit a

  (≤, ≠, ≥)

  membut uhkan at ribut x dan y mempunyai domain yang bisa diperbandingkan dengan .

  ϴ

  • operator pembandingan (<, <=,=, >=, ≠) dan c adalah

  x

  c, dimana x dalah variable domain. adalah

  Θ Θ

  

Kalkulus Relasional Domain

  • Cont oh : t ampilkan nip,nama_d,gajipokok daridosen, dimana jenis kelaminnya adalah Pria dan gaji pokoknya lebih besar 1200000.

  { nip | nam_d | gajipokok (Dosen(nid,nama_d,gajipokok) AND jkelamin=’Pria’ ∃ ∃ AND gajipokok > 1200000) }

  Kalkulus Relasional Domain

  • Simbol yang muncul pada formula terdiri dari :

   Konst an (elemen-elemen domain D)  Variabel (elemen-elemen dari himpunan berhingga V yang dihubungkan dengan domain D),

   Nama relasi (t abel) dan at ribut (berdasarkan skema basis dat a),

   Operat or perbandingan (=, ≠, >, >=, <, <=),  Penghubung logika ( Λ ( dan / konjugsi)  (V at au/ disjungsi), (not / negasi), ada/ beberapa( ), dan ⌐ semua ( )).

  ( SQL) Structured Query Language

  • (SQL) merupakan bahasa

  St ruct ured Query Language yang banyak digunakan dalam berbagai produk database.

  • Penggunaan SQL pada beberapa bahasa pemrograman secara umum relat if sama.
  • Pertama kali dikembangkan sebagai bahasa di produk database DB2 yang sampai saat ini merupakan produk database andalan IBM . SQL sering di lafalkan

  SQL

  • Saat ini organisasi st andar Am erica (ANSI) menet apkan st andar bahasa SQL yait u ANSI-92 st andard.
  • M asing-masing vendor dat abase m emiliki dialeknya sendiri sebagaian besar spesifikasinya mengacu pada
  • st andar ANSI t ersebut dengan berbagai ekst ensi t ambahan. SQL Server menggunakan bahasa

  SQL

  • Bagi seorang programmer, menguasai SQL adalah sebuah kewajiban , karena program jaman sekarang past i menggunakan database unt uk menyimpan datanya.

  SQL

  • SQL menyediakan sekumpulan stat emen unt uk melakukan proses penyimpanan, modifikasi, dan pengambilan dat di dalam database.
  • Sedangkan PL/ SQL (kependekan dari: Procedural

  Language ext ensions to SQL ) merupakan t eknologi tambahan yang hanya t erdapat di dalam Oracle dan digunakan unt uk meningkat kan kapabilitas SQL agar dapat diperlakukan sebagaimana layaknya bahasa prosedural.

  SQL

  • Dengan PL/ SQL, diperbolehkan membuat prosedur, fungsi, t rigger, dan konst ruksi standar prosedural

    lainnya sehingga pengolahan data dapat dilakukan

    secara dinamis.

  SQL

  • Sejarah SQL

  Sejarah SQL dimulai dari art ikel seorang penelit i dari IBM bernama yang membahas t ent ang ide

  EF Codd pembuat an basis dat a relasional pada bulan Juni 1970.

  SQL

  • Bahasa t ersebut kemudian diberi nama SEQUEL (St ruct ured English Query Language).
  • Set elah t erbit nya art ikel t ersebut , IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL
  • Akan t etapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan Syst em/ R.

  SQL

  • Di akhir tahun 1970-an, muncul perusahaan bernama

  Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya.

  • Naiknya kepopuleran Oracle, maka SQL juga ikut

  standar de facto populer sehingga saat ini menjadi bahasa dalam manajemen basis data.

  SQL

  • Standarisasi Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI.
  • Standar ini sering disebut dengan SQL86.
  • Standar t ersebut kemudian diperbaiki pada tahun

    1989 kemudian diperbaiki lagi pada tahun 1992.

  Pemakaian Dasar

Secara umum, SQL terdiri dari dua bahasa :

  1. Data Definit ion Language (DDL) 2. Data M anipulat ion Language (DM L).

  3. Data Cont rol Language(DCL)

1. Data Definit ion Language (DDL)

  

1. CREATE (unt uk membent uk basis data, table atau

index)

2. DROP (unt uk mengubah st rukt ur table)

  3. ALTER (unt uk menghapus basis data, table atau index)

  

CREATE

CREATE digunakan unt uk membuat basis data maupun

objek-objek basis data. SQL yang umum digunakan adalah: CREATE DATABASE <nama_basis_data>

CREATE DATABASE digunakan membuat sebuah basis

data baru.

  CREATE CREATE TABLE <nama_t abel> digunakan unt uk membuat t abel CREATE TABLE baru pada basis dat a yang sedang akt if.

  Secara umum, perint ah ini memiliki bent uk : CREATE TABLE [nama_t abel] ( nama_field1 t ipe_dat a [const raint s][,

  CREATE at au CREATE TABLE [nama_t abel]

  ( nama_field1 t ipe_dat a [, nama_field2 t ipe_dat a, ...] [CONSTRAINT nama_field const raint s] )

  CREATE

  nama_field dibuat .

  • adalah nama kolom (field) yang akan
  • Beberapa sist em manajemen basis dat a mengizinkan penggunaan spasi dan karakt er nonhuruf pada nama kolom.
  • Tipe dat a t ergant ung implement asi sist em manajemen basis dat a.
  • M isalnya, pada M ySQL, t ipe dat a dapat berupa

    VARCHAR, TEXT, BLOB, ENUM , dan sebagainya.

  CREATE

  Constarints diberikan unt uk t iap kolom.

  • adalah bat asan-bat asan yang
  • Tergant ung implement asi sist em manajemen basis dat a, misalnya NOT NULL, UNIQUE, dan sebagainya.
  • Ini dapat digunakan unt uk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key).
  • Sat u t abel boleh t idak memiliki kunci primer sama sekali, nam un sangat disarankan mendefinisikan

  CREATE

  • Cont oh: CREATE TABLE user ( username VARCHAR(30) CONSTRAINT PRIM ARY KEY, passwd VARCHAR(20) NOT NULL, t anggal_lahir DATETIM E );

  ALTER

ALTER TABEL <NAM ATABEL> M ODIFY FILED TYPE

PANJANGBARU;

  CONTOH Sintaks untuk menambahkan kolom ALTER TABLE t able_nam e ADD colum n_nam e dat at ype; Unt uk m enam bahkan kolom " pengalam an" ke m eja karyawan, Contoh: query akan sepert i ALTER TABLE em ployee ADD experience num ber(3); Sintaks untuk menjatuhkan kolom ALTER TABLE t able_nam e DROP colum n_nam e; Unt uk m enjat uhkan kolom " lokasi" dari t abel karyawan, query Contoh: akan sepert i ALTER TABLE em ployee DROP locat ion; Sint aks unt uk m em odifikasi kolom ALTER TABLE t able_nam e M ODIFY colum n_nam e dat at ype;

  DROP

  1. Drop t able DROP TABLE <NAM A_TABLE>;

  2. Drop dat abase DROP DATABASE <NAM A_DATABASE>;

  • DROP TABLE mhs;
  • DROP DATABASE AKADEM IK;

2. Data M anipulation Language

  DM L digunakan unt uk memanipulasi dat a yang ada dalam suat u t abel. Perint ah yang umum dilakukan adalah: • SELECT unt uk menampilkan dat a.

  • INSERT unt uk menambahkan dat a baru.

  

SELECT

   SELECT adalah perint ah yang paling sering

digunakan pada SQL, sehingga kadang-kadang

ist ilah query dirujukkan pada perint ah SELECT.

   SELECT digunakan unt uk menampilkan dat a dari sat u at au lebih t abel, biasanya dalam sebuah basis dat a yang sama.

  

 Secara umum, perint ah SELECT memiliki bent uk

lengkap: ( QUERY BUDIN ) Cilegon.

  SELECT

SELECT [ nama_t abel| alias.]nama_field1 [AS alias1]

  [, nama_field2 , ...] FROM nama_t abel1 [AS alias1] [INNER| LEFT| RIGHT JOIN t abel2 ON kondisi_penghubung] [, nama_t abel3 [AS alias3], ...] [WHERE kondisi] [ORDER BY nama_field1 [ASC| DESC][,

  SELECT Ket erangan :

  • • Kondisi adalah syarat yang harus dipenuhi

    suat u dat a agar dit ampilkan.
  • • Kondisi_aggregat adalah syarat khusus unt uk

    fungsi aggregat .

  

Tabel user

username Password t gllahir t rasaksi t ot al t ransaksi

Aris 6487AD5EF 09-09-1987 6 10.000 Budi

  97AD4erD 01-01-1994 Charlie 548794654 06-12-1965 24 312.150 Daniel FLKH947HF 24-04-1980

  3 Erik

  94RER54 17-08-1945 34 50.000

  SELECT Cont oh 1: Tampilkan seluruh dat a.

  SELECT * FROM user

Cont oh 2: Tampilkan pengguna yang t idak pernah bert ransaksi.

  SELECT * FROM user WHERE t ot al_t ransaksi = 0 Cont oh 3: Tampilkan username pengguna yang bert ransaksi kurang dari 10 dan nilainya lebih dari 1.000. SELECT username FROM user WHERE jml_t ransakai < 10 AND

  SELECT

Cont oh 4: Tampilkan t ot al nominal t ransaksi yang sudah t erjadi.

  

SELECT SUM (t ot al_t ransaksi) AS t ot al_nominal_t ransaksi FROM

user

Cont oh 5: Tampilkan seluruh dat a diurut kan berdasarkan jumlah

t ransaksi t erbesar ke t erkecil.

  SELECT * FROM user ORDER BY jml_t ransaksi DESC

  

UPDATE

Unt uk mengubah data Sintaks:

  UPDATE [NAM A_TABLE] SET

[NAM A_KOLOM ]=[NILAI] WHERE [KONDISI]

Cont oh: UPDATE user set password=" 123456" w here username=" Budi "

  DELETE Delete digunakan untuk menghapus data

  sint aks: DELETE FROM [NAM A_TABLE] [KONDISI] CONTOH : Hapus record at au dat a yg t ot al t ransaksi=0 DELETE FROM USER WHERE t ot al_t ransaksi_=0;

  Fungsi aggregate

Beberapa SM BD m em iliki fungsi aggregat , yait u fungsi-fungsi khusus yang

m elibat kan sekelom pok dat a (aggregat ).

  Secara umum fungsi aggregat adalah:

  • SUM unt uk m enghit ung t ot al nom inal dat a
  • COUNT unt uk m enghit ung jum lah kem unculan dat a
  • AVG unt uk m enghit ung rat a-rat a sekelom pok dat a
  • • M AX dan M IN unt uk m endapat kan nilai m aksim um/ m inimum dari

    sekelom pok dat a.

  digunakan pada bagian SELECT. Syarat unt uk fungsi Fungsi aggregat aggregat dilet akkan pada bagian HAVING, bukan WHERE.

  Cont oh: Tam pilkan usernam e pengguna yang m em iliki jum lah t ransaksi

  JENIS JENIS JOIN SQL :

  1. INNER JOIN : hanya akan menampilkan baris unt uk dat a yang memiliki nilai yang sama pada field kunci dengan t abel yang berelasi

  2. LEFT JOIN : hanya menampilkan dat a dengan mengacu pada t abel yang ada disebelah kiri.

  3. RIGHT JOIN : hanya menampilkan dat a dengan mengacu pada t abel yang ada disebelah kanan

  4. FULL JOIN : merupakan gabungan dari LEFT JOIN dan

3. Data Control Language(DCL)

  DCL merupakan perint ah SQL yang berhubungan dengan

  pengat uran hak akses user M ySQL, baik t erhadap server, dat abase, t abel maupun field. Perint ah SQL yang t ermasuk dalam DCL ant ara lain :

GRANT GRANT

  : Perint ah ini digunakan unt uk memberikan hak / izin akses oleh administ rat or (pemilik ut ama) server kepada user (pengguna biasa). Hak akses t ersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapsu (DELETE), mengubah (UPDATE) dan hak khusus berkenaan dengan sist em dat abasenya. Sint aks : GRANT privileges ON t bname TO user

CONTOH : grant select , updat e, insert , delet e on perpust akaan.buku

  REVOKE REVOKE : perint ah ini memiliki kegunaan t erbalik dengan

  GRAND, yait u unt uk menghilangkan at au mencabut hak akses yang t elah diberikan kepada user oleh administ rat or.

  : REVOKE privileges ON t bname FROM user

  Sintak

  CONTOH : revoke select , updat e, insert , delet e on