DATABASE ENVIRONMENT


LINGKUNGAN DATABASE

CONCURRENCY (KONKURENSI)

Salah satu tujuan utama dalam mengembangkan sebuah database adalah membuat sumber informasi yang dapat digunakan oleh sejumlah user yang terkadang diakses secara terus-menerus.

  •  Jika semua user hanya membaca data, maka data yang satu tidak akan berbaur dengan data yang lain.
  • Akan tetapi jika dua orang user mencoba melakukan update data, maka ada kemungkinan terjadi “benturan” data.
  • Salah satu kriteria untuk melakukan klasifikasi sebuah sistem database adalah dengan menggabungkan sejumlah user yang dapat menggunakan sistem secara konkurensi, yaitu pada waktu yang sama.
 Contoh : Sistem Pemesanan Tiket Pesawat digunakan oleh ratusan agen perjalanan dan pemesanan tiket dilakukan secara konkuren.

Ada 3 masalah yang disebabkan oleh Concurrency :

1. Masalah kehilangan modifikasi (Lost Update Problem)

Masalah ini timbul jika dua transaksi mengakses item database yang sama yang mengakibatkan nilai dari database tersebut menjadi tidak benar.

tabel1_p13tabel2_p13 Continue reading

Advertisements

Bahasa Query komersial


SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian pada tahun 1974, D. Chamberlin dan R.F. Boyce mengembangkan bahasa query untuk memanipulasi dan mengekstraksi data dari basisdata relational.
Sasaran SQL

  1. Menciptakan basis data dan struktur relasi
  2. Melakukan menajemen data tingkat dasar
  3. Membentuk query sederhana dan kompleks
  4. Melakukan tugas-tugas dengan seminimal mungkin memakai struktur dan sintaks perintah relatif mudah dipelajari
  5. Harus portabel

Jenis SQL :
1.Interactive SQL, adalah perintah SQL yang langsung dapat dioperasikan

2.Static SQL,adalah bersifat embedded ( disisipkan ke dalam sebuah program)
3.Dynamic SQL,adalah kombinasi antara interactive dan static

Continue reading

Bahasa Query formal


  • Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data.
  • Bahasa query  relasional formal merupakan  bahasa antara yang digunakan basis data, yaitu SQL dikonversi menjadi bahasa  relasional formal sehingga dapat diterapkan sekumpulan informasi untuk memperoleh query paling efisien
Terdapat dua jenis  bahasa query relasional formal yang utama, yaitu:
  1. Aljabar relasional.
  2. Kalkulus relasional
aljabar relasional merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
Kalkulus relasional tupel adalah bahasa query yang non prosedural. Bahasa ini mendeskripsikan informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan informasi tersebut. Kalkulus relasional tupel merupakan basis untuk bahasa query QUEL.
Sebuah query dalam bahasa ini ditulis :
{ t | P(t) }
artinya, semua tuple t sedemikian sehingga predikat P adalah benar untuk t. Dengan mengikuti notasi terdahulu, kita gunakan t[A] untuk menyatakan nilai tuple t pada atribut A, dan t ∈ r untuk menyatakan bahwa tuple t berada dalam relasi r.
Dalam kalkulus relasional ada 2 notasi yang penting, yang pertama adalah “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.
Yang kedua adalah “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. 
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.
Sebuah ekspresi dalam kalkulus relasional domain adalah berbentuk :
{ < x1, x2, . . . , xn > | P(x1, x2, . . . , xn) }
dimana x1, x2, . . . , xn merepresentasikan variabel-variabel domain. P merepresentasikan sebuah formula yang terdiri dari atom-atom. Sebuah atom dalam kalkulus relasional domain dapat berupa salah satu dari bentuk berikut ini :
–    < x1, x2, . . . , xn > ∈ r, dimana r adalah relasi dengan n atribut dan x1, x2, . . . , xn adalah variabel domain atau konstanta 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 adalah variabel domain, ϴ adalah operator relasional, dan c adalah sebuah konstanta.
Dalam kalkulus relasional domain, seperti halnya dalam kalkulus relasional tupel, kita juga menggunakan notasi “terdapat beberapa (there exists)” dilambangkan dengan “∃” dan “untuk seluruh (for all)” dilambangkan dengan “∀”.

.

data model


Data_Structure_Diagram

A. CDM (Conceptual Data Model) :
– Model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu.
Biasanya direpresentasikan dalam bentuk Entity Relationship Diagram.

Model data konseptual merupakan sebuah model pendekatan secara konsep sebelum dikonversi menjadi model data fisik yang telah berkaitan dengan tujuan basis data tertentu.

Skema konseptual atau model data konseptual adalah sebuah peta konsep dan hubungan mereka yang digunakan pada sebuah database. Ini menjelaskan semantik dari suatu organisasi dan merepresentasikan serangkaian pernyataan tentang sesuatu secara alami. Secara khusus, ia menjelaskan hal-hal penting bagi sebuah organisasi (entitas), bagaimana  untuk mengumpulkan informasi, dan karakteristiknya (atribut) dan hubungan antara pasangan atau hal penting (relation).

Pada perancangan model konseptual akan menunjukan entity dan relasinya berdasarkan proses yang diinginkan oleh organisasi. Pendekatan yang dilakukan pada perancangan model konseptual adalah dengan menggunakan model data relational.

Continue reading

DDL dan DML


DATA MODEL MAPPING (Perancangan database secara logik)

Pada tahap ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan pada tahap Perancangan database secara konseptual seperti EER (Enhanced Entity Relationship) model ke dalam model data dari model data dari DBMS yang dipilih pada Pemilihan DBMS. Pemetaan tersebut dapat diproses dalam 2 tingkat:

  1. Pemetaan system-independent
    Pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada implementasi DBMS dari model data tersebut.
  2. Penyesuain skema ke DBMS yang spesifik
    Mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada implementasi yang khusus di masa yang akan datang dari suatu model data yang digunakan pada DBMS yang dipilih.Hasil dari tahap ini memakai perintah-perintah DDL (Data Definition Language) dalam bahasa DBMS yang dipilih yang menentukan tingkat skema konseptual dan eksternal dari sistem database. Tetapi dalam beberapa hal, perintah-perintah DDL memasukkan parameter-parameter rancangan fisik sehingga DDL yang lengkap harus menunggu sampai tahap perancangan database secara fisik telah lengkap.Tahap ini dapat dimulai setelah pemilihan sebuah implementasi model data sambil menunggu DBMS yang spesifik yang akan dipilih. Contoh: jika memutuskan untuk menggunakan beberapa relational DBMS tetapi belum memutuskan suatu relasi yang utama. Rancangan dari skema eksternal untuk aplikasi-aplikasi yang spesifik seringkali sudah selesai selama proses ini.