Metode Perancangan Program Pert 25 – Data Management Design
Persistence Kebutuhan akan persistence Sistem informasi membutuhkan persistent data. Persistent data adalah data yang akan tetap ada walaupun sistem tidak aktif Persistent data dapat disimpan dalam file ataupun database. Normalisasi dapat digunakan untuk mendesain tabel pada relational database
Persistence Kebutuhan akan persistence Dalam sistem object oriented yang menjadi perhatian adalah persistent objects dan transient objects Persistent object akan tetap disimpan dengan menggunakan mekanisme tertentu Sedangkan transient object akan dihapus dari memori setelah digunakan
Overview mekanisme penyimpanan DBMS menyediakan sebuah layer abstraksi yang menyembunyikan dari user mengenai dimana data tersebut disimpan di file. Jika DB yang digunakan adalah relational database, maka user database akan melihat tabel yang berisi data. Setiap tabel akan dihubungkan dengan bagian file ke satu atau banyak file. Jika DB yang digunakan adalah object database, maka user akan melihat object dan link diantara object-object tersebut.
Overview mekanisme penyimpanan Bahasa object oriented menyediakan mekanisme untuk mengubah object menjadi bentuk yang dapat ditulis dalam file. File dapat digunakan untuk menyimpan data, maupun informasi configuration.
Aristektur untuk persistence Untuk mendesain arsitektur untuk persistence, beberapa pertanyaan harus diperhatikan: Apakah ada bagian sistem yang menyatakan bahwa penyimpan file adalah tepat? Apakah sistem tersebut adalah object oriented system atau database system dengan menggunakan GUI sebagai interface? Apakah sistem akan menggunakan DBMS yang ada atau dapat memilih DBMS yang sesuai ? Apakah sistem akan menggunakan relational DBMS? Apakah sistem akan menggunakan object DBMS? Logical layering apakah yang digunakan ? Physical layering apakah yang digunakan? Apakah jenis sistem distribusi nya ? Protocol apakah yang akan digunakan untuk menghubungkan layer yang ada pada sistem ?
File System Struktur File dan record Struktur file terdiri atas record, dan record terdiri atas field yang berisi data data. Sama halnya seperti setiap object terdiri atas beberapa attribut, setiap attribute berisi data mengenai object.
File System Struktur File dan Record Record dapat terbagi dalam beberapa bentuk: Fixed-Length, setiap record terdiri dari beberapa field yang mempunyai panjang byte yang sama Variable length, setiap record terdiri dari beberapa field yang mempunyai panjang byte yang berbeda Header and detail, record hanya terdiri dari dua tipe yaitu, yang pertama adalah header dan diikuti oleh detail record. Tagged data, data mempunyai struktur yang kompleks, seperti di sistem object oriented
Organisasi File Ada tiga cara dimana file dapat diorganisir: Serial organization Setiap record ditulis pada akhir dari record yang ada Sequential organization Record ditulis ke file dengan urutan yang sudah ditentukan Random organization Record ditambahkan dengan sebuah algoritma sehingga memungkin untuk ditulis dan dibaca tanpat harus melewati seluruh file.
Akses file Ada beberapa cara untuk akses file, yang utama adalah serial access, index-sequential access , direct access: Serial access Serial dan sequential file hanya bisa diakses secara serial access. Dimana untuk mencari record tertentu harus dicari satu persatu dari awal sampai akhir Index-sequential access Akses ke file sequential dapat dikembangkan dengan menggunakan index yang digunakan sebagai key. Index seguential file digunakan jika ingin membaca record satu persatu ataupun jika ingin langsung menuju record tertentu dengan menggunakan key Direct access Direct acces menggunakan algoritma yang akan mengubah key dalam record menjadi alamat file
Akses file Hashed addressing: key dapat berupa apa saja. Key akan dihashed untuk menentukan block mana record tertentu dialokasikan. Ada beberapa pendekatan, yang termudah adalah, mengubah karakter string dan mengubah menjadi ASCII. Kemudian nilai ASCII tersebut dijumlahkan dan dibagi sesuai dengan jumlah block, modulo dari pembagian tersebut merupakan nomor block Improving access, cara yang umum adalah akan menambahkan index tambahan
Tipe file Ada beberapa tipe file yaitu Master file, adalah file yang berisi data data persistent yang penting. Transaction file, mencatat transaksi bisnis ataupun event yang penting bagi organisasi dan digunakan untuk update master file Index file, digunakan untuk mempercepat akses ke record pada master file.
Tipe File Temporary file atau work file, selama proses data akan diperlukan file sementara yang digunakan untuk menyimpan hasil sebelum dilanjutkan ke proses selanjutnya Backup file, file yang dicopy dari master ataupun transaction file, sebagai backup jika file yang asli rusak Parameter file, file yang berisi informasi data.
Database Management System File dan database File cocok untuk program sederhana dan menyimpan data yang tidak dishare dan tidak diupdate oleh banyak user Untuk data yang lebih besar sebaiknya digunakan database. DBMS bukan hanya alat untuk menyimpan data yang dapat dishare dapat juga menyediakan tool dan fitur yang dapat digunakan untuk mengatur data.
Database Management System Fitur dalam DBMS: Data Definition Language (DDL). DDL digunakan untuk menentukan data yang disimpan dan struktur yang digunakan untuk menyimpan data Data Manipulation Language (DML). DML digunakan untuk menentukan update dan retrieval (pengambilan) data dalam DBMS Integrity Constraint. Batasan dapat ditentukan untuk mmeastikan bahwa integritas data terjaga
Database Management System Transaction Management. Update ke database dapat ditentukan sebagai transaksi, dimana semua component update harus sukses, jika tidak maka tidak dapat ditulis ke database Concurrency. Banyak user dapat menggunakan secara simultan database dan melakukan update terhada isinya Security. Akses ke database dapat dikendalikan Tuning of Storage. Tool dapat digunakan untuk memonitor cara database di akses dan meningkatkan skema struktur sehingga akses menjadi lebih efesien
Tipe DBMS Ada tiga tipe DBMS Relational database Di dalam relational database, digunakan normalisasi untuk menyederhanakan data. Kemudian dari hasil normalisasi ini akan dibuat tabel. Setiap tabel terdiri dari baris, setiap baris berisi attribut yang terdapat dalam kolom
Tipe DBMS Object database Object-relational database Object di dalam object oriented system tidak flat, bukan struktur dua dimensi. Setiap object mungkin terdiri dari object lain didalamnya. Object Database dikhusukan untuk menangani object. Object-relational database Menggabungkan antara relational dan object database
Designing for Relational Database Management System Ada dua cara untuk mengubah class menjadi taebl dalam relational database Menggunakan normalisasi Menggunakan beberapa aturan yang sudah ditentukan
Data modeling - Normalisasi Ada 5 tingkat normalisasi, tetapi yang biasanya dipakai sampai dengan tingkat 3 1st NF: Jika dan hanya jika setiap baris / kolom terdiri dari satu data 2nd NF: Jika dan hanya jika sudah 1st NF, dan setiap attribute non-key bergantung penuh pada primary key 3rd NF : Jika dan hanya jika sudah 2nd NF, dan setiap attribute tergantung dari primary key dan bukan dengan attribute non key
Contoh
1st NF
2nd NF
3rd NF
Mapping Class ke Tabel Berikut adalah petunjuk mapping class ke tabel Class dengan simple struktur data. Class ini secara langsung menjadi tabel Object identifier menjadi primary key. Sebuah identifier unik, dibuat untuk setiap object dan dapat digunakan sebagai primary key pada re;ational tabel Ckass yang berisi instance dari class lain sebagai attribute. Tabel terpisah harus dibuat untuk class yang ada. Classes yang berisi koleksi. Alokasikan object identifier bagi class di dalam koleksi One to many association dapat diperlakukan seperti koleksi Many to many menjadi tabel terpisak One to one , diimplementasikan sebagai foreign key
Designing for Object Database Management System Object DBMS berbeda dengan relational DBMS, karena merka dapat menyimpan object dengan strukturnya yang kompleks.
Distributed datanases Pada sistem yang sederhana, object dapat disimpan pada mesin lokal, kemudian dibawa ke memory kemudian dikirimkan message untuk menjalankan operationnya. Pada saat ini object dapat saja tidak berada pada mesin yang sama pada user interface, tetapi mereka dapat berada pada mesin yang berbeda. Ada beberapa cara untuk melakukan hal ini, salah satunya adalah CORBA (the common Object Request Broker Architecture)
Designing Data Management Classes Dalam mendesain presentation layer salah satu tujuannya adalah mengisolasi entity class dalam sistem dari cara class akan ditampilkan pada layar dan laporan dan dokumen. Hal ini dilakukan untuk memaksimalkan reusability class. Hal ini juga dilakukan terhada data storage layer. Class akan tidak reusable bila terkait erat dengan mekanisme penyimpanan pada sebuah file atau database. Hal yang sama juga dilakukan yaitu memisahkan entity class dari logik bisnis.