• Tidak ada hasil yang ditemukan

SQL OVERVIEW. Widio Riyanto. A. Definisi SQL

N/A
N/A
Protected

Academic year: 2021

Membagikan "SQL OVERVIEW. Widio Riyanto. A. Definisi SQL"

Copied!
18
0
0

Teks penuh

(1)

Konsep Sistem Informasi B

SQL OVERVIEW

A. Definisi SQL

SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama. SQL dapat diterapkan pada beberapa software diantaranya adalah: Dbase IV, Informix, AS-400, Access.

Jenis SQL

1. Interactive; langsung dapat dioperasikan.

2. Embedded; disisipkan ke dalam sebuah program (Cobol, C, Fortran).

B. Komponen-komponen SQL

a. Data Definition Language (DDL):

Digunakan untuk mendefinisikan data dengan menggunakan perintah: create, drop, alter. b. Data Manipulation Language (DML):

Digunakan untuk memanipulasi data dengan menggunakan perintah: select, insert, update, delete.

Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya dapat dibuat secara interaktif atau ditempelkan pada sebuah program aplikasi. Pemakai hanya perlu menentukan 'APA' yang ia inginkan, DBMS menentukan 'BAGAIMANA' cara mendapatkannya. c. Data Control Language (DCL):

Digunakan untuk mengontrol hak para pemakai data dengan perintah: grant dan revoke

Sebagai tambahan

d. Data Integrity RECOVER TABLE

(2)

Konsep Sistem Informasi B

Uraian:

Data Definition Language 1. CREATE DATABASE

Fungsi: membuat database

Sintaks: CREATE DATABASE nama_db; Contoh: CREATE DATABASE latihan;

Membuat database dengan nama latihan.

2. CREATE TABLE

Fungsi: membuat tabel

Sintaks: CREATE TABLE table_name (col 1 data type data spec,

col 2 data type data spec, .

.

PRIMARY KEY (col1,……)) Contoh :

CREATE TABLE PERSONEL (REGNO CHAR(10) NOT NULL, NAME CHAR(45) NOT NULL, ADDRESS CHAR(45),

BIRTH DATE NOT NULL WITH DEFAULT, PRIMARY KEY (REGNO));

NULL

Spesifikasi NULL, NOT 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. Nilai default-nya:

a. Nol untuk tipe field NUMERIC b. Blank untuk tipe field CHARACTER c. CURRENT DATE untuk tipe field DATE d. CURRENT TIME untuk tipe field TIME

Pada saat membuat tabel, salah satu atribut tersebut di atas dispesifikasikan pada sebuah kolom.

(3)

Konsep Sistem Informasi B

3. CREATE VIEW

Fungsi: membuat tabel 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:

a. Meningkatkan keamanan data b. Meningkatkan kemandirian data

c. Penyederhanaan bagi end user (data yang sedikit, nama-nama kolom yang baru dan dapat dibaca dengan lebih baik)

Properti:

a. Tidak terdapatnya data tambahan

b. View mencakup subset kolom dan atau baris

c. View dapat berisikan data dari beberapa tabel dan atau tabel-tabel view lainnya d. View dapat berisikan perolehan data, misal: nilai rata-rata

e. Manipulasi data melalui view terbatas

Sintaks: CREATE VIEW viewname (column1, column2, ……..) AS SELECT statement FROM tbname

[WITH CHECK OPTION] Keterangan:

View-name : nama view yang akan dibuat Column : nama atribut untuk view

Statement : atribut yang dipilih dari tabel basis data Tabel-name : nama tabel basis data

Contoh :

CREATE VIEW VPERSON (REGNO, NAME) AS

SELECT REGNO, NAME FROM PAUL.PERSONEL;

4. CREATE INDEX

Fungsi: membuat index

Sintaks: CREATE [UNIQUE] INDEX indexname ON nama_table (nama_kolom) Contoh:

Membuat index dengan nama PRSONIDX berdasarkan REGNO dari tabel PERSONEL CREATE UNIQUE INDEX PRSONIDX

ON PERSONEL(REGNO);

Dengan indeks memungkinkan suatu tabel diakses dengan urutan tertentu tanpa harus merubah urutan fisik dari datanya dan dapat pula diakses secara cepat melalui indeks yang dibuat berdasar nilai field tertentu. Spesifikasi UNIQUE akan menolak key yang sama dalam file.

5. DROP TABLE

Fungsi: menghapus tabel Sintaks: DROP TABLE tbname Contoh: DROP TABLE PERSONEL

Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut otomatis akan dihapus atau tidak akan berfungsi seperti:

(4)

Konsep Sistem Informasi B

6. DROP VIEW

Fungsi: menghapus view Sintaks: DROP VIEW viewname Contoh: DROP VIEW VPERSON;

7. DROP INDEX

Fungsi: menghapus index

Sintaks: DROP INDEX indexname Contoh: DROP INDEX PRSONIDX;

8. ALTER

Fungsi: merubah atribut pada suatu tabel Sintaks: ALTER TABLE tbname

MODIFY (nama_kolom tipe_kolom)

ADD (nama_kolom tipe_kolom [[before, nama_kolom]]) DROP (nama_kolom tipe_kolom)

Contoh: merubah Tabel TABX dengan menambah Field D. ALTER TABLE TABX

ADD D CHAR(3);

Contoh Kasus DDL:

a. Membuat tabel (CREATE TABLE)

1. CREATE TABLE S

(Sn Char(5) NOT NULL, Sname Char(20) NOT NULL, Status Smallint NOT NULL, City Char(15) NOT NULL); 2. CREATE TABLE P

(Pn Char(6) NOT NULL, Pname Char(20) NOT NULL, Color Char(6) NOT NULL, Weight Smallint NOT NULL); 3. CREATE TABLE SP

(Sn Char(5) NOT NULL, Pn Char(6) NOT NULL, QTY INTEGER NOT NULL); 4. CREATE UNIQUE INDEX Sidx ON S(Sn);

CREATE UNIQUE INDEX Pidx ON P(Pn); CREATE INDEX Sdx ON SP(Sn);

CREATE INDEX Pdx ON SP(Pn);

b. Modifikasi table P dengan perintah:

RENAME COLUMN P.COLOR TO WARNA

ALTER TABLE P ADD (City CHAR(15) NOT NULL); c. Membuat view (CREATE VIEW)

1. Membuat view untuk suplier yang statusnya lebih besar dari 15 CREATE VIEW GOOD_SUPPLIERS

AS SELECT Sn, Status, City FROM S WHERE Status > 15;

(5)

Konsep Sistem Informasi B

2. Membuat view yang berisi supplier yang tinggal di Paris CREATE VIEW Paris_Suppliers

AS SELECT * FROM Supliers WHERE City = ' Paris ';

3. Membuat view dengan mengganti nama_atributnya CREATE VIEW Parts (PNum, Part_Name, WT)

AS SELECT P#, Pname, Weight FROM Part WHERE COLOR = 'Red';

Data Manipulation Language 1. INSERT

Fungsi: menambah baris (record) baru Sintaks: INSERT INTO tbname

(col1, ...) VALUES (value1, ...) 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 (value1, value2, ...)

Nilai-nilai diisikan sebanyak kolom yang terdapat di tabel tersebut.

2. UPDATE

Fungsi: merubah record

Sintaks: UPDATE tbname SET field = ekspresi WHERE kondisi

3. DELETE

Fungsi: menghapus record Sintaks: DELETE FROM tbname

WHERE kondisi

4. SELECT

Fungsi: menampilkan record

Sintaks: SELECT [DISTINCT] colname FROM tbname [WHERE kondisi]

[GROUP BY kondisi] [HAVING kondisi] [ORDER BY kondisi]

(6)

Konsep Sistem Informasi B

Contoh Kasus DML:

a. Menambah record (INSERT)

INSERT INTO S VALUES ('S1','Smith',20,'London'); INSERT INTO S VALUES ('S2','Jones,10,'Paris'); INSERT INTO S VALUES ('S3','Blake',30,'Paris');

Tabel S, P dan SP isikan dengan data-data sebagai berikut: Tabel S

Tabel P

(7)

Konsep Sistem Informasi B

b. Merubah record (UPDATE)

1. Merubah data (record) pada tabel P yang mempunyai nomor part P2, warnanya dirubah menjadi Kuning dan beratnya ditambah 5

UPDATE P SET Warna = 'Yellow', Weight = Weight + 5 WHERE Pn = 'P2';

2. Merubah record pada tabel S, statusnya menjadi dua kali status awal untuk supplier yang bertempat tinggal di kota London

UPDATE S SET Status = 2 * Status WHERE City = 'London'; c. Menghapus record (DELETE)

Menghapus record pada tabel S yang nomor supplier-nya S5 DELETE FROM S

WHERE Sn ='S5'; d. Menampilkan record (SELECT 1 tabel)

1. Menampilkan semua data supplier SELECT * FROM S;

atau

SELECT Sn, Sname, Status, City FROM S; 2. Menampilkan semua nilai Pn pada tabel SP

SELECT Pn FROM SP;

3. Menampilkan nomor supplier dan status untuk supplier yang tinggal di Paris SELECT Sn, Status FROM S

WHERE City ='Paris';

4. Menampilkan no.supplier yang tinggal di Paris dengan status > 20 SELECT Sn FROM S

WHERE City ='Paris" AND Status > 20; 5. Menampilkan jumlah pengiriman P1

SELECT COUNT(*) FROM SP WHERE Pn = 'P1';

6. Perintah untuk menghindari hasil data yang sama terulang kembali (distinct) SELECT DISTINCT Pn FROM SP;

7. Menampilkan no.supplier dan status bagi supplier yang tinggal di Paris dalam urutan status menurun

SELECT Sn,Status FROM S WHERE City = 'Paris'

ORDER BY Status desc;

8. Menampilkan no.Part dari semua part yang dipasok oleh lebih dari seorang supplier SELECT Pn FROM SP

GROUP BY Pn

(8)

Konsep Sistem Informasi B

9. Menampilkan semua part yang nomornya dimulai dengan huruf C SELECT * FROM P

WHERE Pname LIKE 'C%';

e. Menampilkan record (SELECT lebih dari satu tabel/JOIN)

1. Menampilkan semua supplier dan part yang keduanya bertempat tinggal pada kota yang sama

SELECT Sn, Sname,S tatus, S.City , Pn, Pname, Warna, Weight FROM S,P WHERE S.City = P.City;

2. Menampilkan nama supplier yang memasok barang dengan nomor part P2 SELECT Sname FROM S, SP

WHERE S.Sn = SP.Sn AND SP.Pn = 'P2';

3. Menampilkan nama supplier yang memasok part berwarna merah SELECT Sname FROM S, SP, P

WHERE S.Sn = SP.Sn AND SP.Pn = P.Pn

AND P.COLOR = 'RED';

f. Menampilkan record (SELECT lebih dari satu tabel/SELECT bertingkat)

1. Menampilkan nama supplier yang memasok barang dengan nomor part P2 SELECT Sname FROM S WHERE Sn IN

(SELECT Sn FROM SP WHERE Pn = 'P2'); atau

SELECT Sname FROM S WHERE Sn = ANY (SELECT Sn FROM SP WHERE Pn = 'P2');

2. Menampilkan nama supplier yang memasok part berwarna merah SELECT Sname FROM S WHERE Sn IN

(SELECT Sn FROM SP WHERE Pn IN

(SELECT Pn FROM P WHERE Warna = 'Red'));

3. Menampilkan no.supplier dengan nilai status lebih kecil daripada nilai maksimum status yang ada pada tabel S

SELECT Sn FROM S WHERE Status < (SELECT MAX(Status) FROM S);

4. Menampilkan nama supplier yang tidak memasok barang dengan nomor part P2 SELECT Sname FROM S WHERE Sn NOT IN

(SELECT Sn FROM SP WHERE Pn = 'P2');

5. Menampilkan semua nomor supplier yang sama lokasinya dengan S1 SELECT Sn FROM S WHERE CITY =

(SELECT CITY FROM S WHERE Sn = 'S1'); g. Fungsi perhitungan

COUNT : jumlah baris dan kolom SUM : jumlah nilai dalam kolom AVG : rata-rata nilai dalam kolom MAX : nilai terbesar dalam kolom MIN : nilai terkecil dalam kolom

(9)

Konsep Sistem Informasi B

Untuk SUM dan AVG nilainya harus numerik (INT, SMALLINT, FLOAT). Fungsi-fungsi tersebut jika dikenakan pada nilai yang NULL maka nilainya akan diabaikan kecuali untuk COUNT(*) 1. Menghitung jumlah supplier

SELECT COUNT(*) FROM S; atau

SELECT COUNT (Sn) FROM S;

2. Menampilkan nomor part dan total kuantitas pengiriman dari setiap part SELECT Pn, SUM(QTY) FROM SP

GROUP BY Pn;

3. Menghitung jumlah kuantitas dari P2 yang telah disupply SELECT SUM (QTY) FROM SP WHERE Pn = 'P2';

4. Menampilkan jumlah pengiriman barang dengan nomor P4 dan dipasok oleh nomor suppplier S1

SELECT COUNT(*) FROM SP

WHERE Pn = 'P4' AND Sn = 'S1';

5. Menampilkan nomor part dan total kuantitas dari masing-masing part SELECT Pn, SUM(QTY) FROM SP

GROUP BY P3;

Data Control Language 1. GRANT

Fungsi: digunakan untuk memberikan izin akses kepada user Sintaks: GRANT privileges ON tbname TO user

Contoh:

GRANT SELECT ON CLUB TO PUBLIC;

GRANT SELECT, INSERT, UPDATE, DELETE ON CLUB TO USER01;

2. REVOKE

Fungsi: digunakan untuk mencabut izin akses kepada user Sintaks: REVOKE privileges ON tbname FROM user

Contoh :

REVOKE INSERT, UPDATE, DELETE ON CLUB FROM USER01; REVOKE ALL ON CLUB FROM PUBLIC;

Contoh-contoh Lainnya:

Kasus Data Definition Language (DDL)

Struktur tabel

MHS (npm char(8), nama char(25), alamat char(30)) MKUL (kdmk char(5), mtkul char(25), sks smallint))

(10)

Konsep Sistem Informasi B NPM NAMA ALAMAT 10296832 Nurhayati Jakarta 10296126 Astuti Jakarta 31296500 Budi Depok 41296525 Prananingrum Bogor 50096487 Pipit Bekasi 21196353 Quraish Bogor NPM NAMA ALAMAT 10296126 Astuti Jakarta 10296832 Nurhayati Jakarta 21196353 Quraish Bogor 31296500 Budi Depok 41296525 Prananingrum Bogor 50096487 Pipit Bekasi 1. Pembuatan tabel

CREATE TABLE MHS (npm char(8) notnull, nama char(25) notnull, alamat char(30) notnull); CREATE TABLE MKUL (kdmk char(5) notnull, mtkuliah char(25) notnull, sks smallint notnull); CREATE TABLE NILAI (npm char(8) notnull, kdmk char(5) notnull, mid smallint, final smallint); Catatan:

Diumpamakan sudah terbentuk tiga (3) buah tabel dengan rincian sbb: Tabel MHS Tabel MKUL KDMK MTKULIAH SKS KK021 P. Basis Data 2 KD132 SIM 3 KU122 Pancasila 2 Tabel NILAI NPM 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 2. Pembuatan index

Sintaks: CREATE [UNIQUE] INDEX nama_index ON nama_tabel (nama_kolom); Contoh:

Buat index dengan nama MHSIN berdasarkan NPM dari tabel MHS! CREATE UNIQUE INDEX MHSIN ON MHS(NPM);

Hasil : MHSIN

(11)

Konsep Sistem Informasi B

NPM NAMA ALAMAT JKEL 10296832 Nurhayati Jakarta 10296126 Astuti Jakarta 31296500 Budi Depok 41296525 Prananingrum Bogor 50096487 Pipit Bekasi 21196353 Quraish Bogor 3. Pembuatan view

Sintaks: CREATE VIEW nama_view [(nama_kolom1, …, …)] AS SELECT statement [WITH CHECK OPTION];

Contoh:

Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa! CREATE VIEW MHSVIEW AS SELECT * FROM MHS;

4. Menghapus database/tabel/index/view

Sintaks : DROP DATABASE nama_db DROP TABLE nama_tabel DROP INDEX nama_index DROP VIEW nama_view Contoh :

Menghapus tabel MHS: DROP TABLE MHS;

5. 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 :

a. Tambahkan kolom JKEL pada tabel MHS! ALTER TABLE MHS ADD(JKEL char(1)); Hasil:

MHS

b. Ubah panjang kolom MTKULIAH yang ada pada tabel MKUL! ALTER TABLE MKUL MODIFY(MTKULIAH char(30));

c. Hapus kolom JKEL dari tabel MHS! ALTER TABLE MHS DROP(JKEL char(1));

(12)

Konsep Sistem Informasi B

NPM NAMA ALAMAT 50096487 Pipit Depok

Kasus Data Manipulation Language (DML)

1. INSERT

Sintaks : INSERT INTO

nama_tabel [(nama_kolom1, …)] VALUES (data1, …);

Contoh :

Memasukkan data pada tabel MKUL untuk mata kuliah Berkas Akses dengan kode KK222 dan jumlah SKS 2

INSERT INTO MKUL VALUES (“KK222”,”Berkas Akses”, 2); Hasil : MKUL KDMK MTKULIAH SKS KK021 P. Basis Data 2 KD132 SIM 3 KU122 Pancasila 2 KK222 Berkas Akses 2 2. UPDATE

Sintaks : UPDATE nama_tabel

SET nama_kolom = ekspresi WHERE kondisi;

Contoh :

Ubah alamat mahasiswa menjadi depok untuk mahasiswa yang memiliki NPM = “50096487”! UPDATE MHS SET ALAMAT=”Depok”

WHERE NPM=”50096487”; Hasil:

MHS

3. DELETE

Sintaks : DELETE FROM nama_tabel WHERE kondisi

Contoh :

Hapus nilai mahasiswa yang mempunyai NPM=”10296832” dan KDMK=”KK021”! DELETE FROM NILAI WHERE NPM=”10296832” AND KDMK=”KK021”;

(13)

Konsep Sistem Informasi B NPM NAMA ALAMAT 10296832 Nurhayati Jakarta 10296126 Astuti Jakarta 31296500 Budi Depok 41296525 Prananingrum Bogor 50096487 Pipit Bekasi 21196353 Quraish Bogor Hasil: NILAI NPM KDMK MID FINAL 10296126 KD132 70 90 31296500 KK021 55 40 41296525 KU122 90 80 21196353 KU122 75 75 50095487 KD132 80 0 10296832 KD132 40 30 4. SELECT

Sintaks : SELECT [DISTINCT] nama_kolom FROM nama_tabel

[WHERE kondisi]

[GROUP BY nama_kolom] [HAVING kondisi]

[ORDER BY nama_kolom [ASD/DESC]]

a. Contoh satu tabel (Simple Query)

Menampilkan data

Tampilkan semua data mahasiswa!

SELECT * FROM MHS; atau

SELECT NPM,NAMA,ALAMAT FROM MHS; Hasil:

MHS

Mengambil data dari suatu tabel dengan satu atau banyak kondisi

Tampilkan mata kuliah yang memiliki SKS=2! SELECT MTKULIAH FROM MKUL WHERE SKS=2; Hasil:

MKUL

MTKULIAH P. Basis Data Pancasila

(14)

Konsep Sistem Informasi B ALAMAT Jakarta Depok Bogor Bekasi

SELECT npm, kdmk, mid FROM nilai WHERE mid BETWEEN 70 AND 100;

Mengambil data dari suatu tabel dengan menggunakan perintah LIKE

Tampilkan nama mahasiswa yang diawali dengan huruf “P”! SELECT NAMA FROM MHS WHERE NAMA LIKE “P%”; Hasil:

MHS NAMA Prananingrum Pipit

Coba untuk perintah lainnya berikut ini: SELECT nama FROM MHS

WHERE nama NOT LIKE “%a%”; SELECT nama FROM MHS

WHERE nama LIKE “_u%”;

Mengambil data pada suatu tabel dengan hanya menampilkan satu kali saja data yang sama

Tampilkan alamat mahasiswa, dimana alamat yang sama hanya ditampilkan satu kali saja! SELECT DISTINCT ALAMAT FROM MHS;

Hasil: MHS

Memilih beberapa atau semua data dari suatu tabel untuk diurutkan atau dikelompokkan

Tampilkan semua data dari tabel MHS, dengan nama terurut dari “Z” ke “A”! SELECT * FROM MHS ORDER BY NAMA DESC;

(15)

Konsep Sistem Informasi B ALAMAT COUNT(*) Jakarta 2 Bogor 2 MAX(MID) MIN(MID) 80 40 Hasil: MHS NPM NAMA ALAMAT 21196353 Quraish Bogor 41296525 Prananingrum Bogor 50096487 Pipit Bekasi 10296832 Nurhayati Jakarta 31296500 Budi Depok 10296126 Astuti Jakarta

Tampilkan alamat mahasiswa dan jumlah mahasiswa yang bertempat tinggal di alamat tersebut!

SELECT ALAMAT, COUNT(*) FROM MHS GROUP BY ALAMAT; Hasil: MHS ALAMAT COUNT(*) Jakarta 2 Depok 1 Bogor 2 Bekasi 1

Tampilkan alamat dan jumlah masiswa yang bertempat tinggal pada alamat yang jumlahnya lebih dari satu!

SELECT ALAMAT, COUNT(*) FROM MHS GROUP BY ALAMAT HAVING COUNT(*) > 1; Hasil:

MHS

Penggunaan Agreegate Function

Tampilkan data tertinggi dan terendah dari nilai Midtest pada KDMK = “KD132”! SELECT MAX(MID), MIN(MID) FROM NILAI WHERE KDMK=”KD132”;

Hasil: NILAI

Tampilkan rata-rata nilai final test dan jumlah nilai final test dengan KDMK = “KD132”! SELECT AVG(FINAL), SUM(FINAL) FROM NILAI WHERE KDMK=”KD132”;

(16)

Konsep Sistem Informasi B NAMA Astuti Prananingrum Pipit Quraish Hasil: NILAI AVG(FINAL) SUM(FINAL) 40 120 NILAI KDMK FINAL KD132 90 KD132 0 KD132 30

b. Contoh lebih dari satu tabel (Sub Query dan Join)

Tampilkan nama mahasiswa yang mempunyai nilai midtest lebih kecil dari 60!

Sub Query

SELECT NAMA FROM MHS WHERE NPM IN (SELECT NPM FROM NILAI WHERE MID <= 60);

JOIN

SELECT NAMA FROM MHS, NILAI WHERE MHS.NPM = NILAI.NPM AND NILAI.MID <= 60; Hasil : MHS NAMA Nurhayati Budi Quraish

Coba untuk perintah lainnya berikut ini:

Sub Query

SELECT NAMA FROM MHS WHERE NPM IN (SELECT NPM FROM NILAI WHERE KDMK IN (SELECT KDMK FROM MKUL WHERE MTKULIAH = “SIM”);

JOIN

SELECT NAMA FROM MHS, NILAI, MKUL WHERE MKUL.MTKULIAH=”SIM” AND NILAI.KDMK = MKUL.KDMK AND MHS.NPM = NILAI.NPM;

Penggunaan Exists dan Not Exists

Tampilkan nama mahasiswa yang tidak mengambil KDMK = “KK021”! SELECT NAMA FROM MHS WHERE NOT EXISTS

(SELECT * FROM NILAI WHERE NILAI.NPM = MHS.NPM AND KDMK = “KK021” ); Hasil:

(17)

Konsep Sistem Informasi B

Penggunaan Union

Tampilkan NPM mahasiswa yang bernama Budi dan yang memiliki nilai final > 75! SELECT NPM FROM MHS WHERE NAMA = “Budi” UNION

SELECT NPM FROM NILAI WHERE FINAL > 75; Hasil:

NPM 31296500 10296126 41296525

Kasus Data Control Language

1. Grant

Sintaks : - GRANT hak_akses ON nama_db TO nama_pemakai

[WITH GRANT OPTION] [AS GRANTOR];

- GRANT hak_akses ON nama_tabel TO nama_pemakai

[WITH GRANT OPTION] [AS GRANTOR]

Contoh:

Berikan hak akses kepada Avi untuk menampilkan nilai final test! GRANT SELECT (FINAL) ON NILAI TO AVI;

2. Revoke

Sintaks : - REVOKE hak_akses ON nama_db FROM nama_pemakai; - REVOKE hak_akses ON nama_tabel

FROM nama_pemakai; Contoh :

Tarik kembali hak akses untuk menampilkan nilai final test dari Avi! REVOKE SELECT(FINAL) ON NILAI FROM AVI;

Kasus Data Integrity

1. RECOVER TABLE

Sintaks : RECOVER TABLE nama_tabel; Contoh :

Kembalikan keadaan data mahasiswa seperti pada saat sebelum terjadi kerusakan RECOVER TABLE MHS;

(18)

Konsep Sistem Informasi B

Contoh :

[DELIMITER “char_pemisah”] SELECT statement;

Merubah semua data mahasiswa ke bentuk ASCII dan disimpan ke file teks di directory /home/avi

UNLOAD TO “/home/avi/teks”

DELIMITER “|” SELECT * FROM MHS; 2. Load

Sintaks : LOAD FROM “nama_path”

DELIMITER “char_pemisah” INSERT INTO

nama_tabel [nama_kolom]; Contoh :

Merubah file teks ke tabel MHS_2 di directory /home/avi LOAD FROM “/home/avi/teks”

DELIMITER “|” INSERT INTO MHS_2; 3. Rename Column

Sintaks : RENAME COLUMN nama_kolom_lama TO Nama_kolom_baru;

Contoh :

Mengganti kolom ALAMAT yang ada pada tabel MHS menjadi KOTA RENAME COLUMN MHS.ALAMAT TO KOTA;

Referensi:

http://deasy.staff.gunadarma.ac.id http://fikri.staff.gunadarma.ac.id http://sitialiyah.staff.gunadarma.ac.id

Gambar

Tabel MHS  Tabel MKUL  KDMK MTKULIAH SKS KK021 P. Basis Data 2 KD132 SIM 3 KU122 Pancasila 2 Tabel NILAI  NPM 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 102968

Referensi

Dokumen terkait

Manajer Investasi melalui Bank Kustodian pada Tanggal Emisi wajib menyerahkan Unit Penyertaan ETF PHILLIP MSCI INDONESIA EQUITY INDEX kepada Dealer Partisipan dan/atau Sponsor

Judul Skripsi : Sistem Informasi Administrasi dan Penilaian Mentoring Pendidikan Agama Islam pada Forum Mahasiswa Islam Universitas Muria Kudus.. Menyatakan dengan

Untuk itu dalam penelitian ini sebuah perangkat medis dibuat dengan memanfaatkan Raspberry Pi dan koneksi internet nirkabel sehingga gambar yang direkam melalui

Laporan Akhir ini disusun berdasarkan apa yang telah kami lakukan pada saat pengerjaan alat simulasi baik dari proses pembuatan, proses pengujian dan perencanaan

Sang Jenderal bisa mengikuti jejak di hutan pada malam hari; dia bisa mengikuti jejak yang sangat rumit; dia pasti memiliki kekuatan yang luar biasa.. Hanya dengan

Furthermore, the study shows that a company should apply reinforcement contingency appropriate to employees who participate in budgeting making because employees who have budgetary

It can be concluded that this capacity building and workshop can improve the teachers’ understanding in preparing local government financial statement so that the teachers’ be ready

Di Indonesia, bawang bombay banyak ditemukan di daerah Tanah Karo (Sumatera Utara), percobaan penanaman di dataran tinggi Karo dengan ketinggian sekitar 2000 m dpl, memperoleh