• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Basisdata   sql
 

Basisdata sql

on

  • 1,057 views

 

Statistics

Views

Total Views
1,057
Views on SlideShare
1,057
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Basisdata   sql Basisdata sql Presentation Transcript

    • Structure Query Language (SQL)SQLSQL (baca SEQUEL) pertama kali didefinisikan oleh Chamberlin (IBM Research Laboratory, SanJose, California). Karena kemudahanya untuk mengakses data, maka SQL cepat menjadi populer,sehingga banyak DBMS yang memiliki fasilitas SQL untuk mengakses data.Terdapat berbagai dialek SQL yang berbeda satu dengan yang lain. Pada bab ini akan dibicarakandialek SQL yang standard.Perintah-perintah dalam SQL dapat dikelompokkan menjadi 2 kelompok: • DDL (Data Definition Language) dan • DML (Data Manipulation Language)Diktat Kuliah Basis Data 1-1
    • Structure Query Language (SQL)1. DDL (Data Definition Language) membuat DATABASE,TABLE merubah tabel membuat index menghapus tabel dan index2. DML (Data Manipulation Language) tambah data update data hapus data query dataDiktat Kuliah Basis Data 1-2
    • Structure Query Language (SQL)MEMBUAT DATABASECREATE DATABASE Nama_database;Contoh:CREATE DATABASE DBMahasiswa;USE DATABASE DBMAHASISWA;Diktat Kuliah Basis Data 1-3
    • Structure Query Language (SQL)MEMBUAT TABELCREATE TABLE Nama_tabel([NamaKolom Typedata{NOT NULL}]....)Contoh:CREATE TABLE TRANSKRIP(NO_MHS INTEGER NOT NULL,NO_MK CHAR(6) NOT NULL,NILAI SMALLINT);Create Table MAHASISWA(NoMHS Integer NOT NULL,Diktat Kuliah Basis Data 1-4
    • Structure Query Language (SQL)NamaMHS varchar(30),TglLahir DATE,Alamat Varchar(50),Primary key(NoMHS));Diktat Kuliah Basis Data 1-5
    • Structure Query Language (SQL)MERUBAH TABELALTER TABLE Nama_tabelADD NamaKolom TypedataContoh:ALTER TABLEMAHASISWAADD Alamat char(25);Diktat Kuliah Basis Data 1-6
    • Structure Query Language (SQL)MEMBUAT INDEXCREATE {UNIQUE} INDEX NamaIndexON Nama TabelUNIQUE Jika nilai pada kolom yang diindex terdapat beberapa nilai yang ditampilkan hanyalahsatu nilai sajaASC Urutan dari Kecil-Besar (Naik)DESC Urutan dari Besar-Kecil (Turun)Default ASCContoh:CREATE INDEX IDXMHSON Mahasiswa (NO_MHS)Diktat Kuliah Basis Data 1-7
    • Structure Query Language (SQL)MENGHAPUS DATABASE,TABEL & INDEXDROP DATABASE dbMahasiswaDROP TABLE Nama_tabel;DROP INDEX Nama_Index;MENAMBAH DATA KE TABELINSERT INTO Nama_tabel {([Namakolom]...)}VALUES ([konstan]...)INSERT INTO Nama_tabel {([Namakolom]...)}SELECT ... FROM....Diktat Kuliah Basis Data 1-8
    • Structure Query Language (SQL)Contoh:Insert Into Transkrip(NOMHS, KDMK, NILAI) VALUES (2930,’MSM160’,80)Insert Into TranskripVALUES (2930,’MSM160’, 80)Insert Into NewTranskripSelect * From TranskripWhere KDMK <> ‘MSM 100’Jumlah kolom dalam insert into = Jumlah kolom dalam SELECTType data kolom-kolom dalam Insert Into = tipe data kolom-kolom dalam SELECTDiktat Kuliah Basis Data 1-9
    • Structure Query Language (SQL)MENGHAPUS DATADELETE FROM NamaTabel {WHERE Kondisi}Contoh:DeleteFrom transkrip;DeleteFrom transkripWhere NoMhs = 3001;Diktat Kuliah Basis Data 1-10
    • Structure Query Language (SQL)MENGUPDATE DATAUPDATE NamaTabelSET [Namakolom =[ Ekspresi]]...{WHERE Kondisi}Contoh:UPDATE MataKuliahSet NamaMK = ‘Program Terstruktur’Where KdMk = ‘MSM 200’;UPDATE TranskripSet Nilai = Nilai + 10;Where KDMK = ‘MSM 260’Diktat Kuliah Basis Data 1-11
    • Structure Query Language (SQL)QUERY DATASELECT {DISTINCT| ALL} [*| [Ekspresikolom]...]FROM [Nama Tabel]....{WHERE Kondisi}{GROUP By [Nama Kolom]...{HAVING Kondisi}}{ORDER By [URUTAN]....}Keterangan:Setiap perintah SELECT minimal harus ada SELECT dan FROM.WHERE, GROUP BY, HAVING, ORDER BY bersifat optional (boleh ada, boleh tidak)Diktat Kuliah Basis Data 1-12
    • Structure Query Language (SQL)GROUP By harus sesudah WHERE atau FROM,dan ORDER By harus selalu terakhir.HAVING hanya dapat digunakan jika ada GROUP By.Betul/Salah perintah Select berikut ini:Select ..........Where ...........Order by .............Select....From..Having...Group By....Diktat Kuliah Basis Data 1-13
    • Structure Query Language (SQL)Select .....From..Order by.......Group by........URUTAN PEMROSESAN PERINTAH SELECTSELECT Pilih KolomFROM Dari tabel mana data berasalWHERE Pilih record yang memenuhi kondisiGROUP BY Kelompokkan berdasarkan nilai yang sama dari kolomHAVING Pilih kelompok yang memenuhi kondisiORDER BY urutkan baris berdasarkan kolomDiktat Kuliah Basis Data 1-14
    • Structure Query Language (SQL)QUERY SEDERHANASelect *From mahasiswa;Select Distinct KdMkFrom Transkrip;PENGGUNAAN WHEREDiikuti oleh: Perbandingan sederhana Kondisi (syarat) yang terhubungkan dengan AND, OR, dan NOT Operator BETWEENDiktat Kuliah Basis Data 1-15
    • Structure Query Language (SQL) Operator IN Operator LIKE Operator IN dengan sub-query Operator perbandingan dengan sub-query Operator ANY dan ALL Operator EXISTPERBANDINGAN SEDERHANA: menggunakan operator perbandingan=; < ; >; <=; >=; <> (!=)Contoh:Select NOMHSDiktat Kuliah Basis Data 1-16
    • Structure Query Language (SQL)From MahasiswaWhere Kota = ‘Jakarta’Select NOMHS, NamaMhsFrom MahasiswaWhere Year(TglLahir) = 1990Where 2011 - year(TglLahir) = 25Kondisi dengan AND, OR, dan NOTContoh:Diktat Kuliah Basis Data 1-17
    • Structure Query Language (SQL)Select NoMHSFrom MAHASISWAWhere Kota <> ‘Jakarta’OR JnKel = ‘L’catatan : operator = pada contoh di atas dapat diganti dengan operator yang lain.Operator BETWEEN- Mengecek apakah nilai dari kolom dalam suatu range- Format: <Namakolom> {NOT} BETWEEN <Nilai1> AND <Nilai2>Contoh:Select NOMHS, NAMAMHSDiktat Kuliah Basis Data 1-18
    • Structure Query Language (SQL)From MahasiswaWhere Year(TglLahir) Between 1990 AND 1993Note:<kolom> between A AND B ⇔ (<kolom> >= A) AND (<kolom> <= B)<kolom> NOT Between A AND B ⇔ NOT(<kolom> Between A AND B) ⇔ (<kolom> < A OR(<kolom> > B)Operator INSelect NoMhs, NamaMhs, Kota From MahasiswaWhere Kota = “Bandung”OR Kota = “Jakarta”Diktat Kuliah Basis Data 1-19
    • Structure Query Language (SQL)OR Kota = “Medan”OR Kota = “Surabaya”Dapat diganti dengan menggunakan operator IN, sebagai berikut:Select NoMhs, NamaMhs, KotaFrom MahasiswaWhere Kota IN (‘Bandung’,’Jakarta’,’Medan’,’Surabaya’)Operator LIKE% : Pengganti 0, 1, atau lebih karakter_ : underscore pengganti satu karakterDiktat Kuliah Basis Data 1-20
    • Structure Query Language (SQL)Contoh:Select NoMhsFrom MahasiswaWhere NamaMhs LIKE ‘%n%’Contoh Lain: Nama mata kuliah memuat string ‘ta’ -----NamaMK LIKE ‘%t%a%’ Nama mahasiswa panjangnya 10 huruf ---- NamaMHS LIKE ‘__________’ Nama mahasiswa minimal panjangnya 10 -- NamaMHS Like ‘__________%’Select NAMA from mahasiswa where nama LIKE ‘_ _ _ _ _ _ _ _ _ _%’Operator IN dengan sub-queryDiktat Kuliah Basis Data 1-21
    • Structure Query Language (SQL)Contoh:SELECT NoMhs, NamaMhsFROM MahasiswaWHERE Kota IN (SELECT Kota FROM Mahasiswa WHERE NoMhs IN (2946, 5280))SELECT NoMhs, NamaMhsFROM MahasiswaWHERE NoMhs IN (SELECT NoMhs FROM TranskripDiktat Kuliah Basis Data 1-22
    • Structure Query Language (SQL) WHERE NoMk = ‘MSM100’)Operator TETHA dengan sub-query- Operator tetha dapat digunakan jika sub-query menghasilkan tepat satu nilaiContoh:Select NoMhs, NamaMhsFrom MahasiswaWhere Kota =(Select Kota From MahasiswaWhere NoMhs = 5830)Select NoMhs, NamaMhsDiktat Kuliah Basis Data 1-23
    • Structure Query Language (SQL)From MahasiswaWhere Year(TglLahir) < (Select Year(TglLahir)From MahasiswaWhere NoMhs = 5830Soal:Tampilkan Nomor dan nama mahasiswa yang tahun lahirnya sama dengan tahun lahirnya ‘Budi’,tetapi Budi tidak muncul dalam hasil.Operator ANY dan ALLDiktat Kuliah Basis Data 1-24
    • Structure Query Language (SQL)Jika Y1,Y2,Y3,...., dan Yn nilai-nilai yang dihasilkan sub-query S, maka:NamaKolom < ALL (s) ⇔(NamaKolom < Y1) AND(NamaKolom < Y2) AND..............(NamaKolom < Yn)Contoh:Select NoMhs, NamaMhsFrom MahasiswaWhere Year(TglLahir) <= ALL (Select Year(TglLahir) from Mahasiswa)Diktat Kuliah Basis Data 1-25
    • Structure Query Language (SQL)SedangkanNamaKolom < ANY (S) ⇔(NamaKolom < Y1) OR(NamaKolom < Y2) OR..............(NamaKolom < Yn)Operator EXISTDigunakan untuk melakukan pengecekan apakah hasil dari suatu ‘correlated nested query’berisi tuple atautidak.EXISTS (Q) : Memberikan nilai return True, jika dalam hasil query Q minimal terdiri dari satu tupleNOT EXISTS (Q) : Memberikan nilai return TRUE, jika tak satupun tuple yang dihasilkandalam hasil query QSelect NamaMhsDiktat Kuliah Basis Data 1-26
    • Structure Query Language (SQL)From MahasiswaWhere EXIST(Select *From TranskripWhere NoMhs = Mahasiswa.NoMhs ANDNoMk = ‘MSM160’)GROUP BYMengelompokkan rekord berdasarkan nilai suatu atribut (kolom)Contoh:Diktat Kuliah Basis Data 1-27
    • Structure Query Language (SQL)Tabel TranskripDiktat Kuliah Basis Data 1-28
    • Structure Query Language (SQL) NoMhs KdMk Nilai 2530 MSM100 90 2530 MSM200 80 2700 MSM100 60 2700 MSM200 80Diktat Kuliah Basis Data 1-29
    • Structure Query Language (SQL) 2530 MSM300 90Diktat Kuliah Basis Data 1-30
    • Structure Query Language (SQL)Select NoMhsFrom TranskripGroup by NoMhsNoMhs KdMk Nilai---------------------------------------------------------------------------2530 MSM100,MSM200,M2M300 90,80,902700 MSM100,MSM200 60,80Hasil akhir:Diktat Kuliah Basis Data 1-31
    • Structure Query Language (SQL)NoMhs--------25302700HAVING- Memilih (menyeleksi) kelompok berdasarkan karakteristik dari kelompok- Selalu diikuti oleh kelompok fungsi dalam SQL: COUNT - banyaknya nilai suatu kolom - banyaknya baris dalam tabel MIN - Nilai terkecil dalam suatu kolom MAX- Nilai terbesar dalam suatu kolomDiktat Kuliah Basis Data 1-32
    • Structure Query Language (SQL) SUM- Nilai total dalam suatu kolom AVG - Nilai rata-rata dalam suatu kolom COUNT(*) menghitung jumlah semua baris dalam tabel tanpa menghilangkan duplikasi COUNT, AVG, SUM dapat menggunakan DISTINCT untuk menghilangkan duplikasi sebelum fungsi tersebut diberlakukan.Contoh:Select COUNT(*)from MahasiswaSelect COUNT(distinct NoMhs)From transkripDiktat Kuliah Basis Data 1-33
    • Structure Query Language (SQL)Where nilai >= 80Select NoMhs, AVG(Nilai)From(transkrip)Group by NoMhsHaving AVG(Nilai) > 80Diktat Kuliah Basis Data 1-34