bahasa pada model data relasional

51
Bahasa Pada Model Data Relasional Ana Kurniawati

Upload: kelsie-sharp

Post on 02-Jan-2016

84 views

Category:

Documents


3 download

DESCRIPTION

Bahasa Pada Model Data Relasional. Ana Kurniawati. Agenda. 1. Jenis Bahasa. 2. Bahasa Formal. 3. Bahasa Komersial. 4. SQL. Bahasa Pada Model data Relasional. Bahasa Query Formal Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Bahasa Pada  Model Data  Relasional

Bahasa Pada Model Data Relasional

Ana Kurniawati

Page 2: Bahasa Pada  Model Data  Relasional

Agenda

1. Jenis Bahasa1. Jenis Bahasa

2. Bahasa Formal 2. Bahasa Formal

3. Bahasa Komersial3. Bahasa Komersial

4. SQL4. SQL

Page 3: Bahasa Pada  Model Data  Relasional

Bahasa Pada Model data Relasional

Bahasa Query FormalBahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis.

Bahasa Query KomersialBahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly).

Page 4: Bahasa Pada  Model Data  Relasional

Bahasa Formal

Terbagi 2, yaitu: a. Prosedural, yaitu pemakai memberi

spesifikasi data apa yang dibutuhkan dan bagaimana cara mendapatkannya.

Contoh : Aljabar Relasional ,

yaitu dimana query diekspresikan dengan cara menerapkan operator tertentu terhadap suatu tabel / relasi. 

Page 5: Bahasa Pada  Model Data  Relasional

Prosedural

b. Non Prosedural, yaitu pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.

Contoh :

Kalkulus Relasional, dimana query menjelaskan set tuple yang diinginkan dengan cara menjelaskan predikat tuple yang diharapkan. 

Terbagi 2 :• Kalkulus Relasional Tupel• Kalkulus Relasional Domain

Page 6: Bahasa Pada  Model Data  Relasional

Bahasa Query Komersial

Contoh : QUEL

Berbasis pada bahasa kalkulus relasionalQBE

Berbasis pada bahasa kalkulus relasionalSQL

Berbasis pada bahasa kalkulus relasional dan aljabar relasional

Page 7: Bahasa Pada  Model Data  Relasional

7

SQL

Page 8: Bahasa Pada  Model Data  Relasional

8

Apakah SQL ?

SQl singkatan dari Structured Query Language yang merupakan bahasa komputer standar ANSI (American National Standards Institute). Dengan SQL kita dapat Membuat basis data dan struktur tabelInput, update, dan delete data dari tabelMembuat query sederhana dan kompleks SQL

SQL tersedia dalam banyak versi Ms.Access, DB2, MS SQL server, Oracle, MySQL, Sybase,dll.

Page 9: Bahasa Pada  Model Data  Relasional

2 komponen SQL

DDL untuk definisi struktur database. DML untuk pengambilan (retrieving) dan

perubahan (updating) data.

SQL cukup mudah dipelajari, karena: Merupakan bahasa non-procedural – cukup

menspesifikasikan informasi apa yang dibutuhkan daripada bagaimana mendapatkannya.

Pada dasarnya mempunyai format yang bebas.

Page 10: Bahasa Pada  Model Data  Relasional

Sejarah SQL(1)

Tahun 1974, D. Chamberlin (IBM San Jose Laboratory) mendefinisikan bahasa yang disebut ‘Structured English Query Language’ (SEQUEL).

Versi yang telah diperbaiki, SEQUEL/2, ditemukan tahun 1976 tetapi namanya diubah menjadi SQL untuk alasan hukum.

Sampai saat ini masih banyak yang menyebut ‘see-quel’, walaupun ejaan sesungguhnya adalah ‘S-Q-L’.

IBM secara berturut-turut memproduksi prototype DBMS yang disebut System R, berdasarkan pada SEQUEL/2.

Akar dari SQL, adalah SQUARE (Specifying Queries as Relational Expressions), dimana mendahului proyek System R.

Page 11: Bahasa Pada  Model Data  Relasional

Sejarah SQL(2)

Diakhir 70-an, ORACLE muncul dan mungkin merupakan RDBMS komersil pertama yang berbasis SQL.

Pada tahun 1987, ANSI dan ISO mempublikasikan standar awal untuk SQL.

Pada tahun 1989, ISO mempublikasikan tambahan yang mendefinisikan ‘Integrity Enhancement Feature’.

tahun 1992, revisi utama yang pertama dilakukan pada standar ISO, dikenal sebagai SQL2 atau SQL/92.

Tahun 1999, SQL3 dikeluarkan dengan dukungan untuk manajemen data berorientasi objek (object-oriented data management).

Page 12: Bahasa Pada  Model Data  Relasional

Penulisan perintah SQL

Statemen SQL terdiri dari reserved word dan user-defined word.

Reserved word adalah bagian yang telah ditetapkan pada SQL dan penulisannya harus sesuai dan tidak bisa dipisah-pisahkan.

User-defined word dibuat oleh user dan merepresentasikan nama-nama berbagai objek database seperti relasi, kolom dan view.

Kebanyakan komponen dari perintah SQL bersifat case insensitive, kecuali untuk data literal karakter.

Page 13: Bahasa Pada  Model Data  Relasional

Penulisan perintah SQL(2)

Mudah dibaca dengan pengaturan baris dan spasi :

Setiap clause dimulai pada baris baru. Awal dari suatu clause harus berurut

dengan clause lainnya. Jika clause mempunyai beberapa bagian,

harus ditampilkan pada baris yang berbeda dan diberi spasi pada awal clause.

Menggunakan bentuk notasi Backus Naur Form (BNF)

Page 14: Bahasa Pada  Model Data  Relasional

14

SQL Data Definition Language

Berfungsi untuk membuat atau menghapus database dan mendefinisikan objek-objek (table, index, view, stored procedure, trigger) yang ada di dalam database.

Page 15: Bahasa Pada  Model Data  Relasional

15

1. CREATE

Digunakan untuk membuat database dan objek-objek di dalam database

Membuat database

Create Database Namadatabase

Contoh

Create Database Kepegawaian

Page 16: Bahasa Pada  Model Data  Relasional

16

Mengaktifkan database yang telah dibuat

Use Namadatabase

Contoh

Use Kepegawaian

Membuat Table

Create Table NamaTable (Nama_field/kolom typedata (size), …)

Contoh

Create Table pegawai (NIP char (8) not null primary key, Nama varchar (25), Alamat varchar (50),telf varchar (15))

Page 17: Bahasa Pada  Model Data  Relasional

17

2. DROP

• Digunakan untuk menghapus database dan objek-objek di dalam database

Menghapus database dan tabel

Drop Database Namadatabase

Contoh

Drop Database Kepegawaian

Drop Table Namatable

Contoh

Drop Table pegawai

Page 18: Bahasa Pada  Model Data  Relasional

18

3. ALTER

• Berfungsi untuk memodifikasi tabel

- menambah kolom/field

- menghapus kolom/field

- membuat primary key atau foreign key

Page 19: Bahasa Pada  Model Data  Relasional

19

Menambah Kolom/Field

Alter Table NamaTable add Namafield typedata (size)

Contoh

Alter Table Pegawai add status varchar (5)

Merubah Kolom/Field

Alter Table NamaTable Alter Column Namafield typedata (size)

Contoh

Alter Table Pegawai Alter Column status varchar (10)

Page 20: Bahasa Pada  Model Data  Relasional

20

Menghapus Kolom/Field

Alter Table NamaTable drop Namafield

Contoh

Alter Table Pegawai drop status

Menambah Primary Key

Alter Table NamaTable add primary key (namafield)

Contoh

Alter Table departement add primary key (kd_depart)

Page 21: Bahasa Pada  Model Data  Relasional

21

SQL Data Manipulation Language

Berfungsi untuk memanipulasi data (menampilkan, menambahkan, dan menghapus data)

Page 22: Bahasa Pada  Model Data  Relasional

22

1. INSERT

Digunakan untuk Menambah Data dalam satu record

Insert Into NamaTable (namafield1,namafield2,…)

Values (‘nilaifield1’,’nilaifield2’,…)

Contoh

Insert Into pegawai (nip,nama) values (’01’,’andika’)

Atau bisa juga bila kita mengingat seluruh bentuk field dalam tabelInsert Into namatable values (‘nilaifield1’,’nilaifield2’,…)

Page 23: Bahasa Pada  Model Data  Relasional

23

2. SELECT

Berfungsi untuk Menampilkan record data yang ada dalam table

Select * from namatabel

Contoh

Select * from pegawai(menampilkan data di semua field yang ada dalam table pegawai)

Simbol * bermaksud ‘all’ atau ‘semua’, dan digunakan untuk mewakili semua atribut dalam satu tabel

Page 24: Bahasa Pada  Model Data  Relasional

24

Select namafield,namafield from namatabel

Contoh

Select nip,alamat from pegawai

Menampilkan sebagian field beserta recordnya yang ada pada tabel

Select * from namatabel where namafield=‘nilaifield’

Contoh

Select * from pegawai where alamat=‘seutui’

Menampilkan baris record tertentu berdasarkan pilihan field yang diberikan

Page 25: Bahasa Pada  Model Data  Relasional

25

Select distinct namafield from namatabel

Contoh

Select distinct alamat from pegawai

Menampilkan satu field beserta recordnya yang tidak akan berulang

Baris-baris pendua atau berulang (duplicate) tidak akan dipaparkan.

Sekiranya kita memilih lebih dari satu atribut ketika menggunakan

DISTINCT, hasilnya adalah gabungan atribut-atribut yang unik

Page 26: Bahasa Pada  Model Data  Relasional

26

Select distinct namafield1,namafield2 from namatabel

Contoh

Select distinct alamat,status from pegawai

Menampilkan beberapa field beserta recordnya yang sama tidak akan berulang

satu baris nip [03] tidak dipaparkan kerana berulang

Page 27: Bahasa Pada  Model Data  Relasional

27

Select namafield ungkapan aritmatik from namatabel

Contoh

Select nama,gaji/2 from pegawai

Menggunakan Ungkapan Aritmatik dalam Pernyataan +, -, /, *

Page 28: Bahasa Pada  Model Data  Relasional

28

Kita boleh menamakan semula suatu atribut (walaupun telah mempunyai nama) dengan menggunakan AS

SELECT nama, gaji/2 AS gajisetengah FROM pegawai

Page 29: Bahasa Pada  Model Data  Relasional

29

• Kita dapat membuat dan mengubah judul field yang akan di tampilkan

Select namafield As namafieldbaru from namatabel

Contoh

Select nama As namalengkap from pegawai

menampilkan nama dari tabel pegawai dimana field nama pada hasil SQL di ubah menjadi namalengkap

Page 30: Bahasa Pada  Model Data  Relasional

30

Select namafield from namatabel where simbol perbandingan

Contoh

Select nama,gaji from pegawai where gaji > 1000000

Select nama,gaji from pegawai where gaji < 900000

Select nama,gaji from pegawai where gaji = 900000

Menggunakan Simbol perbandingan <, >, = untuk membuat pemilihan

Page 31: Bahasa Pada  Model Data  Relasional

31

Select namafield1,namafield2 from namatabel where namafield1 operatorboolean namafield2

Contoh

Select alamat,gaji from pegawai where alamat=‘seutui’ and gaji > 1000000

Select alamat,gaji from pegawai where alamat=‘prada’ Or gaji > 900000

Select * from pegawai where alamat=‘seutui’ Or alamat=‘prada’

Select * from pegawai where Not alamat=‘seutui’

Menggunakan operator Boolean Seperti And OR dan Not

Page 32: Bahasa Pada  Model Data  Relasional

32

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

Page 33: Bahasa Pada  Model Data  Relasional

33

Select namafield from namatabel where namafield between nilai and nilai

Contoh

Select nama,gaji from pegawai where gaji between 850000 and 1000000

Jarak Nilai Sebagai Kriteria

Kita boleh mengunakan pernyataan BETWEEN

Page 34: Bahasa Pada  Model Data  Relasional

34

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’)

Operator In

Pencocokan data kondisi pencarian dengan salah satu data yang ada pada suatu daftar nilai

Page 35: Bahasa Pada  Model Data  Relasional

35

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)

Operator Like

- Untuk pencarian data- Bekerja pada type data char, varchar, text

Page 36: Bahasa Pada  Model Data  Relasional

36

Fungsi Agregat

fungsi yang mengambil suatu kumpulan nilai-nilai sebagai input dan mengembalikan satu nilai sebagai output

SQL menyediakan 5 fungsi

AVG : Rata-rataMIN : Minimum

MAX : MaksimumSUM : PenJumlahan isi recordCOUNT : menjumlahkan data

Select fungsi agregat SUM/AVG/MIN/MAX/COUNT (namafield) As namafieldbaru from nama table

Page 37: Bahasa Pada  Model Data  Relasional

37

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.

Page 38: Bahasa Pada  Model Data  Relasional

38

a) SUM Penjumlahan dalam satu kolom

Select sum (tunjangan) As jlh_tunj from pegawai

Menampilkan jumlah keseluruhan dari tunjangan yang diberikan

Page 39: Bahasa Pada  Model Data  Relasional

39

b) Avg menghitung nilai rata-rata dalam satu kolom

Select Avg (gaji) As rata_gaji from pegawai

Page 40: Bahasa Pada  Model Data  Relasional

40

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)

Page 41: Bahasa Pada  Model Data  Relasional

41

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)

Page 42: Bahasa Pada  Model Data  Relasional

42

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)

Page 43: Bahasa Pada  Model Data  Relasional

43

Select namafield1,namafield2 from namatabel Group by field pengacu

Contoh

Select jeniskelamin,count (*) as jumlah from mahasiswa group by jeniskelamin

Hasil

Pengelompokan Record (Group by)

Pada kondisi tertentu, sekumpulan record dapat dikelompokkan berdasarkan satu atau lebih field yang

terdapat pada sebuah tabel atau query.

JenisKelamin jumlah

Laki-Laki 5

Perempuan 4

Page 44: Bahasa Pada  Model Data  Relasional

Pengurutan (Order by)

Hasil dari query dapat di urutkan berdasarkan pada satu atau lebih kolom.

44

Select namafield1 from namatabel where kriteriaorder by namafield

Select nim,nama where jeniskelamin=’perempuan’ order by nama

Select nim,nama where jeniskelamin=’perempuan’ order by nama asc

Select nim,nama where jeniskelamin=’perempuan’ order by nama desc

nim nama

2008 Ana

2009 Devi

2010 July

2011 Kiki

Page 45: Bahasa Pada  Model Data  Relasional

45

Select namafield1,… from namatabel Group by field pengacuHaving kondisi

Contoh

Select barang, count (jumlah) As totalfaktur from Torder Group by idbarang having idbarang=‘A009’

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

Page 46: Bahasa Pada  Model Data  Relasional

46

3. 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’

Page 47: Bahasa Pada  Model Data  Relasional

47

Menukar record dalam Tabel

Update namatabel set namafield=nilai

Contoh

Update pegawai set gaji=gaji+12000

pernyataan diatas akan menambah ‘gaji’ yang awal dengan +12000 dalam tabel pegawai

Page 48: Bahasa Pada  Model Data  Relasional

48

4. DELETE

Berfungsi untuk menghapus satu atau beberapa record dalam suatu tabel.

Delete from namatabel where kondisi

Contoh

Delete from pegawai where nip=’01’

Page 49: Bahasa Pada  Model Data  Relasional

Company Logo

TUGAS

Buat paper tentang perbandingan dua buah RDBMS yang open source ataupun berbayar.

Isi PaperI. CoverII. Daftar IsiIII. Pengenalan RDBMS A dan RDBMS BIV. Hasil PerbandinganV. Analisis perbandinganVI. Daftar Pustaka

www.themegallery.com

Page 50: Bahasa Pada  Model Data  Relasional

Company Logo

Lanj..

Aturan Penulisan1. Margin atas dan kiri : 4 cm, bawah dan

kanan : 3 cm2. Spasi : 1,53. Font : Tnr4. Size : Judul 14, isi : 125. Penomoran hal : bawah tengah

Dikumpulkan berupa hardcopy dan file presentasi hari Rabu 15 Maret 2013

www.themegallery.com

Page 51: Bahasa Pada  Model Data  Relasional

www.themegallery.com