Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan ke-14 Intro : Structure Query Language [SQL]

Presentasi serupa


Presentasi berjudul: "Pertemuan ke-14 Intro : Structure Query Language [SQL]"— Transcript presentasi:

1 Pertemuan ke-14 Intro : Structure Query Language [SQL]

2 Apa itu SQL? SQL merupakan suatu bahasa (language) yang digunakan untuk mengakses database Hampir semua software database mengenal atau mengerti SQL. perintah SQL pada semua software database hampir sama.

3 Perintah SQL Terdapat 3 (tiga) jenis perintah SQL, yaitu :
DDL atau Data Definition Language DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. DML atau Data Manipulation Language DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. DCL atau Data Control Language DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses (priviledges).

4 DATABASE DDL (Data Definition Language) Create Databases Create Tables
Create Indexes Altering Tables Dropping Tables/Indexes

5 DDL (Data Definition Language)
Create Tables statement CREATE TABLE table (An Dn, An Dn, .., An Dn) Keterangan : tabel = nama tabel yang akan dibuat A1..An = atribut atau variabel field D1, Dn= tipe data untuk A1..An

6 Create Tables Statement
Membuat tabel siswa CREATE TABLE siswa (NISN char(6), nama_siswa char(30), tgl_lahir date(), tempat_lahir char(30), KLS char(2), alamat char(30), nama_ortu_wali char(30))

7 Create Tables Statement
Membuat tabel Customer CREATE TABLE tblCustomers ( customerID INTEGER NOT NULL, [Last name] CHAR(30) NOT NULL, [First name] CHAR(30) NOT NULL, Phone CHAR(12), CHAR (50))

8 Create Tables Statement
Membuat tabel Pelanggan CREATE TABLE pelanggan (id_pelanggan varchar(5) NOT NULL, nm_pelanggan varchar(30) NOT NULL, alamat text, telepon varchar (20), varchar (50), PRIMARY KEY(id_pelanggan));

9 Quiz/Tugas DDL Buat tabel Pegawai dengan SQL

10 Quiz Buat tabel Pegawai
DDL Buat tabel Pegawai CREATE TABLE pegawai ( NIP char(6) NOT NULL, nama_pegawai char(30) NOT NULL, tgl_lahir date() NOT NULL, tempat_lahir char(30) NOT NULL, Jenis_kelamin char(9) NOT NULL, alamat char(30) NOT NULL, Golongan char(1) NOT NULL )

11 Create Index DDL Index Index adalah struktur data eksternal yang digunakan untuk mengurutkan atau mengatur pointer data dalam sebuah table Peringatan : Jika kita menggunakan beberapa index pada suatu tabel akan menunjukkan penurunan performa dikarenakan extra overhead dalam pemeliharaan indexnya.

12 Create Index Index Selain itu :
Banyak menggunakan index dapat menyebabkan masalah penguncian record, bila digunakan dalam peralatan multiuser. Dengan demikian : Gunakanlah index dalam konteks yang benar, sebuah index dapat memperbaiki performa lebih tinggi sebuah aplikasi.

13 Create Index Statement
Gunakan pernyataan CREATE INDEX untuk membuat index. Structure pembuatan index adalah : CREATE INDEX nama_index    ON nama_tabel (nama_field) Contoh membuat index pada tabel customers dalam database invoicing sebagai berikut : CREATE INDEX idxCustomerID      ON tblCustomers (CustomerID) Membuat index pada suatu tabel, Anda harus memberi nama index, menyertakan nama tabel yang akan dibuat indexnya, dan menyertakan nama field yang akan dijadikan indexnya.

14 Create Index Statement
Pengurutan menggunakan INDEX secara baku data diurutkan dari kecil ke besar. Jika Anda ingin mengurutkan data dari nilai terbesar ke nilai terkecil. Strukturnya adalah : CREATE INDEX nama_index    ON nama_tabel (nama_field DESC) Contoh membuat index pada tabel customers dalam database invoicing sebagai berikut : CREATE INDEX idxCustomerID      ON tblCustomers (CustomerID DESC) Membuat index pada suatu tabel, Anda harus memberi nama index, menyertakan nama tabel yang akan dibuat indexnya, dan menyertakan nama field yang akan dijadikan indexnya.

15 Create Index Statement
CREATE INDEX idxCustomerID      ON tblCustomers (CustomerID) WITH PRIMARY CREATE INDEX idxCustomerName     ON tblCustomers ([Last Name], [First Name]) WITH PRIMARY Membuat index pada suatu tabel, Anda harus memberi nama index, menyertakan nama tabel yang akan dibuat indexnya, dan menyertakan nama field yang akan dijadikan indexnya.

16 Create Index Statement
CREATE UNIQUE INDEX nama_index    ON nama_tabel (nama_field) Contoh : CREATE UNIQUE INDEX idxCustomerPhone     ON tblCustomers (Phone) Membuat index pada suatu tabel, Anda harus memberi nama index, menyertakan nama tabel yang akan dibuat indexnya, dan menyertakan nama field yang akan dijadikan indexnya.

17 DROP Index Statement DROP INDEX nama_index ON nama_tabel Contoh :
DROP INDEX idxCustomerPhone     ON tblCustomers Membuat index pada suatu tabel, Anda harus memberi nama index, menyertakan nama tabel yang akan dibuat indexnya, dan menyertakan nama field yang akan dijadikan indexnya.

18 DROP Table Statement DROP TABLE tblCustomers DROP TABLE nama_tabel
Contoh : DROP TABLE tblCustomers     Membuat index pada suatu tabel, Anda harus memberi nama index, menyertakan nama tabel yang akan dibuat indexnya, dan menyertakan nama field yang akan dijadikan indexnya.

19 Altering Tables Statement
Altering Tables Structure ALTER TABLE tabel ADD | MODIFY (An dn, An dn, .., An dn);

20 Altering Tables Statement
DDL ALTER TABLE tblCustomers ADD COLUMN Address TEXT(30) Mengganti ukuran field : ALTER COLUMN Address TEXT(40)

21 Altering Tables Statement
DDL Altering Tables & DROP Menghapus Field : ALTER TABLE tblCustomers DROP COLUMN Address

22 Structure Query Language [SQL]
DML ( Data Manipulation Language) Insertion : Menyisipkan data record ke dalam suatu tabel Updating : Memperbaiki data record dalam suatu tabel Deletion : Menghapus data record pada suatu tabel Selection : Menampilkan data record dari suatu tabel

23 Query Insertion Sructure
INSERT INTO tabel (A1, A2, .., An ) VALUES (C1, C2, …,Cn-1, Cn) CONTOH : INSERT INTO siswa ( NISN, nm_siswa, nilai ) VALUES ( , ‘Fadhel Muhammad’, 89 );

24 Query Selection Sructure
SELECT A1, A2, ………,An-1, An FROM T1, T2, ………,Tn-1, Tn WHERE Criteria GROUP BY A1, A2, ………,An-1, An HAVING Criteria_Agregate_function ORDER BY Criteria_A fungsi agregrasi seperti COUNT, SUM, AVG

25 Query Update Sructure UPDATE tabel SET assignments WHERE Criteria
CONTOH : UPDATE siswa SET nilai = 89 WHERE NISN =‘123456’;

26 Query Deletion Sructure
DELETE FROM Tabel WHERE Criteria CONTOH : DELETE FROM siswa WHERE NISN = ‘123456’;

27 Structure Query Language [SQL]
CDL (Control Definition Language) GRANT Memberikan otoritas (hak akses) manipulasi data pada suatu tabel (database) kepada user REVOKE Mencabut otoritas (hak akses) manipulasi data pada suatu tabel (database) dari user CDL (Control Definition Language) Statement untuk memberi (grant) dan mencabut (revoke) otoritas (hak akses) kepada/dari user. Dengan alasan demi kelancaran dan keamanan sistem database dalam pengolahan datanya. GRANT Memberikan otoritas (hak akses) manipulasi data pada suatu tabel (database) kepada user REVOKE Mencabut otoritas (hak akses) manipulasi data pada suatu tabel (database) dari user

28 Control Data Language [CDL]
GRANT statement structure GRANT <otoritas> ON <nm_tabel> TO <user_name> Grant Type : insert , select, update , delete , all

29 Control Data Language [CDL]
GRANT for insert GRANT insert ON <nm_tabel> TO <user_name> Contoh : GRANT insert ON siswa TO fadhel GRANT insert ON siswa TO agung, fadhel, septi GRANT insert ON siswa TO all

30 Control Data Language [CDL]
GRANT for update GRANT update ON <nm_tabel> TO <user_name> Contoh : GRANT update ON siswa TO fadhel GRANT update (NIM, nm_kul) ON siswa TO agung, septi

31 Control Data Language [CDL]
GRANT for select GRANT select ON <nm_tabel> TO <user_name> Contoh : GRANT select ON siswa TO fadhel GRANT insert, select ON siswa TO septi GRANT all ON siswa TO ani

32 Control Data Language [CDL]
GRANT for all and public GRANT all ON <nm_tabel> TO <user_name> GRANT <otoritas> ON <nm_tabel> TO public Contoh : GRANT all ON siswa TO ani GRANT select ON siswa TO public

33 Control Data Language [CDL]
REVOKE structure REVOKE <otoritas> ON <nm_tabel> FROM <user_name> Revoke Type : insert , select, update , delete , all

34 Control Data Language [CDL]
REVOKE for insert REVOKE insert ON <nm_tabel> FROM <user_name> Contoh : REVOKE insert ON siswa FROM ruben REVOKE insert ON siswa FROM public

35 Control Data Language [CDL]
REVOKE for select REVOKE select ON <nm_database> FROM <user_name> Contoh : REVOKE select ON siswa FROM septi REVOKE insert, select ON siswa FROM fadhel REVOKE select, delete ON siswa FROM public

36 Advanced Query Complex Integrity Constraints
- Constraints over single table - Domain constraints ICs over several tables IF conditional into query Aggregate function Memahami materi query lanjutan : Complex Integrity Constraits - Constraints over single table - Domain constraints ICs over several tables IF conditional into query Aggregate function

37 Integrity Constraint Model Relasional Menjaga integritas atau satu kesatuan data dalam suatu database, gunakan kunci utama (Primary key) dan kunci tamu (Foreign key). Primary key : Adalah atribut kunci yang dapat menunjukkan identitas informasi dari atribut yang bersangkutan. Foreign key : Adalah atribut kunci milik relasi utama yang disisipkan pada relasi transaksi untuk menunjukkan relationship antara relasi transaksi dengan relasi utama. Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

38 Integrity Constraint Tujuan utama :
Model Relasional Tujuan utama : Primary key dan Foreign key digunakan untuk relationships antar relasi. Untuk menjaga integritas data antar relasi keduanya. Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

39 Relationships Model Relasional NIM NAMA JURUSAN 12345 AGUS SANTOSO DKP
12346 DIAN KURNIA TKJ 12347 MARIMAR TI NIM KODE+MK NILAI 12345 TKJ-01 A 12346 B 12347 TIF-03 Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

40 Data Integrity Introduction to Data Integrity
Model Relasional Introduction to Data Integrity Mendefinisikan himpunan aturan integritas data adalah penting, pendefinisian ini dilakaukan oleh database administrator atau application developer. Sebagai contoh data integrity, dengan pertimbangan tables employees and departments dengan business rules untuk informasi pada setiap table sebgai ilustrasi sbb : Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

41 Data Integrity Model Relasional Examples of Data Integrity DEPNO DNAME
LOC 20 30 RESEARCH SALES DALAS CHICAGO EMPNO EMPNAME SALES COMM DEPNO 6666 7665 9876 1234 1345 MULDER SMITH ALLEN WARDS JONES 100.00 200.00 400.00 20 30 Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

42 Data Integrity Types of Data Integrity Null Rule
Model Relasional Types of Data Integrity Bagian ini menggambarkan atauran yang dapaat diterapkan pada kolom tabel ayang menekankan perbedaan tipe data pada integritas data. Null Rule Aturan null adalah definisi aturan pada single column yang membolehkan atau tidak membolehkan inserts atau updates untuk pengisian rows kosong (the absence of a value) pada kolom ini. Unique Column Values Aturan nilai unique didefinisan pada sebuah column (or set of columns) yang membolehkan insert or update hanya pada row jika itu berisi sebuah nilai unique dalam sebuah kolomcolumn (or set of columns). Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

43 Data Integrity Types of Data Integrity Primary Key Values
Model Relasional Types of Data Integrity Primary Key Values Aturan nilai primary key didefinisikan pada sebuah key (a column or set of columns) tertentu bahwasetiap each row dalam table dapat mengidentifikasi keunikan dengan nilai kunci tersebut Referential Integrity Rules Aturan referential integrity adalah definsi aturan pada sebuah kunci key (a column or set of columns) dalam sebuah table yang menjamin bahwa data dalam kunci cocok dengan nilai dalam sebuah relasi table (the referenced value). Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

44 Integrity Constraint Primary key ALTER TABLE tblCustomers
Model Relasional Primary key ALTER TABLE tblCustomers ALTER COLUMN CustomerID INTEGER CONSTRAINT PK tblCustomers PRIMARY KEY ALTER COLUMN CustomerID INTEGER PRIMARY KEY Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

45 Integrity Constraint Primary key ALTER TABLE tblCustomers
Model Relasional Primary key ALTER TABLE tblCustomers ADD CONSTRAINT CustomerNames UNIQUE ([Last Name], [First Name]) ALTER TABLE tblInvoices ADD CONSTRAINT CheckAmount CHECK (Amount > 0) Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

46 Integrity Constraint Foreign key ALTER TABLE tblShipping
Model Relasional Foreign key ALTER TABLE tblShipping ADD CONSTRAINT FK tblShipping FOREIGN KEY (CustomerID) REFERENCES tblCustomers (CustomerID) Dapat membuat dan memodifikasi tabel serta memahami pengertian integrity constraints.

47 Operator Logik Boolean
Apabila AND digunakan, disemua syarat sebelum dan setelah AND harus benar untuk suatu tuple dipilih Apabila OR digunakan, hanya salah satu syarat sebelum atau sesudah OR harus benar ataupun keduanya benar untuk suatu tuple dipilih Apabila NOT digunakan, yang bukan syarat yang akan di tampilkan

48 Jarak Nilai Sebagai Kriteria
Kita boleh mengunakan pernyataan BETWEEN Select namafield from namatabel where namafield between nilai and nilai Contoh Select nama,gaji from pegawai where gaji between and

49 Operator In Pencocokan data kondisi pencarian dengan salah satu data yang ada pada suatu daftar nilai Select namafield from namatabel where namafield In (nilaifield1,nilaifield2) Contoh Select * from pegawai where alamat In (‘seutui’,’prada’) Select nama,alamat from pegawai where alamat In (‘seutui’,’prada’)

50 Operator Like Untuk pencarian data
Bekerja pada type data char, varchar, text Select namafield from namatabel where namafield Like ‘%ekspresi%’ Contoh Select * from pegawai where alamat Like ‘%andi%’ (menampilkan semua klolom dari tabel pegawai yang namanya mengandung kata andi)

51 Fungsi Agregat fungsi yang mengambil suatu kumpulan nilai-nilai sebagai input dan mengembalikan satu nilai sebagai output Select fungsi agregat SUM/AVG/MIN/MAX/COUNT (namafield) As namafieldbaru from nama table SQL menyediakan 5 fungsi AVG : Rata-rata MIN : Minimum MAX : Maksimum SUM : PenJumlahan isi record COUNT : menjumlahkan data

52 Operasi MIN, MAX dan COUNT dapat dilakukan dalam atribut yang mempunyai jenis data rentetan (string) seperti Char, Text, dan Varchar Operasi AVG dan SUM hanya boleh dilakukan keatas atribut-atribut yang mempunyai jenis data numerik yang berjenis int, bigint, decimal, bit, numeric, real, smallint, tinyint.

53 a) SUM  Penjumlahan dalam satu kolom
Select sum (tunjangan) As jlh_tunj from pegawai Menampilkan jumlah keseluruhan dari tunjangan yang diberikan

54 b) Avg  menghitung nilai rata-rata dalam satu kolom
Select Avg (gaji) As rata_gaji from pegawai

55 c) Min  Untuk mencari atau menampilkan nilai terendah
Select min (gaji) As Gaji_min from pegawai (Menampilkan gaji terendah dari tabel pegawai) Select min (gaji) As Gaji_min from pegawai where status=‘nikah’ (Menampilkan gaji terendah dari tabel pegawai yang statusnya telah menikah)

56 d) MAX  Untuk mencari atau menentukan nilai tinggi
Select max (gaji) As Gaji_max from pegawai (Menampilkan gaji terendah dari tabel pegawai) Select max (gaji) As Gaji_max from pegawai where status=‘nikah’ (Menampilkan gaji terendah dari tabel pegawai yang statusnya telah menikah)

57 e) COUNT  Menghitung jumlah record yang sesuai dengan kondisi
Select count (nip) As jlh_peg from pegawai (Menampilkan jumlah seluruh pegawai dari tabel pegawai) Select count (nip) As jlh_peg from pegawai where status=‘nikah’ (Menampilkan jumlah seluruh pegawai dari tabel pegawai yang statusnya telah menikah)

58 Pengelompokan Record (Group by)
Pada kondisi tertentu, sekumpulan record dapat dikelompokkan berdasarkan satu atau lebih field yang terdapat pada sebuah tabel atau query. Select namafield1,namafield2 from namatabel Group by field pengacu Contoh Select jeniskelamin,count (*) as jumlah from mahasiswa group by jeniskelamin Hasil JenisKelamin jumlah Laki-Laki 5 Perempuan 4

59 Pengurutan (Order by) Hasil dari query dapat di urutkan berdasarkan pada satu atau lebih kolom. Select namafield1 from namatabel where kriteria order by namafield Select nim,nama where jeniskelamin=’perempuan’ order by nama order by nama asc order by nama desc nim nama 2008 Ana 2009 Devi 2010 July 2011 Kiki

60 Pernyataan Having -menampilkan kelompok-kelompok data tertentu
-having berbeda dengan where, pernyataan where digunakan untuk memberikan criteria sebelum pengelompokan dan melakukan penyaringan baris. Sedangkan having digunakan untuk memberikan criteria setelah pengelompokan dilakukan, menyaring kelompok, dan menentukan kondisi bagi Group By Select namafield1,… from namatabel Group by field pengacu Having kondisi Contoh Select barang, count (jumlah) As totalfaktur from Torder Group by idbarang having idbarang=‘A009’

61 UPDATE Berfungsi untuk mengubah satu atau lebih data yang terdapat pada satu atau lebih kolom tabel Update namatabel set namafield=nilai where kondisi Contoh Update pegawai set alamat=‘pango’ where nip=’01’

62 Menukar record dalam Tabel
Update namatabel set namafield=nilai Contoh Update pegawai set gaji=gaji+12000 pernyataan diatas akan menambah ‘gaji’ yang awal dengan dalam tabel pegawai

63 DELETE Berfungsi untuk menghapus satu atau beberapa record dalam suatu tabel. Delete from namatabel where kondisi Contoh Delete from pegawai where nip=’01’


Download ppt "Pertemuan ke-14 Intro : Structure Query Language [SQL]"

Presentasi serupa


Iklan oleh Google