Anda di halaman 1dari 34

Suhirman, M.Kom., Ph.

D
Pengenalan SQL
 SQL Berfungsi sebagai bahasa query
interaktif sekaligus juga sebagai bahasa
pemrograman basis data.
 SQL meliputi:
• Definisi data
• Manipulasi data
 SQL relatif mudah untuk dipelajari
 SQL standar bentuk penulisannya mengikuti aturan
ANSI.
Tipe Data SQL
Tipe Data Format
Numeric NUMBER(Panjang,Des)
INTEGER
SMALLINT
DECIMAL(Panjang,Des)

Character CHAR(Panjang)
VARCHAR(Panjang)

Date DATE
Perintah Definisi Data
 Model Basis Data.
 Contoh basis data sederhana - Nama basis data
PERWALIAN, terdiri dari dua buah tabel yaitu WALI dan
MAHASISWA.
• Setiap mahasiswa dibimbing oleh seorang
dosen wali.
• Seorang dosen wali memiliki beberapa orang
mahasiswa bimbingan.

1 M
WALI Membimbing MAHASISWA

Relasi antara WALI dan MAHASISWA


Perintah Definisi Data
 Tabel WALI berisi data:
• Kode wali
• nama wali
• Nomor induk pegawai
• Pangkat / jabatan fungsional
 Tabel MAHASISWA berisi data:
• Nomor mahasiswa
• Nama mahasiswa
• SKS yang ditempuh
• Indeks Prestasi Kumulatif (IPK)
• Kode wali
Perintah Definisi Data

Kamus Data untuk Basis Data PERWALIAN


Nama Nama Uraian Tipe Format Range PK/ Tabel
Tabel Atribut FK Ref.
Mahasiswa Nomhs Nomor mhs Char(9) 999999999 PK
Nama Nama mhs Varchar(22) Xxxxxxxxx
SKS Jumlah SKS Byte 99 12-24
IPK IP.Kumulatif Number(4,2) 9.99 0.00-4.00
Kd_Wali Kode wali Number(2) 99 1-99 FK Wali
Wali Kd_Wali Kode wali Number(2) 99 1-99 PK
NIP No. Pegawai Char(9) 999999999
Nama Nama wali Varchar(24) Xxxxxxxxx
Jbt_Fng Fungsional Varchar(15) Xxxxxxxxx
Perintah Definisi Data
 Membuat Struktur Basis Data
CREATE SCHEMA AUTORIZATION <creator>;
• Contoh:
CREATE SCHEMA AUTORIZATION RONALD;

CREATE DATABASE <nama database>;


• Contoh:
CREATE DATABASE PERWALIAN;
Perintah Definisi Data
 Membuat Struktur Tabel
CREATE TABEL <nama tabel>(
<nama atribut1 dan karakteristik atribut1,
nama atribut2 dan karakteristik atribut2,
nama atribut3 dan karakteristik atribut3,
primary key, foreign key>);
Perintah Definisi Data
• Contoh:

CREATE TABEL WALI


(KD_WALI INTEGER(2) NOT NULL UNIQUE,
NIP CHAR(9) NOT NULL,
NAMA VARCHAR(24) NOT NULL,
JBT_FNG VARCHAR(15)
PRIMARY KEY (KD_WALI));
Perintah Definisi Data
• Contoh:

CREATE TABEL MAHASISWA


(NOMHS CHAR(9) NOT NULL UNIQUE,
NAMA VARCHAR(22) NOT NULL,
SKS INTEGER(2) NOT NULL,
IPK DECIMAL(4,2) NOT NULL,
KD_WALI INTEGER(2) NOT NULL,
PRIMARY KEY (NOMHS),
FOREIGN KEY KD_WALI (KD_WALI)
REFERENCES WALI ON DELETE RESTRICT
ON UPDATE CASCADE);
Perintah Definisi Data
 Batasan Integritas SQL
 Integritas Entitas
• PRIMARY KEY (Kunci Utama)
• NOT NULL and UNIQUE
 Integritas Referensial
• FOREIGN KEY
• ON DELETE
• ON UPDATE
Perintah SQL
Tabel 3.2. Cakupan Perintah SQL
Perintah Penjelasan
INSERT Berfungsi untuk memasukkan data awal pada tabel atau
dapat juga untuk menambah data.
SELECT Berfungsi untuk menampilkan isi satu tabel atau beberapa
tabel sekaligus.
COMMIT Berfungsi untuk menyimpan hasil pekerjaan kedalam
media penyimpan (disk).
UPDATE Berfungsi untuk melakukan perubahan data.
DELETE Berfungsi untuk menghapus satu atau beberapa baris isi
tabel.
ROLLBACK Berfungsi untuk mengembalikan isi tabel basis data ke
bentuk aslinya, berdasarkan perintah COMMIT yang
terakhir kali dilakukan.
Manajemen Data Dasar
 Pemasukan Data
INSERT INTO <nama tabel> VALUES(harga atribut1,
harga atribut2, . . . . dan seterusnya);
• Contoh:
INSERT INTO WALI VALUES (5, ‘095065123’,
’ Ir. Satriyo Madya, MSc.’, ’Lektor Kepala’);
• Contoh:
INSERT INTO MAHASISWA VALUES (‘111900555’,
’ Siswanto’, 18, 2.48, 5);
Form Input Data Wali

Form input data wali


Manajemen Data Dasar
 Menyimpan Isi Tabel
COMMIT <nama tabel>;
• Contoh:
COMMIT WALI;

 Menampilkan Isi Tabel


SELECT <daftar atribut> FROM <nama tabel>
WHERE <kondisi>;
• Contoh:
SELECT * FROM WALI;
Manajemen Data Dasar
 Mengedit Isi Tabel
UPDATE <nama tabel>
SET <atribut> = <harga baru>
WHERE <kondisi>;
• Contoh:
UPDATE WALI SET KD_WALI=7 WHERE KD_WALI=5;

 Mengembalikan Isi Tabel


ROLLBACK;
Manajemen Data Dasar
 Menghapus Record (Baris Tabel)
DELETE FROM <nama tabel>
WHERE <kondisi>;
• Contoh:
DELETE FROM WALI WHERE KD_WALI=2;
DELETE FROM WALI WHERE FUNGSIONAL=‘Lektor’;
DELETE FROM WALI WHERE NIP=‘095067120’;
DELETE FROM MAHASISWA WHERE IPK<2.00;
QUERIES
 Menampilkan Sebagian Isi Tabel
SELECT <daftar atribut> FROM <nama tabel>
WHERE <kondisi>;
• Contoh:
SELECT NIP, NAMA FROM WALI
WHERE JBT_FNG=‘Lektor’;
SELECT KD_WALI, NIP FROM WALI
WHERE JBT_FNG=‘Asisten Ahli’;
QUERIES

Mathematical Operators
QUERIES
• Contoh:
SELECT KD_WALI, NIP, NAMA FROM WALI
WHERE JBT_FNG<>‘Lektor’;
SELECT NIP, NAMA, JBT_FNG FROM WALI
WHERE KD_WALI>5;
SELECT NOMHS, NAMA, SKS FROM MAHASISWA
WHERE IPK>2.5;
SELECT NOMHS, NAMA, IPK FROM MAHASISWA
WHERE SKS<18;
QUERIES
• Contoh:
SELECT NOMHS, NAMA, SKS FROM MAHASISWA
WHERE IPK>3.00 AND SKS>20;
SELECT NOMHS, NAMA, IPK FROM MAHASISWA
WHERE SKS<18 OR IPK<2.00;
QUERIES
• Special Operators
– BETWEEN - used to define range limits.
– IS NULL - used to check whether an attribute
value is null
– LIKE - used to check for similar character strings.
– IN - used to check whether an attribute value
matches a value contained within a (sub)set of
listed values.
– EXISTS - used to check whether an attribute has a
value. In effect, EXISTS is the opposite of IS
NULL.
QUERIES
BETWEEN digunakan untuk menentukan range nilai
• Contoh:
SELECT *
FROM MAHASISWA
WHERE IPK BETWEEN 2.00 AND 3.00;

SELECT *
FROM MAHASISWA
WHERE IPK>=2.00 AND IPK<= 3.00;
QUERIES
IS NULL digunakan untuk mengecek apakah suatu
atribut bernilai kosong (NULL)
• Contoh:
SELECT *
FROM WALI
WHERE JBT_FNG IS NULL;

SELECT *
FROM MAHASISWA
WHERE ALAMAT IS NULL;
QUERIES
LIKE digunakan untuk mengecek apakah suatu atribut
mengandung string/ karaker yang mirip
• Contoh:
SELECT *
FROM WALI
WHERE NAMA LIKE ‘%SANTO%’;

SELECT *
FROM MAHASISWA
WHERE ALAMAT LIKE ‘KOMPLEK%;
QUERIES
IN digunakan untuk mengecek apakah suatu nilai
suatu atribut terdapat dalam suatu daftar himpunan
nilai
• Contoh:
SELECT *
FROM WALI
WHERE JBT_FNG IN (‘ASISTEN AHLI’, ‘LEKTOR’);

SELECT *
FROM MAHASISWA
WHERE IPK IN (2.00, 2.50, 3.00, 3.50);
QUERIES
EXIST digunakan untuk mengecek apakah suatu
atribut memiliki nilai.
• Contoh:
SELECT *
FROM WALI
WHERE JBT_FNG EXIST;

SELECT *
FROM MAHASISWA
WHERE ALAMAT EXIST;
QUERIES
DISTINCT digunakan untuk menghilangkan duplikasi
pada saat menampilkan data.
• Contoh:
SELECT DISTINCT JBT_FNG FROM WALI
SELECT DISTINCT NILAI FROM NILAIMHS

TOP n digunakan untuk menampilkan data sebanyak n


baris pertama.
• Contoh:
SELECT TOP 10 NAMA, NIP FROM WALI
SELECT TOP 10 NOMHS, NAMA, IPK FROM MAHASISWA
QUERIES
GROUP BY digunakan untuk mengelompokkan data
berdasarkan item tertentu.
• Contoh:
SELECT KD_BARANG, SUM(STOCK)
FROM BARANG GROUP BY KD_BARANG
SELECT KD_BARANG, HARGA, SUM(STOCK)
FROM BARANG WHERE HARGA<=5000
GROUP BY KD_BARANG, HARGA
HAVING digunakan untuk memfilter baris-baris hasil
dari pengelompokkan.
SELECT KD_BARANG, HARGA, SUM(STOCK)
FROM BARANG GROUP BY KD_BARANG, HARGA
HAVING SUM(STOCK)<=10
QUERIES

 Fungsi-fungsi aggregate yang biasa


digunakan:
SUM()
AVG()
COUNT(*)
MAX()
MIN()
Contoh tabel keterhubungan (1)
MHS

NPM Nama Alamat


10296832 Nurhayati Jakarta
10296126 Astuti Jakarta
31296500 Budi Depok
41296525 Prananingrum Bogor

50096487 Pipit Bekasi


21196353 Quraish Bogor

Basis Data Relasional


Contoh tabel keterhubungan (2)
MKUL
KDMK MTKULIAH SKS

KK021 P. Basis Data 2

KD132 SIM 3

KU122 Pancasila 2

Basis Data Relasional


Contoh tabel keterhubungan (3)
NILAI

NPM KDMK MID FINAL

10296832 KK021 60 75

10296126 KD132 70 90

31296500 KK021 55 40

41296525 KU122 90 80

21196353 KU122 75 75

50095487 KD132 80 0

10296832 KD132 40 30

Basis Data Relasional


LATIHAN
Bagaimana Perintah SQL untuk :
1. Membuat tabel MHS
2. Memasukkan data pada tabel MKUL
3. Menampilkan data mahasiswa yang tinggal di Jakarta
4. Menampilkan data mahasiswa yang nama mahasiswa berawalan
huruf B
5. Menampilkan data mata kuliah yang mempunyai sks = 3
6. Menampilkan data mata kuliah yang nama mata kuliah
berawalan huruf P

Anda mungkin juga menyukai