No Slide Title

Download Report

Transcript No Slide Title

Basis Data
1
Bab 3
Structured Query Language (SQL)
Sistem Basis Data : Perancangan, Implementasi
dan Manajemen
Basis Data
1
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.
Basis Data
3
Tipe Data SQL
Tipe Data
Format
Numeric
NUMBER(Panjang,Des)
INTEGER
SMALLINT
DECIMAL(Panjang,Des)
Character
CHAR(Panjang)
VARCHAR(Panjang)
Date
DATE
Basis Data
3
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
WALI
M
Membimbing
MAHASISWA
Gambar 3.1. Relasi antara WALI dan MAHASISWA
Gambar 3.1.
Basis Data
3
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
Basis Data
3
Perintah Definisi Data
Tabel 3.1. Kamus Data untuk Basis Data PERWALIAN
Nama
Tabel
Nama
Atribut
Mahasiswa Nomhs
Nama
SKS
IPK
Kd_Wali
Wali
Kd_Wali
NIP
Nama
Jbt_Fng
Uraian
Tipe
Format
Nomor mhs
Nama mhs
Jumlah SKS
IP.Kumulatif
Kode wali
Char(9)
Varchar(22)
Byte
Number(4,2)
Number(2)
999999999
Xxxxxxxxx
99
9.99
99
Kode wali
No. Pegawai
Nama wali
Fungsional
Number(2)
Char(9)
Varchar(24)
Varchar(15)
99
999999999
Xxxxxxxxx
Xxxxxxxxx
Range PK/ Tabel
FK Ref.
PK
12-24
0.00-4.00
1-99
FK
1-99
PK
Wali
Basis Data
3
Perintah Definisi Data
 Membuat Struktur Basis Data
CREATE SCHEMA AUTORIZATION <creator>;
 Contoh:
CREATE SCHEMA AUTORIZATION RONALD;
CREATE DATABASE <nama database>;
 Contoh:
CREATE DATABASE PERWALIAN;
Basis Data
3
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>);
Basis Data
3
Perintah Definisi Data

Contoh:
CREATE TABEL WALI
(KD_WALI
NIP
NAMA
INTEGER(2)
CHAR(9)
VARCHAR(24)
JBT_FNG
VARCHAR(15)
PRIMARY KEY (KD_WALI));
NOT NULL
NOT NULL,
NOT NULL,
UNIQUE,
Basis Data
3
Perintah Definisi Data

Contoh:
CREATE TABEL MAHASISWA
(NOMHS
CHAR(9)
NAMA
VARCHAR(22)
SKS
INTEGER(2)
IPK
DECIMAL(4,2)
KD_WALI
INTEGER(2)
PRIMARY KEY (NOMHS),
NOT NULL
NOT NULL,
NOT NULL,
NOT NULL,
NOT NULL,
FOREIGN KEY KD_WALI (KD_WALI)
REFERENCES WALI ON DELETE RESTRICT
ON UPDATE CASCADE);
UNIQUE,
Basis Data
3
Perintah Definisi Data
 Batasan Integritas SQL
 Integritas Entitas
 PRIMARY KEY (Kunci Utama)
 NOT NULL and UNIQUE
 Integritas Referensial
 FOREIGN KEY
 ON DELETE
 ON UPDATE
Basis Data
3
Perintah SQL
Tabel 3.2. Cakupan Perintah SQL
Perintah
INSERT
SELECT
COMMIT
Penjelasan
Berfungsi untuk memasukkan data awal pada tabel atau
dapat juga untuk menambah data.
Berfungsi untuk menampilkan isi satu tabel atau beberapa
tabel sekaligus.
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.
Berfungsi untuk mengembalikan isi tabel basis data ke
bentuk aslinya, berdasarkan perintah COMMIT yang
terakhir kali dilakukan.
ROLLBACK
Basis Data
3
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);
Basis Data
3
Form Input Data Wali
Gambar 3.1. Form input data wali
Gambar 3.1.
Basis Data
3
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;
Basis Data
3
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;
Basis Data
3
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;
Basis Data
3
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’;
Basis Data
3
QUERIES
Mathematical Operators
Basis Data
3
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;
Basis Data
3
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;
Basis Data
3
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.
Basis Data
3
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;
Basis Data
3
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;
Basis Data
3
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%;
Basis Data
3
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);
Basis Data
3
QUERIES
EXIST digunakan untuk mengecek apakah suatu
atribut memiliki nilai.
 Contoh:
SELECT *
FROM WALI
WHERE JBT_FNG EXIST;
SELECT *
FROM MAHASISWA
WHERE ALAMAT EXIST;
Basis Data
3
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
Basis Data
3
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
Basis Data
3
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
Basis Data
3
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
Basis Data
3
QUERIES