basis data

33
1 Basis Data Structured Query Language (SQL) Bab 3 Sistem Basis Data : Perancangan, Implementasi dan Manajemen

Upload: abra-porter

Post on 03-Jan-2016

82 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: Basis Data

11Basis Data

Structured Query Language (SQL)

Bab 3

Sistem Basis Data : Perancangan, Implementasi dan Manajemen

Page 2: Basis Data

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

Page 3: Basis Data

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

Page 4: Basis Data

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

Page 5: Basis Data

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

Page 6: Basis 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

Page 7: Basis Data

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

Page 8: Basis 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

Page 9: Basis 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

Page 10: Basis 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

Page 11: Basis 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

Page 12: Basis 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

Page 13: Basis Data

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

Page 14: Basis Data

33Basis Data

Form Input Data WaliForm Input Data Wali

Gambar 3.1.Gambar 3.1. Form input data wali

Page 15: Basis Data

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

Page 16: Basis Data

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

Page 17: Basis Data

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

Page 18: Basis Data

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

Page 19: Basis Data

33Basis Data

Mathematical Operators

QUERIESQUERIES

Page 20: Basis Data

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;

Page 21: Basis Data

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;

Page 22: Basis Data

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.

Page 23: Basis Data

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;

Page 24: Basis Data

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;

Page 25: Basis Data

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

Page 26: Basis Data

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

Page 27: Basis Data

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

Page 28: Basis Data

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

Page 29: Basis Data

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

Page 30: Basis Data

33Basis Data

QUERIESQUERIES

Fungsi-fungsi aggregate yang biasa digunakan:

SUM()

AVG()

COUNT(*)

MAX()

MIN()

Page 31: Basis Data

33Basis Data

QUERIESQUERIES

Page 32: Basis Data

33Basis Data

QUERIESQUERIES

Page 33: Basis Data

33Basis Data

QUERIESQUERIES