320 likes | 466 Views
Basis Data. Bab 3. Structured Query Language (SQL). Basis Data. Tujuan. Mahasiswa dapat m enceritakan arti SQL , m enyebut perintah-perintah DDL dan menggunakannya. Basis Data. Pokok Bahasan.
E N D
Basis Data Bab 3 Structured Query Language (SQL)
Basis Data Tujuan Mahasiswa dapat menceritakan arti SQL, menyebut perintah-perintah DDL dan menggunakannya
Basis Data Pokok Bahasan SQL: Data definition Language1. CREATE DATABASE2. CREATE TABLE3. ALTER TABLE4. DROP TABLE5. CREATE INDEX
Basis 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.
Basis Data Tipe Data SQL Tipe Data Format Numeric NUMBER(Panjang,Des) INTEGER SMALLINT DECIMAL(Panjang,Des) Character CHAR(Panjang) VARCHAR(Panjang) Date DATE
Basis 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.
Basis 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
Basis Data Perintah Definisi Data Tabel 3.1. Kamus Data untuk Basis Data PERWALIAN
Basis Data 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 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 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 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 Perintah SQL Tabel 3.2. Cakupan Perintah SQL
Basis Data 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 QUERIES • Fungsi-fungsi aggregate yang biasa digunakan: SUM() AVG() COUNT(*) MAX() MIN()