Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Dealing with Persistent Data

Presentasi serupa


Presentasi berjudul: "Dealing with Persistent Data"— Transcript presentasi:

1 Dealing with Persistent Data

2 Problem yang ada di persistensi data
Yang dimaksud dengan persistensi data adalah keberadaan data setelah program yang menciptakan data tersebut selesai di eksekusi Problem tersebut dapat diselesaikan dengan berbagai cara: Input data setiap program dieksekusi Tulis data sebagai bagian dari code program; Buat data kedalam database

3 Contoh dibawah ini adalah cara yang kedua
{ knownCard = new Card[8]; // assign memory for valid cards // add 6 staff cards knownCard[0] = new StaffCard(“Fred”,”Sales”,” ”,1); knownCard[1] = new StaffCard(“Sue”,”Sales”,” ”,2); knownCard[2] = new StaffCard(“Frank”,”Research”,” ”,3); knownCard[3] = new StaffCard(“Mary”,”Testing”,” ”,4); knownCard[4] = new StaffCard(“Bill”,”Research”,” ”,5); knownCard[5] = new StaffCard(“Jill”,”Testing”,” ”); // add 2 visitor card knownCard[6] = new VisitorCard(); knownCard[7] = new VisitorCard(); }

4 Menulis data kedalam program mempunyai kekurangan
Ketika daftar kartu perlu diupdate Ketika user yang menggunakan sistem mempunyai kemampuan untuk akses dan memodifikasi program.

5 Perbedaan tipe database
Object oriented database VS relational database

6 Microsoft Access Sebuah contoh relational database
Tables: Sebuah bagian dari database untuk menyimpan data, disamping itu ada beberapa komponen lain di Microsoft Access selain table yaitu queries, form, reports, semuanya tergantung kepada data/table didalam database. Query adalah suatu mekanisme untuk melihat isi database beradasarkan kondisi tertentu. Data didalam query tidak dapat diupdate.

7 Small table of customer in access database
CustNo Name FirstName Street Town PostCode PhoneNo 1 Leary John 14 High S Hansford SG74DG 2 Trip Christ 2 Long A Boxeth SG74DF 3 Jones Ellen 67 Bow rd SG54DH 4 Brown Lisa 124 High SG54D7 5 James Bob 21 Park SG74D8 Result of a query requesting details of customer who live in hansford CustNo Name FirstName Street Town PostCode PhoneNo 1 Leary John 14 High S Hansford SG74DG 3 Jones Ellen 67 Bow rd SG54DH 4 Brown Lisa 124 High SG54D7

8 Form: Sebuah table adalah bagian terpernting dari database tetapi table tidak user friendly ketika ingin dilihat dan dimanipulasi datanya. Form memberikan tampilan yang menarik kelayar dan user friendly. Dan memberikan akses ke data untuk ditampilkan, ditambah dan diubah

9 Implementasi Model Object Oriented
Mengkonversi sebuah class diagram menjadi sebuah/beberapa tables

10 Konversi sebuah class diagram menjadi sebuah/beberapa table
Beberapa penjelasan sebagai panduan dalam mengkonversi sebuah class diagram menjadi table-table, akan dijelaskan dengan beberapa contoh

11 Dapat dilihat dari diagram ini a greeting card bisa terdapat didalam 1 atau banyak order, atau tidak dipesan sama sekali. Dan sebuah order harus ada pesanan minimal sebuah kartu; Sebuah pesanan hanya dimiliki oleh seorang customer, tetapi seorang customer dapat memiliki beberapa pesanan sekaligus, dalam system ini ada dua tipe customer yaitu individual dan wholesale(perusahan)

12 Individual classes Dasar mengkonversi class diagram kedalam bentuk sekumpulan table. Adalah sebuah class dapat dijadikan satu atau lebih table. Perlu ditambahnya sebuah key untuk menghubungkannya.. Operasi tidak dimasukkan kedalam tabel.

13 The greetingsCard class can implemented into table like this
Name Size Unit prize Message Picture The greetingsCard class can implemented into table like this GreetingsCard CardID CardNama CardSize UnitPrize Message Pictutre 1 Forgot again 6x4 1.00 Don’t Forget Forget.bmp 2 The Camp Go Champ Champ.bmp 3 Waves 6x6 2.00 Great Waves waves.bmp 4 Mona Lisa ML1.bmp 5 ML2.bmp 6 Miss u Miss U Much MissU.bmp

14 Asosiasi Bagaimana sebuah class diagram yang memiliki asosiasi dikonversi kesebuah tabel ?

15 Asosiasi Many to many GreetingsCard Order 0..* 1..* Dari asosiasi ini ada tercipta 2 table : grettingsCard and Order GreetingsCard table CardID CardNama CardSize UnitPrize Message Pictutre 1 Forgot again 6x4 1.00 Don’t Forget Forget.bmp 2 The Camp Go Champ Champ.bmp 3 Waves 6x6 2.00 Great Waves waves.bmp 4 Mona Lisa ML1.bmp 5 ML2.bmp 6 Miss u Miss U Much MissU.bmp

16 Order table CardOrder table
OrderID Date OrderCost DeliveryCharge TotalCost 99-20 1.00 2.00 99-21 99-22 3.00 CardOrder table CardId OrderId 1 99-20 2 99-21 3 99-22 Dari asosiasinya perlu buat sebuah tabel untuk mengkoneksikan tabel order dengan tabel greeting_card kita memberikan nama CardOrder (sebagai contoh)

17 Asosiasi One to many Didalam kasus asosiasi one to many, Implementasinya dapat memiliki 2 pilihan Buat tabel terpisah seperti pada asosiasi many to many Tambahkan foreign key dalam tabel yang memiliki many class / record. Order Customer 1 1..*

18 Solution 1 Customer Order CustNo Name FirstName Street Town PostCode
PhoneNo 1 Leary John 14 High S Hansford SG74DG 2 Trip Christ 2 Long A Boxeth SG74DF 3 Jones Ellen 67 Bow rd SG54DH 4 Brown Lisa 124 High SG54D7 5 James Bob 21 Park SG74D8 Order OrderID Date OrderCost DeliveryCharge TotalCost 99-20 1.00 2.00 99-21 99-22 3.00

19 Buat tabel customerOrder untuk mewakili asosiasi one to many
CardId OrderId 1 99-20 2 99-21 3 99-22

20 Add a foreign key in table Order
Solution 2 Customer CustNo Name FirstName Street Town PostCode PhoneNo 1 Leary John 14 High S Hansford SG74DG 2 Trip Christ 2 Long A Boxeth SG74DF 3 Jones Ellen 67 Bow rd SG54DH 4 Brown Lisa 124 High SG54D7 5 James Bob 21 Park SG74D8 Add a foreign key in table Order Order OrderID CustNo Date OrderCost DeliveryCharge TotalCost 99-20 1 1.00 2.00 99-21 2 99-22 3 3.00 Tambahkan foreign key untuk table order

21 Agregasi Untuk mengkonversikan class yang memilik hubungan agregasi lakukan seperti asosiasi one to many

22 Inheritance Dalam kasus inheritance ada 3 cara untuk mengimplementasikan relationship didalam relatonal database. Mapping tiap class untuk menjadi sebuag tabel dengan menambahkan atau menggunakan kode bersama untuk menghubungkan tabel yang satu dengan tabel yang lain Implementasikan tabel hanya untuk sub classes (dalam hal ini individual and wholesale Kombinasikan semua class kedalam sebuah tabel

23 Option 2 Individual Customer Wholesale Customer CustNo Name FirstName
Street Town PostCode PhoneNo PreviusCard 1 Leary John 14 High S Hansford SG74DG 50 2 Trip Christ 2 Long A Boxeth SG74DF 150 3 Jones Ellen 67 Bow rd SG54DH 30 4 Brown Lisa 124 High SG54D7 5 James Bob 21 Park SG74D8 10 Wholesale Customer CustNo Name Street Town PostCode Contact Discount 1 Westons 14 High S Hansford SG74DG Ray 20 2 Wings 2 Long A Boxeth SG74DF Sisca 10 3 Jones & Son 67 Bow rd SG54DH Boy 15


Download ppt "Dealing with Persistent Data"

Presentasi serupa


Iklan oleh Google