1 / 8

Sql

Ayo belajar SQL

spemimpi414
Download Presentation

Sql

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. Modul 4 SQL 1 1.1 Tujuan a. Mahasiswa dapat mengenal Sintak dasar SQL b. Mahasiswa dapat mengoperasikan Sintak dasar SQL 1.2 Materi a. SQL b. Tabel 1.3 Alat dan Bahan a. sqlyog b. XAMPP c. phpmyadmin 1.4 Prosedur Praktikum a. Peserta membaca dan mempelajari materi praktikum sebelumnya b. Instruktur menerangkan dan menjelaskan teori dan cara kerja c. Peserta mempraktikan materi percobaan d. Peserta membuat penyelesaian terhadap soal latihan 1.5 Teori Dasar-dasar SQL SQL menyediakan peritah dan fungsi dalam jumlah yang cukup banyak untuk menunjang aktifitas yang berhubungan dengan penelitian dan manipulasi data pada DBMS. Berikut ini akan diuraikan mengenai dasar-dasar SQL. Deklarasi atau perintah dalam SQL dikategorikan menjadi dua yaitu DDL ( data definition language ) dan DML ( data manipulation language ), kategori ini didasarkan pada karakteristik dan fungsi dari masing-masing. DDL ( data definition language ) Sebagaimana telah dijelaskan pada modul 2, DDL adalah bagian dari SQL yang digunakan untuk mendefinisikan data dan obyek pada basis data. Perintah-perintah yang tergolong pada kategori ini adalah: PERINTAH KETERANGAN CREATE TABLE CREATE INDEX ALTER TABLE DROP TABLE DROP INDEX GRANT Memberi izin akses pada pemakai DML ( data manipulation language ) DML adalah bagian dari SQL yang digunakan untuk memulihkan dan memanipulasi data. Perintah ini digunakan untuk memberikan query dan perubahan yang dilakukan di dalam tabel. Perintah-perintah yang tergolong dalam kategori ini adalah : Membuat tabel Membuat index Mengubah atau menyisipkan kolom ke tabel Menghapus tabel dari basis data Menghapus index PERINTAH SELECT INSERT DELETE UPDATE COMMIT ROLLBACK KETERANGAN Perintah utama dari SQL. Digunakan untuk memilih data dari tabel Menyisipkan baris pada tabel Menghapus baris pada tabel Mengubah isi kolom pada tabel Menuliskan perubahan pada disk Membatalkan perubahan dari perintah COMMIT Tipe Data

  2. Tipe data digunakan ketika membuat suatu tabel, pemakai harus menentukan informasi tertentu pada saat pembuatan tabel. Ada beberapa tipe data yang disimpan dalam basis data, diantaranya adalah : INTEGER KETERANGAN BIT INT SMALLINT TINYINT DECIMAL / NUMERIC MONEY SMALLMONEY FLOAT REAL DATETIME SMALLDATETIME RUPA-RUPA KETERANGAN CURSOR TIMESTAMP UNIQUEIDENTIFIER Pengenal global yang eklusif STRING KETERANGAN CHAR VARCHAR TEXT Variabel dengan ukuran 2^31-1 byte UNICODE STRING KETERANGAN NCHAR NVARCHAR NTEXT BINARY STRING KETERANGAN BINARY VARBINARY IMAGE Ukuran bervariasi hingga 2^31-1 byte Ekspresi dan Operator pada SQL Pada SQL operator bertindak berdasarkan operand, yaitu elemen yang dianalisa oleh operator. Terdapat dua jenis operator, yaitu operator unary yang bertindak berdasarkan satu operand saja, dan operator binary yang bertindak berdasarkan dua atau lebih operator. Apabila pada sebuah ekspresi terdapat lebih dari satu operator, maka operator-operator tersebut akan dievaluasi berdasarkan urutan sebagai berikut:  + ( positif ), - ( negatif ), ~ ( bitwise NOT )  ( perkalian ), / ( pembagian ), % ( modulus )  + ( penjumlahan ), + ( penggabungan ), - ( pengurangan )  +, >, <, >=, <=, <>, !=, !>, !<  ^ ( bitwise exclusive OR ), & ( bitwise AND ), | ( bitwise OR )  NOT  AND  ALL, ANY, BETWEEN, IN, LIKE, OR, SOME  = ( penugasan ) Sintak Dasar SQL Sebuah ekspresi SQL dasar sebenarnya hanya terdiri dari tiga klausa yaitu; klausa where, from, dan where. Integer dengan niali 0 atau 1 Nilai interger 2.147.483.647 Nilai antara –32.768 s/d 32.767 Nilai antara 0 s/d 255 Akurasi angka tetap antara –10^38-1s/d 10^38-1 Data moneter dari –2^63 s/d 2^63-1, dengan tingkat akurasi hingga sepersepuluh ribu unit moneter -214.748,3648 s/d 214.748,3647 dengan tingkat akurasi sepersepuluh ribu unit moneter -1.79E+308 s/d 1.79E+308 -3.40E+38 s/d 3.40E+38 1 januari 1753 s/d 31 desember 9999 1 januari 1900 s/d 6 juni 2079 antara –2.147.483.648 s/d Referensi ke kursosr Angka eklusif yang dikenali oleh basas data Field tetap dengan ukuran max 8000 byte Field tetap dengan ukuran max 8000 byte Karakter unicode dengan ukuran 4000 byte Karter unicode dengan ukuran berfariasi 4000 byte Variaber berukuran 2^30-1 byte Ukuran tetap hingga 8000 byte Ukuran bervariasi 8000 byte

  3. : digunakan untuk menetapkan daftar atribut yang diinginkan sebagai query. : digunakan untuk menetapkan tabel ( atau gabungan tabel ) yang akan ditelusuri selama query data dilakukan. : digunakan untuk predikat ( sebagai kriteria ) yang harus dipenuhi dalam memperoleh hasil query. Sintaks ( cara penulisan ) pada ekspresi SQL dasar yang memanfaatkan tiga klausa tersebut adalah : select A1 [ ,A2, …,An] from T1 [ , T2, …,Tn] [ where P ] keterangan : A1, A2, …, An : daftar atribut T1, T2, …, Tn :daftar tabel P : predikat query [ ] : tanda opsional ( boleh digunakan boleh tidak ) Select Sesuai dengan penjelasan diatas bahwa klausa select digunakan untuk menetapkan daftar atribut yang dinginkan sebagai hasil query, maka berikut ini akan dijelaskan lebih lanjut tentang klausa select dengan menyertakan contohnya. Sebagai contoh pada tabel mahasiswa berikut: 1.1.1.1.1.1 TABEL 1 : MAHASISWA NIM NAMA SEX ASAL 9961001 BUDI L KUDUS 9961002 NINA P BLORA 9961003 ABI L ACEH 9961004 DONI L BANTUL 9961005 ANI P PATI Contoh perintah select:  Contoh 1 select NAMA 1.1.1.2 from MAHASISWA Ekspresi diatas memerintahkan untuk menampilkan nama mahasiswa dari tabel mahasiswa yang telah ada. Sehingga tampilannya : NAMA BUDI NINA ABI DONI ANI  Contoh 2 select NIM, NAMA, SEX from MAHASISWA Ekspresi diatas memberikan perintah untuk menampilkan NIM, nama mahasiswa, dan jenis kelaminnya dari tabel mahasiswa. Tampilannya : NIM NAMA 9961001 BUDI 9961002 NINA 9961003 ABI 9961004 DONI 9961005 ANI  Contoh 3 select distinct SEX from MAHASISWA Pada tabel mahasiswa tersebut jenis kelamin ditulis secara berulang-ulang, dengan perintah distinct ini maka penulisan kan ditulis sekali saja. Kasus lain ; misalkan dalam sebuah tabel mahasiswa terdapat nama mahasiswa yang sama maka bila menggunakan ekspresi distinct maka nama yang  Klausa select  Klausa from  Klausa where TGL.LHR 02/02/80 03/11/79 30/10/78 23/07/81 07/06/78 FAK MIPA SASTRA TI MIPA MIPA PRODI BIOLOGI INDONESIA TI ILKOM ILKOM SEX L P L L P

  4. sama hanya ditampilkan satu saja. Keunikan diatas hanya untuk nilai atribut yang disebutkan dalam klausa select, bukan pada keseluruhan atribut yang ada di tabel yang disebutkan pada klausa form. Tampilan dari contoh di atas adalah : SEX L P  Contoh 4 select * from MAHASISWA Ekpresi diatas menampilkan seluruh atribut yang ada pada tabel yang disebutkan pada klausa form. Tampilannya : NIM NAMA SEX ASAL TGL_LHR 9961001 BUDI L KUDUS 02/02/80 9961002 NINA P BLORA 03/11/79 9961003 ABI L ACEH 30/10/78 9961004 DONI L BANTUL 23/07/81 9961005 ANI P PATI 07/06/78  Contoh 5 select NIM, NAMA as NAMA_MHS, SEX as JENIS_KELAMIN from MAHASISWA Fungsi dari ekspresi as pada select adalah untuk mengganti tampilan header ( kepala tampilan tabular ). Tampilannya menjadi : NIM NAMA_MHS JENIS_KELAMIN 9961001 BUDI L 9961002 NINA P 9961003 ABI L 9961004 DONI L 9961005 ANI P Where Klausa ini digunakan untuk menetapkan predikat atau kriteria yang harus dipenuhi dalam menampilkan query. Klausa ini boleh tidak digunakan, yang artinya query dilakukan untuk semua record di dalam tabel yang disebutkan pada klausa from. Berikut ini akan diberikan contoh beserta penjelasan dari pemanfaatan klausa where. Contoh- contoh yang akan diberikan mengacu pada tabel kuliah berikut ini: TABEL KULIAH KODE_KUL NAMA_KULIAH 1.1.1.3 FAK MIPA SASTRA TI MIPA MIPA PRODI BIOLOGI INDONESIA TI ILKOM ILKOM SEM EST ER 1.1.1.4 S K S 1.1.1.5 KODE_D OSEN M001 M002 P001 F001 K001 BASIS DATA OR-KOM SIMULASI SISTEM BERKAS PANCASILA 6 3 6 4 3 3 3 2 3 2 L022 L023 L024 L025 L026  Contoh 1 select * from KULIAH whereKODE_KUL = ‘ M001 ‘ Ekpresi diatas digunakan untuk menampilkan semua atribut untuk mata kuliah dengan kode mata kuliah M001. Nilai M001 diapit dengan tanda kutip tunggal. Penggunaan tanda kutip ini berlaku untuk nilai yang bertipe string ( sesuai dengan type dari atribut kode kuliah ). Sehingga tampilannya adalah :

  5. KODE_KUL M001  Contoh 2 NAMA_KULIAH BASIS DATA SEMESTER 6 SKS 3 KODE_DOSEN L022 Select * From Where SEMESTER = 6 and SKS >= 3 menerapkan penggunaan mengkombinasikannya dengan operator logika. Maksud dari ekspresi diatas adalah menampilkan semua atribut dari tabel kuliah yang termasuk dalam kriteria semester 6 dan memiliki jumlah sks lebih dari atau sama dengan 2. Nilai 6 dan 3 diatas tidak diapit dengan tanda kutip tunggal. Hal ini dikarenakan nilai tersebut bertype numeric ( sesuai dengan type atributnya ). Tampilannya : KODE_KUL NAMA_KULIAH SEMESTER M001 BASIS DATA 6 P001 SIMULASI 6  Contoh 3 select * from KULIAH where SEMESTER between 3 and 5 Query dengan kriteria yang berbentuk range nilai tertentu dapat menggunakan tambahan klausa between. Pada contoh diatas akan menampilkan record-record kuliah yang diselenggarakan antara semester 3 s/d semster 5. Tampilannya adalah : KODE_KUL NAMA_KULIAH SEMESTER M002 OR-KOM 3 F001 SISTEM BERKAS 4 K001 PANCASILA 3  Contoh 4 Select * From KULIAH Where NAMA_KULIAH like ‘ S%’ Untuk atribut yang bertype string dapat melakukan pencarian dengan pola tertentu, dengan memanfaatkan karakter percent ‘ % ‘atau ‘ _ ‘, dengan menambahkan klausa like pada klausa where. Pada contoh diatas akan menampilkan record-record KULIAH yang nama mata kuliahnya diawali dengan huruf ‘ S ‘. Sehingga tampilannya adalah : KODE_KUL NAMA_KULIAH SEMESTER P001 SIMULASI 6 F001 SISTEM BERKAS 4  Contoh 5 Select * from KULIAH where NAMA_KULIAH like ‘ _ A% ‘ Ekspresi diatas akan menampilkan record-record pada tabel kuliah tentang mata kuliah yang huruf / karakter dari nama mata kuliah nya adalah ‘ A ‘. Tamplannya adalah : KODE_KUL NAMA_KULIAH SEMESTER M001 BASIS DATA 6 K001 PANCASILA 3 From Klausa ini digunakan untuk menetapkan tabel yang kita jadikan sebagai sumber pencarian data. Basis data terdiri dari beberapa tabel yang saling berhubungan, oleh karena itu sering kali dibutuhkan query dari satu tabel atau dari lebih dari satu tabel sekaligus. Atribut-atribut yang akan kita tampilkan dalam hasil query tidak hanya berasal dari satu tabel , namun bisa jadi dari sejumlah tabel, pada kasus seperti inilah klausa from akan sangat berperan penting. Pada contoh-contoh terdahulu hanya ditampilkan query dari satu tabel. Namun untuk ulasan kali ini akan diberikan contoh query yang menggambarkan hubungan antar tabel. 1.1.1.5.1.1 TABEL 3 : DOSEN KULIAH Ekspresi diatas predikat dengan operator relasi, serta SKA 3 2 KODE_DOSEN L022 L024 SKS 3 3 2 KODE_DOSEN L023 L025 L026 SKS 2 3 KODE_DOSEN L024 L025 SKS 3 2 KODE_DOSEN L022 L026

  6. KODE_DOSEN L022 L023 L024 L025 L026 NAMA_DOSEN ISMAYA GUNAWAN BUDIHARJO WARDATI HARTATI STATUS TETAP TETAP KONTRAK TETAP KONTRAK ASAL MEDAN LAMPUNG SRAGEN SEMARANG JAKARTA Tabel dosen diatas akan direlasikan dengan tabel kuliah yang telah dibuat sebelumnya.  Contoh 1 select * from KULIAH, DOSEN where KULIAH . KODE_DOSEN = DOSEN . KODE_DOSEN Untuk melakukan query antara dua tabel atau lebih, tidak bisa dilakukan dengan sembarangan. Tabel_tabel yang akan dijadikan query haruslah memiliki hubungan. Pada contoh diatas hubungan pada tabel kuliah dengan tabel dosen diwakili oleh kode dosen, dimana atribut ini dimiliki oleh kedua tabel tersebut. Tampilannya adalah : KODE_ KUL TER SEN M001 BASIS DATA 6 3 L022 M002 OR_KOM 3 3 L023 P001 SIMULASI 6 2 L024 NAMA_KULIAH SEMES SKS KODE_DO NAMA_DOS EN ISMAYA GUNAWAN BUDIHARJO STATUS ASAL TETAP TETAP KONTRA K TETAP MEDAN LAMPUNG SRAGEN F001 SISTEM BERKAS PANCASILA 4 3 L025 WARDATI SEMARAN G JAKARTA K001 3 2 L026 HARTATI KONTRA K  Contoh 2 Select * from where K . KODE_DOSEN = D . KODE_DOSEN Ekspresi diatas merupakan contoh penggunaan alias, dimana tabel kuliah dialiaskan dengan K dan tabel dosen dialiaskan dengan D. tampilan yang akan diperoleh sama dengan tampilan diatas.  Contoh 3 select K.KODE_KUL, K.NAMA_KULIAH, D.NAMA_DOSEN from KULIAH K, DOSEN where K . KODE_DOSEN = D . KODE_DOSEN Ekspresi di atas akan menampilkan record-record pada atribut kode kuliah, nama mata kuliah dari tabel kuliah dan record-record dari atribut nama dosen dari tabel dosen. Tampilannya adalah : KODE_KUL NAMA_KULIAH M001 BASIS DATA M002 OR-KOM P001 SIMULASI F001 SISTEM BERKAS K001 PANCASILA  Contoh 4 select K . KODE_KUL as KODE, K . NAMA_KULIAH as KULIAH, D . NAMA_DOSEN as DOSEN from KULIAH where K . KODE_DOSEN = D . KODE_DOSEN and SEMESTER = 4 Ekspresi diatas akan menampilkan record-record pada atribut kode kuliah dengan nama baru yaitu kode, atribut nama kuliah dengan nama baru yaitu kuliah dan atribut nama dosen dengan nama baru yaitu dosen. Atribut- atribut tersebut diambil dari tabel kuliah dan tabel dosen, dengan syarat kuliah yang ditampilkan diajarkan pada semester 4. Tampilanya adalah : KULIAH K, DOSEN D D NAMA_DOSEN ISMAYA GUNAWAN BUDIHARJO WARDATI HARTATI K, DOSEN D

  7. KODE F001 KULIAH SISTEM BERKAS DOSEN WARDATI 1.1.1.5.1.1.1 Query Sorting Pengurutan record-record hasil query disesuaikan dengan struktur penyimpanan yang kita terapkan pada tabel query. Terdapat dua jenis struktur penyimpanan, yaitu :  Struktur penyimpanan heap Dimana pada struktur penyimpaanan ini hasil query akan ditampilkan berdasarkan kronologis ( waktu ) penyimpanan.  Struktur penyimpanan sekuensial berindeks Pada struktur penyimpanan ini hasil query akan ditampilkan sesuai dengan atribut yang menjadi dasar indeks. Terdapat dua jenis mode pengurutan, yaitu pengurutan naik dan pengurutan turun. Kedua mode pengurutan tersebut sama-sama mengunakan klausa order by, hanya saja pada pengurutan turun ditambahkan dengan klausa desc pada klausa order by nya. Berikut ini adalah contoh pengurutan hasil query;  Contoh 1 Select * from KULIAH order by NAMA_KULIAH Ekspresi diatas akan menampilkan query dengan urutan naik berdasarkan nama mata kuliah. Tampilannya adalah : KODE_KUL NAMA_KULIAH 1.1.1.6 SEM EST ER 1.1.1.7 S K S 1.1.1.8 KODE_D OSEN M001 M002 K001 P001 F001 BASIS DATA OR-KOM PANCASILA SIMULASI SISTEM BERKAS 6 3 3 6 4 3 3 2 2 3 L022 L023 L026 L024 L025  Contoh 2 select * from KULIAH 1.1.1.8.1.1.1.1 order by NAMA_KULIAH desc Ekspresi diatas akan menampilkan query dengan urutan turun berdasarkan nama mata kuliah. Tampilannya adalah : KODE_KUL NAMA_KULIAH 1.1.1.9 SEM EST ER 1.1.1.10 S 1.1.1.11 KODE_D K S OSEN F001 P001 K001 M002 M001 SISTEM BERKAS SIMULASI PANCASILA OR-KOM BASIS DATA 4 6 3 3 6 3 2 2 3 3 L025 L024 L026 L023 L022 Contoh penggunaan klausa dasar SQL, yang melibatkan empat buah tabel sekaligus, yaitu tabel MAHASISWA, tabel KULIAH, tabel DOSEN serta tabel NILAI;

  8. TABEL 4 : NILAI NIM KODE_KUL KODE_NILAI 9961001 M001 B 9961001 P001 A 9961002 M002 C 9961002 P001 C 9961003 K001 A 9961004 F001 A 9961004 M002 C 9961005 F001 C 9961005 K001 B Contoh berikut akan menampilkan kartu hasil studi dari seorang mahasiswa berdasarkan pada NIM nya. select N . NIM, M . NAMA as NAMA_MHS, K . NAMA_KUL, D . NAMA_DOSEN, N . KODE_NILAI from MAHASISWA M, KULIAH K, DOSEN D, NILAI N N . NIM = M . NIM and where N . KODE_KUL = K . KODE_KUL and D . KODE_DOSEN = K . KODE_DOSEN and NIM = ‘9961001’ 1.6 Latihan 1. Lakukan dan coba semua contoh pada modul 4. 2. Lihat struktur data pada Modul 1, kemudian kerjakan query berikut ini: a. Tampilkan daftar semua buku yang dipinjam dan siapa peminjamnya. b. Tampilkan semua buku yg masih tersedia beserta lokasi perpustakaannya. c. Tampilkan siapa saja yang belum mengembalikan buku, dan cantumkan juga berapa lama belum dikembalikan sejak buku itu dipinjam.

More Related