1 / 29

SQL (Structured Query Language)

SQL (Structured Query Language). Pendahuluan SQL. Sistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih user-friendly . Oleh karena itu dikenal SQL sebagai bahasa query yang marketable . SQL menggunakan kombinasi aljabar relasional & kalkulus relasional.

hestia
Télécharger la présentation

SQL (Structured Query Language)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL (Structured Query Language)

  2. Pendahuluan SQL • Sistem basis data komersialmenghendakiadanyasebuahbahasaquery yang lebihuser-friendly. • Olehkarenaitudikenal SQL sebagaibahasaquery yang marketable. • SQL menggunakankombinasialjabarrelasional & kalkulusrelasional.

  3. StrukturDasar SQL Sebuahekspresi SQL dasarterdiriatas 3 klausayaitu : - SELECT - FROM - WHERE

  4. Klausaselectdigunakanuntukmenetapkandaftaratribut (field) yang diinginkansebagaihasil query • KlausaFROM digunakanuntukmenetapkanrelasi/tabelataugabungantabel yang akanditelusuriselama query data dilakukan • Klausawhere digunakansebagaipredikat (kriteria) yang harusdipenuhidalammemperolehhasil query Sifatklausa where opsional

  5. Sintaks (format penulisan) dariekspresi SQL dasardengan 3 klausatersebutadalah : select A1 [, A2, …, An] FROM t1 [, t2, …, tm] [ where P ]

  6. Keterangan : A1, A2, …, An merupakandaftaratribut t1, t2, …, tm merupakandaftartabelataurelasi P merupakanpredikat [ ] merupakantandaopsional (bolehdigunakan, bolehtidakdigunakan) tergantungkebutuhan

  7. KlausaSELECT KlausainiberasosiasidenganoperasiProjeksidalamAljabarRelasional Contoh : Jikainginmenampilkan NPM danNamaMahasiswaditabelMahasiswamakaperintahnya SELECTNPM, nama FROMMahasiswa

  8. Jikainginmelakukan query terhadapsemuaatributdapatdilakkandenganmenuliskansemuaatributsatu per satuataudenganmenggunakannotasi * SELECT * FROM mahasiswa

  9. Perludiperhatikanuntukmelakukan query terhadap 2 tabelataulebihtabel-tabel yang menjadisumber query harusmemilikiketerhubungan yang diwakilidengankesamaannilai

  10. Klausa FROM Klausainiberasosiasidenganoperasi Cartesian Product dalamAljabarRelasional Contoh : SELECT * FROM Mahasiswa, Jurusan WHERE Mahasiswa.KodeJurusan = Jurusan.KodeJurusan

  11. Kita dapatmenggunakannama alias untuktabel-tabelpadaklausaFROM untukmenyederhanakanpenulisan Ekspresidiatasdapat pula dinyatakandengan : SELECT * FROM Mahasiswa M, Jurusan J WHERE M.KodeJurusan = J.KodeJurusan

  12. Contoh Kasus: Tampilkantanggallahirdanalamatdaripegawai yang bernama “John” B Smith” SELECT BDATE, ADDRESS FROM EMPLOYEE WHERE FNAME = ‘John’ TampilkanNamadepandanalamatdarisemuapegawai yang bekerjauntuk dep. “Research” SELECT FNAME, ADDRESS FROM EMPLOYEE, DEPARTEMEN WHERE DNAME = 'Research' and EMPLOYEE.DNO = DEPARTMENT.DNO

  13. TampilkanNomorproyek, nomor Departemen,Namaakhirpegawai, alamatdantanggallahirdarimanajer Depertemen yang membawahi Project yang berlokasi di “Stafford” SELECT PNO, DNO, LNAME, ADDRESS, BDATE FROM EMPLOYEE, PROJECT WHERE PLOCATION = 'Stafford' AND EMPLOYEE.DNO = PROJECT.DNO

  14. Ambiquity 14

  15. Ambiquity dari Atribut • Nama atribut boleh sama pada beberapa relation tabel, untuk menghindari dua arti dari atribut itu sendiri maka harus ditegaskan atribut tersebut dari relasi tabel apa, untuk itu penulisannya didahului dengan nama relasi dan diikuti dengan titik nama atributnya.

  16. TampilkanNomorproyek, nomor Departemen,Namaakhirpegawai, alamatdantanggallahirdarimanajer Depertemen yang membawahi Project yang berlokasi di “Stafford” SELECT PNO, DNO, LNAME, ADDRESS, BDATE FROM EMPLOYEE, PROJECT WHERE PLOCATION = 'Stafford' AND EMPLOYEE.DNO = PROJECT.DNO

  17. Ambiquity juga dapat terjadi pada query yang memanggil tabel relasi yang sama sebanyak dua kali, dalam kasus ini diberi nama Alias.

  18. Contoh : Tampilkansetiapnamapegawaidan namasupervisinya SELECT E.FNAME, E.MINIT, E.LNAME, S.FNAME, S.MINIT, S.LNAME FROM EMPLOYEE E, EMPLOYEE S WHERE S.ESSN = E.SUPERSSN

  19. Alias dapatjugadigunakanuntukmempersingkatpenulisannamarelasi • Contoh : Tampilkannamasetiappegawai yang mempunyaitanggungandengan sex yang sama. SELECT E.FNAME, E.MINIT, E. LNAME FROM EMPLOYEE E, DEPENDENT D WHERE E.ESSN = D.ESSN AND E.SEX = D.SEX

  20. KlausaFROM SELECT customer-name, borrower.loan-number FROM borrower, loan WHERE borrower.loan-number = loan.loan.number

  21. KlausaWHERE KlausainiberasosiasidenganoperasiSeleksidalamAljabarRelasional Klausainibolehtidakdigunakan yang artinya query dilakukanuntuksemua record didalamtabel yang disebutkanpadaklausaFROM SQL menggunakankonektivitaslogikaAND, OR danNOT dalamklausaWHERE.

  22. Operator yang dapatdigunakan : = menyatakankesamaan < > menyatakanketidaksamaan < = menyatakanlebihkecilatausama > = menyatakanlebihbesaratausama < menyatakanlebihkecil > menyatakanlebihbesar Operator Logika yang dapatdigunakan (and, or)

  23. KlausaWHERE • Contoh : jikainginmenemukanHOURS yang jam kerjanyaantara 10.0 dan 30.0, ditulissebagaiberikut : SELECT HOURS FROM Works_On WHERE HOURS between '10.0' and '30.0'

  24. Pemakaian * 24

  25. Pemakaian ‘*’ • Untukmenampilkansemuanilai field (atribut) darirekord yang dipilih, jaditidakperlumenuliskansatupersatunamafieldnya, tetapicukupdigantidenganmenuliskan ‘*’ (asterisk) padaklausa SELECT. • Contoh : Tampilkansemuanilaiatribut (field) dariRekord EMPLOYEE yang bekerjapada DNO nya 5. SELECT * FROM EMPLOYEE WHERE DNO = 5

  26. Contoh lain • Tampilkansemuanilaiatribut (field) dariSemuakombinasi field yang mungkin (CARTESIAN PRODUCT) dari File Employee dan file Departement. SELECT * FROM EMPLOYEE, DEPARTEMENT

  27. Distinct 27

  28. Pemakaian DISTINCT • Ketikaakandimunculkansetiap field untuksemua record, SQL tidakdapatmembedakanadanyanilai field yang sama, yang jelassemuaakanditampilkan, untukmencegahtampilnyanilai field yang sama (duplikasi) makapadapenulisan SQL ditambahkandengan DISTINCT. Contoh : • Tampilkangajisemuapegawai. SELECT SALARY FROM EMPLOYEE

  29. Contoh lain • Tampilkangajisemuapegawai, tetapigaji yang samahanyaditampilkansatu kali. SELECT DISTINCT(SALARY) FROM EMPLOYEE Hasil yang ditampilkanhanyagaji yang berbeda.

More Related