PERTEMUAN 9 SQL Structure Query Language Betha Nurina

PERTEMUAN 9 SQL (Structure Query Language) Betha Nurina Sari, M. Kom 1

SQL • Structure Query Language (SQL) merupakan komponen bahasa relational database system. • SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi himpunan (setoriented language). • SQL dapat digunakan baik secara interaktif atau ditempelkan (embedded) pada sebuah program aplikasi. 2

Tipe Data SQL Beberapa tipe data dalam SQL yang sering dipakai: Tipe Data Keterangan INT Angka -2147483648 s/d 2147483647 FLOAT Angka Pecahan DATE Tanggal Format: YYYY-MM-DD DATETIME Tanggal dan waktu format: CHAR String dan panjang tetap sesuai dg yg ditentukan, panjangnya 1 -255 karakter VARCHAR String dg panjang yg berubah-ubah sesuai dg yg disimpan saat itu. Panjangnya 1 -255 karakter BLOB Teks dg panjang maksimum 65535 karakter LONGBLOB Teks dengan panjang maksimum 4294967295 karakter 3

Komponen SQL 4

Komponen SQL Data Definition Language (DDL) • Digunakan untuk mendefinisikan data dengan menggunakan perintah : create, drop, alter. Data • Digunakan untuk memanipulasi data dengan menggunakan perintah : select, Manipulation Language (DML) insert, update, delete. Data Control Language (DCL) • Digunakan untuk mengontrol hak para pemakai data dengan perintah : grant, revoke 5

Data Definition Language (DDL) Create Alter Database Tabel Drop Database Tabel Index View 6

CREATE DATABASE • Pembuatan Database Sintaks : CREATE DATABASE nama_db ; Contoh : CREATE DATABASE FASILKOM ; 7

CREATE TABLE • Pembuatan Tabel Sintaks : CREATE TABLE nama_tabel (nama_kolom 1 type_kolom 1, nama_kolom 2 type _kolom 2, …); Contoh : CREATE TABLE MAHASISWA (NPM char(8) notnull, NAMA char(25) notnull, ALAMAT char(30) notnull); 8

Spesifikasi Data : NULL, NOT NULL WITH DEFAULT NULL : • dapat diinterpretasikan sebagai nilai yang tidak diketahui atau tidak tersedianya suatu nilai. Null bukan berarti kosong (blank) atau 0 (Nol) NOT NULL : • pemakai atau program harus memberikan nilai-nilai pada saat memasukkan record NOT NULL WITH DEFAULT : • nilai default disimpan pada saat record dimasukkan tanpa nilai yang ditentukan untuk kolom ini. 9

NOT NULL WITH DEFAULT : • Nilai default-nya : – Nol untuk tipe field NUMERIC – Blank untuk tipe field CHARACTER – CURRENT DATE untuk tipe field DATE – CURRENT TIME untuk tipe field TIME 10
![CREATE INDEX • Pembuatan Index Sintaks : CREATE [UNIQUE] INDEX nama_index ON nama_tabel (nama_kolom); CREATE INDEX • Pembuatan Index Sintaks : CREATE [UNIQUE] INDEX nama_index ON nama_tabel (nama_kolom);](http://slidetodoc.com/presentation_image_h2/ba941de2a003932f3ad6034396cc95fe/image-11.jpg)
CREATE INDEX • Pembuatan Index Sintaks : CREATE [UNIQUE] INDEX nama_index ON nama_tabel (nama_kolom); Contoh : CREATE UNIQUE INDEX ID_MHS ON MAHASISWA(NPM); 11

INDEX Dengan indeks memungkinkan suatu tabel untuk : • diakses dengan urutan tertentu tanpa harus merubah urutan fisik dari datanya • diakses secara cepat melalui indeks yang dibuat berdasar nilai field tertentu. 12
![CREATE VIEW • Pembuatan View Sintaks : CREATE VIEW nama_view [(nama_kolom 1, …, …)] CREATE VIEW • Pembuatan View Sintaks : CREATE VIEW nama_view [(nama_kolom 1, …, …)]](http://slidetodoc.com/presentation_image_h2/ba941de2a003932f3ad6034396cc95fe/image-13.jpg)
CREATE VIEW • Pembuatan View Sintaks : CREATE VIEW nama_view [(nama_kolom 1, …, …)] AS SELECT statement [WITH CHECK OPTION]; Contoh: CREATE VIEW MHSVIEW AS SELECT NPM, NAMA, JUR FROM MAHASISWA; 13

VIEW • View merupakan bentuk alternatif penyajian data dari satu atau lebih tabel. • View dapat berisi semua atau sebagian kolom yang terdapat pada tabel dimana kolom tersebut didefinisikan • Tujuan membuat view : – Meningkatkan keamanan data – Meningkatkan kemandirian data – Penyederhanaan bagi end user (data yang sedikit, nama kolom yang baru dan dapat dibaca dengan lebih baik) 14

ALTER TABLE • Merubah Struktur Tabel Sintaks : ALTER TABLE nama_tabel ADD (nama_kolom type_kolom [BEFORE nama_kolom]) MODIFY (nama_kolom type_kolom) DROP (nama_kolom type_kolom); contoh : ALTER TABLE MAHASISWA ADD(JK char(1)); 15

DROP • Sintaks : – DROP DATABASE nama_db; – DROP TABLE nama_tabel; – DROP INDEX nama_index; – DROP VIEW nama_view; • Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut otomatis akan dihapus atau tidak akan berfungsi seperti : – semua record dalam tabel akan terhapus – index dan view pada tabel akan hilang – deskripsi tabel akan hilang 16

DROP TABLE • Digunakan untuk menghapus relasi (tabel dasar) dan definisinya • Relasi yang dihapus tentu tidak dapat lagi dioperasikan dengan operasi SQL • Contoh: DROP TABLE MAHASISWA; 17

Data Manipulation Language (DML) Insert Delete Update Select 18

INSERT • FUNGSI : MENAMBAH BARIS (RECORD) BARU • Sintaks : INSERT INTO tbname (col 1, . . . ) VALUES (value 1, . . . ) Catatan : Sintaks tersebut dapat digunakan jika jumlah kolom = jumlah nilai, tetapi jika dalam tabel semua kolom akan diisi dapat digunakan sintaks berikut ini : • Sintaks : INSERT INTO tbname VALUES (value 1, value 2, . . . ) Nilai-nilai diisikan sebanyak kolom yang terdapat di tabel tersebut. 19

INSERT CONTOH : Insert into MAHASISWA (nim, nama, ttl, jk, alamat) values (“ 10106001”, ”Arya Santoso”, 1983 -12 -01, “l”, “Dago - Bandung”) atau Insert into MAHASISWA values (“ 10106001”, ”Arya Santoso”, 1983 -12 -01, “l”, “Dago Bandung”) 20

UPDATE • Fungsi : merubah record • Sintaks : UPDATE tbname SET field = ekspresi WHERE kondisi • Contoh : • UPDATE MAHASISWA SET Alamat = “Karawang” WHERE NPM = ‘ 14098' 21

DELETE • Fungsi : menghapus record • Sintaks : DELETE FROM tbname WHERE kondisi • Contoh : • DELETE FROM MAHASISWA – Hapus semua data dalam tabel Mahasiswa, namun struktur tabel tetap ada. • DELETE FROM MAHASISWA WHERE NPM='10312‘ – Hapus data mahasiswa pada tabel mahasiswa yang mempunyai nim ‘ 10312’ 22

SELECT • Perintah SQL dasar disebut mapping atau blok SELECT-FROM-WHERE • Sintaks umum SELECT : diikuti daftar atribut FROM : diikuti daftar tabel WHERE : diikuti dengan kondisi • Contoh : SELECT FROM MAHASISWA WHERE Alamat=“Karawang” 23

SELECT Contoh : • Tampilkan tanggal lahir dan alamat dari pegawai yang namanya ‘John Smith’ SELECT BDATE, ADDRESS FROM EMPLOYEE WHERE FNAME=’John’ AND LNAME=’Smith’ 24
![SELECT • Fungsi : menampilkan record • Sintaks : SELECT [DISTINCT] colname FROM tbname SELECT • Fungsi : menampilkan record • Sintaks : SELECT [DISTINCT] colname FROM tbname](http://slidetodoc.com/presentation_image_h2/ba941de2a003932f3ad6034396cc95fe/image-25.jpg)
SELECT • Fungsi : menampilkan record • Sintaks : SELECT [DISTINCT] colname FROM tbname [WHERE kondisi] [GROUP BY kondisi] [HAVING kondisi] [ORDER BY kondisi] 25

26

PENGGUNAAN DISTICT • SQL tidak memperlakukan relasi sebagai himpunan, sehingga tupel dapat terduplikasi. • Untuk menghilangkan tuple yang terduplikasi dalam relasi hasil query maka digunakan kata kunci DISTINCT. • Contoh : Query 10: SELECT GAJI FROM KARYAWAN Query 11: SELECT DISTINCT GAJI FROM KARYAWAN 27

Data Control Language (DCL) GRANT : Perintah ini digunakan untuk memberikan hak/izin akses oleh administrator server kepada user. • Hak akses berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus lainnya. REVOKE : Perintah ini menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator 28

GRANT • Sintaks umum : • GRANT hak_akses ON nama_tabel TO user; • GRANT ALL PRIVILAGES ON nama_db. * TO “user” IDENTIFIED BY “password” • Contoh : • GRANT SELECT ON MAHASISWA TO ANANDA; • GRANT ALL ON FASILKOM. * TO ADMIN; 29

REVOKE • Sintaks umum • REVOKE hak_akses ON nama_tabel FROM user; • REVOKE hak_akses ON nama_db. nama_tabel FROM user; • Contoh : • REVOKE SELECT ON FASILKOM. MAHASISWA FROM ANANDA; • REVOKE ALL ON FASILKOM. DOSEN FROM PUBLIC; 30

NEXT>>> SQL (2) 31
- Slides: 31