Upload
kelsie-sharp
View
82
Download
3
Embed Size (px)
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
Citation preview
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