Title: Basis Data
1Basis Data
Bab 3
Structured Query Language (SQL)
2Basis Data
Tujuan
Mahasiswa dapat menceritakan arti SQL, menyebut
perintah-perintah DDL dan menggunakannya
3Basis Data
Pokok Bahasan
SQL Data definition Language1. CREATE
DATABASE2. CREATE TABLE3. ALTER TABLE4. DROP
TABLE5. CREATE INDEX
4Basis Data
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.
5Basis Data
Tipe Data SQL
Tipe Data Format
Numeric NUMBER(Panjang,Des) INTEGER SMALLIN
T DECIMAL(Panjang,Des) Character CHAR(Panjang
) VARCHAR(Panjang) Date DATE
6Basis Data
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
Gambar 3.1. Relasi antara WALI dan MAHASISWA
Gambar 3.1.
7Basis Data
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
8Basis Data
Perintah Definisi Data
Tabel 3.1. Kamus Data untuk Basis Data PERWALIAN
9Basis Data
Perintah Definisi Data
- Membuat Struktur Basis Data
- CREATE SCHEMA AUTORIZATION ltcreatorgt
- Contoh
- CREATE SCHEMA AUTORIZATION RONALD
- CREATE DATABASE ltnama databasegt
- Contoh
- CREATE DATABASE PERWALIAN
10Basis Data
Perintah Definisi Data
- Membuat Struktur Tabel
- CREATE TABEL ltnama tabelgt(
- ltnama atribut1 dan karakteristik atribut1,
- nama atribut2 dan karakteristik atribut2,
- nama atribut3 dan karakteristik atribut3,
- primary key, foreign keygt)
11Basis Data
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))
12Basis Data
3
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)
13Basis Data
Perintah Definisi Data
- Batasan Integritas SQL
- Integritas Entitas
- PRIMARY KEY (Kunci Utama)
- NOT NULL and UNIQUE
- Integritas Referensial
- FOREIGN KEY
- ON DELETE
- ON UPDATE
14Basis Data
Perintah SQL
Tabel 3.2. Cakupan Perintah SQL
15Basis Data
Manajemen Data Dasar
- Pemasukan Data
- INSERT INTO ltnama tabelgt 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)
16Basis Data
3
Form Input Data Wali
Gambar 3.1. Form input data wali
Gambar 3.1.
17Basis Data
Manajemen Data Dasar
- Menyimpan Isi Tabel
- COMMIT ltnama tabelgt
- Contoh
- COMMIT WALI
- Menampilkan Isi Tabel
- SELECT ltdaftar atributgt FROM ltnama tabelgt
- WHERE ltkondisigt
- Contoh
- SELECT FROM WALI
18Basis Data
Manajemen Data Dasar
- Mengedit Isi Tabel
- UPDATE ltnama tabelgt
- SET ltatributgt ltharga barugt
- WHERE ltkondisigt
- Contoh
- UPDATE WALI SET KD_WALI7 WHERE KD_WALI5
- Mengembalikan Isi Tabel
- ROLLBACK
19Basis Data
Manajemen Data Dasar
- Menghapus Record (Baris Tabel)
- DELETE FROM ltnama tabelgt
- WHERE ltkondisigt
- Contoh
- DELETE FROM WALI WHERE KD_WALI2
- DELETE FROM WALI WHERE FUNGSIONALLektor
- DELETE FROM WALI WHERE NIP095067120
- DELETE FROM MAHASISWA WHERE IPKlt2.00
20Basis Data
QUERIES
- Menampilkan Sebagian Isi Tabel
- SELECT ltdaftar atributgt FROM ltnama tabelgt
- WHERE ltkondisigt
- Contoh
- SELECT NIP, NAMA FROM WALI
- WHERE JBT_FNGLektor
- SELECT KD_WALI, NIP FROM WALI
- WHERE JBT_FNGAsisten Ahli
21Basis Data
3
QUERIES
Mathematical Operators
22Basis Data
QUERIES
- Contoh
- SELECT KD_WALI, NIP, NAMA FROM WALI
- WHERE JBT_FNGltgtLektor
- SELECT NIP, NAMA, JBT_FNG FROM WALI
- WHERE KD_WALIgt5
- SELECT NOMHS, NAMA, SKS FROM MAHASISWA
- WHERE IPKgt2.5
- SELECT NOMHS, NAMA, IPK FROM MAHASISWA
- WHERE SKSlt18
23Basis Data
QUERIES
- Contoh
- SELECT NOMHS, NAMA, SKS FROM MAHASISWA
- WHERE IPKgt3.00 AND SKSgt20
- SELECT NOMHS, NAMA, IPK FROM MAHASISWA
- WHERE SKSlt18 OR IPKlt2.00
24Basis Data
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.
25Basis Data
QUERIES
- BETWEEN digunakan untuk menentukan range nilai
- Contoh
- SELECT
- FROM MAHASISWA
- WHERE IPK BETWEEN 2.00 AND 3.00
- SELECT
- FROM MAHASISWA
- WHERE IPKgt2.00 AND IPKlt 3.00
26Basis Data
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
27Basis Data
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
28Basis Data
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)
29Basis Data
QUERIES
- EXIST digunakan untuk mengecek apakah suatu
atribut memiliki nilai. - Contoh
- SELECT
- FROM WALI
- WHERE JBT_FNG EXIST
- SELECT
- FROM MAHASISWA
- WHERE ALAMAT EXIST
30Basis Data
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
31Basis Data
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 HARGAlt5000
- 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)lt10
32Basis Data
QUERIES
- Fungsi-fungsi aggregate yang biasa digunakan
- SUM()
- AVG()
- COUNT()
- MAX()
- MIN()