1 of 37

Mata Kuliah : BASIS DATA�Minggu ke 7

2 of 37

Tujuan Perkuliahan

Mahasiswa mampu mendesain SQL (Structured Query Language).

3 of 37

Materi Pembelajaran

  • Pengantar SQL (Structured Query Language).
  • DDL dan DML.
  • Keyword khusus di SQL.

4 of 37

  • Merupakan bahasa query standar.
  • Digunakan mengakses basis data relasional.
  • Pertama kali diterapkan pada sistem R (sebuah riset pada laboratorium di San Jose, IBM).
  • Dapat digunakan baik secara stand alone maupun dilekatkan pada bahasa pemrograman lainya.

Apa itu SQL?

5 of 37

  • SQL ->sebagai bahasa query sebenarnya tidak tepat karena kemampuannya tidak hanya sebatas query (memperoleh data) saja.
  • Kemampuan : pendefinisian sruktur data, pengubahan data, pengaturan sekuritas dll.
  • SQL-> sebagai sub-bahasa, karena tidak mendukung persyaratan bahasa yang lengkap (walaupun dapat digunakan untuk mengkases data).
  • Kemampuan yang tidak ada : pengujian kondisi (IF), dan pengulangan (REPEAT).

SQL Sebagai Subbahasa

6 of 37

  • Penggunaan SQL cukup luas, dapat digunakan oleh (DBA, programmer, atau user).
  • SQL sebagai bahasa administrasi data. Dipakai oleh DBA untuk menciptakan, mengendalikan, pengaksesan basis data.
  • SQL sebagai bahasa query interaktif. Pengguna dapat memberikan perintah-perintah untuk mengakses basis data sesuai kebutuhannya.
  • SQL sebagai bahasa pemrograman basis data. Programer dapat menggunakan perintah SQL dalam program aplikasi yang dibuat guna mengakses basis data.
  • SQL sebagai bahasa Client/Server. Sebuah client dapat menjalankan suatu aplikasi yang mengakses basis data yang ada dalam server.

Antarmuka SQL terhadap DBMS

7 of 37

Elemen SQL

Elemen dasar mencakup :

    • Pernyataan,
    • Nama,
    • Tipe Data,
    • Konstanta,
    • Ekspresi
    • Fungsi Bawaan

8 of 37

Perintah SQL

  • ALTER-> Mengubah struktur tabel
  • COMMIT->Mengakhiri eksekusi transaksi
  • CREATE->Menciptakan tabel, indeks, atau view
  • DELETE->Menghapus baris pada tabel
  • DROP->Menghapus tabel, indeks atau view
  • GRANT->Memberikan hak akses terhadap basis data kepada pengguna
  • INSERT->Menambah baris pad tabel
  • SELECT->Memilih baris dan kolom dalam tabel
  • UPDATE->Mengubah nilai pada baris.
  • REVOKE->Membatalkan hak terhadap basis data
  • ROLLBACK->Mengembalikan transaksi ke keadaan semula.

9 of 37

Tipe Data

Tipe data Standar

    • CHAR-> Menyatakan deretan String. Misal untuk menyatakan nama orang, nama jalan, nama kota
    • INTEGER-> Menyatakan bilangan bulat
    • NUMERIC->Menyatakan bilangan pecahan.

Tipe data Perluasan

    • VARCHAR->Menyatakan string yang panjangnya bervariasi
    • MONEY->Menyatakan uang
    • BOOLEAN->Menyatakan tipe logis (True atau False)
    • BLOB->Menyatakan data biner (gambar, suara dls)
    • SERIAL atau AUTOINCREMENT->Menyatakan nilai urut.

10 of 37

Tipe Data

11 of 37

Konstanta

  • Menyatakan nilai yang tetap
  • Kebalikannya adalah variabel
  • Contoh konstanta :
    • Konstanta numerik : 100, -245, 5.75
    • Konstanta :’Jl. Mayjend Bambang Soegeng’
    • Konstanta simbolik (disediakan SQL) : SYSDATE (tanggal sistem), USER (nama pengguna yang menjalankan SQL).

12 of 37

Ekspresi

  • Adalah sesuatu yang menghasilkan nilai
  • Digunakan untuk menghitung nilai :
  • Contoh : (LABA/MODAL)*100
  • Merupakan ekspresi untuk membagi variabel LABA dibagi MODAL dikalikan 100

13 of 37

Simbol Ekspresi Aritmatika

14 of 37

Fungsi Bawaan

  • Adalah suatu sub program yang menghasilkan suatu nilai jika dipanggil
  • Contoh :
    • MIN digunakan untuk menentukan nilai terkecil
    • MAX digunakan untuk menentukan nilai terbesar
    • AVG digunakan untuk menentukan nilai rata-rata.

15 of 37

  • DDL (Data Definition Language)
  • DML (Data Manipulation Language)
  • DCL (Data Control Language)
  • Pengendalian Transaksi
  • Pengendalian Programatik

Kelompok Pernyataan SQL

16 of 37

  • Kelompok perintah untuk mendefinisikan atribut-atribut basis data, tabel, kolom, batasan-batasan terhadap suatu atribut serta hubungan antar tabel
  • Contoh :
    • CREATE
    • ALTER
    • DROP

DDL (Data Definition Language)

17 of 37

  • Kelompok perintah untuk memanipulasi data dalam basis data.
  • Misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data :
  • Contoh :
    • SELECT
    • INSERT
    • DELETE
    • UPDATE

DML (Data Manipulation Language)

18 of 37

  • Berisi perintah untuk mengendalikan pengaksesan data.
  • Pengendalian dapat dilakukan per pengguna, per tabel, per kolom maupun per opersi yang boleh dilakukan.
  • Contoh :
    • GRANT
    • REVOKE
    • LOCK TABLE

DCL (Data Control Language)

19 of 37

  • Diguakan untuk mengendalikan eksekusi transaksi
  • Contoh :
    • COMMIT
    • ROLLBACK

Pengendalian Transaksi

20 of 37

  • Mencakup pernyataan-pernyataan yang berhubungan dengan pernyataan SQL dalam bahasa lain
  • Misalnya yang digunakan bersama perintah bahasa COBOL
  • Contoh :
    • DECLARE
    • OPEN
    • CLOSE

Pengendalian Programatik

21 of 37

  • Penulisan SQL pada berbagai DBMS sangat bervariasi
  • Ada beberapa DBMS yang hanya mendukung beberapa perintah SQL
  • Contoh penulisan :
    • SELECT * FROM tblpengarang
    • SELECT * FROM tblpengarang;
    • SELECT * ;

FROM tblpengarang

Bekerja dengan SQL

22 of 37

  • Untuk masuk ke dalam program MySQL pada prompt jalankan perintah berikut ini:
    • C:\> MYSQL (Enter)
  • Selanjutnya akan masuk tampilan sebagai berikut :

Antar muka MySQL (1)

23 of 37

Antar muka MySQL (2)

24 of 37

Contoh Pengimplementasian

kd_peng

nama

alamat

kota

kelamin

kd_buku

judul

kd_peng

tblbuku

tblpengarang

25 of 37

  • Membuat database baru :
    • create database namadatabase;
    • CREATE DATABASE Buku
  • Menampilkan Database
    • SHOW DATABASES;
  • Membuka sebuah Database
    • use namadatabase;
    • USE Buku;

Menciptakan Database dan Tabel

26 of 37

  • Perintah untuk membuat tabel baru adalah:
  • create table namatabel (struktur);
  • Contoh :
    • Menciptakan Tabel Pengarang
    • CREATE TABLE tblpengarang(

kd_peng INTEGER,

nama CHAR(15),

alamat CHAR(30),

kota CHAR(15),

kelamin CHAR(1));

Menciptakan Database dan Tabel

27 of 37

Menciptakan tabel buku

    • CREATE TABLE tblbuku(

kd_buku INTEGER NOT NULL,

judul CHAR(30),

kd_peng INTEGER,

PRIMARY KEY (kd_buku),

FOREIGN KEY (kd_peng));

  • Menampilkan daftar Tabel
    • SHOW TABLES

Menciptakan Database dan Tabel

28 of 37

  • Untuk memasukkan sebuah baris (record) kedalam tabel MySQL adalah sebagai berikut:
    • INSERT INTO namatabel VALUES(kolom1, kolom2, kolom3,…);
  • Contoh :
    • INSERT INTO tblpengarang VALUES (1, 'Ashadi', 'Jl. Beo 34', 'Yogya', 'P');

Mengisi Data

29 of 37

  • Isi tabel dapat ditampilkan dengan menggunakan perintah SELECT
  • Untuk melihat semua kolom dari suatu tabel:
    • SELECT * FROM tblpengarang;
  • Untuk melihat kolom(-kolom) tertentu:
    • SELECT nama FROM tblpengarang;
    • SELECT judul,kd_peng FROM tblbuku
  • Secara umum:
    • SELECT <nama kolom,...> FROM <nama tabel>;

Menampilkan Isi Tabel

30 of 37

  • Digunakan kata WHERE
  • Digunakan untuk membatasi hasil SELECT yang ditampilkan berdasarkan kondisi yang ditentukan.
  • Contoh:
    • SELECT nama FROM tblpengarang�WHERE nama = 'Amir Hamzah';
    • SELECT nama, alamat FROM tblpengarang
    • WHERE kota= “Yogya”;
  • Bisa menggunakan >, <, <> (atau !=), >=, <=

Menampilkan Data Tertentu

31 of 37

  • Table peserta
    • nopeserta integer,
    • nama varchar(20),
    • kode_instansi char(5) references instansi,
    • prestasi integer
  • Table instansi
    • kode_instansi char(5),
    • nama_instansi char(30),
    • constraint fk_instansi primary key (kode_instansi));

Struktur Tabel

32 of 37

  • Data Peserta
  • (1,'Dora','PLN',98);
  • (2,'Momon','PLN',80);
  • (3,'Arbi','BRI',90);
  • (4,'Yoni','BRI',90);
  • (5,'Doni','POS',80);

Isi Data

33 of 37

  • Data Instansi
    • ('PLN', 'Perusahaan Listrik Negara');
    • ('BRI', 'Bank Rakyat Indonesia');
    • ('POS', 'PT. Pos Indonesia');

Isi Data

34 of 37

  • Untuk menampilkan data dari 2 tabel
  • Select tabel1.namafield, tabel2.namafield
  • From tabel1, tabel2
  • Where tabel1.pk = tabel2.fk

Operasi JOIN

35 of 37

  • select nama, prestasi, intansi.nama_instansi
  • from peserta, instansi
  • where peserta.kode_instansi=instansi.kode_instansi;

JOIN

36 of 37

  • select nama, prestasi, i.nama_instansi
  • from peserta p, instansi i
  • where p.kode_instansi=i.kode_instansi;

Menggunakan Alias

37 of 37