sistem basis data - fti.uajm.ac.id basis data/modul 1.pdf · •db2, oracle, ms.access, mysql,...

24
1 Sistem Basis Data

Upload: phungminh

Post on 03-Mar-2019

257 views

Category:

Documents


0 download

TRANSCRIPT

1

Sistem Basis Data

Apa yang akan dibahas?

• Pengertian SQL

• Penggolongan Statement SQL

• Aturan Gramatika SQL

• Struktur Dasar SQL

• Query Satu (1) Tabel

2

SQL

• SQL (Structured Query Language)…

• Bahasa standar yang digunakan untuk mengakses database relasional.

• Merupakan bahasa yang tidak prosedural atau terstruktur seperti C atau Pascal.

• Beberapa software database yang menggunakan SQL sebagai perintah untuk mengakses database..

• DB2, ORACLE , Ms.Access, MySQL, PostgreSQL, Sybase,dll.

3

Statement SQLTerbagi dalam dua kelompok, yaitu…

DDL (Data Definition Language) : untuk mendefinisikan struktur suatu data. Perintah-perintahnya…

CREATE (untuk membuat tabel)

ALTER (untuk mengubah struktur tabel)

DROP (untuk menghapus tabel)

DML (Data Manipulation Language) : untuk memanipulasi suatu tabel. Perintah-perintahnya…

SELECT (untuk query isi tabel)

INSERT (untuk memasukkan isi tabel)

UPDATE (untuk mengubah isi tabel)

DELETE (untuk menghapus isi tabel)4

Aturan Gramatika SQL

1. Semua pernyataan SQL ditutup dengan tanda titikkoma (;).

2. Dapat ditulis dalam satu baris atau dipisah-pisah dalam beberapa baris agar mudah dibaca.

3. Tidak bersifat case sensitive untuk penulisan perintah- perintah SQL, nama tabel dan nama kolom.

4. Ditulis menurut sintaks tertentu.

5. Dapat diberikan garis komentar untuk dokumentasi dan menjelaskan maksud pemrograman.

5

Struktur Dasar SQL• Implementasi SQL sangat bervariasi, bergantung pa

da vendor software. Akibatnya beberapa perintah SQL pada tiap software memiliki perbedaan pada sintaks penulisan.

• Struktur dasar SQL… .

SELECT A1 [, A2, … , An]

FROM t1 [, t2, … , tm]

[WHERE P]

6

Dimana:

A1, A2, … , An : daftar atribut (field) sebagai hasil query

T1, t2,… , tm : daftar tabel (relasi) yang akan ditelusuri

P : predikat/syarat kondisi query

Ket : tanda [ ] berarti bersifat pilihan; boleh digunakan boleh tidak

Struktur Dasar SQL

7

SELECT sebagai dasar bagi Anda untuk belajar

query

8

Query 1 Tabel

1. Menampilkan Semua Kolom Semua Baris

SELECT * FROM nama_tabel;

Untuk menampilkan kolom tertentu, maka nama kolom yang ingin ditampilkan ditulis setelah kata SE LECT

SELECT nama_kolom FROM nama_tabel;

J ika kolom yang ingin ditampilkan lebih dari satu,

maka penulisan antar nama kolom dipisahkan dengan koma.

SELECT nama_kolom1, nama_kolom2

FROM nama_tabel;9

Untuk menampilkan hanya sebuah baris tertentu yangmemenuhi syarat, maka kondisi dalam WHERE perludilibatkan kunci primer

SELECT *

FROM nama_tabel

WHERE nama_kolom_kunci_primer=‘syarat’;

Query 1 Tabel

10

2. Penggunaan Operator Relasional DalamKriteria

Operator relasional adalah operator yang digunakan untuk melakukan pembandingan antaradua buah nilai.

Daftar operator relasional

Operator Keterangan

= Sama dengan

> Lebih dari

< Kurang dari

> = Lebih dari atau sama dengan

< = Kurang dari atau sama dengan

< > Tidak sama dengan

Query 1 Tabel

11

Query 1 Tabel3. Penggunaan Operator Filter (Penyaringan)

Operator BETWEEN

Digunakan untuk menangani operasi jangkauandiantara dua kondisi.

SELECT nama_kolom FROM nama_tabel

WHERE nama_kolom BETWEEN ’syarat1’

AND ‘syarat2’;

Operator NOT BETWEEN

J ika ditambahkan NOT di depan BETWEEN maka diperoleh keadaan yang sebaliknya (tidak berada diantara dua kondisi).

SELECT nama_kolom FROM nama_tabel

WHERE nama_kolom NOT BETWEEN ’syarat1’

AND ‘syarat2’;

12

Query 1 TabelOperator IN

Berguna untuk melakukan pencocokan dengansalah satu yang ada pada suatu daftar nilai(dapat menggantikan operator OR)

SELECT nama_kolom FROM nama_tabel

WHERE nama_kolom

IN (‘nilai_1’,..,’nilai_n’);

Operator NOT IN

operator ini melakukan pencocokan SELAIN yangada dalam daftar nilai

SELECT nama_kolom FROM nama_tabel

WHERE nama_kolom

NOT IN (‘nilai_1’,..,’nilai_n’);

13

Query 1 Tabel

Operator LIKE

Untuk mencari data berdasarkan kriteria karaktertertentu.

Mis: nama mahasiswa yang namanya diawalidengan huruf “S”. LIKE digunakan dengan simbolwildcard (%)

Contoh pemakaian wildcardPola Keterangan

%a% Sama dengan apa saja yang mengandungkarakter “a” atau “A”

%a Sama dengan yang berakhiran “a” atau “A”

a% Sama dengan yang berawalan “a” atau “A”

14

Query 1 Tabel

Contoh: SELECT nama_mhs

FROM mhs

WHERE nama_mhs LIKE ‘Lu%’;

Output yang dihasilkan…

Semua nama mhs yang dua huruf awal namanya adalah ‘Lu’

15

Query 1 Tabel

Operator NOT LIKE

Untuk mencari data yang tidak sama dengankarakter yang diberikan.

Contoh:

SELECT nama_mhs

FROM mhs

WHERE nama_mhs NOT LIKE ‘Lu%’;

Output yang dihasilkan…

Semua nama mhs yang dua huruf awal namanyabukan ‘Lu’

16

Query 1 Tabel

Operator IS NULL

Untuk mencari data yang nilainya adalah NULL

Contoh:

SELECT nama_mhs

FROM mhs

WHERE asal_kota IS NULL;

Output yang dihasilkan…

Semua nama mhs dari tabel mhs yang data asal kotanya tidak disebutkan.

Bedakan dengan operator “=“ (tidak dapat membandingkan nilai NULL) 17

Query 1 Tabel

4. Penggunaan Kolom Alias

Untuk menampilkan nama kolom dengan nama laindapat menggunakan AS

Contoh:

SELECT nama_mhs AS nama, almt AS alamat

FROM mhs;

5. Penggunaan Distinct

digunakan jika ingin menampilkan hasil query yangbernilai sama sebanyak satu kali (unik)

18

Query 1 Tabel

Contoh: (tanpa menggunakan DISTINCT)

SELECT nama_mhs FROM mhs;

Output… .

Contoh: (menggunakan DISTINCT)

SELECT DISTINCT nama_mhs FROM mhs;

Output… .

nama_mhs

Ali

Ali

Budi

Anto

nama_mhs

Ali

Budi

Anto 19

Query 1 Tabel

6. Penggunaan Operator Gabung (Concat)

Nilai dari dua kolom dapat ditampilkan ke dalamsatu kolom dengan operator ||

Contoh:

SELECT nama_kolom1 || nama_kolom2

“nama_kolom_simpan_gabungan”

FROM nama_tabel;

20

Query 1 Tabel

7. Fungsi Agregat

Merupakan fungsi yang disediakan untuk menghasilkan sebuah nilai berdasarkan sejumlah data

Fungsi = suatu kumpulan instruksi yang menghasil-kan sebuah nilai jika dipanggil

Beberapa Daftar Fungsi Agregat

Fungsi Agregat Keterangan

AVG () Nilai rata-rata

AVG (DISTINCT… ) Nilai rata-rata untuk nilai yang unik

COUNT() Jumlah data yang tidak NULL

COUNT (DISTINCT… ) Jumlah data yang tidak NULL dan nilainya unik

MAX () Nilai terbesar

MIN () Nilai terkecil

SUM () Penjumlahan data 21

Latihan

1. Tampilkan employee_id, first_name, last_namedari tabel employees.

2. Tampilkan nama dan gaji dari pegawai yangberada di departemen 90.

3. Tampilkan nama pegawai dan id manager daripegawai yang memiliki gaji > 3000 danmanager_id adalah 124

4. Sama seperti no.1 tetapi nama adalah gabungandari first_name dan last_name serta beri judulkolom menjadi “Nama Pegawai”

5. Sama seperti no.2 tetapi gaji dalam 1 tahun.22

Latihan

6. Tampilkan nama pegawai yang dimulai denganhuruf ‘K’

7. Tampilkan job_id yang unik dari tabel employees.

8. Tampilkan nama pegawai yang tidak memilikimanager.

9. Tampilkan nama pegawai dan gaji dari pegawaiyang berada di departemen 10, 20, 50.

10.Tampilkan nama pegawai dan departemen_id daripegawai yang gajinya diantara 2000 hingga 5000.

23

24