Kamis, 18 September 2014

Menentukan Basis dan Prosedur Recovery



MENENTUKAN BASIS DAN PROSEDUR RECOVERY
A.    Dasar Basis Data dengan dan Tanpa Pengarsipan
Perancangan basis data merupakan proses menciptakan perancangan untuk basis data yang akan mendukung operasi dan tujuan organisasi. Dalam merancang suatu basis data, digunakan metedologi-metodologi yang membantu dalam tahap perancangan basis data. Meteodologi perancangan adalah pendekatan struktur dengan menggunakan prosedur, teknik, alat, serta bantuan dokumen untuk membantu dan memudahkan dalam proses perancangan. Dengan menggunakan teknik metode desain ini dapat membantu dalam merencanakan, mengatur, mengontrol, dan mengevakuasi database development project.
1.      Conceptual Database Design
Conceptual database design adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh organisasi, tanpa pertimbangan secara fisik.
Langkah pertama, Membuat local conceptual data model untuk setiap pandangan yang spesifik. Loocal coceptual data model terdiri atas berikut :
a.      Entitiy Types
Menurut Connolly, entity types adalah kumpulan objek yang mempunyai karakteristik yang sma, dimana telah dididentifikasi oleh organisasi. Menurut Silberschatz, entitiy types adalah kumpulan dari entitiy yang memiliki tipes dan karakteristik yang sama.
Entitiy dapat dibedakan menjadi dua yaitu :
-          Strong entitiy, yaitu entitiy yang keberadaannya
-          Weak entitiy, yaitu entitiy yang keberadaannya tergantung dari entitiy lain.
Contohnya adalah entitiy mahasiswa dan orang tua. Di mana mahasiswa merupakan strong entitiy dan orang tua merupakanweak entitiy karena keberadaan entitiy orang tua tergantung dari mahasiswa entitiy.
b.      Relationship Types
Menurut Connolly, definisi dari relationship types adalah kumpulan antar entitiy yang saling berhubungan dan mempunyai arti.
c.       Atttribute dan Attribute Domains
Attribute adalah karakteristik dari suatu entitiy atau relasi. Setiap attribute diperbolehhkan untuk memiliki nilai yang disebut domain. Attribute domains adalah kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lenih attribute.
Ada beberapa jenis attribute :
1.      Simple attribute dan Composite attribute
Simpe attribute adalah attribute yang terdiri atas komponen tunggal dimana attribute tersebut tidak dapat dipisahkan lagi, sedangkan composite attribute adalah attribute yang masih dapat dipisahkan menjadi beberaa bagian. Contoh simple attribute adalah nama barang sedangkan composite attribute adalah alamat pada entitiy mahasiswa, karena dalam alamat bisa dibagi menjadi entity kodepos dan entity kota.
2.      Singlevalued attribute dan Multivalued attributed
Singlevalued attribute adalah attribute yang memiliki satu nilai pada setiap entity, sedangkan multivalued attribute adalah attribute yang mempunyai beberapa nilai pada setiap entity. Contoh singlevaluedattribute adalah Nim, nama mahasiswa, tanggal lahir, dll. Sedangkan multivalued attribute contohnya jam pelajaran, hobi dll.
3.      Derived attribute
Derived attributet merupakan attribute yang nilai-nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari attribute lain yang berhubungan. Contohnya adalah attribute umur pada entitiy mahasiswa dimana attribute tersebut diturunkan dari attribute tanggal lahir dan tanggal hari ini.
d.      Primary key dan alternate keys
Primary key adalah key yang telah menjadi kandidate key yang dipilih secara unik untuk mengidentifikasi suatu entitiy types. Candidate key adalah kumpulan attribute minimal yang unik untuk mengidentifikasikan suatu entity types.
Alternate key adalah key yang digunakan sebagai alternatif ari key yang telah didefinisikan.
e.       Integrity constraints
Intergrity constraints adalah batasan-batasan yang menentukan dalam rangka melindungi basis data untuk menghindari terjadinya inconsistent.

2.      Logical DatabaseDesign
Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada organisasi berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBMS) yang khusus dan dipertimbangkan fisik lain.
DBMS adalah software yang memungkinkan pemakai untuk mendefinisi, membua, memlihara, dan mengontrol akss ke basis data. Fasilitas yang tersedia :
a.       Memperbolehkan user untuk mendefinisikan basis data
b.      Memperbolehkan user untuk menambah, mengubah, dan menghapus serta mengambil data dari basis data.
c.       Menyediakan kontrol akses ke basis data.
Langkah kedua, membuat dan memvalidasi local logical data model untuk setiap pandangan. Bertujuan untuk membuat local logical data model dari local conceptual data model yang mempresentasikan pandangan khusus dari organisasi dan memvalidasi model tersebut untuk menjamin bahwa model tersebut mendukung kebutuhan transaksi.
Pada perancangan model logical langkah kedua, tahap-tahapannya adalah :
a.       Menghilangkan features yang tidak compatible dengan model relasional (pilihan)
Bertujuan untuk menghasilkan model yang kompatible dengan model relasional, yaitu dengan :
1)      Menghilangkan many-to-many (*:*) binary relationship types
2)      Menghilangkan many-to-many (*:*) recursive relationship types
3)      Menghilangkan complex relationship types
4)      Menghilangkan multivalued attributes
b.      Memperoleh relasi untuk local logical data model
Bertujuan untuk membuat hubungan logical model yang mewakili entitiy, relationship dan attribute yang telah didefinisi. Mendeskripsikan komposisi tiap hubungan memakai Database Definition Language (DDL) untuk relasi yang diikuti dengan daftar dari relasi attribute yang mudah lalu mengidentifikasikan primary key dan foreign key dari suatu relasi.
Bahasa dalam basis data dibagi menjadi dua :
1.      Data Definition Language (DDL)
DDL merupakan bahasa dalam basis data yang memungkinkan pengguna untuk membuat atau menghapus basis data, membuat atau menghapus tabel membuat struktur penyimpanan tabel.
2.      Data Manipulation Language (DML)
DML merupakan bahasa dalam basis data yang memungkinkan pengguna untuk melakukan manipulasi data pada suatu basis data
c.       Memvalidasi relasi dengan menggunakan normalisasi
Dengan menggunakan normalisasi, maka model yang dihasilkan mendekati model dari kebutuhan organisasi, konsisten dan memiliki sedikit redyndansi dan stabilitas yang maksimum.
d.      Memvalidasi relasi dengan transaksi pengguna
Bertujuan untuk menjamin bahwa relasi dalam model logikal tersebut mendukung user’s requirements specification secara detail. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat relasi.
e.       Mendefinisikan Integrity constrains
Bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam pandangan.
Lima tipe integrity yang wajib diperhatikan :
-          Required  data
-          Attribute domain constranits
-          Entity entegrity
-          Referential integrity
-          Enterprise constraints
f.       Melihat kembali local logical data mode dengan pengguna
Bertujuan untuk menjamin local logical data model dan mendukung dokementasi yang menggambarkan model yang sudah benar.

Langkah ketiga, membuat dan memvalidasi global logical data model. Bertujuan untuk menyatukan local logical data model menjadi global logical data model.

Tahap-tahapnya :
a.       Menggabungkan local logical data model menjadi global model
Tugas yang harus dikerjakan :
·         Memeriksa kembali nama dan isi dari entities dari relationships dan candidate key
·         Memeriksa kembali nama dan isi dari relationships/foreign keys
·         Menggabungkan entities atau hubungan dari local data model
·         Mengikutsertakan entities atau relationships yang unik pada tiap local data model
·         Menggabungkan relationships atau foreign key dari local data model
·         Mengikutsertakan relatinships atau foreign key unik pada local data model
·         Memeriksa untuk entities dan relationship atau foreign key
·         Memeriksa integrity constrainst
·         Melakukan update dokumen
·         Menggambar ER-diagram
b.      Memvalidasi global logicaldata model
Bertujuan untuk memvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan  menjamin bahwa model tersebut mendkung kebutuhan transaksi.
c.       Mengecek pertumbuhan yang akan datang
Bertujuan untuk menentukan apakah ada perubahan yang signifikan seperti keadaan yang tidak terduga dimasa mendatang dan menilai apakah model logical tersebut dapat menampung atau menyesuaikan perubahan yang terjadi
d.      Melihat kembali global logical data model dengan pengguna
Bertujuan untuk menjamin model data logical yang bersifat global telah tepat untuk organisasi
3.      Physical Database Design
Adalah sesuatu proses untuk menghasilkan gambaran dari implemenrasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrety constraints dan tindakan keamnan.

Langkah keempat, menterjemahkan global logical data model untuk target DBMS. Bertujuan untuk menghasilkan skema basis data relasional dalam global logical data model yang dapat diimplementasikan ke DBMS.
Langkah-langkahnya sebagai berikut :
a.       Merancang basis relasional
b.      Merancang representasi dari data yang diperoleh
c.       Merancang enterprise constraints

 Langkah kelima, merancang reprentasi physical. Bertujuan untuk menentukan organisasi file optimal untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk mengingatkan perfoma.
Tahap-tahapnya sebagai berikut :
a.       Menganalisis transaksi, bertujuan untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting. Keriteria kemapuan yang harus didentifikasikan dalam menganalisa transaksi adalah :
1.      Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang  signifikan pada perfoma
2.      Transaksi yang kritis pada operasi dan bisnis
3.      Waktu selama sehari atau seminggu ketika akan ada permintaan yang tingi pada saat data dibuat
b.      Memilih file organisasi, bertujuan untuk menyimpan data secara tepat ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan yaitu, heap, hash, sekuensial berindeks dan clusters
c.       Memilih inseks bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indeks sebagaimana diperlukan. Oleh karena itu, atribut yang digunakan adalah :
1.      Atribut yang sering digunakan untuk join operations untuk membuat lebih efisien
2.      Atribut yang sering dipesan untuk mengakses tuples pada suatu relasi didalam urutan yang menunjukkan atribut
d.      Memperkirakan kebutuhan ruang penyimpanan, bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi.

Langkah keenam, merancang pandangan pengguna. Bertujuan untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle.

Langkah ketujuh, merancang keamanan. Keamanan adalah elemen yang sangat penting mengingat isi dan dasis data berupa informasi yang sangat penting. Menurut Silberschatz ukuran keamanan yang dapat diambil untuk melindungi basis data antaralain :
·         Sistem basis data
·         Sistem operasi
·         Jaringan
·         Fisik
·         Manusia
Langkah kedelapan, mempertimbangkan pengenalan dan redundansi kontrol. Faktor yang perlu dipertimbangkan adalah :
-          Denormalisasi membuat implementasi lebih kompleks
-          Denormalisasi selalu mengorbankan fleksibilitas
-          Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam update

B.    Recovery Basis Data Dilakukan Tanpa Kehilangan Transaksi yang Penting

Dengan melakukan recovery data maka akan mengembalikan harga suatu data item yang telah diubah oleh operasi-operasi dari transaksi ke harga sebelumnya.
Inforinformasi pada log digunakan untuk mendapatkan harga lama dari data yang harus di rollback. Hal yang harus dilakukan pada saat recovery basis data agar tidak kehilangan transaksi yang penting adalah :
1.      Menunda update yang sesungguhnya ke basis data sampai transaksi menyelesaikan eksekusinya dengan sukses dan mencapai titik commit
2.      Selama eksekusi masih berlangsung update hanya dicatat pada sistem log dan transaction workspace
3.      Setelah transaksi commit dan log sudah dituliskan ke disk, maka update dituliskan kebasis data.
Langkah yang perlu dilakukan dalam melakukan pemeriksaan gasil restore database adalah :
1.      Buka enterprise manager atau query analyzer untuk melakukan pengecekan terhadap database yang telah di-restore
2.      Pastikan dan diidentifikasikan bahwa database hasil restore database tidak eror dengan mengecek tabel didalamnya satu persatu
3.      Jika terdapat eror, buat kedalam suatu catatan yang berfungsi sebagai dokumentasi yang dapat dipergunakan kemali dimasa datang jika kemungkinan terjadi eror yang sama
4.      Setelah pengecekan dilakukan data diidentifikasi tidak ada eror, maka Enterprise Manager atau Query Analyzer dapat ditutup