Anda di halaman 1dari 16

12/11/2015

Bahasa basis data


relasional sql
YANTO BUDISUSANTO, S.T.,M.ENG.
LABORATORIUM KADASTER DAN KEBIJAKAN PERTANAHAN
TEKNIK GEOMATIKA – FTSP – ITS
PH. 031 – 5929487
FAX. 031 – 5929486
CELL. 0852 2636 1602

SQL

Structured Query Language


Merupakan bahasa implementasi dari basis data relasional

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

1
12/11/2015

Pembuatan tabel
Spesifikasi : Tipe data : Kontrain
Spesifikasi • Nama atribut • Numeric • Identitas tabel
• Tipe data • Character-string • Not Null
Atribut
• Konstrain • Date • Identitas tamu
• Time

yanto budisusanto

SQL  Pembuatan tabel


Create table mata_kuliah
(no_mk CHAR(8) NOT NULL,
nama_mk CHAR(20),
SKS INT(5),
nip INT(10),
PRIMARY KEY (no_mk), CREATE TABLE mahasiswa
FOREIGN KEY (nip) REFFERENCE (dosen); (no_mhsw CHAR(10) NOT NULL,
nama_mhsw CHAR(40),
jurusan CHAR(20),
Perhatikan : fakultas CHAR(15),
Tabel dibuat terlebih dahulu adalah tabel yang PRIMARY KEY (no_mhsw),
independen (tidak terkait dengan tabel
FOREIGN KEY (kode_fak) REFFERENCE (fakultas);
lainnya)

2
12/11/2015

SQL  Pembuatan tabel


Create table registrasi
(no_mk CHAR(8) NOT NULL, Contoh Tabel
no_mhsw CHAR(10) NOT NULL,
PRIMARY KEY (no_mk, no_mhsw),
Independen
FOREIGN KEY (no_mhsw) REFFERENCE (mahasiswa),
FOREIGN KEY (no_mk) REFFERENCE (mata_kuliah);
CREATE TABLE fakultas
(kode_fak INT(10) NOT NULL,
Perhatikan : nama_fak CHAR(20),
Tabel dibuat terlebih dahulu adalah tabel yang
jml_dos CHAR(10),
independen (tidak terkait dengan tabel lainnya)
jml_mhsw CHAR(10),
jml_jur CHAR(10),
PRIMARY KEY (kode_fak);

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

SQL  Pembuatan tabel


Tidak terdapat identitas tamu Contoh Tabel
Tidak ada kontrain terkait dengan Independen
tabel lainnya
CREATE TABLE dosen
(nip INT(10) NOT NULL,
nama_dos CHAR(40),
golongan CHAR(5),
Kesimpulan tentang tabel yang tidak terkait
jml_mhsw DECIMAL(15,2),
dengan tabel lainnya
PRIMARY KEY (nip);

3
12/11/2015

SQL  Pembuatan tabel

IDENTITAS UTAMA IMPLEMENTASI


KONTRAIN
PRIMARY KEY & INTEGRITAS
NOT NULL ENTITI

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

SQL  Pembuatan tabel

IMPLEMENTASI
KONTRAIN
FOREIGN KEY IDENTITAS TAMU INTEGRITAS
REFERENSIAL
ENTITI

yanto budisusanto

4
12/11/2015

SQL  PEMASUKAN DATA


Menggunakan perintah INSERT
INSERT INTO Dosen VALUES (130000, ‘Suryo’, ’IV’, 1000);

Dosen Dosen
nip nama_dosen gol gaji nip nama_dosen gol gaji
132001 Wina V 1000 132001 Wina V 1000

133022 Ikhlas III 800 133022 Ikhlas III 800

130555 Mukhlis IV 900 130555 Mukhlis IV 900

123011 Muflih III 800 123011 Muflih III 800

130000 Suryo IV 1000

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

SQL  PEMASUKAN DATA


Menggunakan perintah INSERT
Membosankan jika jumlah
INSERT INTO Dosen VALUES (130000, ‘Suryo’, ’IV’, 1000); datanya banyak

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

5
12/11/2015

Manipulasi data
Menggunakan pertanyaan  query
Select < Daftar atribut >
from < Daftar tabel >
where < Kondisi >

Daftar atribut  nama-nama atribut yang nilainya akan dipanggil dari basis data
Daftar tabel  nama-nama tabel yang akan diproses oleh pertanyaan yang akan diajukan
Kondisi  persyaratan kondisi (Boolean) sbg ekspresi yang harus dipenuhi untuk
memangggil data dalam basis data

Seleksi baris Mahasiswa


Digunakan untuk menampilkan isi baris dari suatu tabel
Select * nim nama jurusan fakultas
10510 Adi Geodesi Teknik
from Mahasiswa
10238 Uda Kimia Teknik
WHERE jurusan =“Geodesi”; 10829 Idi Geodesi Teknik
Tanda ( * ) merupakan notasi untuk menampilkan semua 10234 Buya Kimia Teknik
atribut yang ada pada tabel yang dimaskud 13298 Coyo Fisika MIPA
12937 Dedi Biologi MIPA
12344 Uma Sipil Teknik
nim nama jurusan fakultas
Satu Kondisi
10510 Adi Geodesi Teknik
10829 Idi Geodesi Teknik

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

6
12/11/2015

Seleksi baris Fakultas


Digunakan untuk menampilkan isi baris dari suatu tabel
Select * Fakultas Jml_Dos Jml_Mhs Jml_Jur
Teknik 200 5400 9
from Fakultas
Ekonomi 150 5640 4
WHERE Jml_Dos < 200 and Jml_mhs > 4000; MIPA 120 4320 5
Tanda ( * ) merupakan notasi untuk menampilkan semua Sastra 150 4350 4
atribut yang ada pada tabel yang dimaskud Hukum 250 1250 2
Farmasi 75 2430 7
Psikologi 350 2140 3

Dua Kondisi
Fakultas Jml_Dos Jml_Mhs Jml_Jur
MIPA 120 4320 5

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

Seleksi kolom
Digunakan untuk menampilkan isi kolom dari suatu tabel Dosen
nip nama_dosen gol gaji
SELECT nip, nama_dsn
132001 Wina V 1000
FROM Dosen
133022 Ikhlas III 800
Where nip > 130000;
130555 Mukhlis IV 900

123011 Muflih III 800


nip nama_dosen 130000 Suryo IV 1000
132001 Wina Satu Kondisi
133022 Ikhlas

130555 Mukhlis

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

7
12/11/2015

Seleksi kolom
Mahasiswa
Digunakan untuk menampilkan isi kolom dari suatu tabel
nim nama jurusan fakultas
SELECT jurusan
10510 Adi Geodesi Teknik
FROM Mahasiswa; 10238 Uda Kimia Teknik
10829 Idi Geodesi Teknik
jurusan 10234 Buya Kimia Teknik
Geodesi 13298 Coyo Fisika MIPA
Kimia 12937 Dedi Biologi MIPA
Nilai duplikasi
Geodesi 12344 Uma Sipil Teknik
tidak otomatis
Kimia
dihilangkan Tanpa Kondisi
Fisika
Biologi
Sipil
Laboratorium Kadaster dan Kebijakan Pertanahan
Teknik Geomatika – FTSP – ITS
yanto budisusanto

Seleksi kolom
Mahasiswa
Digunakan untuk menampilkan isi kolom dari suatu tabel
nim nama jurusan fakultas
SELECT DISTINCT jurusan
10510 Adi Geodesi Teknik
FROM Mahasiswa; 10238 Uda Kimia Teknik
10829 Idi Geodesi Teknik
10234 Buya Kimia Teknik

jurusan 13298 Coyo Fisika MIPA


Nilai duplikasi Geodesi 12937 Dedi Biologi MIPA
otomatis Kimia 12344 Uma Sipil Teknik
dihilangkan Fisika Tanpa Kondisi
Biologi
Sipil

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

8
12/11/2015

Operasi penggabungan (“Join”)


Digunakan untuk menggabungkan tabel
SELECT *
FROM Mata_Kuliah, Dosen
WHERE Mata_Kuliah.nip = Dosen.nip;

Mata Kuliah Dosen


no_mk nama_mk sks nip nip nama_dsn golongan
A01 Hidro 4 132342 132342 Akil V
A02 Megi 3 124423 124423 Bagas III
A03 PeTe 4 235351 235351 Dado II
A04 Simbada 3 353213 353213 Dida IV
A05 Hiper 3 231355 231355 Juki V

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

Operasi penggabungan (“Join”)


Digunakan untuk menggabungkan tabel
SELECT *
FROM Mata_Kuliah, Dosen
WHERE Mata_Kuliah.nip = Dosen.nip;

no_mk nama_mk sks nip nip nama_dsn golongan


A01 Hidro 4 132342 132342 Akil V
A02 Megi 3 124423 124423 Bagas III
A03 PeTe 4 235351 235351 Dado II
A04 Simbada 3 353213 353213 Dida IV
A05 Hiper 3 231355 231355 Juki V

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

9
12/11/2015

Operasi penggabungan (“Join”)


Digunakan untuk menggabungkan tabel
SELECT *
FROM Mata_Kuliah, Registrasi
WHERE Mata_Kuliah.no_mk = Registrasi.no_mk;

Mata Kuliah Registrasi


no_mk nama_mk sks nip no_mk no_mhs
A01 Hidro 4 132342 A01 1350101
A02 Megi 3 124423 A02 1350112
A03 PeTe 4 235351 A03 1350134
A04 Simbada 3 353213 A04 1350123
A05 Hiper 3 231355 A05 1350103

Laboratorium Kadaster dan Kebijakan Pertanahan


Teknik Geomatika – FTSP – ITS
yanto budisusanto

Operasi penggabungan (“Join”)


Digunakan untuk menggabungkan tabel
SELECT *
FROM Mata_Kuliah, Registrasi
WHERE Mata_Kuliah.no_mk = Registrasi.no_mk;

no_mk nama_mk sks nip no_mk no_mhs


A01 Hidro 4 132342 A01 1350101
A02 Megi 3 124423 A02 1350112
A03 PeTe 4 235351 A03 1350134
A04 Simbada 3 353213 A04 1350123
A05 Hiper 3 231355 A05 1350103

yanto budisusanto

10
12/11/2015

Fungsi agregat
Operasi dengan menggunakan sekelompok baris (“group”) dengan hasil pertanyaan hanya satu
baris
Fungsi yang digunakan antara lain :
◦ AVG  memperoleh rerata
◦ COUNT (*)  menghitung jumlah baris dgn tdk memperhatikan duplikasi
◦ COUNT (DISTINCT) < nama kolom >  menghitung jumlah baris dgn memperhatikan duplikasi
◦ MAX  memilih nilai yang paling besar dalam kolom atribut
◦ MIN  memilih nilai yang paling kecil dalam kolom atribut
◦ SUM  menjumlahkan sekelompok nilai data dalam kolom atribut

yanto budisusanto

Fungsi agregat
SELECT AVG (Gaji) FROM Dosen; • Mencari informasi rerata ‘Gaji’ Dosen
SELECT SUM (Gaji) FROM Dosen; • Mencari informasi jumlah ‘Gaji’ seluruh
SELECT MAX (Gaji), MIN (Gaji) FROM Dosen; Dosen
SELECT Jurusan COUNT (*) • Mencari informasi ‘Gaji’ tertinggi dan
FROM Mahasiswa terendah dari Dosen
WHERE Jurusan = ‘Geodesi’ • Mencari informasi jumlah mahasiswa yang
GROUP BY Jurusan; kuliah di jurusan Geodesi

11
12/11/2015

Fungsi agregat Dosen


SELECT AVG (gaji) FROM Dosen; nip nama_dosen gol gaji
132001 Wina V 1005000.50

133022 Ikhlas III 900000.00

130555 Mukhlis IV 950100.75

123011 Muflih III 1200700.25

130000 Suryo IV 750600.50


AVG1
961280.40
Laboratorium Kadaster dan Kebijakan Pertanahan
Teknik Geomatika – FTSP – ITS
yanto budisusanto

Fungsi agregat Dosen


SELECT SUM (gaji) FROM Dosen; nip nama_dosen gol gaji
132001 Wina V 1005000.50

133022 Ikhlas III 900000.00

130555 Mukhlis IV 950100.75

123011 Muflih III 1200700.25

130000 Suryo IV 750600.50


SUM1
4806402.00

yanto budisusanto

12
12/11/2015

Fungsi agregat Dosen


SELECT MAX (Gaji), MIN (gaji) FROM Dosen; nip nama_dosen gol gaji
132001 Wina V 1005000.50

133022 Ikhlas III 900000.00

130555 Mukhlis IV 950100.75

123011 Muflih III 1200700.25

130000 Suryo IV 750600.50


MAX MIN
1200700.25 750600.50
Laboratorium Kadaster dan Kebijakan Pertanahan
Teknik Geomatika – FTSP – ITS
yanto budisusanto

Fungsi agregat
Mahasiswa
SELECT Jurusan COUNT (*) nim nama jurusan fakultas
FROM Mahasiswa 10510 Adi Geodesi Teknik
WHERE Jurusan = ‘Geodesi’ 10238 Uda Kimia Teknik
10829 Idi Geodesi Teknik
GROUP BY Jurusan;
10234 Buya Kimia Teknik
13298 Coyo Fisika MIPA
12937 Dedi Biologi MIPA
G_JURUSAN COUNT1 12344 Uma Sipil Teknik

Geodesi 2
Laboratorium Kadaster dan Kebijakan Pertanahan
Teknik Geomatika – FTSP – ITS
yanto budisusanto

13
12/11/2015

Membuat “view”
View adalah tabel perantara  Tujuannya untuk menyederhanakan dalam manipulasi tabel
Tabel yang secara fisik tidak ada/tersimpan dalam basis data tetapi dapat diakses
Tabel bentukan “VIEW” tersimpan dalam katalog
Contoh :
hanya ingin memperoleh informasi nama dan golongan dosen yang gajinya lebih besar
dari Rp. 1.000.000,-
SQL  CREATE VIEW Gaji_dos AS
SELECT nama_dsn, golongan
FROM Dosen
WHERE gaji > 1000000;

Membuat “view”
Dosen
CREATE VIEW Gaji_dos AS
nip nama_dosen gol gaji
SELECT nama_dosen, gol
132001 Wina V 1005000.50
FROM Dosen
133022 Ikhlas III 900000.00
WHERE gaji > 1000000;
130555 Mukhlis IV 950100.75

Gaji_dos 123011 Muflih III 1200700.25

nama_dosen gol 130000 Suryo IV 750600.50


Wina V

Muflih III

14
12/11/2015

manipulasi tanpa “view”


Dosen
SELECT nama_dosen, gol
nip nama_dosen gol gaji
FROM Dosen
132001 Wina V 1005000.50
WHERE gaji > 1000000
133022 Ikhlas III 900000.00
AND gol = III;
130555 Mukhlis IV 950100.75

123011 Muflih III 1200700.25

nama_dosen gol 130000 Suryo IV 750600.50


Muflih III

Penyederhanaan manipulasi dengan “view” Dosen


CREATE VIEW Gaji_dos AS nip nama_dosen gol gaji
SELECT nama_dosen, gol 132001 Wina V 1005000.50

FROM Dosen 133022 Ikhlas III 900000.00

WHERE gaji > 1000000; 130555 Mukhlis IV 950100.75

nama_dosen gol 123011 Muflih III 1200700.25


Muflih III 130000 Suryo IV 750600.50
Gaji_dos
SELECT nama_dosen, gol nama_dosen gol
FROM Gaji_dos Wina V

WHERE gol = III; Muflih III

yanto budisusanto

15
12/11/2015

Istilah
CREATE VIEW Gaji_dos AS
SELECT nama_dosen, golongan
FROM Dosen
Tabel Perantara
WHERE gaji > 1000000;
CREATE TABLE fakultas
(kode_fak INT(10) NOT NULL,
nama_fak CHAR(20),
jml_dos CHAR(10),
jml_mhsw CHAR(10),
Tabel Basis jml_jur CHAR(10),
PRIMARY KEY (kode_fak);

yanto budisusanto

16

Anda mungkin juga menyukai