1 / 51

Bahasa Pada Model Data Relasional

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 .

Download Presentation

Bahasa Pada Model Data Relasional

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BahasaPada Model Data Relasional Ana Kurniawati

  2. Agenda 1. JenisBahasa 2. Bahasa Formal 3. BahasaKomersial 4. SQL

  3. BahasaPada Model data Relasional • Bahasa Query Formal Bahasa query yang diterjemahkandenganmenggunakansimbol-simbolmatematis. • Bahasa Query Komersial Bahasa Query yang dirancangsendirioleh programmer menjadisuatu program aplikasi agar pemakailebihmudahmenggunakannya (user friendly).

  4. Bahasa Formal • Terbagi 2, yaitu: • Prosedural, yaitupemakaimemberispesifikasi data apa yang dibutuhkandanbagaimanacaramendapatkannya. Contoh : AljabarRelasional, yaitudimana query diekspresikandengancaramenerapkan operator tertentuterhadapsuatutabel / relasi.

  5. Prosedural b. Non Prosedural, yaitupemakaimenspesifikasikan data apa yang dibutuhkantanpamenspesifikasikanbagaimanauntukmendapatkannya. Contoh : KalkulusRelasional, dimana query menjelaskan set tuple yang diinginkandengancaramenjelaskanpredikattuple yang diharapkan.  Terbagi 2 : • KalkulusRelasionalTupel • KalkulusRelasional Domain

  6. Bahasa Query Komersial Contoh : • QUEL Berbasis pada bahasa kalkulus relasional • QBE Berbasis pada bahasa kalkulus relasional • SQL Berbasis pada bahasa kalkulus relasional dan aljabar relasional

  7. SQL

  8. Apakah SQL ? • SQlsingkatandari Structured Query Language yang merupakanbahasakomputerstandar ANSI (American National Standards Institute). Dengan SQL kitadapat • Membuat basis data danstrukturtabel • Input, update, dan delete data daritabel • Membuat query sederhanadankompleks SQL • SQL tersediadalambanyakversiMs.Access, DB2, MS SQL server, Oracle, MySQL, Sybase,dll.

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

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

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

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

  13. 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. CREATE • Digunakan untuk membuat database dan objek-objek di dalam database Membuat database Create Database Namadatabase Contoh Create Database Kepegawaian

  16. Mengaktifkan database yang telahdibuat 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. DROP • Digunakanuntukmenghapus database danobjek-objekdidalam database Menghapus database dantabel Drop Database Namadatabase Contoh Drop Database Kepegawaian Drop Table Namatable Contoh Drop Table pegawai

  18. ALTER • Berfungsiuntukmemodifikasitabel • - menambahkolom/field • - menghapuskolom/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 Columnstatus 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. 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 tabel Insert Into namatable values (‘nilaifield1’,’nilaifield2’,…)

  23. 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. Menampilkansebagian field besertarecordnya yang adapadatabel Select namafield,namafield from namatabel Contoh Select nip,alamat from pegawai Menampilkan baris record tertentu berdasarkan pilihan field yang diberikan Select * from namatabel where namafield=‘nilaifield’ Contoh Select * from pegawai where alamat=‘seutui’

  25. Menampilkansatu field besertarecordnya yang tidakakanberulang Select distinct namafield from namatabel Contoh Select distinct alamat from pegawai 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. Menampilkanbeberapa field besertarecordnya yang samatidakakanberulang Select distinct namafield1,namafield2 from namatabel Contoh Select distinct alamat,status from pegawai satu baris nip [03] tidak dipaparkan kerana berulang

  27. MenggunakanUngkapanAritmatikdalamPernyataan +, -, /, * Select namafield ungkapan aritmatik from namatabel Contoh Select nama,gaji/2 from pegawai

  28. Kita bolehmenamakansemulasuatuatribut (walaupuntelahmempunyainama) denganmenggunakanAS SELECT nama, gaji/2 AS gajisetengah FROM pegawai

  29. Kita dapatmembuatdanmengubahjudul field yang akanditampilkan 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. MenggunakanSimbolperbandingan <, >, = untukmembuatpemilihan 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

  31. Menggunakan operator Boolean Seperti And OR dan Not 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’

  32. Operator Logik Boolean • ApabilaANDdigunakan, disemuasyaratsebelumdansetelahANDharusbenaruntuksuatutupledipilih • ApabilaORdigunakan, hanyasalahsatusyaratsebelumatausesudahORharusbenarataupunkeduanyabenaruntuksuatutupledipilih • ApabilaNOTdigunakan, yang bukansyarat yang akanditampilkan

  33. 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 850000 and 1000000

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

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

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

  37. Operasi MIN, MAX dan COUNT dapatdilakukandalamatribut yang mempunyaijenis data rentetan (string) seperti Char, Text, danVarchar • Operasi AVG dan SUM hanyabolehdilakukankeatasatribut-atribut yang mempunyaijenis data numerik yang berjenisint, bigint, decimal, bit, numeric, real, smallint, tinyint.

  38. a) SUM  Penjumlahandalamsatukolom Select sum (tunjangan) As jlh_tunj from pegawai Menampilkan jumlah keseluruhan dari tunjangan yang diberikan

  39. b) Avg menghitungnilai rata-rata dalamsatukolom Select Avg (gaji) As rata_gaji from pegawai

  40. c) Min  Untukmencariataumenampilkan nilaiterendah 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  Untukmencariataumenentukannilaitinggi 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  Menghitungjumlah record yang sesuai dengankondisi 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. 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

  44. 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 Select nim,nama where jeniskelamin=’perempuan’ order by namaasc Select nim,nama where jeniskelamin=’perempuan’ order by namadesc

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

  46. 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 dalamTabel 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. DELETE Berfungsi untuk menghapus satu atau beberapa record dalam suatu tabel. Delete from namatabel where kondisi Contoh Delete from pegawai where nip=’01’

  49. TUGAS • Buat paper tentangperbandinganduabuah RDBMS yang open source ataupunberbayar. • Isi Paper • Cover • DaftarIsi • Pengenalan RDBMS A dan RDBMS B • HasilPerbandingan • Analisisperbandingan • DaftarPustaka Company Logo

  50. Lanj.. • AturanPenulisan • Margin atasdankiri : 4 cm, bawahdankanan : 3 cm • Spasi : 1,5 • Font : Tnr • Size : Judul 14, isi : 12 • Penomoranhal : bawahtengah • Dikumpulkanberupa hardcopy dan file presentasihariRabu 15 Maret 2013 Company Logo

More Related