Structured Query Language Pengantar Komputer Pengenalan SQL Berfungsi

Structured Query Language Pengantar Komputer

Pengenalan 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 Numeric Format NUMBER(Panjang, Des) INTEGER SMALLINT DECIMAL(Panjang, Des) Character CHAR(Panjang) VARCHAR(Panjang)

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. WALI 1 Membimbing M Gambar 3. 1. 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 Tabel 3. 1. Kamus Data untuk Basis Data PERWALIAN

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 atribut 1 dan karakteristik atribut 1, nama atribut 2 dan karakteristik atribut 2, nama atribut 3 dan karakteristik atribut 3, primary key, foreign key>);

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

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

Manajemen Data Dasar Pemasukan Data INSERT INTO <nama tabel> VALUES(harga atribut 1, ● harga atribut 2, . . 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

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 digunakan: SUM() AVG() COUNT(*) MAX() MIN() aggregate yang biasa

Contoh tabel keterhubungan (1) MHS NPM 10296832 10296126 31296500 41296525 Nama Nurhayati Astuti Budi Prananingrum Alamat Jakarta Depok Bogor 50096487 21196353 Pipit Quraish Bekasi Bogor Basis Data Relasional

Contoh tabel keterhubungan (2) MKUL KDMK MTKULIAH SKS KK 021 P. Basis Data 2 KD 132 SIM 3 KU 122 Pancasila 2 Basis Data Relasional

Contoh tabel keterhubungan (3) NILAI NPM KDMK MID FINAL 10296832 KK 021 60 75 10296126 KD 132 70 90 31296500 KK 021 55 40 41296525 KU 122 90 80 21196353 KU 122 75 75 50095487 KD 132 80 0 10296832 KD 132 40 30 Basis Data Relasional
- Slides: 33