• Tidak ada hasil yang ditemukan

Bahasa dalam Model Relational

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bahasa dalam Model Relational"

Copied!
68
0
0

Teks penuh

(1)

Bahasa dalam Model Relational

Bahasa Query adalah bahasa yang digunakan untuk model relasional

Bahasa Query merupakan suatu bahasa yang menyediakan fasilitas bagi user untuk mengakses informasi dari basis data.

• Pada umumnya level bahasa ini lebih tinggi dari bahasa pemrograman standar.

Bahasa query dapat dikategorikan menjadi 2 :

1. Prosedural

2. Non-Prosedural.

(2)

Bahasa Prosedural dan Non Prosedural

1. Bahasa Prosedural : user menginstruksikan ke sistem agar membentuk serangkaian operasi dalam basis data untuk mengeluarkan hasil yang diinginkan.

 Yg termasuk bahasa query prosedural : 1. Aljabar Relasional

2. Bahasa Non-Prosedural: user mendeskripsikan informasi yang

diinginkan tanpa memberikan prosedur detail untuk menghasilkan informasi.

 Yang termasuk bahasa non-prosedural : 1. Kalkulus relasional tupel

2. Kalkulus relasional domain

(3)

Bahasa Prosedural

1. Aljabar Relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut.

Operasi-operasi dasar dalam aljabar relasional adalah :

1.Select

2. Projection 3.Union

4. Set difference

5. Cartesian product, selain itu ada beberapa operasi tambahan Yaitu set intersection, natural join, division dan theta join.

(4)

Operasi Dasar Aljabar Relasional

1. Select

• Operasi select dapat didefiniskan sebagai ”Kumpulan semua tuple-tuple/record-record dalam suatu tabel yang memenuhi kondisi seleksi tertentu”.

Operasi select berfungsi untuk menyeleksi tuple-tuple yang

memenuhi predikat yang diberikan dari sebuah tabel relasi.

• Simbol sigma “

σ

” digunakan untuk menunjukkan operasi select.

• Argumen diberikan dalam tanda kurung yang mengikuti σ dan berisi tabel relasi yang dimaksud.

(5)

Contoh penggunaan operasi select

Misalkan ada 3 tabel, yaitu tabel dosen, tabel matakuliah dan tabel mengajar seperti berikut:

NIP Nama_dosen Jenis_kelamin Alamat Kota

95001 Bambang Pria Jl. Mawar Jakarta Selatan 95002 Asri Wanita Jl. Anggrek Jakarta Selatan 95003 Hesti Wanita Jl. Bungur Jakarta Timur 95004 Dimas Pria Jl. Kemuning Cikarang

Kd_mk Nama_mk Sks MPK1 PKN 2 MKB3 BDT 3 MKB4 ASD 3 MKB2 SBD 2 MKB5 PTI 4 NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A 95003 MPK1 A 95003 MPK1 B 95004 MKB4 B Tabel Dosen

Tabel Matakuliah Tabel Mengajar

(6)

Contoh penggunaan operasi select

NIP Nama_dosen Jenis_kelamin Alamat Kota

95001 Bambang Pria Jl. Mawar Jakarta Selatan

95004 Dimas Pria Jl. Kemuning Cikarang

Hasil:

Contoh

1. Tampilkan daftar dosen yang berjenis kelamin pria dari tabel Dosen.

Aljabar relasional : σJenis_kelamin=Pria(Dosen)

2. Tampilkan daftar dosen yang kota asalnya Jakarta Selatan Aljabar relasional : σkota=Jakarta Selatan(Dosen)

NIP Nama_dosen Jenis_kelamin Alamat Kota

95001 Bambang Pria Jl. Mawar Jakarta Selatan 95002 Asri Wanita Jl. Anggrek Jakarta Selatan

(7)

Contoh penggunaan operasi select

Hasil:

Contoh

1. Tampilkan daftar matakuliah yg sksnya lebih dari atau sama dengan 3

2. Aljabar relasional : σ(sks>=3)(Matakuliah)

Kd_mk Nama_mk Sks

MKB3 BDT 3

MKB4 ASD 3

MKB5 PTI 4

(8)

Operasi Dasar Aljabar Relasional

2. Project

• Operasi project berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah tabel relasi.

• Simbol phi “π” digunakan untuk menunjukkan operasi projection.

Predikat muncul sebagai subscript dari π dan hanya nama atribut yang diinginkan yang ditulis dalam predikat.

• Argumen diberikan dalam tanda kurung yang mengikuti π dan berisi tabel relasi yang dimaksud.

(9)

Contoh penggunaan operasi project

1. Tampilkan NIP dan Nama_dosen dari tabel Dosen Aljabar relasional : πNIP,Nama_dosen(Dosen)

NIP Nama_dosen

95001 Bambang

95002 Asri

95003 Hesti

95004 Dimas

2. Tampilkan NIP, Nama_dosen, dan kota dari tabel Dosen, dari

dosen-dosen yang bertempat tinggal di kota Jakarta Selatan.

Aljabar relasional : πNIP,Nama_dosen,KotaKota=Jakarta Selatan(Dosen)

IP Nama_dosen Jenis_kelamin Kota

95001 Bambang Pria Jakarta Selatan 95002 Asri Wanita Jakarta Selatan

(10)

Operasi Dasar Aljabar Relasional 3. Union

• Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi lainnya.

• Simbol “” digunakan untuk menunjukkan operasi union.

• Operasi union bernilai benar bila terpenuhi 2 kondisi, yaitu :

Derajat dari 2 tabel relasi yang dioperasikan harus sama dan

(11)

Operasi Dasar Aljabar Relasional NIP 95002 95003 95004 Hasil

NIP Nama_dosen Jenis_kelamin Alamat Kota

95001 Bambang Pria Jl. Mawar Jakarta Selatan

95002 Asri Wanita Jl. Anggrek Jakarta Selatan

95003 Hesti Wanita Jl. Bungur Jakarta Timur

95004 Dimas Pria Jl. Kemuning Cikarang

NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A 95003 MPK1 A 95003 MPK1 B 95004 MKB4 B Tabel mengajar Tabel dosen

Contoh penggunaan operasi union :

• Tampilkan NIP( dari relasi Dosen) Union dari NIP (dari tabel Mengajar) Aljabar Relasional: πNIP (Dosen) ∪ NIP (Mengajar)

(12)

Bahasa dalam Model Relational

4. Set Difference

• Operasi set difference berfungsi untuk mendapatkan nilai yang ada disebuah tabel relasi, tapi tidak ada dalam tabel relasi lainnya.

(13)

Contoh penggunaan operasi set difference

NIP 95001

NIP Nama_dosen Jenis_kelamin Alamat Kota

95001 Bambang Pria Jl. Mawar Jakarta Selatan 95002 Asri Wanita Jl. Anggrek Jakarta Selatan 95003 Hesti Wanita Jl. Bungur Jakarta Timur 95004 Dimas Pria Jl. Kemuning Cikarang

Tabel Dosen NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A 95003 MPK1 A 95003 MPK1 B 95004 MKB4 B Tabel Mengajar Hasil

Tampilkan NIP (dari tabel Dosen) Set-difference dari NIP (dari tabel Mengajar).

(14)

5. Cartesian Product

5. Cartesian Product

Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam 2 tabel relasi dan menghasilkan sebuah tabel relasi yang baru.

• Simbol “x“ digunakan untuk menunjukkan operasi cartesian

product.

Contoh penggunaan operasi cartesian product :

Tampilkan Kode_mk, Nama_mk, Sks (dari tabel Matakuliah), Kelas (dari tabel Mengajar) dimana kelas yang diajar adalah kelas A.

Aljabar relasional: πKode_mk,Nama_mk,Sks,KelasKelas=A ^

Mengajar.Kode_mk=Matakuliah.Kode_mk(Mengajar x Matakuliah))

atau

σMengajar.Kode_mk=Matakuliah.Kode_mk

(15)

Contoh penggunaan operasi cartesian product

Kd_mk Nama_mk Sks Kelas MPK1 PKN 2 A MKB3 BDT 3 A MKB4 ASD 3 A hasil Kd_mk Nama_mk Sks MPK1 PKN 2 MKB3 BDT 3 MKB4 ASD 3 MKB2 SBD 2 MKB5 PTI 4 NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A 95003 MPK1 A 95003 MPK1 B 95004 MKB4 B

(16)

6. Intersection

6. Intersection

Set intersection / Intersection (∩) termasuk ke dalam operator

tambahan, karena operator ini dapat diderivikasi dari operator dasar seperti berikut:

• A ∩ B = A - ( A – B ), atau A ∩ B = B - ( B – A )

Operasi set intersection berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi dan juga ada dalam tabel relasi lainnya.

• Simbol “∩“ digunakan untuk menunjukkan operasi set intersection.

(17)

Contoh penggunaan operasi set intersection

NIP 95002 95003 95004 Hasil

Tampilkan NIP (dari tabel Dosen) Set Intersection dengan NIP (dari tabel Mengajar).

Aljabar relasional: πNIP (Dosen) ∩ πNIP (Mengajar) NIP Nama_dosen Jenis_kelamin Alamat Kota

95001 Bambang Pria Jl. Mawar Jakarta Selatan 95002 Asri Wanita Jl. Anggrek Jakarta Selatan 95003 Hesti Wanita Jl. Bungur Jakarta Timur 95004 Dimas Pria Jl. Kemuning Cikarang

NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A 95003 MPK1 A 95003 MPK1 B 95004 MKB4 B Tabel Dosen Tabel Mengajar

(18)

7. Natural Join

• Operasi natural join berfungsi untuk menggabungkan operasi selection dan cartesian product menjadi 1 operasi saja.

• Simbol “⋈“ digunakan untuk menunjukkan operasi natural join. Operasi natural join hanya menghasilkan tupel yang mempunyai nilai yang sama pada 2 atribut yang bernama sama pada 2 tabel relasi yang berbeda.

(19)

7. Natural Join

7. Natural Join

Kd_mk Nama_mk Sks NIP Kelas

MKB3 BDT 3 95002 A MKB4 ASD 3 95002 A MPK1 PKN 2 95003 A MPK1 PKN 2 95003 B MKB4 ASD 3 95004 B hasil

Contoh penggunaan operasi natural join

Tampilkan seluruh data yang ada pada tabel Matakuliah dan tabel Mengajar.

Aljabar relasional : Matakuliah ⋈ Mengajar.Kode_mk=Matakuliah.Kode_mk Mengajar

Kd_mk Nama_mk Sks MPK1 PKN 2 MKB3 BDT 3 MKB4 ASD 3 MKB2 SBD 2 MKB5 PTI 4 NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A 95003 MPK1 A 95003 MPK1 B 95004 MKB4 B Tabel Matakuliah Tabel Mengajar

(20)

7. Theta Join

Operasi theta join berfungsi untuk mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi tersebut tidak hanya nilai dari 2 atribut bernama sama, tetapi kondisi yang diinginkan juga bisa menggunakan operator relasional (≤, <, =, >, ≥).

(21)

7. Theta Join

Contoh penggunaan operasi theta join:

Tampilkan seluruh data yang ada pada tabel Matakuliah dan tabel Mengajar.

Aljabar relasional :

Matakuliah ⋈ Mengajar.Kode_mk=Matakuliah.Kode_mk Mengajar

Kd_mk Nama_mk Sks NIP Kd_mk Kelas MKB3 BDT 3 95002 MKB3 A MKB4 ASD 3 95002 MKB4 A MPK1 PKN 2 95003 MPK1 A MPK1 PKN 2 95003 MPK1 B MKB4 ASD 3 95004 MKB4 B Kd_mk Nama_mk Sks MPK1 PKN 2 MKB3 BDT 3 MKB4 ASD 3 MKB2 SBD 2 MKB5 PTI 4 NIP Kd_mk Kelas 95002 MKB3 A 95002 MKB4 A 95003 MPK1 A 95003 MPK1 B 95004 MKB4 B Tabel Matakuliah Tabel Mengajar

(22)

Bahasa Non-Prosedural

Bahasa query non-prosedural

: user menentukan query

berdasarkan APA yang diingingkan (Relational Algebra :

user

menentukan

query

berdasarkan

Bagaimana

melakukannya)

Kalkulus relasional dibagi menjadi dua, yaitu:

1. Kalkulus Relasional Tupel ( Tuple Relational

Calculus)

2. Kalkulus Relasional Domain (Domain Relational

(23)

1. Kalkulus Relasional Tupel

Bahasa ini mendeskripsikan informasi yang diinginkan

tanpa memberi prosedur/cara secara detil untuk

mendapatkan informasi tersebut.

Konsep dasar kalkulus relasional tupel adalah konsep

variable tupel.

Variable ini merepresentasikan tupel – tupel pada relasi

dan digunakan untuk untuk mengekstrak data dari

relasi. Komponen - komponen lain rumus kalkulus tupel

adalah kualifikasi data dengan membatasi nilai – nilai

dari atribut – atribut yang dispesifikasikan.

(24)

1. Kalkulus Relasional Tupel

Kalkulus relasional tupel merupakan basis untuk bahasa

query QUEL.

Sintaks

{ t | P(t) }

artinya, semua tuple

t

sedemikian sehingga

predikat P adalah benar untuk

t

.

T

: tuple variables

P(t)

: formula

(25)

Lanjut..

Dalam kalkulus relasional ada 2 notasi yang penting

1. “terdapat beberapa (there exists)” yang ditulis :

∃ t ∈ r ( Q(t) ),

artinya, terdapat beberapa tuple

t

anggota relasi

r

sedemikian sehingga bahwa predikat

Q(t) adalah benar.

2. “untuk seluruh (for all)” yang ditulis :

∀ t ∈ r ( Q(t) ),

artinya, untuk seluruh tupel

t

anggota relasi

r

sedemikian sehingga bahwa predikat Q(t) adalah

benar.

(26)

Lanjut...

Ciri-ciri relasi kalkulus :

First order calculus

menggunakan simbol-simbol predikat

dan simbol-simbol fungsi. Untuk kaitannya dengan basis

data : simbol fungsi tidak diperlukan dan predikat

diinterprestasikan sebagai relasi.

Formula

pada

first order calculus

dapat dibedakan ke

dalam dua kelas :

1.

Open formula (free variable)

Didefinisikan sebagai himpunan tuples elemen dari

kondisi secara keseluruhan, yang dapat menghasilkan

formula “TRUE”.

(27)

Lanjut...

2. Closed Formula atau Sentences yang memiliki variable

terbatas.

Karena kalkulus dipergunakan sebagai bahasa query

dan basis data bertujuan untuk instant maupun relasi

lainnya, maka closed formulas tidak diperhatikan.

Dalam kalkulus relasional tupel digunakan variabel dari

tupelnya.

Variabel dari suatu tupel adalah daerah yang terdefinisi

sebagai nama dari suatu relasi.

(28)

Kalkulus Relasional

Berikut ini contoh kalkulus relasional tuple yang diterapkan

pada SQL.

SELECT Dosen.nid,dosen.nama_d,Dosen.gajipokok

FROM Dosen WHERE Dosen.jkelamin=‘Pria’ AND Dosen.gajipokok>1000000

Pada query di atas menyatakan dua hal :

-

Mengambil atau mengekstra tupel-tupel pada relasi

Dosen yang mempunyai atribut jkelamin ‘Pria’ dan

memiliki atribut gajipokok adalah lebih besar dari

1000000.

(29)

Kalkulus Relasional

Menampilkan atribut tertentu yaitu nid, nama_d,

gajipokok.

Dengan demikian Dosen.nid,Dosen.gajipokok adalah

variabel-variabel tupel.

Bentuk umum dari kalkulus relasional tuple adalah:

TupleVariabel1 operator[TupleVariabel2 | constant]

(30)

Kalkulus Relasional Domain

2. Kalkulus Relasional Domain

Kalkulus relasional domain juga adalah bahasa query

yang non prosedural dan karenanya berhubungan dekat

dengan kalkulus relasional tupel.

Berbeda dengan kalkulus relasional tupel, bahasa ini

menggunakan variabel domain yang mengambil nilai

dari domain atribut, bukan dari nilai seluruh tupel.

Kalkulus relasional domain merupakan basis untuk

bahasa query QBE.

(31)

Kalkulus Relasional Domain

1. Sebuah ekspresi dalam kalkulus relasional

domain adalah berbentuk :

2. { < x

1

, x

2

, . . . , x

n

> | P(x

1

, x

2

, . . . , x

n

) } dimana

x

1

, x

2

, . . . , x

n

merepresentasikan

variabel-variabel / konstanta domain.

3. P

merepresentasikan sebuah formula/rumus2

yang terdiri dari atom-atom.

4. Sebuah

atom dalam kalkulus relasional

domain dapat berupa salah satu dari bentuk

berikut ini :

(32)

Kalkulus Relasional Domain

- x ϴ y, dimana x dan y adalah variabel domain dan

ϴ

adalah operator relasional (≤, <, =, ≠, >, ≥). Kita

membutuhkan atribut x dan y mempunyai domain yang

bisa diperbandingkan dengan

ϴ

.

-

x Θ c, dimana x dalah variable domain. Θ adalah

operator pembandingan (<, <=,=, >=, ≠) dan

c

adalah

konstanta.

(33)

Kalkulus Relasional Domain

Contoh :

tampilkan nip,nama_d,gajipokok daridosen, dimana jenis

kelaminnya adalah Pria dan gaji pokoknya lebih besar

1200000.

{ nip | ∃ nam_d | ∃ gajipokok (Dosen(nid,nama_d,gajipokok) AND jkelamin=’Pria’ AND gajipokok > 1200000) }

(34)

Kalkulus Relasional Domain

Simbol yang muncul pada formula terdiri dari :

 Konstan (elemen-elemen domain D)

 Variabel (elemen-elemen dari himpunan berhingga V yang

dihubungkan dengan domain D),

 Nama relasi (tabel) dan atribut (berdasarkan skema basis

data),

 Operator perbandingan (=, ≠, >, >=, <, <=),

 Penghubung logika (Λ ( dan / konjugsi)

 (V atau/disjungsi), ⌐ (not/negasi), ada/beberapa(

), dan

semua ( )).

(35)

Structured Query Language (SQL)

Structured Query Language

(SQL) merupakan bahasa

yang banyak digunakan dalam berbagai produk

database.

Penggunaan

SQL

pada

beberapa

bahasa

pemrograman secara umum relatif sama.

Pertama kali dikembangkan sebagai bahasa di produk

database DB2 yang sampai saat ini merupakan

produk database andalan IBM. SQL sering di lafalkan

dengan “

sequel”.

(36)

SQL

Saat ini organisasi standar America (ANSI)

menetapkan standar bahasa SQL yaitu ANSI-92

standard.

Masing-masing

vendor

database

memiliki

dialeknya sendiri sebagaian besar spesifikasinya

mengacu pada

standar ANSI tersebut dengan berbagai ekstensi

tambahan. SQL Server menggunakan bahasa

Transact-SQL dalam produknya, sedangkan Oracle

menggunakan PL/SQL.

(37)

SQL

Bagi seorang programmer, menguasai SQL

adalah

sebuah kewajiban

, karena program

jaman sekarang pasti menggunakan

(38)

SQL

SQL menyediakan sekumpulan statemen untuk

melakukan proses penyimpanan, modifikasi, dan

pengambilan dat di dalam database.

Sedangkan PL/SQL (kependekan dari:

Procedural

Language extensions to SQL

) merupakan teknologi

tambahan yang hanya terdapat di dalam Oracle dan

digunakan untuk meningkatkan kapabilitas SQL agar

dapat diperlakukan sebagaimana layaknya bahasa

prosedural.

(39)

SQL

Dengan PL/SQL, diperbolehkan membuat prosedur,

fungsi, trigger, dan konstruksi standar prosedural

lainnya sehingga pengolahan data dapat dilakukan

secara dinamis.

(40)

SQL

Sejarah SQL

Sejarah SQL dimulai dari artikel seorang peneliti dari IBM

bernama EF Codd yang membahas tentang ide

(41)

SQL

Bahasa tersebut kemudian diberi nama

SEQUEL

(Structured English Query Language).

Setelah terbitnya artikel tersebut, IBM mengadakan

proyek pembuatan basis data relasional berbasis

bahasa

SEQUEL

Akan tetapi, karena permasalahan hukum mengenai

penamaan SEQUEL, IBM pun mengubahnya menjadi

SQL. Implementasi basis data relasional dikenal

dengan System/R.

(42)

SQL

Di akhir tahun 1970-an, muncul perusahaan bernama

Oracle yang membuat server basis data populer yang

bernama sama dengan nama perusahaannya.

Naiknya kepopuleran Oracle, maka SQL juga ikut

populer sehingga saat ini menjadi

standar de facto

(43)

SQL

Standarisasi

Standarisasi SQL dimulai pada tahun 1986, ditandai

dengan dikeluarkannya standar SQL oleh ANSI.

Standar ini sering disebut dengan SQL86.

Standar tersebut kemudian diperbaiki pada tahun

1989 kemudian diperbaiki lagi pada tahun 1992.

(44)

Pemakaian Dasar

Secara umum, SQL terdiri dari dua bahasa :

1. Data Definition Language (DDL)

2. Data Manipulation Language (DML).

3. Data Control Language(DCL)

(45)

1. Data Definition Language (DDL)

1. CREATE (untuk membentuk basis data, table atau

index)

2. DROP (untuk mengubah struktur table)

3. ALTER (untuk menghapus basis data, table atau

index)

(46)

CREATE

CREATE digunakan untuk membuat basis data maupun

objek-objek basis data. SQL yang umum digunakan

adalah:

CREATE DATABASE <nama_basis_data>

CREATE DATABASE digunakan membuat sebuah basis

(47)

CREATE

CREATE TABLE <nama_tabel>

CREATE TABLE digunakan untuk membuat tabel

baru pada basis data yang sedang aktif.

Secara umum, perintah ini memiliki bentuk :

CREATE TABLE [nama_tabel]

(

nama_field1 tipe_data [constraints][,

nama_field2 tipe_data,

...]

)

(48)

CREATE

atau

CREATE TABLE [nama_tabel]

(

nama_field1 tipe_data [,

nama_field2 tipe_data,

...]

[CONSTRAINT nama_field constraints]

)

(49)

CREATE

nama_field

adalah nama kolom (field) yang akan

dibuat.

Beberapa sistem manajemen basis data

mengizinkan penggunaan

spasi

dan

karakter

nonhuruf

pada nama kolom.

Tipe data tergantung implementasi sistem

manajemen basis data.

Misalnya, pada MySQL, tipe data dapat berupa

VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.

(50)

CREATE

Constarints

adalah

batasan-batasan

yang

diberikan untuk tiap kolom.

Tergantung implementasi sistem manajemen

basis data, misalnya NOT NULL, UNIQUE, dan

sebagainya.

Ini dapat digunakan untuk mendefinisikan kunci

primer (primary key) dan kunci asing (foreign key).

Satu tabel boleh tidak memiliki kunci primer sama

sekali, namun sangat disarankan mendefinisikan

paling tidak satu kolom sebagai kunci primer.

(51)

CREATE

Contoh:

CREATE TABLE user

(

username VARCHAR(30) CONSTRAINT PRIMARY

KEY,

passwd VARCHAR(20) NOT NULL,

tanggal_lahir DATETIME

);

akan membuat tabel user seperti berikut:

username Passwd tanggal_lahir

(52)

ALTER

ALTER TABEL <NAMATABEL> MODIFY FILED TYPE

PANJANGBARU;

(53)

CONTOH

Sintaks untuk menambahkan kolom

ALTER TABLE table_name ADD column_name datatype;

Contoh: Untuk menambahkan kolom "pengalaman" ke meja karyawan,

query akan seperti

ALTER TABLE employee ADD experience number(3);

Sintaks untuk menjatuhkan kolom

ALTER TABLE table_name DROP column_name;

Contoh: Untuk menjatuhkan kolom "lokasi" dari tabel karyawan, query

akan seperti

ALTER TABLE employee DROP location; Sintaks untuk memodifikasi kolom

ALTER TABLE table_name MODIFY column_name datatype;

Contoh: Untuk mengubah gaji kolom dalam tabel karyawan, query akan

seperti

(54)

DROP

1. Drop table

DROP TABLE <NAMA_TABLE>;

2. Drop database

DROP DATABASE <NAMA_DATABASE>;

DROP TABLE mhs;

(55)

2. Data Manipulation Language

DML digunakan untuk memanipulasi data yang

ada dalam suatu tabel. Perintah yang umum

dilakukan adalah:

• SELECT untuk menampilkan data.

• INSERT untuk menambahkan data baru.

• UPDATE untuk mengubah data yang sudah ada.

• DELETE untuk menghapus data.

(56)

SELECT

SELECT adalah perintah yang paling sering

digunakan pada SQL, sehingga kadang-kadang

istilah query dirujukkan pada perintah SELECT.

SELECT digunakan untuk menampilkan data dari

satu atau lebih tabel, biasanya dalam sebuah

basis data yang sama.

 Secara umum, perintah SELECT memiliki bentuk

lengkap: ( QUERY BUDIN ) Cilegon.

(57)

SELECT

SELECT [

nama_tabel|alias.]nama_field1 [AS alias1]

[, nama_field2

, ...]

FROM nama_tabel1 [AS alias1]

[INNER|LEFT|RIGHT JOIN tabel2 ON

kondisi_penghubung]

[, nama_tabel3 [AS alias3], ...]

[WHERE kondisi]

[ORDER BY nama_field1 [ASC|DESC][,

nama_field2 [ASC|DESC], ...]]

[GROUP BY nama_field1[, nama_field2, ...]]

[HAVING kondisi_aggregat]

(58)

SELECT

Keterangan :

• Kondisi adalah syarat yang harus dipenuhi

suatu data agar ditampilkan.

• Kondisi_aggregat adalah syarat khusus untuk

fungsi aggregat.

Kondisi dapat dihubungkan dengan operator

logika, misalnya AND, OR, dan sebagainya.

(59)

Tabel user

username Password tgllahir trasaksi total transaksi

Aris 6487AD5EF 09-09-1987 6 10.000

Budi 97AD4erD 01-01-1994 0 0

Charlie 548794654 06-12-1965 24 312.150

Daniel FLKH947HF 24-04-1980 3 0

(60)

SELECT

Contoh 1: Tampilkan seluruh data.

SELECT * FROM user

Contoh 2: Tampilkan pengguna yang tidak pernah bertransaksi.

SELECT * FROM user WHERE total_transaksi = 0

Contoh 3: Tampilkan username pengguna yang bertransaksi

kurang dari 10 dan nilainya lebih dari 1.000.

SELECT username FROM user WHERE jml_transakai < 10 AND

total_transaksi > 1000

(61)

SELECT

Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.

SELECT SUM(total_transaksi) AS total_nominal_transaksi FROM

user

Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah

transaksi terbesar ke terkecil.

(62)

UPDATE

Untuk mengubah data

Sintaks:

UPDATE [NAMA_TABLE] SET

[NAMA_KOLOM]=[NILAI] WHERE [KONDISI]

Contoh:

UPDATE user set password="123456" where

username="

Budi

"

(63)

DELETE

Delete digunakan untuk menghapus data

sintaks:

DELETE FROM [NAMA_TABLE] [KONDISI]

CONTOH : Hapus record atau data yg total transaksi=0

DELETE FROM USER WHERE total_transaksi_=0;

(64)

Fungsi aggregate

Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat).

Secara umum fungsi aggregat adalah:

• SUM untuk menghitung total nominal data

• COUNT untuk menghitung jumlah kemunculan data • AVG untuk menghitung rata-rata sekelompok data

• MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.

Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi

aggregat diletakkan pada bagian HAVING, bukan WHERE.

Contoh: Tampilkan username pengguna yang memiliki jumlah transaksi terbesar

(65)

JENIS JENIS JOIN SQL :

1. INNER JOIN : hanya akan menampilkan baris untuk data

yang memiliki nilai yang sama pada field kunci dengan

tabel yang berelasi

2. LEFT JOIN : hanya menampilkan data dengan mengacu

pada tabel yang ada disebelah kiri.

3. RIGHT JOIN : hanya menampilkan data dengan mengacu

pada tabel yang ada disebelah kanan

4. FULL JOIN : merupakan gabungan dari LEFT JOIN dan

RIGHT JOIN .

(66)

3. Data Control Language(DCL)

DCL merupakan perintah SQL yang berhubungan dengan

pengaturan hak akses user MySQL, baik terhadap server,

database, tabel maupun field. Perintah SQL yang termasuk

dalam DCL antara lain :

(67)

GRANT

GRANT : Perintah ini digunakan untuk memberikan hak / izin akses

oleh administrator (pemilik utama) server kepada user (pengguna biasa).

Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapsu (DELETE), mengubah (UPDATE) dan hak khusus berkenaan dengan sistem databasenya.

Sintaks : GRANT privileges ON tbname TO user

CONTOH : grant select, update, insert, delete on perpustakaan.buku to 'ali'@'localhost';

(68)

REVOKE

REVOKE : perintah ini memiliki kegunaan terbalik dengan

GRAND, yaitu untuk menghilangkan atau mencabut hak

akses yang telah diberikan kepada user oleh administrator.

Sintak : REVOKE privileges ON tbname FROM user

CONTOH : revoke select, update, insert, delete on

perpustakaan.buku from 'ali'@'localhost';

Gambar

Tabel Matakuliah Tabel Mengajar
Tabel Matakuliah Tabel Mengajar

Referensi

Dokumen terkait

Bilamana dalam suatu upacara adat Kain Ulos tidak digunakan atau diganti dengan kain yang lain, seperti dalam upacara kelahiran, kematian, pernikahan, memasuki rumah yang baru,

Cara ini adalah salah satu tindakan yang dapat meningkatkan kekuatan dan ketahanan otot serta meningkatkan fungsi kardiovaskular. Tindakan ini bisa dilakukan dengan cara

Laporan Kinerja Instansi Pemerintah (LKj IP) dibuat dalam rangka perwujudan pertanggungjawaban pelaksanaan tugas pokok dan fungsi serta pengelolaan sumber daya dan

Hal ini sangat berguna ketika kita ingi menghubungkan sintak PHP dengan MySQL karena untuk menghubungkannya kita membutuhkan nama user yang memiliki database tertentu dengan

Modul-modul yang dikembangkan PPPPTK Matematika akan digunakan sebagai referensi atau bahan fasilitasi, serta bekal bagi para Tim Pengembang (NCT, PCT, DCT) dan Guru

Karya ilmiah ini ditulis 1) untuk mengetahui apakah silabus dalam pelaksanaan Pendekatan Multiple Intelligence di LazuardiKamilaGIS Surakarta; 2) untuk mengetahui

Memperhatikan tugas dan fungsi serta tata kerja Sekretariat Daerah Provinsi Kalimantan Barat yang tertuang dalam Peraturan Gubernur Kalimantan Barat Nomor 77 Tahun

[r]