Materi 1. 2. 3. 4. 5. 6.
Era Informasi Strategi dan Peluang Yang Kompetitif Database dan Database Warehouse Desain Database Sistem Pendukung Keputusan dan Sistem Cerdas E-Commerce
DATABASE DAN DATA WAREHOUSE Pertemuan 05
2 SKS
Model Database 1. 2. 3. 4.
Relational database Object oriented database Hierarchical database Network database
1. Relational Databases • Model ini berusaha mengatasi masalah pada model sebelumnya yang tidak fleksibel. Model relational database mampu menghubungkan record-record yang dibutuhkan. Model ini dibangun sedemikian rupa sehingga permintaan atau query dapat bekerja dengan sekumpulan data, tidak dengan satu record seperti pada model hierarchical.
1. Relational Databases • Model relational menyajikan data dalam tabel dua dimensi, seperti spreadsheet hanya saja tidak dipresentasikan dalam tabel seperti spreadsheet tetapi menggunakan kombinasi atau joining relational tabel untuk menghasilkan view atau hasil tampilan.
1. Relational Databases • Gambaran diatas menunjukkan bagaimana hubungan antar tabel yang diwakili dengan garis antar tabel. • Hubungan yang dapat terjadi adalah : one-to-many relationship. Garis tunggal menjelaskan ONE dan garis bercabang menjelaskan MANY. • Contoh ONE customer berelasi dengan MANY order dan ONE order berelasi dengan MANY order details. • Diagram yang dipakai pada figure tersebut adalah ERD atau Entity-Relationship Diagram.
1. Relational Databases • Gambaran dibawah ini bagaiman relasi antara 3 tabel: Customer, Order dan Employee saling terhubung sehingga memungkinkan menghasilkan informasi pesanan barang tiap customer lengkap dengan data karyawan yang menerima pesanan
1. Relational Databases • Kelebihan basis data relasional : – Data sangat cepat diakses – Struktur basis data mudah dilakukan perubahan – Data direpresentasikan secara logik, user tidak membutuhkan bagaimana data disimpan – Mudah untuk membentuk query yang komplek dalam melakukan retrieve data – Mudah untuk mengimplemntasikan integritas data – Data lebih akurat – Mudah untuk membangun dan memodifikasi program aplikasi – Telah dikembangkan Structure Query Language (SQL)
1. Relational Databases • Kelemahan basis data relasional : – Kelompok informasi/tabel yang berbeda harus dilakukan joined untuk melakukan retrieve – User harus familiar dengan relasi tabel – User Harus belajar SQL
2. Object Oriented Databases • Object Database (object oriented database) adalah sebuah model basisdata dimanainformasi disimpan dalam bentuk object. Object yang dimaksud tersebut digunakandalam OOP (object oriented programming).
2. Object Oriented Databases • Ketika kemampuan basisdata bergabung dengan kemampuan OOP, hasilnya berupa object database management system (ODBMS). • ODBMS ideal untuk pada programmer OO karena mereka ketika melakukan proses developer, controller dan model memiliki persamaan yaitu sama-sama menggunakan object.
2. Object Oriented Databases • ODBMS mendukung data yangcompleks seperti video, suara, gambar, dll secara native. • Berbeda dengan RelationalDatabase Management System (RDBMS) yang tidak native mendukung data compleks karena harus membagi menjadi 2 bagian yaitu model basisdata dan aplikasi.
2. Object Oriented Databases • Bagi yang telah mengenal RDBMS, object pada ODBMS bertindak sama dengan tabeldi RDBMS. • ODBMS dibuat untuk menggantikan RDBMS jika bahasa pemogramanyang digunakan adalah OOP. • Sebenarnya para developer telah memiliki solusi lain yaitu ORDBMS (Object Relational Database Management System) yang berfungsi untuk memetakan tabel dengan object yang disebut ORM (Object Relational Mapper).
2. Object Oriented Databases • Jadi data yang dikirimkan tetap object namun akan diterjemahkan terlebih dahulu menjadi perintah query RDBMS sebelum dieksekusi. • Akan tetapi ORDBMS masihmemiliki kekurangan: 1. Tidak semua fitur object oriented dapat ditangani oleh ORM 2. Membutuhkan resource yang lebih
2. Object Oriented Databases • Kapan tepatnya menggunakan ODBMS? 1. Embedded DBMS dalam aplikasi 2. Relasi data yang kompleks 3. Struktur object dengan hirarki yang dalam 4. Merubah struktur data object 5. Menggunakan agile programming
2. Object Oriented Databases • Beberapa object oriented database yang didesain dapat dijalankan dengan bahasaOOP seperti Ruby, Java, C#. • Model ini berusaha menjawab kesulitan RDBMS (Relational Database Management Systems) untuk mengatasi tipe data yang kompleks seperti file citra, file gambar dan file audio-video.
2. Object Oriented Databases • Ini semua karena adanya Internet dan WWW yang memungkinkan pengiriman data yang kompleks itu. • Object adalah pengelompokkan logis dari data yang berelasi dan program logis yang mewakili hal nyata di dunia seperti customer, employee, order, product.
2. Object Oriented Databases • Item data seperti : customer ID, customer name disebut varibel di model OO dan disimpan dalam tiap objek. • Variabel-variabel hanya bisa diakses melalui method. Sementara istilah method adalah aplikasi program logis yang menggunakan object tertentu dan menyediakan fungsi tertentu sperti check customer credit card limit, update alamat customer
2. Object Oriented Databases •
Gambaran dibawah ini menunjukkan bagaimana objek Customer sebagai contoh implementasi OO. Pada inti lingkaran terdapat variabel-variabel tentang objek dan kumpulan variabel itu dikelilingi oleh method yang menunjukkan bahwa hanya dengan melalui method saja varibel tersebut dapat diakses. Ini adalah konsep encapsulate, salah satu satu konsep penting di OO model
3. Hierarchical Databases • Model ini menyusun record-record dalam suatu hirarki seperti struktur organisasi. • Setiap file dari flat file menjadi tipe record atau node dalam hirarki, dan untuk memudahkan disebut record. • Record-record terhubung melalui pointer yang berisi alamat record yang terkait.
3. Hierarchical Databases • Pointer memberi tahu sistemkomputer dimana record tersebut tersimpan secara fisik, seperti alamat yang mengacu ke suatu gedung tertentu di dunia nyata. • Setiap pointer membuat hubungan parent-child, yang juga disebut one to many relationship. • Satu parent bisa punya banyak child, tapi setiap child memiliki 1 parent. Misal 1 manager memimpin banyak karyawan, tapi 1 karyawan memiliki 1 manager.
3. Hierarchical Databases • Model ini menyebabkan masalah dalam kasus Northwind. • Satu order tidak hanya punya satu customer, tapi juga punya satu karyawan yang menerima order tersebut. • Pada Figure 1-3, Order dan Employee serta Order Detail dan Product tidak terhubung dengan garis tegas karena tidak ada pointer yang menghubungkan mereka, sekalipun seharusnya berhubungan. • Ini akibat aturan yang tegas : 1 child punya 1 parent.
3. Hierarchical Databases Hierarchical Model Structure For Northwind
Menunjukkan isi dari recod yang terpilih dalam model hirarki Nortwind. Record customer ALFKI menunjuk ke order pertama (ID 10643) dan order tersebut memiliki pointer menunjuk ke order berikutnya (ID 10692). Masing-masing order menunjuk ke detil ordernya. Karena tidak ada hubungan dengan file Employee dan Product maka tidak dapat mendapatkan informasi yang berkaitan dengan record pemesanan di 2 file tersebut
3. Hierarchical Databases Hierarchical Model Record Contents For Northwind
3. Hierarchical Databases • Basis data Hirarki satu tingkat di atas basis data flat-file, dalam hal ini kaitanya dengan kemampuan untuk menemukan dan memelihara relasi antar kelompok data. • Arsitektur model data hirarki berdasarkan konsep hubungan parent/child • Pada model data hirarki, suatu root table atau parent table berada apa struktur yang paling atas, terhubung ke child table yang dihubungkan dengan data
3. Hierarchical Databases • Kelebihan basis data hirarki : –Data dapat dengan cepat dilakukan retrieve –Integritas data mudah dilakukan pengaturan
• Kelemahan basis data hirarki: –Pengguna harus sangat familiar dengan struktur basis data –Terjadi redudansi data
4. Network Databases • Model basis data jaringan merupakan perbaikan dari model basis data hirarki, yaitu dengan menambahkan kemampuan root table untuk melakukan share relationships dengan child tables. • Dalam hal ini child table dapat memiliki banyak root table dan untuk melakukan akses terhadap child table, tidak dibutuhkan lagi untuk mengakses root table terlebih dahulu.
4. Network Databases • Model Data Jaringan
4. Network Databases • Kelebihan basis data jaringan : – Data lebih cepat diakses – User dapat mengakses data dimulai dari beberapa tabel – Mudah untuk memodelkan basis data yang komplek – Mudah untuk membentuk query yang komplek dalam melakukan retrive data
4. Network Databases • Kelemahan basis data jaringan: – Struktur basis datanya tidak mudah untukdilakukan modifikasi – Perubahan struktur basis data yang telah didefinisikan akan mempengaruhi program mengakses basis data – User harus memahami struktur basis data