Blog Archives

Aljabar dan Kalkulus relasional

Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basisdata. Sebelum basis data relasional, query terhadap basis data merupakan tugas yang sulit karena pemrogram harus mengetahui skema fisik internal dari basisdata.

Bahasa query resional seperti SQL berbeda dengan bahasa pemrograman konvensional, SQL menspesifikasikan properti informasi yang akan diambil tetapi tidak mencantumkan rincian alogaritma pengambilan. SQL adalah deklaratif, maksudnya adalah pada query dideklarasikan informasi yang merupakan jawaban yang dikehendaki bukan cara komputasi.

Terdapat dua jenis bahasa query relasional formal yang utama, yaitu :
1. aljabar relasional
2. kalkulus relasional

ALJABAR RELASIONAL adalah kumpulan operasi relasi dimana setiap operasi menggunanakn satu atau lebih relasi untuk menghasilkan satu relasi yang baru, dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.

Terdapat enam operasi dasar dalam aljabar relasional :
1. Selection
2. Projection
3. Cartesian – product
4. Union
5. Set – difference
6. Rename

Operasi-operasi turunan dari operasi dasar tersebut adalah
1. Set Intersection
2. Theta join
3. Natural join
4. Outer join
5. Division

Semua operasi tersebut menghasilkan relasi baru.

Pemrogram menggunakan query SQL, DBMS menggunakan aljabar relasional sebagai bahasa antara dalam spesifikasi alogaritma query.

Langkah-langkah dalam DBMS untuk pengolahan query adalah :
1. DBMS melakukan parsing pada string query SQL, dan diterjemahkan kedalam ekspresi aljabar relasional yang dapat menuntun kedalam alogaritma sederhana yang tidak efisien.
2. Lalu bagian optimizer akan mengkonversi akspresi aljabar relasional ini menjadi ekspresi lain yang ekivalen namun lebih efisien untuk dieksekusi.
3. Query optimizer akan mempersiapkan rencana eksekusi yang kemudian ditransformasikan menjadi kode yang dapat dieksekusi pembangkit kode di DBMS.
4. Karena ekspresi aljabar mempunyai semantik matematis yang presisi, maka sistem dapat memferifikasi ekivalensi ekspresi yang dioptimasi yang dihasilkan dari manipulasi ekspresi asal. Semantik ini juga memungkinkan perbandingan rencana-rencana evaluasi query yang berbeda.

OPERASI ALJABAR RELASIONAL
1. Operasi Selection
adalah operasi untuk menyeleksi tupel-tupel yang memenuhi suatu predikat, dapat digunakan operator perbandingan (<,>,<=,>=,=,!=) pada predikat. Beberapa predikat dapat dikombinasikan menjadi predikat majemuk dengan operator penghubung and (V) atau or (V).

2. Operasi projection
adalah operasi untuk memperoleh kolom-kolom tertentu. Operasi project merupakan operasi unary yang mengirim relasi argumen dengan kolom-kolom tertentu. Dikarenakan relasi adalah himpunan, maka baris-baris duplikasi dihilangkan.

3. Operasi Cartesian-product(x)
adalah operasi untuk menghasilkan tabel hasil perkalian kartesian

4. Operasi Union
adalah operasi untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki atribut yang sama, yaitu domain atribut ke-i masing-masing tabel harus sama.

5. Operasi Set Difference
adalah operasi untuk mendapatkan tabel pada suatu relasi, tapi tidak ada pada relasi yang lain.
R-S = {x|x ER dan X !E S}
Operasi ini dapat dilaksanankan apabila R dan S mempunyai atribut yang tidak sama yang akan ditampilkan, artinya adalah atribut R yang tidak ada di S akan ditampilkan, sedangkan yang sama tidak ditampilkan.

6. Operasi Rename
adalah operasi untuk menyalin tabel lama ke dalam tabel yang baru.

7. Operasi Set-Intersection
adalah termasuk kedalam operator tambahan, karena operator ini dapat diverifikasi dari operator dasar seperti berikut :
A n B = A – ( A – B ), atau A n B = B – ( B – A )

8. Operasi Theta join
adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu kriteriasyarat.

9. Operasi Natural Join
adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu kriteria pada kolom yang sama.

10. Operasi Outer – join
adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu kriteria pada kolom yang sama.

11. Operasi Devision
adalah operasi yang banyak digunakan dalam query yang mencakup frase “setiap” atau “untuk semua”, operasi ini juga merupakan pembagian atas tupel-tupel dari dua relasi.

KALKULUS RELASIONAL
Pengguna mendeskripsikan informasi yang dikehendaki tanpa memberitahu prosedur spesifik untuk memperolah informasi. Pada model relasional, bahasa formal non prosedural adalah bahasa kalkulus, predikat relasional yang diekspresikan dengan menspesifikasikan predikan terhadap tupe atau domain  yang harus dipenuhi. Kalkulus relasional dibagi menjadi 2 :

1. Kalkulus relasional Tupel
2. Kalkulus relasional Domain

Kalkulus Relasional Tupel mendeskripsikan informasi tanpa perlu memberikan prosedur spesifik untuk memperoleh informasi tersebut. Konsep dasar kalkulus relasional tupel adalah konsep variabel tupel. Variabel ini merepresentasikan tupel-tupel pada relasi dan digunakan untuk mengekstrak data dari relasi. Komponen – komponen lain rumus kalkulus tupel adalah kulifikasi data dengan membatasi nilai-nilai dari atribut yang dispesifikasikan.
Contoh kalkulus relasional tupel yang diterapkan pada SQl :
“Select Dosen_id, Dosen_nama from Dosen where Dosen_kelamin=’pria'”

Kalkulus Relasional Domain menggunakan variabel-variabel pada nilai-nilai domain atribut, bukan nilai-nilai untuk sebuah tupel. Ekspresi pada kalkulus relasional domain berbentuk : {<X1,X2,….,Xn> | P(X1, X2, …., Xn)}
Dimana X1, X2, X…, Xn menyatakan variabel-variabel domain.

Advertisements

Model Data Relasional

Iin Aryani – 5302411218 – Rombel 01

Model Data Relasional

Data model dibedakan menjadi dua:

  • ER-Model
  • Relasional Model.

 

ER-Model adalah model data tingkat tinggi, dan Relasional Model adalah model data tingkat rendah.

Kumpulan tabel dengan masing-masing relasi tersusun atas tuple(baris), dan atribut(kolom) pada suatu basisdata. Suatu model data menempatkan data dalam sebuah relasi atau lebih sering disebut tabel.

  1. Terminologi Relasional Data Model
  • Relasi adalah sebuah tabel yang terdiri dari beberapa kolom dan tabel.
  • Attribute adalah kolom pada sebuah relasi.
  • Tuple adalah kumpulan elemen yang saling berkaitan yang menginformasikan suatu entitas secara lengkap.
  • Domain adalah seluruh kemungkinan nilai yang dapat diberikan ke suatu attribut.
  • Degree adalah jumlah attribut dalam sebuah relasi
  • Kardinalitas atau Cardinality adalah jumlah tuple dalam sebuah relasi.

 

  1. Relasi
  • Relasi menunjukkan adanya hubungan diantara sejumlah entitas dari himpunan entitas yang berbeda.
  • Struktur data dasar untuk menyimpan informasi.
  • Setiap relasi memiliki schema yang mendiskripsikan nama relasi, atribut dan tipenya.

 

Contoh, sebuah relasi bernama Mahasiswa memiliki atribut nim dengan tipe integer dan atribut nama dengan tipe string atau char.

  1. Mendefinisikan Domain
  • Memberi nama domain yang sesuai dengan nilai yang akan dimiliki domain.
  • Menentukan tipe data dari nilai yang akan membentuk domain.
  • Menentukan format dari domain.

 

  1. Relasional Key

Kunci atribut pada relasi ada empat macam :

  • Candidate key, adalah atribut yang digunakan untuk membedakan antara satu benda dengan yang lain.
  • Primary key, adalah Candidate key yang digunakan untuk mengidentifikasikan tuple yang unik pada suatu relasi.
  • Alternate key adalah Candidate key yang tidak menjadi primary key.
  • Foreign Key adalah sebuah atribut dalam suatu relasi yang merujuk ke primary key relasi yang lain.

 

  1. Batasan-Batasan Integritas
  • Aturan(batasan) yang diberikan pada relasi
  • Ditetapkan ketika schema didefinisikan
  • Dilakukan pengecekan ketika ada perubahan atau manipulasi pada relasi (penambahan, pengubahan, penghapusan, pencarian , dan penampilan data.

 

  1. Relational Integrity Rules
  • Null adalah nilai atribut yang tidak diketahui atau memang tidak ada nilainya.
  • Entity Integrity adalah tidak ada primary key bernilai null
  • Referential Integrity adalah garis yang menghubungkan tabel satu dengan yang lain.

Resume #3 : ERD, Atribut, Relasi, dan Kardinalitas

Apa itu ERD?

ERD adalah singkatan dari Entity-Relationship Diagram adalah suatu penyajian grafis dari tabel(entitas)di dalam basis data dan relasi antar mereka. Dapat pula dikatakan sebagai suatu diagram yang menunjukkan entitas dan relasinya berhubungan dengan analisis data bisnis dan perancangan basis data.

Entity atau Entitas adalah objek data prinsip tentang informasi yang dikumpulkan. Entitas pada umumnya berupa berupa konsep yang bisa dikenal, baik konkret maupun abstrak, seperti orang, tempat, benda, atau peristiwa yang memiliki keterkaitan terhadap basis data.

Relasi adalah adalah menyajikan asosiasi antara dua entitas atau lebih. Sebuah contoh relasi :

  • Karyawan ditugaskan dalam suatu proyek
  • Proyek memiliki subtugas
  • Department mengatur satu proyek atau lebih

 

Metodologi ERD

  • Menentukan Entitas : menentukan peran, kejadian, lokasi, hal nyata, dan konsep dimana pengguna akan menyimpan data.
  • Menentukan Relasi : Menentukan hubungan antara pasangan entitas menggunakan matriks relasi.
  • Entitas digambarkan dengan kotak dan relasi dengan garis yang menghubungkan entitas.
  • Isi Kardinalitas : Tentukan jumlah kejadian dari satu entitas untuk sebuah kejadian pada entitas yang berhubungan.
  • Menentukan Kunci Utama : Tentukan atribut yang mengidentifikasi satu dan hanya satu kejadian pada masing-masing entitas.
  • Menggambar ERD berdasarkan Kunci : Menghilangkan relasi manytomany dan memasukkan primary dan kunci tamu pada masing-masing entitas.
  • Menentukan atribut : Menuliskan field-field yang diperlukan oleh sistem.
  • Pemetaan atribut : Pasangkan atribut dengan satu entitas yang sesuai pada masing-masing atribut.
  • Menggambar ERD dengan atribut : Mengatur ERD dari langkah ke 6 dengan menambahkan entitas atau relasi yang ditemukan pada langkah 8
  • Memeriksa hasil : Memeriksa apakah gambar ERD sudah sesuai dengan sistem yang akan dibangun.

Kardinalitas

Adalah banyaknya kejadian entitas B yang dapat (atau harus) dihubungkan dengan setiap kejadian dari entitas A; Sejumlah atribut di dalam sebuah hubungan. Banyaknya kejadian dari suatu entitas yang dihubungkan dengan beberapa entitas lain.

Kardinalitas suatu hubungan menyatakan sejumlah kejadian terkait untuk masing-masing dua entitas. Jenis dasa konketivitas untuk hubungan satu-ke-satu, satu-ke-banyak, dan banyak-ke-banyak.

Hubungan 1:1 (satu-ke-satu) terjadi jika sebanyak satu kejadian dari suatu entitas A dihubungkan dengan kejadian dari suatu entitas B. Sebagai contoh, masing-masing karyawan dalam suatu perusahan ditugaskan dibagian masing-masing. Oleh karena itu, masing-masing karyawan berada di bagian yang unik dan di masing-masing bagian terdapat karyawan yang unik.

Hubungan satu-ke-banyak (1:N) terjadi ketika dalam satu kejadian dari entitas A, terdapat 0, satu, atau banyak kejadian dari entitas B. Namun, untuk satu kejadian dari entitas B, hanya ada satu kejadian pada entitas A. Contoh hubungan 1:N adalah :

  • Suatu department memiliki banyak karyawan
  • Masing-masing karyawan ditugaskan dalam satu kelompok

Hubungan banyak-ke-banyak (M:N) . kadang-kadang disebut tidak spesifik ketika untuk satu kejadian dari entitas A, ada nol, satu, atau banyak kejadian dari entitas B dan untuk satu kejadian dari entitas B ada nol, satu, atau banyak kejadian dari entitas A. Contoh hubungan banyak-kebanyak :

  • Karyawan ditugaskan dalam tidak lebih dari dua proyek pada waktu yang sama
  • Proyek harus menugaskan sedikitnya tiga karyawan.

Daftar istilah dalam basis data (A-C)

Daftar istilah dalam Basis Data
ACID
Adalah sifat-sifat dasar dari transaksi database, yakni Atomicity, Consistency, Isolation, dan Durability.
Atomicity adalah keseluruhan dari tindakan yang harus diselesaikan atau dibatalkan. Namun sebuah proses, atau transaksi tidak dapat sukses secara parsial.
Consistency adalah proses yang mengambil sumber daya dari satu bagian yang konsisten dengan bagian lainnya.
Isolation adalah efek dari sebuah proses tidak terlihat oleh proses yang lain hingga proses itu selesai.
Durability adalah perubahan dibuat oleh proses yang dilakukan secara permanen dan harus menyelamatkan kegagalan pada sistem.
Aggregate Function
Sebuah fungsi SQL yang mengembalikan nilai ringkasan.
Aggregation
Terdapat dua pengertian : 1. Sebuah proses pengelompokan data yang berbeda. Sekelompok data yang dikumpulkan memiliki jumlah elemen data yang lebih kecil dibandingkan kumpulan data masukan. 2. Bagian dari relasi antara objek komponen dan objek kumpulan.
Alternate Index
Adalah suatu pengganti pada struktur relasional utama dari tabel, yang ditentukan oleh indeks kunci asing dan utama. Indeks pengganti disebut “alternate” karena menjadi tambahan pada indeks kunci asing dan utama. Seperti ada pengubah metode penyortiran untuk disajikan oleh kunci asing dan utama.
Alternate Key
1. Beberapa ‘candidate key’ adalah bukan ‘primary key’, yang juga disebut secondary key.
2. Sebuah ‘candidate key’ yang tidak digunakan sebagai kunci utama dari tabel.
Analysis
Proses pencarian fakta awal yang menemukan apa yang akan dilaksanakan oleh sebuah sistem komputer.
Anomaly
1. Berhubungan dengan perancangan basis data relasional, yakni berkaitan dengan perubahan data yang salah secara rinci, lebih kepada record tunggal.
2. Suatu konsekuensi yang tidak diinginkan atas suatu perubahan data. Atau istilah yang digunakan untuk normalisasi. Dengan ‘insertion anomaly’ fakta tentang dua tema atau lebih yang berbeda harus ditambahkan pada baris tunggal dari suatu relasi. Penghapusan anomaly memungkinkan fakta tentang dua tema atau lebih, hilang ketika baris tunggal dihapus.
Application
1. Suatu koleksi resource yang diperlukan untuk menawarkan suatu layanan tertentu.
2. Suatu tool front-end yang digunakan oleh pengembang, staf rumahan, dan pengguna akhir untuk mengakses basis data.
3. Form dan laporan dimana pengguna saling berinteraksi.
4. Kelompok alogaritma dan hubungan antardata untuk mendukung sebuah kebutuhan organisasi.
5. Suatu program yang dirancang untuk membantu performa dari tugas tertentu, seperti pengolah kata, akuntansi, atau manajemen inventori.
Application Database
Adalah kumpulan atau koleksi data yang terorganisasi untuk mendukung suatu aplikasi spesifik.
Application Data Model
Adalah suatu blueprint dari kebutuhan data.
Application Metadata
Kamus data mengenai struktur dan konten dari menu aplikasi, form, dan laporan.
Application Program Interface (API)
Adalah sekumpulan objek, metode, dan sifat-sifat yang digunakan untuk mengakses kemampuan dari program seperti DBMS.
ARC Relationship
Adalah sebuah simbol ‘arc’ yang digunakan pada model data untuk mengidentifikasi bahwa dua atau lebih relasi kepada satu sama lain bersifat ekslusif(XOR). Sebagai contoh, entits ORANG adalah satu dari dua yaitu SISWA atau GURU, tetapi bukan kedua-duanya. ARC relationship diimplementasikan sebagai foreign key pada tingkatan basis data.
Atomic
1. Sekumpulan tindakan yang diselesaikan sebagai unit. Salah satu dari semua tindakan selesai atau tidak ada.
2. Data yang disimpan di dalam gudang data (data warehouse)
3. Tingkatan terendah dari proses analisis.
Atomic Database
Suatu penyusunan basis data atomik utama atau suatu gudang data atau basis data dasar DSS.
Attribute
1. Suatu nilai yang menyajikan suatu karakteristik dari sebuah entitas.
2. Suatu kolom dari relasi atau kolom dalam relasi.
3. Padanan kata dari field basis data relasional, yang digunakan lebih sering untuk menguraikan suatu struktur tingkat rendah yang sama pada struktur objek.
4. Masing-masing attribute dari relasi menyimpan potongan informasi tentang sebuah objek. Attribute diwakili oleh kolom di dalam tabel. Masing-masing attribut pada relasi adalah unik dan berisi nilai-nilai atomik. Banyaknya attribute pada relasi disebut derajat relasi. Juga dikenal sebagai kolom.
5. Suatu sifat yang bisa mengamsumsi nilai-nilai untuk entitas dan relasi. Entitas bisa ditugaskan pada beberapa attribute. Beberapa sistem juga mengizinkan relasi mempunyai atribut.
Authorization
Adalah pengabulan otoritas yang meliputi pengabulan berdasarkan pada kebenaran akses.
Back-end, Front-end
Suatu ‘back-end’ adalah struktur informasi atau aplikasi, misalnya basis data. Istilah rekan ‘front-end’ adalah antarmuka yang mengizinkan seorang pengguna mengakses aplikasi atau informasi.
Back up
1. Penyalinan atau penyimpanan data pada lokasi yang berbeda. Seseorang bisa me-restore salinan backup jika data hilang atau rusak.
2. Sebuah file yang bertindak sebagai basis untuk mem-backup sebuah basis data. Pada umumnya sebuah snapshot dari basis data yang dimulai beberapa saat sebelumnya.
3. Proses pengambilan sebuah salinan dari keseluruhan atau bagian dari beberapa basis data untuk kepentingan/tujuan pemulihan (recovery)
Binary
1. Sistem bilangan hanya dengan dua nilai. 0 (nol) dan 1(satu).
2. Berhubungan dengan karakteristik atau ciri yang terlibat dalam seleksi, pemilihan, atau kondisi dimana terdapat dua kemungkinan atau berhubungan dengan sistem angka yang menggunakan basis 2.
Binary Notation
Penyajian bilangan yang menggunakan digit biner 0 dan 1.
Binary Relationship
1. Relasi antara instansi dari dua jenis entitas. Relasi tersebut adalah jenis relasi yang paling umum dalam permodelan data.
2. Relasi yang mempunyai dua anggota.
3. Suatu relasi antara dua entitas atau tabel secara tepat.
Binary Tree
Di dalam pemrograman, suatu tipe spesifik dari struktur data pohon dimana masing-masing node memiliki paling banyak dua subpohon, satu di kiri, satu di kanan. Pohon biner sering digunakan untuk menyortir informasi. Masing-masing node dari pohon pencarian (binary search) berisi sebuah kunci, dengan nilai-nilai kurag dari penambahan kunci dengan satu subpohon dan nilai yang lebih besar dari kunci yang ditambahkan ke lainnya.
Boyce-Codd Normal Form (BCNF)
1. Suatu relasi di dalam BCNF dimana setiap penentu adalah candidate key.
2. Setiap faktor penentu di dalam tabel adalah candidate key. Jika hanya ada satu candidate key, maka bentuk normal ketiga dan bentuk normal Boyce-codd adalah satu dan benar(true). Semua bentuk normal adalah kumulatif.
Bussiness Logic
Urutan peristiwa yang berlangsung sebelum proses bisnis.
Bussiness Process
1. Suatu transaksi bisnis yang meminta informasi dari atau mengubah data di dalam basis data.
2. Suatu peristiwa khusus dalam rangkaian aktivitas bisnis yang terstruktur. Peristiwa yang secara khusus mengubah status data dan/atau produk serta menghasilkan beberapa bentuk keluaran. Proses bisnis terjadi di semua tingkat dalam aktifitas organisasi, meliputi peristiwa yang dilihat dan tidak dilihat oleh pelanggan.
Istilah tersebut juga mengacu pada campuran dari semua langkah yang terpisah untuk mencapai tujuan bisnis akhir.
Business Process Reengineering (BPR)
1. Metodologi untuk memperkenalkan perubahan mendasar dalam proses bisnis tertentu. Biasanya, ada dukungan sistem informasi.
2. Pencarian, dan implementasi, dalam perubahan radikal di dalam proses bisnis untuk mencapai peningkatan terobosan di dalam produk dan jasa.
Business Rule
1. Suatu pernyataan yang menentukan beberapa bentuk batasan pada elemen-elemen di dalam spesifikasi field, atau pada relasi antara dua tabel.
2. Spesifikasi yang memelihara integritas dari model data logis atau konseptual.
3. Suatu pernyataan dari kebijakan di dalam bisnis yang membatasi tata cara di mana data bisa dimasukkan/disisipi, diperbarui, atau dihapus dalam basis data.
4. Suatu batasan integritas yang memulai ruang masalah daripada teori relasional.
Candidate key
1. Suatu kunci unik yang mengidentifikasi baris di dalam tabel. Candidate key bisa digunakan sebagai kunci utama (primary key) pada tabel.
2. Suatu attribut atau kombinasi atribut yang unik untuk mengidentifikasi setiap kejadian dari tipe entitas.
3. Satu atribut atau lebih yang mengidentifikasi relasi unik.
4. Juga dikenal sebagai potential key atau permissible key. Suatu field atau kombinasi field, yang bisa bertindak sebagai suatu field kunci utama untuk tabel.
5. Suatu atribut atau kelompok atribut yang mengidentifikasikan suatu baris unik di dalam relasi. Salah satu dari candidate key dipilih sebagai primary key.

Sekilas tentang Sistem Basis Data.

Mungkin sudah banyak ulasan-ulasan yang beredar di internet yang membahas “Sistem Basis Data”. Kebetulan bab ini ada pada salah satu daftar mata kuliah saya semester ini.

Di pertemuan pertama perkuliahaan ini, dosen saya mengatakan bahwa “Basis Data” dapat di artikan dari dua kata berbahasa Inggris ‘Base’ dan ‘Data’. Base yang berarti tempat, dan Data yang berarti data, atau file. Sehingga Basis Data berarti Tempat penyimpanan data. Dan Sistem Basis Data itu sendiri adalah sistem pengolahan informasi yang di kelompok-kelompokkan dengan ketentuan tertentu.

Basis Data atau Database memiliki banyak variasi jenis, seperti mySQL, Access, Oracle, ODBC dll.

Fungsi – fungsi Sistem Basis Data antara lain :

  • Mengetahui konsep dan tatanan file database secara terprogram.
  • Mempermudah dalam perawatan sistem dan debugging.

 

Kelebihan Basisdata atau Database :

  • Sistem yang memiliki database memungkinkan dirinya untuk menyimpan berbagai informasi
  • Database dibuat terpisah dengan sistemnya, jadi ia tidak memberatkan sistem

Kekurangan Database :

  • Memerlukan penghubung untuk dapat diakses oleh sistem lain
  • Karena dalam database hanya berisi informasi tabel dan isinya, maka admin baru perlu belajar dari admin lama untuk mengerti kineja sistem database tersebut.

Saya pikir sekian yang dapat saya uraikan dalam post pertama yang juga merupakan tugas ini 🙂

Terimakasih.