360 likes | 531 Views
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
E N D
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 M WALI 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
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 INTEGER(2) NOT NULL UNIQUE, • NIP CHAR(9) NOT NULL, • NAMA VARCHAR(24) NOT NULL, • JBT_FNG VARCHAR(15) • PRIMARY KEY (KD_WALI));
Basis 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);
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
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()
NPM Nama Alamat 10296832 Nurhayati Jakarta 10296126 Astuti Jakarta 31296500 Budi Depok 41296525 Prananingrum Bogor 50096487 Pipit Bekasi 21196353 Quraish Bogor Contoh tabel keterhubungan (1) MHS Basis Data Relasional
KDMK MTKULIAH SKS KK021 P. Basis Data 2 KD132 SIM 3 KU122 Pancasila 2 Contoh tabel keterhubungan (2) MKUL Basis Data Relasional
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 Contoh tabel keterhubungan (3) NILAI Basis Data Relasional
Basis Data 3 LATIHAN • Bagaimana Perintah SQL untuk : • Membuat tabel MHS • Memasukkan data pada tabel MKUL • Menampilkan data mahasiswa yang tinggal di Jakarta • Menampilkan data mahasiswa yang nama mahasiswa berawalan huruf B • Menampilkan data mata kuliah yang mempunyai sks = 3 • Menampilkan data mata kuliah yang nama mata kuliah berawalan huruf P
Basis Data 3 QUERIES