Anda di halaman 1dari 11

Modul II Bahasa Pemrograman Generasi ke-4 (4GL) SQL (Structure Query Language) SQL dikembangkan oleh IBM corporation

pada akhir 1970-an dan telah disahkan sebagai standar nasional oleh American National Standards Institute (ANSI) pada tahun 1992. versi yang ditampilkan disini didasarkan pada standar tersebut., yang kadangkadang disebut sebagai SQL-92. SQL adalah berorientasi teks dan telah dikembangkan jauh sebelum adanya graphical user interface serta hanya membutuhkan prosesor berbasis teks. SQL dapat digunakan untuk mendefinisikan struktur database, mengquery data database, dan mengupdate data database. Perintah untuk mendefinisikan data disebut dengan DDL (Data Definition Language) dan perintah untuk meng-query atau memanipulasi data database disebut dengan DML (Data Manipulation Language). 1. Definisi SQL SQL adalah bahasa database digunakan untuk memformulasikan pernyataanpernyataan yang diproses oleh database atau database server. Adapun pernyataan-pernyataan tersebut berisi perintah insert, update, delete, query dan protect data SQL bukan merupakan bahasa pemrograman yang lengkap, melainkan sebuah data sublanguage yang terdiri dari statement bahasa untuk mendefiniskan dan memproses suatu database SQL mempunyai 3 sub bahasa, yaitu 1. Data Definition Language (DDL) Digunakan untuk membangun objek-objek dalam database seperti tabel dan indeks Digunakan dalam tabel. untuk menambah, mencari, mengubah dan 2. Data Manipulation Language (DML) menghapus baris 3. Data Control Language (DCL) PUSAT PENGMBANGAN BAHAN AJAR UMB
Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

Digunakan untuk menangani masalah sekuriti dalam database

2. DDL (Data Definition Language) Bahasa SQL dapat digunakan untuk membuat dan memodifikasi struktur database. DDL bertugas untuk membuat objek SQL dan menyimpan definisinya dalam tabel. Contoh objek yang dimaksud diatas adalah tabel, view dan index. Pembuatan tabel, perubahan struktur tabel, perubahan nama tabel, serta perintah untuk menghapus tabel, dilakukan dengan subbahasa yang tergolong dalam DDL.perintah-perintah yang digolongkan dalam DDL adalah create, alter dan drop. 2.1 Statement Create Fungsi dasar dari statement ini, adalah untuk memberi nama tabel baru dan menjelaskan kolom serta jenis datanya. Untuk mendefinisikan baik primary key maupun key alternatif. Mendefinisikan foreign key dengan beberapa tindakan intergritas referensial Menentukan batasan-batasa pada kolom, tabel serta nilai kolom Ada lima jenis batasan SQL : Primary Key, Null/Not Null, Unique, Foreign Key, dan Check Contoh CREATE TABLE PROJECT ( ProjectID Name MaxHours Integer Char(25) Primary Key, Unique Not Null,

Department Varchar(100) Null, Numeric(6,1) Default 100);

2.2 Mendefinisikan Primary Key dan Foreign Key dengan statement ALTER CREATE TABLE EMPLOYEE ( EmployeeNumber Integer Not Null, Name char(25) Not Null, Phone char(6) Not Null, Department varchar(100)); PUSAT PENGMBANGAN BAHAN AJAR UMB
Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

ALTER TABLE EMPLOYEE ADD CONSTRAINT EmployeePK Primary Key (EmployeeNumber); CREATE TABLE Assignment ( ProjectID EmployeeNum Integer Not NUll, Integer Not Null,

HoursWorked Numeric(5,2) Default 10, CONSTRAINT AssingmentPK PRIMARY KEY (ProjectID, EmployeeNum)); ALTER TABLE Assignment ADD CONSTRAINT EmployeeFK FOREIGN (EmployeeNumber); 3. Statement DROP Ada banyak statement dan opsi SQL DDL yang lain, salah satu yang paling berguna , adalah DROP TABLE. Akan tetapi statement tersebut juga merupakan salah satu yang paling berbahaya karena akan men-drop struktur table bersama dengan semua data table Statement DROP DROP TABLE CUSTOMER Statement DROP TABLE tidak akan bekerja jika tablenya berisi nilai yang dibutuhkan untuk memenuhi batasan integritas referensial. KEY (EmployeeNum) REFERENCES EMPLOYEE

PUSAT PENGMBANGAN BAHAN AJAR UMB

Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

Praktikum

Latihan Statement Create dan Statement Drop Buatlah tabel PROJECT dengan primary key Project ID Buatlah tabel EMPLOYEE dengan primary key EmployeeNumber Buatlah tabel relasi ASSIGNMENT dengan Primary key (ProjectID, EmployeeNum) dan tambahankan ForeignKey (EmployeeNumber) Lakukanlah perintah drop pada tabel EMPLOYEE. Apakah tabel EMPLOYEE bisa dihapus? Jika tidak apa alasan. 3. Data Manipulation Language 3.1. Memasukan data (INSERT) Ada dua perintah yang dapat digunakan untuk memasukan data ke dalam tabel Insert into nama_tabel values (isi_field1, isi_field2, , isi_fieldn); Insert into nama_tabel (nama_field1, nama_field2, , nama_fieldn)

values (isi_field1, isi_field2, , isi_fieldn);

PUSAT PENGMBANGAN BAHAN AJAR UMB

Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

Latihan Statement Insert Isilah data-data pada masing-masing tabel dibawah ini ke dalam database sesuai dengan tabel masing-masing. Tabel PROJECT ProjectID 1000 1200 1400 1500 Name Department Q3 Portfolio Analisys Finance Q3 Tax Prep Q4 Product Plan Accounting Marketing MaxHours 75.0 145.0 138.0 110.0

Q4 Portfolio Analisys Finance

Tabel EMPLOYEE EmployeeNumber Name 100 Mary Jacobs 200 300 400 500 600 700 Kenji Numoto Heather Jones Phone 285-8879 287-0098 287-9981 Department Accounting Marketing Finance Accounting Info Systems 287-0123 287-3222 Info Systems Marketing

Rosalie Jackson 285-1273 James Nestor Richard Wu Kim Sung

Tabel ASSIGNMENT ProjectID 1000 1000 1000 1000 1200 1600 1200 1400 1400 EmployeeNum 100 300 400 500 100 400 600 200 700 HoursWorked 17.50 12.50 8.00 20.25 45.75 70.50 40.50 75.00 20.25
Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

PUSAT PENGMBANGAN BAHAN AJAR UMB

1400

500

25.25

3.2 Menampilkan data (SELECT) Perintah untuk menampilkan data akan banyak kita gunakan untuk menampilkan informasi berdasarkan criteria dan urutan tertentu. Berikut ini perintah untuk menampilkan data: Select [fields] From [nama_tabel] Where [Kondisi] Order by [nama_field] Group by [nama_field] asc | desc Limit [batasan] 3.2.1 Membaca kolom tertentu dari sebuah tabel tunggal SELECT Name, Department, MaxHours FROM PROJECT; 3.2.2 Jika ingin DBMS memeriksa dan menghilangkan baris-baris duplikat, maka harus menggunakan kata kunci DISTINCT, sebagai berikut SELECT DISTINCT Department FROM Project; 3.2.3 Membaca baris tertentu dari sebuah tabel tunggal SELECT FROM WHERE ProjectID, Name, Department, MaxHours Project Department = Finance;

3.2.4 Membaca Kolom tertentu dan baris tertentu dari sebuah tabel tunggal SELECT FROM Name, Department Employee
Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

PUSAT PENGMBANGAN BAHAN AJAR UMB

WHERE

Deparment = Accounting;

3.2.5 Range dalam klausa where Klausa Where juga dapat menunjukan pada range atau batasan dan nilai parsial.kata kunci BETWEEN akan digunakan untuk range, contoh : SELECT WHERE SELECT WHERE AND 3.2.6 Name, Department EmployeeNumber BETWEEN 200 AND 500; Name, Department EmployeeNumber >= 200 EmployeeNumber <= 500; FROM EMPLOYEE Statement ini sama dengan yang berikut FROM EMPLOYEE

Kata kunci LIKE akan digunakan pada ekspresi SQL untuk memilih nilai parsial.Simbol garis bawah _ mempresentasikan satu karakter yang tidak ditentukan banyaknya. SELECT * FROM WHERE PROJECT Name Like Q_Portfolio Analisys;

3.2.7

Untuk menemukan semua pegawai yang mempunyai nomor telepon yang dimulai dengan 285, kita dapat menggunakan empat garis bawah untuk mempresentasikan setiap empat digit terakhir sebagai berikut : SELECT FROM WHERE * EMPLOYEE Phone LIKE 285-_ _ _ _;

3.2.8

Simbol tanda persen (%) digunakan untuk mempresentasikan serangkaian dari satu atau lebih karakter yang tidak ditentukan banyaknya. SELECT FROM * EMPLOYEE
Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

WHERE Phone LIKE 285%; PUSAT PENGMBANGAN BAHAN AJAR UMB

3.2.9

IsNull dalam klausa where SELECT FROM WHERE Name, Deparment EMPLOYEE Phone IS NULL;

Kata Kunci IsNull dapat digunakan dalam klausa where untuk mencari nilai nol.

3.2.10 Menyortir Hasil Urutan baris-baris hasil statement SELECT bersifat arbitrer. Jika baris tersebut tidak diinginkan, maka frase ORDER BY dapat digunakan untuk menyortir baris. Sebagai contoh berikut ini disajikan nama dan department dari semua pegawai yang disortir menurut department : SELECT FROM ORDER BY Name, Department EMPLOYEE Department;

3.2.10 Secara default, SQL menyortir dalam urutan menaik atau dari yang terkecil ke yang terbesar. Kata kunci ASC dan DESC dapat digunakan untuk menentukan urutan menaik (ascending) dan urutan menurun (descending) jika diperlukan. SELECT FROM ORDER BY Name, Department EMPLOYEE Department ASC;

3.2.11 Dua atau lebih kolom juga dapat digunakan untuk tujuan penyortiran. SELECT FROM ORDER BY Name, Department EMPLOYEE Department DESC, Name ASC;

3.2.12 Function Built-In SQL

PUSAT PENGMBANGAN BAHAN AJAR UMB

Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

SQL mencakup lima fungsi built-in : COUNT, SUM, AVG, MAX dan MIN. Fungsi ini bekerja berdasarkan hasil dari suatu statement SELECT. COUNT berkerja tanpa menghiraukan data jenis kolom SUM, AVG, MAX dan MIN hanya bekerja berdasarkan angka integer, numeric, serta kolom berbasis angka lainnya Menghitung jumlah baris pada pada hasil SELECT FROM SELECT FROM COUNT(*) PROJECT; COUNT(DISTINCT Department) PROJECT;

Contoh lain dari penggunaan fungsi built-in SQL adalah sebagai berikut : SELECT FROM WHERE MIN(MaxHours), MAX(MaxHours), SUM(MaxHours) PROJECT ProjectID < 1500;

3.2.13 FUNCTION Built-IN dan Grouping Untuk meningkatkan utilitas fungsi built-in, fungsi tersebut dapat diaplikasikan untuk mengelompokan baris data. SELECT FROM GROUP BY Department, COUNT(*) EMPLOYEE Department

Jika kita ingin mempertimbangkan group dengan lebih dari dua anggota. SELECT FROM GROUP BY HAVING Department, COUNT (*) EMPLOYEE Department COUNT(*) > 2;

PUSAT PENGMBANGAN BAHAN AJAR UMB

Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

TUGAS 1 4GL Client Server 26 April 2008 Asumsikan bahwa FiredUp telah membuat suatu database dengan tabel berikut : CUSTOMER(CustomerSK, Name, Phone, EmailAddress) STOVE(SerialNumber, Type, Version, DateOfManufacture) REGISTRATION(CustomerSK, SerialNumber, Date) STOVE_REPAIR(RepairInvoiceNumber, CustomerSK) Berilah kode SQL untuk berikut ini, Asumsikan bahwa semua tanggal adalah dalam format mmddyyyy. 1. Perlihatkan seluruh data dalam masing-masing dari empat tabel FireUp 2. Buatlah daftar Version dari seluruh oven (stove) 3. Buatlah daftar Version dari seluruh oven dengan tipe Fired Now 4. Buatlah daftar SerialNumber dan Date dari seluruh registrasi pada tahun 2002 5. Buatlah daftar SerialNumber dan Date dari seluruh registrasi pada bulan Februari, gunakan wildcard garis bawah ( _ ) 6. Buatlah SerialNumber dan Date dari seluruh registrasi pada bulan Februari, gunakan wildcard persen (%) 7. Buatlah daftar nama-nama dan alamat email dari seluruh pelanggan yang mempunyai alamat email. 8. Buatlah daftar nama-nama seluruh pelanggan yang tidak mempunyai alamat EmailAddress; tambahkan hasilnya dalam urutan menurun dari Name 9. Tentukan biaya maksimum perbaikan sebuah oven PUSAT PENGMBANGAN BAHAN AJAR UMB
Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

SerialNumber,

Date,

Description,

Cost,

10. Hitunglah seluruh oven

PUSAT PENGMBANGAN BAHAN AJAR UMB

Asep Fajar Firmansyah Iwan Airlangga S.Kom 4GL CLIEN SERVER

Anda mungkin juga menyukai