Konsep Sistem Informasi B
BAB 2 - SQL Overview
Summary – Definisi SQL – Komponen-Komponen SQL – Latihan
What is?
Introduction SQL – Structured Query Language adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. – Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional.
Introduction SQL – SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada labororatorium riset San Jose, IBM). – Kini SQL juga dijumpai pada berbagai platform, dari mikrokomputer hingga mainframe.
Introduction SQL – SQL dapat digunakan baik secara berdiri sendiri maupun dilekatkan pada bahasa-bahasa lain seperti C dan Delphi, serta PHP. – SQL juga telah menjadi bagian dari sejumlah DBMS, seperti Oracle, Sybase, MySQL dan Informix.
Introduction SQL – SQL diambil sebagai bakuan sejak tahun 1992. – Awalnya diterapkan pada DBMS besar seperti Oracle dan Informix, sekarang juga pada DBMS berbasis PC seperti dBASE dan FoxPro.
Introduction SQL – SQL bersifat sebagai bahasa tingkat tinggi (high level language) karena bahasa yang digunakan sudah bahasa yang dimengerti oleh manusia (English).
Komponen SQL
Komponen SQL – Menurut (http://www.sqa.org.uk) – SQL terbagi ke dalam 3 komponen: 1. Data Definition Language(DDL)
2. Data Manipulation Language (DML) 3. Data Control Language (DCL)
DDL
Data Definition Language – This component of the SQL language is used to create and modify tables and other objects in the database. – DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel.
Data Definition Language – For tables there are three main commands: 1. CREATE TABLE tablename to create a table in the database 2. DROP TABLE tablename to remove a table from the database 3. ALTER TABLE tablename to add or remove columns from a table in the database
Data Definition Language – Membuat Database – Syntax : CREATE DATABASE namadatabase; Note: nama database tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antar database
Data Definition Language – Example :
– Bagaimana jika ingin menampilkan daftar nama database yang ada pada SQL?
Data Definition Language – Gunakan perintah : – SHOW DATABASES;
Data Definition Language – Menghapus Database – Syntax : DROP DATABASE namadatabase;
Data Definition Language – Menggunakan Database – Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel. – syntax : USE namadatabase;
Data Definition Language – Membuat Database – syntax : CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, … , )
Data Definition Language – Membuat Database – Nama tabel tidak boleh mengandung spasi (space). – Field1 dan TipeData 1 merupakan nama kolom pertama dan tipe data untuk kolom pertama.
– Jika ingin membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,).
Data Definition Language – Membuat Tabel – Example :
– Bagaimana kalau ingin melihat Semua Tabel?
Data Definition Language – Menampilkan Tabel – Example : SHOW TABLES;
– Bagaimana jika ingin menampilkan deskripsi tabel?
Data Definition Language – Deskripsi Tabel – Example : DESC TABLES;
Data Definition Language – Menghapus Tabel – Fungsi ini akan menghapus tabel sesuai dengan nama tabel – Syntax : DROP TABLE namatabel;
Data Definition Language – Menghapus Tabel – Example :
Data Definition Language – Mendefinisikan Primary Key Pada Tabel – Primary key digunakan sebagai kunci utama dari setiap tabel yang dimana untuk menandakan bahwa field tersebut merupakan kunci yang unik sebagai pembeda dari satu record ke record lainnya.
Data Definition Language – Mendefinisikan Primary Key Pada Tabel – Ada 3 cara untuk mendefinisikan primary key.
1
CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL PRIMARY KEY, Field2 TipeDat2 );
Data Definition Language – Mendefinisikan Primary Key Pada Tabel – Ada 3 cara untuk mendefinisikan primary key. CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeDat2, PRIMARY KEY(Field1) );
2
Data Definition Language – Mendefinisikan Primary Key Pada Tabel – Ada 3 cara untuk mendefinisikan primary key.
3 ALTER TABLE namatabel ADD CONSTRAINT namacontraint PRIMARY KEY (namakolom);
Data Definition Language – Mendefinisikan Primary Key Pada Tabel – Example :
1
Data Definition Language – Mendefinisikan Primary Key Pada Tabel – Example :
2
Data Definition Language – Mendefinisikan Primary Key Pada Tabel – Example :
3
Data Definition Language – Menghapus Primary Key Pada Tabel – Ada 2 cara untuk menghapus Primary Key pada Tabel
Data Definition Language – Menghapus Primary Key Pada Tabel 1. Jika Primary Key dibuat dengan menggunakan alter table
Syntax : ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;
Data Definition Language – Menghapus Primary Key Pada Tabel 2. Jika Primary Key dibuat melalui create table Syntax : ALTER TABLE namatabel DROP PRIMARY KEY; Example:
Data Definition Language – Manambah Kolom Baru Pada Tabel – Ini digunakan untuk menambah field/kolom baru ke dalam suatu tabel, jika diperlukan. Syntax : ALTER TABLE namatabel ADD fieldbaru tipedata;
Data Definition Language – Manambah Kolom Baru Pada Tabel – Namatabel adalah nama tabel yang akan ditambah fieldnya.
– Fieldbaru adalah nama kolom yang akan ditambahkan. – Tipedata adalah tipe data dai kolom yang akan ditambahkan.
Data Definition Language – Manambah Kolom Baru Pada Tabel – Example:
Data Definition Language – Mengubah Tipe Data atau Lebar Kolom Pada Tabel – Syntax: ALTER TABLE namatabel MODIFY COLUMN field tipe
Data Definition Language – Mengubah Tipe Data atau Lebar Kolom Pada Tabel
– Namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. – Field adalah kolom yang akan diubah tipe data atau lebarnya. – Tipe adalah tipe data baru atau tipe data lama dengan lebar kolom yang berbeda.
Data Definition Language – Mengubah Tipe Data atau Lebar Kolom Pada Tabel – Example:
Data Definition Language – Mengubah Nama Kolom – Syntax: ALTER TABLE namatabel CHANGE COLUMN nama_lama_kolom nama_baru_kolom tipedata;
Data Definition Language – Mengubah Nama Kolom – Namatabel adalah nama tabel yang akan diubah nama kolomnya. – Nama_lama_kolom : kolom yang akan diganti namanya.
– Nama_baru_kolom : nama baru kolom – Tipedata : Tipe data dari kolom tersebut.
Data Definition Language – Mengubah Nama Kolom – Example :
Data Definition Language – Menghapus Kolom Pada Tabel – Syntax: ALTER TABLE namatabel DROP COLUMN namakolom;
Data Definition Language – Menghapus Kolom Pada Tabel – Example :
Data Definition Language – Mendefinisikan Foreign Key Pada Tabel – Foreign Key adalah kolom atau field pada suatu tabel yang berfungsi sebagai kunci tamu dari tabel lain.
– Foreign Key sangat berguna bila kita bekerja dengan banyak tabel yang saling berelasi satu sama lain.
Data Definition Language – Mendefinisikan Foreign Key Pada Tabel – Untuk mendefinisikan foreign key, maka harus dipastikan bahwa tabel dan atribut yang dirujuk (tabel induk dari foreign key) sudah didefinisikan terlebih dahulu.
Data Definition Language – Mendefinisikan Foreign Key Pada Tabel – Syntax:
1
CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, FOREIGN KEY (Field2) REFERENCES namatabelinduk (namakolominduk)ON UPDATE CASCADE ON DELETE NO ACTION )
Data Definition Language – Mendefinisikan Foreign Key Pada Tabel – Syntax:
2
ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION;
Data Definition Language – Mendefinisikan Foreign Key Pada Tabel – Example:
1
Data Definition Language – Mendefinisikan Foreign Key Pada Tabel – Example:
2
Data Definition Language – Menghapus Foreign Key – Syntax: ALTER TABLE namaconstraint;
namatabel
DROP
FOREIGN
KEY
Data Definition Language – Menghapus Foreign Key – Example:
DML
Data Manipulation Language – This component of the SQL language is used to manipulate data within a table. – There are four main commands:
Data Manipulation Language – SELECT to select rows of data from a table – INSERT to insert rows of data into a table – UPDATE to change rows of data in a table – DELETE to remove rows of data from a table
Data Manipulation Language – Insert – Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel. – Terdapat dua cara untuk menambah baris, yaitu:
Data Manipulation Language – Insert 1. Menambah baris dengan mengisi data pada setiap kolom
– Syntax: INSERT INTO namatabel VALUES (nilai1, nilai2, nilai-n);
Data Manipulation Language – Insert 2. Menambah baris dengan hanya mengisi data pada kolom tertentu
– Syntax: INSERT INTO namatabel VALUES (nilai1, nilai2, nilai-n)
(kolom1,kolom2,kolom-n)
Data Manipulation Language – Insert – Cara 1
Data Manipulation Language – Insert – Cara 2
– Note: Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka pemberian nilainya diapit dengan tanda petik tunggal horor atau petik ganda horor .
Data Manipulation Language – DELETE – Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau seluruh baris.
Data Manipulation Language – DELETE – Syntax: DELETE FROM namatabel [WHERE kondisi]; – Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu.
Data Manipulation Language – DELETE – Example : (Jika mempunyai data sebagai berikut)
Data Manipulation Language – DELETE – Example 1: – (Jika ingin menghapus seluruh baris pada tabel jenisfilm)
Data Manipulation Language – DELETE – Example 1:
Data Manipulation Language – DELETE – Example 2: – Jika ingin menghapus baris yang memiliki nilai 3000 pada kolom harga pada tabel jenisfilm maka perintahnya??
Data Manipulation Language – DELETE – Example 2:
Data Manipulation Language – DELETE – Example 3: – Jika ingin menghapus baris yang memiliki nilai drama pada kolom jenis pada tabel jenisfilm maka perintahnya ??
Data Manipulation Language – DELETE – Example 3:
Data Manipulation Language – UPDATE – Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beebrapa kolom suatu tabel.
Data Manipulation Language – UPDATE – Syntax: UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi]; – Note: Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi tertentu.
Data Manipulation Language – UPDATE – Example: (Jika dimiliki data sebagai berikut)
Data Manipulation Language – UPDATE – Example 1: – Bagaimana mengubah semua nilai pada kolom harga menjadi 2000?
Data Manipulation Language – UPDATE – Example 1:
Data Manipulation Language – UPDATE – Example 2: – Bagaimana mengubah nilai pada kolom harga menjadi 2500 dimana nilai pada kolom jenis adalah action?
Data Manipulation Language – UPDATE – Example 2:
Data Manipulation Language – SELECT – Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya.
Data Manipulation Language – SELECT 1. Menampilkan data untuk semua kolom menggunakan asterisk (*)
Syntax : SELECT * FROM namatabel;
Data Manipulation Language – SELECT 1. Menampilkan data untuk semua kolom menggunakan asterisk (*)
Data Manipulation Language – SELECT 2. Menampilkan data untuk kolom tertentu Syntax : SELECT kolom1, kolom2, kolom-n, FROM namatabel;
Data Manipulation Language – SELECT 2. Menampilkan data untuk kolom tertentu
DCL
Data Control Language – This component of the SQL language is used to create privileges to allow users access to, and manipulation of, the database.
Data Control Language – There are two main commands: – GRANT to grant a privilege to a user – REVOKE to revoke (remove) a privilege from a user
Data Control Language – GRANT – Perintah Grant untuk memberikan hak akses tabel dan view kepada user oleh Administrator.
– Perintah ini dapat diletakkan pada sebuah program aplikasi atau secara interaktif menggunakan prompt.
Data Control Language – GRANT – Untuk menentukan hak akses diperlukan syarat yaitu : – Menjadi pemilik objek – Mempunyai hak
Data Control Language
Data Control Language
– ALL atau ALL PRIVILEGES Memberikan semua hak akses yang dimiliki untuk semua tabel atau view yang ada pada klausa ON. – ALL PRIVILEGES pada tabel atau view != *ALL. Jika tidak menggunakan ALL maka dapat digunakan satu atau beberapa keyword di bawah ini :
– DELETE menggunakan peritantah DELETE – INDEX Menggunakan perintah CREATE INDEX. – INSERT Menggunakan perintah INSERT
– SELECT Menggunakan perintah SELECT – UPDATE Menggunakan perintah UPDATE
Data Control Language
– ON atau ON TABLE Table-name dan view-name adalah tabel atau view yang diberikan hak akses. – TO Menentukan kepada siapa hak akses diberikan – Auth-id Menyebutkan satu atau lebih identitas otorisasi (nama user). Tidak diijinkan menggunakan lebih dari satu nama user yang sama. – PUBLIC
Data Control Language
– Contoh : Grant ALL On Table Mahasiswa To Abi Note : Memberikan semua hak akses kepada user Abi pada tabel mahasiswa.
Grant SELECT On Table Mahasiswa To Ami Note : Memberikan hak akses Select kepada user Ami pada tabel mahasiswa.
Data Control Language
– Perintah REVOKE Perintah revoke akan mencabut hak akses pada tabel dan view dari user.
Data Control Language
Data Control Language
– Keterangan : – ALL atau ALL PRIVILEGES
Mencabut seluruh hak akses tabel untuk tabel dan view yang diinginkan. – Setiap kata kunci mencabut hak akses yang diinginkan, tetapi hanya untuk nama tabel dan view pada klausa ON.
– DELETE menggunakan perintah DELETE – INDEX menggunakan perintah CREATE INDEX. – INSERT Menggunakan perintah INSERT
– SELECT Menggunakan perintah SELECT – UPDATE Menggunakan perintah UPDATE
Data Control Language
– ON atau ON TABLE Satu atau lebih nama tabel atau view yang akan dicabut hak aksesnya. Penyebutan namanya dapat terdiri dari nama tabel, nama view atau gabungankeduanya.
Data Control Language
– FROM Menyebutkan dari siapa(nama user) hak akses tersebut akan dicabut – Auth-id Menyebutkan satu atau lebih identitas otorisasi (nama user). Tidak dijinkan menggunakan lebih dari satu nama user yang sama. – PUBLIC
Mencabut hak akses dari PUBLIC
Data Control Language
– Contoh : Revoke All On Table Mahasiswa From Abi Note : Mencabut semua hak akses tabel mahasiswa dari user Abi Revoke Insert On Table Mahasiswa from user01
Note: Mencabut hak akses insert tabel mahasiswa dari user01
End of File