basis data
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
11Basis Data
Structured Query Language (SQL)
Bab 3
Sistem Basis Data : Perancangan, Implementasi dan Manajemen
11Basis Data
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.
Pengenalan SQLPengenalan SQL
33Basis Data
Tipe Data SQL Tipe Data SQL
Numeric NUMBER(Panjang,Des)INTEGERSMALLINTDECIMAL(Panjang,Des)
Character CHAR(Panjang)VARCHAR(Panjang)
Date DATE
Tipe Data Format
33Basis 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.
Perintah Definisi DataPerintah Definisi Data
WALI Membimbing MAHASISWA
Gambar 3.1.Gambar 3.1. Relasi antara WALI dan MAHASISWA
1 M
33Basis 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 DataPerintah Definisi Data
33Basis Data
Perintah Definisi DataPerintah Definisi Data
NamaTabel
NamaAtribut
Uraian Tipe Format Range PK/FK
TabelRef.
Mahasiswa Nomhs Nomor mhs Char(9) 999999999 PKNama Nama mhs Varchar(22) XxxxxxxxxSKS Jumlah SKS Byte 99 12-24IPK IP.Kumulatif Number(4,2) 9.99 0.00-4.00Kd_Wali Kode wali Number(2) 99 1-99 FK Wali
Wali Kd_Wali Kode wali Number(2) 99 1-99 PKNIP No. Pegawai Char(9) 999999999Nama Nama wali Varchar(24) XxxxxxxxxJbt_Fng Fungsional Varchar(15) Xxxxxxxxx
Tabel 3.1. Kamus Data untuk Basis Data PERWALIAN
33Basis Data
Membuat Struktur Basis Data
CREATE SCHEMA AUTORIZATION <creator>;
Contoh:CREATE SCHEMA AUTORIZATION RONALD;
CREATE DATABASE <nama database>;
Contoh:CREATE DATABASE PERWALIAN;
Perintah Definisi DataPerintah Definisi Data
33Basis 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>);
Perintah Definisi DataPerintah Definisi Data
33Basis 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));
Perintah Definisi DataPerintah Definisi Data
33Basis 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 DataPerintah Definisi Data
33Basis Data
Batasan Integritas SQL Integritas Entitas
PRIMARY KEY (Kunci Utama) NOT NULL and UNIQUE
Integritas Referensial FOREIGN KEY ON DELETE ON UPDATE
Perintah Definisi DataPerintah Definisi Data
33Basis Data
Perintah SQLPerintah SQL
Perintah Penjelasan
INSERT Berfungsi untuk memasukkan data awal pada tabel ataudapat juga untuk menambah data.
SELECT Berfungsi untuk menampilkan isi satu tabel atau beberapatabel sekaligus.
COMMIT Berfungsi untuk menyimpan hasil pekerjaan kedalammedia penyimpan (disk).
UPDATE Berfungsi untuk melakukan perubahan data.
DELETE Berfungsi untuk menghapus satu atau beberapa baris isitabel.
ROLLBACK Berfungsi untuk mengembalikan isi tabel basis data kebentuk aslinya, berdasarkan perintah COMMIT yangterakhir kali dilakukan.
Tabel 3.2. Cakupan Perintah SQL
33Basis Data
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);
Manajemen Data DasarManajemen Data Dasar
33Basis Data
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 DasarManajemen Data Dasar
33Basis Data
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 DasarManajemen Data Dasar
33Basis Data
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;
Manajemen Data DasarManajemen Data Dasar
33Basis Data
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’;
QUERIESQUERIES
33Basis Data
QUERIESQUERIES
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;
33Basis Data
QUERIESQUERIES
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;
33Basis Data
QUERIESQUERIES
• 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.
33Basis Data
QUERIESQUERIES
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;
33Basis Data
QUERIESQUERIES
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;
33Basis Data
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%;
QUERIESQUERIES
33Basis Data
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);
QUERIESQUERIES
33Basis Data
EXIST digunakan untuk mengecek apakah suatu atribut memiliki nilai.
Contoh:
SELECT *
FROM WALI
WHERE JBT_FNG EXIST;
SELECT *
FROM MAHASISWA
WHERE ALAMAT EXIST;
QUERIESQUERIES
33Basis Data
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
QUERIESQUERIES
33Basis Data
QUERIESQUERIESGROUP 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
33Basis Data
QUERIESQUERIES
Fungsi-fungsi aggregate yang biasa digunakan:
SUM()
AVG()
COUNT(*)
MAX()
MIN()
Basis Data Relasional
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)
NILAINPM 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
33Basis Data
LATIHANLATIHAN
Bagaimana Perintah SQL untuk :1.Membuat tabel MHS2.Memasukkan data pada tabel MKUL3.Menampilkan data mahasiswa yang tinggal di Jakarta4.Menampilkan data mahasiswa yang nama mahasiswa berawalan huruf B5.Menampilkan data mata kuliah yang mempunyai sks = 36.Menampilkan data mata kuliah yang nama mata kuliah berawalan huruf P