Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

04/10/2017 Bab IV SQL Structured Query Language stmik kharisma, presented by wahyudi yudi252003@yahoo.com.

Presentasi serupa


Presentasi berjudul: "04/10/2017 Bab IV SQL Structured Query Language stmik kharisma, presented by wahyudi yudi252003@yahoo.com."— Transcript presentasi:

1 04/10/2017 Bab IV SQL Structured Query Language stmik kharisma, presented by wahyudi

2 Sejarah Tahun 1986, ANSI (American National
04/10/2017 Sejarah Tahun 1986, ANSI (American National Standards Institute) dan ISO mengumumkan standard SQL, SQL-86 IBM merilis Systems Application Architecture) SAA-SQL tahun 1987 Berturut-turut ANSI merilis SQL-89, SQL- 92, dan SQL- 99

3 SQL (Structured query language)
04/10/2017 SQL (Structured query language) SQL adalah bahasa yang digunakan untuk mengelola database relasional SQL adalah bahasa standard untuk sistem manajemen database relasional Sistem database yang menggunakan SQL : Oracle DB2 Sybase MS SQL MS Access My SQL

4 Type DAta Dibedakan menjadi : Tipe data numerik
04/10/2017 Type DAta Dibedakan menjadi : Tipe data numerik semua data bilangan yang dapat diperhitungkan bukan angka yang bersifat keterangan, mis jumlah komputer jenis tipe data numerik : integer, float, single, double, currency. Tipe data karakter semua data huruf, angka dan tanda baca jenis tipe data karakter : char, string, text, memo. Tipe data tanggal mendefinisikan waktu jenis tipe data waktu : date, datetime, time, timestamp. Tipe data boolean ; tipe data khusus untuk menyatakan status benar atau salah, ya atau tidak.

5 04/10/2017 Cont’d ... kebanyakan mereka memiliki perintah tambahan yang proprietary. Jenis perintah SQL : DDL (Data Definition Language) DML (Data Manipulation Language) DCL (Data Control Language)

6 04/10/2017 Skema Contoh

7 Struktur Dasar Select, berkaitan dengan operasi proyeksi
04/10/2017 Struktur Dasar Select, berkaitan dengan operasi proyeksi pada aljabar relasional. Digunakan untuk mendaftar atribut yang ingin dikeluarkan sebagai hasil query From, berkaitan dengan operasi produk kartesian (relasi mana yang akan di-scan) Where, berkaitan dengan predikat seleksi.

8 04/10/2017 Operasi SELECT Operasi select digunakan untuk mengambil sebagian atau seluruh isi tabel dari suatu basisdata. Contoh : “Tentukan nama-nama dari semua cabang bank dalam relasi loan “ Query-nya : SELECT branch-name FROM loan

9 04/10/2017 Operasi WHERE Klausa where menspesifikasi kondisi yang harus dipenuhi oleh hasil query – Berkaitan dengan predikat seleksi pada aljabar relasional. Contoh : “Temukan semua loan number untuk pinjaman-pinjaman yang dibuat pada cabang Perryridge dengan jumlah lebih besar dari $1200”. Query-nya ditulis sebagai berikut : SELECT loan-number FROM loan WHERE branch-name = “Perryridge” and amount >1200;

10 Cont’d ... Perbandingan dapat dikombinasikan dengan
04/10/2017 Cont’d ... Perbandingan dapat dikombinasikan dengan menggunakan operasi logika and, or, dan not. Operand hubungan logika dapat menggunakan operasi perbandingan <,<=,>,>=,=, dan <> Contoh: SELECT loan-number FROM loan WHERE amount <= and amount >=90000;

11 Cont’d ... SQL juga memasukkan perintah between
04/10/2017 Cont’d ... SQL juga memasukkan perintah between untuk menentukan apakah suatu nilai lebih kecil daripada atau sama dengan suatu nilai lain dan lebih besar daripada atau sama dengan suatu nilai lain. Contoh : “jika diinginkan menemukan loan-number yang jumlah pinjamannya antara $90000 dan $100000” Query ditulis sebagai berikut : SELECT loan-number FROM loan WHERE amount between and

12 Operasi FROM Klausa from menunjukkan daftar relasi
04/10/2017 Operasi FROM Klausa from menunjukkan daftar relasi yang dilibatkan dalam query – Berkaitan dengan operasi produk kartesian pada aljabar relasional Contoh: Produk Kartesian dari borrower x loan select * from borrower, loan

13 04/10/2017 Contoh query : “Untuk semua customer yang mempunyai sebuah pinjaman dari bank, temukan nama dan loan number mereka”. Dalam SQL ditulis : SELECT distinct customer-name,borrower.loan-number FROM borrower, loan WHERE borrower.loan-number = loan.loan-number Contoh: “Tampilkan nama,loan number and loan amount dari semua customer yang memiliki pinjaman di cabang Perryridge” select customer-name, borrower.loan-number, amount from borrower, loan where borrower.loan-number = loan.loan-number and branch-name = ‘Perryridge’

14 DDL (data definition language)
04/10/2017 DDL (data definition language) Merupakan kelompok perintah yang digunakan untuk melakukan pendefinisian tabel. Kelompok perintah DDL dapat membuat : Tabel Mengubah struktur Menghapus tabel Membuat index

15 DML (Data manipulation Language)
04/10/2017 DML (Data manipulation Language) Digunakan untuk melakukan manipulasi data dalam database, menambahkan (insert), mengubah (update), menghapus (delete), mengambil dan mencari data (query). Perintah SQL standar tsb dapat digunakan untuk menyelesaikan tugas yang diberikan berhubungan dengan data suatu database.

16 Dcl (data control language)
04/10/2017 Dcl (data control language) Perintah untuk melakukan pendefinisian pemakai yang boleh mengakses database dan apa saja privilegenya. Fasilitas ini tersedia pada sistem manajemen database yang memiliki fasilitas keamanan dengan membatasi pemakai dan kewenangannya.

17 Data definision language (DDL)
04/10/2017 Data definision language (DDL) digunakan untuk melakukan pembuatan struktur database, mulai dari mendefinisikan database, tabel-tabel dan indexnya, view, dan perintah-perintah berkenaan dengan maintenance dari strukture database itu sendiri.

18 Membuat database Perintah CREATE DATABASE namadatabase
04/10/2017 Membuat database Perintah CREATE DATABASE namadatabase Perintah ini digunakan pertama kali sebelum membuat tabel, view, fungsi, prosedur atau pun komponen lain suatu sistem database. Contoh : create database datamahasiswa;

19 Membuat tabel Perintah ( Field1 TipeData1 [, field2 tipedata2[, ...] ]
04/10/2017 Membuat tabel Perintah CREATE TABLE namatabel ( Field1 TipeData1 [, field2 tipedata2[, ...] ] ); perintah ini diberikan untuk membuat tabel dalam suatu database

20 04/10/2017 Cont’d ... contoh : create table kota ( kodekota char(3) not null, namakota varchar(35) null, primary key (kodekota) );

21 Menambah Field baru tabel
04/10/2017 Menambah Field baru tabel Perintah ALTER TABLE namatable ADD fieldbaru tipenya; namatabel adalah nama dari tabel yang akan ditambah fieldnya fieldbaru adalah nama field yang akan ditambahkan .

22 04/10/2017 Cont’d ... Contoh : alter table bukualamat add foreign key (kodekota) reference kota (kodekota);

23 Mengubah lebar field tabel
04/10/2017 Mengubah lebar field tabel Perintah ALTER TABLE namatabel MODIFY fieldnya tipenya panjangbaru namatabel adalah nama dari table yang akan diubah salah satu fieldnya. fieldnya adalah nama field yang akan diubah lebar fieldnya. tipenya dan panjangbaru merupakan berubahan yang akan diterapkan kepada tabel tsb.

24 contoh : alter table dbmahasiswa modify (nama_mahasiswa char(45));
04/10/2017 contoh : alter table dbmahasiswa modify (nama_mahasiswa char(45));

25 Menghapus tabel Perintah DROP TABLE namatabel
04/10/2017 Menghapus tabel Perintah DROP TABLE namatabel namatabel adalah nama dari tabel yang akan dihapus secara fisik. penghapusan menyebabkan struktur dan data yang dibuat akan hilang

26 Menghapus database Perintah DROP DATABASE namadatabase;
04/10/2017 Menghapus database Perintah DROP DATABASE namadatabase; namadatabase adalah nama dari database yang akan dihapus. penghapusan database akan menyebabakan seluruh struktur dan data yang ada didalamnya menjadi hilang

27 Membuat index Perintah CREATE INDEX namaindeks ON namatabel
04/10/2017 Membuat index Perintah CREATE INDEX namaindeks ON namatabel (namakolom1[,namakolom2, ...]) namaindeks adalah nama yang diacu untuk mendapatkan data index dari suatu kolom dalam tabel. namatabel adalah nama dari tabel yang kolom-kolomnya akan dibuatkan indexnya.

28 04/10/2017 Cont’d contoh : create index kotaonbukualamat on bukualamat (kodekota);

29 Menghapus index Perintah DROP INDEX namaindex ON namatabel
04/10/2017 Menghapus index Perintah DROP INDEX namaindex ON namatabel penghapusan index tidak menyebabkan terhapusnya tabel. penghapusan index tabel suatu kolom hanya menyebabkan prosees pencarian data pada kolom tersebut bisa lebih lambat.

30 Data manipulation language (DML)
04/10/2017 Data manipulation language (DML) Merupakan bagian dari SQL yang digunakan untuk melakukan manipulasi dalam database (tambah, ubah, hapus, cari)

31 Contoh Dataset Loan Borrower loan-number branch-name amount L-170
04/10/2017 Contoh Dataset Loan Borrower loan-number branch-name amount L-170 Downtown 3000 L-230 Redwood 4000 L-260 Perryridge 1700 customer-name loan-number Jones L-170 Smith L-230 Hayes L-155

32 Insert Perintah INSERT INTO namatabel (field1 [,field2 [,...]])
04/10/2017 Insert Perintah INSERT INTO namatabel (field1 [,field2 [,...]]) VALUE (nilai1 [,nilai2 [,...]]; atau INSERT INTO namatabel VALUES (nilai1 [,nilai2[,...]]); namatabel adalah tabel yang akan diisi data. field1,field2 ... Adalah field-field (kolom) dari tabel yang akan diisi nilai1,nilai Adalah data yang akan dimasukkan dalam tiap kolom yang disebutkan pada bagian field.

33 04/10/2017 contoh Untuk menambahkan satu tuple dalam relasi digunakan statement insert. Contoh : INSERT INTO account values (“Perryridge”,”A-9732”,1200) Query ini identik dengan INSERT INTO account (branch-name, account-number,balance) values (“Perryridge”,”A-9732”,1200) Insert juga dapat dilakukan untuk suatu hasil dari query yang lain. INSERT INTO account SELECT branch-name, loan-number, 200 FROM loan WHERE branch-name = “Perryridge”

34 update Perintah UPDATE namatabel
04/10/2017 update Perintah UPDATE namatabel SET field1 = nilai1 [, field2= nilai2 [,...]] [WHERE kondisi]; namatabel adalah nama dari tabel yang akan diperbaiki datanya field1 adalah nama field dalam tabel yang akan diubah. nilai1 adalah data yang akan dimasukan ke dalam field1 field2 dan nilai 2 adalah nama field dan datanya dst. kondisi adalah kriteria data dalam tabel yang akan diperbaiki

35 04/10/2017 Cont’d perintah update digunakan untuk memperbaiki data dalam suatu record (baris) dalam suatu tabel, perbaikan dapat dilakukan untuk satu record, beberapa atau seluruh record. Contoh : untuk menaikkan saldo para nasabah sebesar 5% ditulis query sebagai berikut : UPDATE account SET balance = balance * 1.05

36 04/10/2017 Untuk menaikkan saldo nasabah sebesar 6% bagi nasabah yang saldonya lebih dari $10000 UPDATE account SET balance = balance *1.06 WHERE balance >10000 question : Apa yang akan terjadi jika dalam pengupdate-an suatu record apabila lupa menulis kondisinya ?

37 04/10/2017 Query yang sama dengan sebelumnya: Naikkan semua account dengan saldo di atas $10,000 sebesar 6%, account yang lain sebesar 5%. update account set balance = case when balance <= then balance *1.05 else balance * 1.06 end

38 delete Perintah DELETE FROM namatabel [WHERE kondisi];
04/10/2017 delete Perintah DELETE FROM namatabel [WHERE kondisi]; namatabel adalah nama dari tabel yang akan dihapus datanya. kondisi adalah kriteria data dalam tabel yang akan dihapus. perintah DELETE digunakan untuk melakukan penghapusan record dari suatu tabel yang memiliki kondisi yang dinyatakan dalam pernyataan kondisi.

39 Contoh delete from account where branch-name = ‘Perryridge’
04/10/2017 Contoh “Hapus semua account pada cabang Perryridge” delete from account where branch-name = ‘Perryridge’ “Hapus semua account di setiap cabang yang berlokasi di Needham city” where branch-name in (select branch-name from branch where branch-city = ‘Needham’) delete from depositor where account-number in (select account-number from branch, account where branch-city = ‘Needham’ and branch.branch-name = account.branch-name)

40 04/10/2017 Cont’d Apa yang akan terjadi jika dalam DELETE suatu record apabila lupa menulis kondisinya ?

41 Contoh Data mahasiswa DELETE from Mahasiswa Where NIM = 2902; Hasil
04/10/2017 Contoh Data mahasiswa Ingin menghapus data Mahasiswa dengan NIM = 2902 : DELETE from Mahasiswa Where NIM = 2902; Hasil NIM Nama Jurusan 2901 Anjar Sipil 2902 Jasmin Hukum 2903 Bayu NIM Nama Jurusan 2901 Anjar Sipil 2903 Bayu Hukum

42 where Nama =‘Anjar’ or Nama=‘Bayu’;
04/10/2017 Contoh Jika ingin menghapus record mahasiswa bernama anjar dan Bayu bersamaan, dapat digunakan perintah : DELETE form Mahasiswa where Nama =‘Anjar’ or Nama=‘Bayu’; Beberapa hal yang patut diperhatikan dalam penulisan perintah SQL adalah: Perhatikan huruf besar - huruf kecil. Agus tidak sama dengan agus. Gaji_Pegawai tidak sama dengan GajiPegawai. Jangan lupa untuk membubuhi tanda titik koma ( ; ) di setiap akhir penulisan perintah.

43 04/10/2017 Select Perintah SELECT (* | field1 [,field2 [,...]]) FROM namatabel [WHERE kondisi] namatabel adalah nama dari tabel yang akan ditampilkan datanya field1,field2 ... Adalah nama field yang akan ditampilkan datanya. * digunakan untuk menampilkan seluruh field dari tabel kondisi adalah kriteria data dalam table yang akan ditampilkan Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel

44 04/10/2017 Kondisi LIKE merupakan kata kunci dalam SQL yang digunakan untuk mendefinisikan suatu kriterisa yang lebih fleksibel. Kondisi yang dinyatakan dengan menggunakan LIKE dapat memfilter data sehingga dapat menampilkan suatu kriteria seolah dengan menggunakan bahasa inggris.

45 04/10/2017 Cont’d ... Perintah SELECT * FROM namatabel WHERE namafield LIKE ‘datadicari’; perintah ini akan menampilkan seluruh record dalam tabel yang memiliki data dalam nama field yang disebutkan dengan “datadicari”

46 04/10/2017 Perintah SELECT * FROM namatabel WHERE namafield LIKE ‘datadicari%’; perintah ini akan menampilkan seluruh record dalam tabel yang memiliki data dalam nama field yang disebutkan diawali dengan “datadicari”

47 SELECT * FROM namatabel WHERE namafield LIKE ‘%datadicari’;
04/10/2017 Perintah SELECT * FROM namatabel WHERE namafield LIKE ‘%datadicari’; perintah ini akan menampilkan seluruh record dalam tabel yang memiliki data dalam nama field yang disebutkan pada bagian akhirnya ada “datadicari”

48 04/10/2017 Perintah SELECT * FROM namatabel WHERE namafield LIKE ‘%datadicari%’; perintah ini akan menampilkan seluruh record dalam tabel yang memiliki data dalam nama field yang disebutkan mengandung “datadicari”

49 View Perintah CREATE VIEW namaview AS ekspresiQuery
04/10/2017 View Perintah CREATE VIEW namaview AS ekspresiQuery namaview adalah nama dari view yang akan dibuat ekspresiQuery adalah perintah select dan kondisi query yang ditentukan sama seperti halnya pada saat melakukan perintah select dengan menggunakan kondisi.

50 Data control language (DCL)
04/10/2017 Data control language (DCL) Terdiri atas sekelompok perintah SQL untuk memberikan hak otorisasi mengakses database, mengalokasikan space, pendefinisian space, pengauditan penggunaan database. Secara umum DCL merupakan bahasa yang digunakan untuk melakukan pengelolahan pemakai yang dapat melakukan akses dan manipulasi database terutama perintah GRANT dan REVOKE

51 04/10/2017 Cont’d Perintah COMMIT dan ROLLBACK merupakan kelengkapan fasilitas dalam pembuatan aplikasi yang memungkinkan suatu transaksi yang terjadi untuk dapat segera disimpan atau dibatalkan transaksinya.

52 04/10/2017 Fungsi Agregat Fungsi yang disediakan oleh SQL untuk melakukan ringkasan (summary) data, bukan menampilkan data baris per baris. Fungsi Agregat di SQL : Sum() Avg() Max() Min() Count()

53 04/10/2017 Fungsi agregat dapat disisipkan pada perintah SELECT, yang digunakan untuk melakukan manipulasi sederhana ataupun untuk mendapatkan informasi dari suatu tabel.

54 04/10/2017 SUM sum(namafield) merupakan fungsi agregat yang digunakan untuk melakukan penjumlahan isi field yang bertipe numerik yang namanya disebutkan padan namafield yang dijadikan parameter pada fungsi sum()

55 Contoh Tabel Karyawan SELECT SUM(gaji) From Karyawan Hasil Kode Nama
04/10/2017 Contoh Tabel Karyawan SELECT SUM(gaji) From Karyawan Hasil Kode Nama Gaji KP01 Amrin 200000 KP02 Camelia 300000 KP03 Bembi 100000 Gaji 600000

56 04/10/2017 AVG avg(namafield) fungsi ini digunakan untuk mendapatkan nilai rata-rata suatu field yang bertipe numerik yang namanya disebutkan sebagai parameter pada fungsi avg().

57 SELECT AVG(gaji) From Karyawan Hasil
04/10/2017 Contoh SELECT AVG(gaji) From Karyawan Hasil Gaji 200000

58 04/10/2017 max max(namafield) fungsi ini digunakan untuk mendapatkan nilai terbesar(maximum) dari field bertipe numerik yang nama fieldnya dijadikan parameter pada fungsi min

59 Contoh select MAX(gaji) from Karyawan; Kode Nama Gaji KP01 Amrin
04/10/2017 Contoh Tabel Karyawan select MAX(gaji) from Karyawan; Hasil : Kode Nama Gaji KP01 Amrin 200000 KP02 Camelia 300000 KP03 Bembi 100000 Gaji 300000

60 04/10/2017 min min(namafield) fungsi ini digunakan untuk mendapatkan nilai terkecil (minimum) dari field bertipe numerik yang nama fieldnya dijadikan parameter pada fungsi min

61 04/10/2017 Contoh select MIN(gaji) from Karyawan; Gaji 100000

62 04/10/2017 count count(namafield) digunakan untuk mengetahui jumlah record dari suatu tabel. Jumlah record yang ditampilkan adalah jumlah record berdasarkan perintah SELECT

63 04/10/2017 contoh SELECT COUNT(*) From Karyawan 3

64 04/10/2017 Contoh fungsi AGregat sql> use dbmahasiswa; database changed sql>select count(*) from bukumahasiswa | count(*) | | | | 2 |

65 04/10/2017 Group by Perintah Group By memiliki kegunaan untuk melakukan perhitungan berdasarkan kriteria tertentu.

66 contoh Pegawai_baru Kode Nama Asal Pendidikan Gaji PB01 Ronald Jakarta
04/10/2017 contoh Pegawai_baru Kode Nama Asal Pendidikan Gaji PB01 Ronald Jakarta S1 400000 PB02 Made Bali 300000 PB03 Aziz Semarang PB04 Mustofa D3 250000 PB05 Eka 275000 PB06 Gozali Yogya 200000 PB07 Dani 350000

67 select Pendidikan,max(Gaji) from Pegawai_baru GROUP BY Pendidikan;
04/10/2017 Dari tabel Pegawai_baru, kita ingin menampilkan gaji tertinggi / maksimum yang diperoleh pegawai berdasarkan pendidikannya. select Pendidikan,max(Gaji) from Pegawai_baru GROUP BY Pendidikan; Hasil D3 250000 S1 400000

68 select Asal,count(Asal) from Pegawai_baru GROUP BY Asal;
04/10/2017 select Asal,count(Asal) from Pegawai_baru GROUP BY Asal; Bali 1 Jakarta 3 Semarang 2 Yogya

69 04/10/2017 select Pendidikan,count(Pendidikan),sum(Gaji) from Pegawai_baru GROUP BY Pendidikan; D3 2 162500 S1 5 450000

70 04/10/2017 Reference

71 Terimakasih STMIK Kharisma yudi@attglobal.net
04/10/2017 Terimakasih STMIK Kharisma


Download ppt "04/10/2017 Bab IV SQL Structured Query Language stmik kharisma, presented by wahyudi yudi252003@yahoo.com."

Presentasi serupa


Iklan oleh Google