bahasa pada model data relasional

Post on 02-Jan-2016

84 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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

Bahasa Pada Model Data Relasional

Ana Kurniawati

Agenda

1. Jenis Bahasa1. Jenis Bahasa

2. Bahasa Formal 2. Bahasa Formal

3. Bahasa Komersial3. Bahasa Komersial

4. SQL4. SQL

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

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. 

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

Bahasa Query Komersial

Contoh : QUEL

Berbasis pada bahasa kalkulus relasionalQBE

Berbasis pada bahasa kalkulus relasionalSQL

Berbasis pada bahasa kalkulus relasional dan aljabar relasional

7

SQL

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.

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.

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.

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

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.

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)

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.

15

1. CREATE

Digunakan untuk membuat database dan objek-objek di dalam database

Membuat database

Create Database Namadatabase

Contoh

Create Database Kepegawaian

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

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

18

3. ALTER

• Berfungsi untuk memodifikasi tabel

- menambah kolom/field

- menghapus kolom/field

- membuat primary key atau foreign key

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)

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)

21

SQL Data Manipulation Language

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

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

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

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

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

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

27

Select namafield ungkapan aritmatik from namatabel

Contoh

Select nama,gaji/2 from pegawai

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

28

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

SELECT nama, gaji/2 AS gajisetengah FROM pegawai

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

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

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

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

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

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

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

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

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.

38

a) SUM Penjumlahan dalam satu kolom

Select sum (tunjangan) As jlh_tunj from pegawai

Menampilkan jumlah keseluruhan dari tunjangan yang diberikan

39

b) Avg menghitung nilai rata-rata dalam satu kolom

Select Avg (gaji) As rata_gaji from pegawai

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)

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)

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)

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

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

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

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’

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

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’

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

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

www.themegallery.com

top related