BAB
II
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 metodologi-metodologi
yang membantu dalam tahap perancangan basis data. Metodologi 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 datap membantu dalam merencanakan,
mengatur, mengontrol, dan mengevaluasi database development project.
1.
Conceptual Database Design
Conceptual Database Design adalah proses
membangun suatu model berdasarkan informasi yang digunakan oleh organisasi, tanpa
pertimbangan perencanaan fisik.
Langkah
pertama : membuat local conceptual data model untuk setiap pandangan yang
spesifik. Local conceptual data model terdiri atas berikut.
a. Entity Types
Menurut Connolly, entity types adalah kumpulan
objek yang mempunyai karakteristik yang sama, dimana telah diidentifikasi oleh
organisasi. Menurut Silberschatz, entity types adalah kumpulan dari entity yang
memiliki tipe dan karakteristik yang sama.
Entity dapat dibedakan menjadi dua yaitu :
-
Strong entity, yaitu entity yang keberadaanya
tidak tergantung kepada entity lain.
-
Weak Entity, yaitu entity yang keberadaaanya tergantung dari entity
lain.
Contohnya dalah entity mahasiswa dan orang tua. Dimana mahasiswa
merupakan strong entity dan orang tua merupakan weak entity karena keberadaaan
entity orang tua tergantung dari entity mahasiswa.
b. Relationship types
Menurut Connolly, definisi dari relationship
types adalah kumpulan antar entity yang saling berhubungan dan mempunyai arti.
c. Attribute dan Attribute Domains
Attribute adalah karakteristik dari suati
entity atau relasi. Setiap attribute dipervolehkan untuk memiliki nilai yang
disebut domain, attribute domains
adalah kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih
attribute.
Ada beberaoa jenis dalam attribute yaitu
sebagai berikut.
1)
Simple attribute dan Composite attribute
Simple 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
beberapa bagian. Contoh dari simple attribute adalah nama barang sedangkan
untuk composite attribute adalah alamat pada entity mahasiswa, karena dalam
alamat bisa dibagi menjadi bagian entiti jalan, entiti kodepos dan entiti kota.
2)
Singlevalued attribute dan Multivalued
attribute
Single-valued attribute adalah attribute yang
memiliki satu nilai
pada setiap entity sedangkan multi-valued attribute adalah
attribute yang mempunyai beberapa nilai pada setiap entity. Contoh dari single-valued attribute adalah Nim, nama
mahasiswa, tanggal lahir dan lain-lain. Sedangkan untuk multi-valued attribute
contohnya adalah jam pelajaran, hobi, dan lain-lain.
3)
Derived attribute
Derived attribute merupakan attribute yang
nilai-nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari
attribute lain yang berhubungan.
Contohnya adalah attribute umur pada entity mahasiswa dimana attribute
tesebut diturunkan dari attribute tanggal lahir dan tanggal hari ini.
d. Primary key dan alternate keys
Primary key adalah key yang telah menjadi
candidate key yang dipilih secara unik untuk mengidentifikasi suatu entity
types. Candidate key adalah kumpulan attribute minimal yang unik untuk
mengidentifikasikan suatu entity types.
Alternate keys adalah key yang digunakan
sebagai alternatif dari 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 Database Design
Logical Database Design adalah proses
pembuatan suatu model informasi yang digunakan pada organisasi berdasarkan pada
model data yang spesifik, tetapi tidak tegantung dari Database Management
System (DBMS) yang khusus dan pertimbangan fisik yang lain.
DBMS adalah software yang memungkinkan pemakai untuk
mengidentifikasi, membuat, memelihara, dan mengontrol akses kebasis data.
Fasilitas-fasilitas yang disediakan oleh DBMS yaitu :
a.
Memperbolehkan user untuk mengidefinisikan
basis data;
b.
Memperbolehkan user untuk menambah, mengubah,
dan menghapus serta mengambil data dari basis data.
c.
Menyediakan kontrol akses kebasis data.
Seperti security, integrity, concurrency control, recovery control system dan
user-accessible catalog.
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 kebenaran strukturnya
(dengan menggunakan teknik normalisasi) dan menjamin bahwa model tersebut
mendukung kebutuhan transaksi.
Pada
perancangan model logical langkah kedua, tahapan- tahapannya adalah sebagai berikut.
a.
Menghilangkan features yang tidak compatible
dengan model relasional (pilihan). Bertujuan untuk menghaslkan model yang kompatibel dengan model rasional, 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 multi-valued attributes.
b. Memperoleh relasi untuk local logical data
model.
Bertujuan untuk membuat hubungan logical model
yang mewakili entity, 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 mengidentifikasi primary key dan foreign key dari suatu relasi. Untuk
memperoleh relasi untuk local data model, maka diperlukan penjelasan untuk
mendeskripsikan struktur yang mungkin dalam data model saat ini.
Bahasa dalam basis data dapat dibedakan
menjadi dua bentuk yaitu sebagai
berikut.
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. Hasil dari kompilasi DDL
adalah kumpulan tabel yang disimpan dalam file khusus yang disebut dengan kamus
data.
2) Data Manipulation Language (DML)
DML merupakan bahasa dalam basis data yang
memungkinkan pengguna untuk melakukan manipulasi data pada suatu basis data,
seperti menambah, mengubah, menghapus
data dari 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 redundansi dan stabilitas yang maksimum.
d. Memvalidasi relasi dengan transaksi pengguna
Bertujuan untuk menjamin bahwa relasi dalam
model logika tersebut mendukung user’s requirements spesification secara
detail. Selain itu juga untuk meyakinkan bhawa tidak ada kesalahan yang muncul
sewaktu membuat suatu relasi.
e. Mendefinisikan integrity constraints
Bertujuan untuk mendefinisikan integrity
constrainst yang disampaikan dalam pandangan. Terdapat lima tipe integrity
constraints yang harus diperhatikan, yaitu :
-
Required data
-
Attribute domain constraints
-
Entity Integrity
-
Referential integrity
-
Enterprise constraints
-
f. Melihat
kembali Local Logical data model dengan pengguna
Bertujuan untuk menjamin local logical data
model dan mendukung dokumentasi 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.
Pada perancangan model logikal
langkah ketiga, tahapan-tahapannya sebagai berikut :
a.
Menggabungkan local logical daya model menjadi
global model
Pada langkah ini, setiap local logical data
model menghasilkan E-R diagram, skema relasional, kamus data dan dokumen
pendukung yang mendeskripsikan constraints dari model. Beberapa tugas yang
harus dikerjakan adalah sebagai berikut :
-
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 (tanpa menggabungkan)
entities atau relationships yang unik pada tiap local data model.
-
Menggabungkan relationships atau foreign key
dari local data model.
-
Mengikutsertakan ( tanpa menggabungkan)
relationships atau foreign key unik pada tiap local data midel.
-
Memeriksa untuk entities (hubungan) dan
relationships atau foreign key.
-
Memeriksa integrity constraints.
-
Menggambarkan ER-diagram.
-
Melakukan Update dokumen
b.
Memvalidasi global logical data model.
Bertujuan untuk memvalidasi relasi yang dibuat
dari global logical data model dengan teknik normalisasi dan menjamin bahwa
model tersebut mendukung kebutuhan transaksi.
c.
Mengecek pertumbuhan yang akan datang
Bertujuan untuk menentukan apakah ada
perubahan yang signifikan seperti keadaan yang tidak terfuga dimasa mendatang
dan menilai apakah model logikal tersebut dapat menampung atau menyesuaikan
perubahan yang terjadi.
d.
Melihat kembali global logical data model
dengan pengguna
Bertujuan untuk menjamin model data logikal
yang bersifat global telah tepat untuk organisasi.
3.
Physical
Database Design
Phisical database design adalah suatu proses
untuk menghasilkan gambaran dari implementasi basis data pada tempat
penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang
digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints
dan tindakan keamanan.
Langkah
keempat : Menterjemakan global logical data model untuk
target BDMS. Bertujuan untuk menghasilkan skema basis data relasional dalam
global logical data model yang dapat diimplementasikan ke DBMS.
Pada perancangan model physical,
langkah-langkahnya adalah sebagai berikut :
a.
Merancang basis relasional
Dalam memulai merancang physical design,
diperlukan untuk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design.
Informasi yang penting bisa didapatkan dari kamus data dan DDL.
b.
Merancang representasi dari data yang
diperoleh
Bertujuan untuk menentukan bagaimana setiap
data yang diperoleh mewakili global logical data model kedalam DBMS.
c.
Merancang Enterprise constraints
Pada langkah ini bertujuan untuk merancang
batasan-batasan yang ada pada organisasi.
Langkah
kelima : Merancang representasi physical. Bertujuan
untuk menentukan organisasi file yang optimal untuk penyimpaan dan menentukan
indeks yang dibutuhkan untuk meningkatkan performa.
Pada langkah kelima ini, tahapan-tahapannya
adalah sebaga berikut.
a.
Menganalisis data transaksi
Bertujuan untuk mengerti fungsi dari transaksi yang dijalankan
pada basis data dan menganalisa transaksi yang penting. Kriteria kemampuan yang
harus diidentifikasikan dalam
menganalisa transaksi adalah :
-
Transaksi dapat berjalan secara sering dan
akan mempunyai dampak signifikan pada performa.
-
Transaksi yang kritis pada operasi dan bisnis.
-
Waktu selama sehari atau seminggu ketika akan
ada permintaan yang tinggi pada saat basis data dibuat.
b.
Memilih file organisasi
Bertujuan untuk menyimpan data secara tepat
ketempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan, yaitu :
heap; hash; sekuensial berindeks; dan clusters.
c.
Memilih indeks
Bertujuan untuk meningkatkan performa dalam
suatu sistem basis data. Salah satu pendekatan untuk memiloh 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 :
-
Atribut yang sering digunakan untuk join
operations untuk membuat lebih efisien.
-
Atribut yang sering dipesan untuk mengakses
tuples pada suatu relasi didalam urutan yang menungukkan 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. Contohnya, dalam lima tahun mendatang
beberapa kapasitas hardisk yang dibutuhkan untuk menampung data.
Langkah
Keenam : Merancang pandangan pengguna. Bertujuan untuk
merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan
kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle. Contohnya, pada branch
terdri atas direktur dan manajer pandangan.
Langkah
Ketujuh :
Merancang keamanan. Dalam sebuah sistem basis data, keamanan adalah
elemen yang sangat penting mengingat isi dari basis data berupa informasi yang
sangat penting. Menurut Silberschatz ukuran keamanan yang dapat diambil untuk
melindungi basis data antara lain dari segi berikut.
-
Sistem basis data : ada beberapa pengguna
berwenang yang diizinkan untuk mengakses bagian basis data tertentu dan ada
para pengguna yang laih hanya diizinkan untuk membaca data yang diinginkannya,
tetapi tidak punya hak untuk mengubahnya. Kewajiban dari sistem basis data ini
adalah menjaga batasan seperti diatas tetap terjaga.
-
Sistem Operasi : tidak peduli betapa aman
sistem basis datanya, apabila terjadi
kelemahan dalam sistem iperasi. Hal ini sama artinya dengan adanya akses
yang tidak diinginkan dalam basis data. Jadi tingkat keamanan perangkat lunak
dalam sistem operasi sangatlah penting seperti halnya keamanan yang dilakukan
secara fisik.
-
Jaringan : seluruh sistem basis data
memperbolehkan untuk mengakses lewat terminal atau jaringan, keamanan
software-level dalam software jaringan sangat penting sebagai keamanan fisik,
keduanya dibutuhkan dalam internet dan jaringan pribadi.
-
Fisik : Situs yang mengandung sistem komputer
harus secara fisik aman dari entri
secara diam-diam dan bahaya oleh para penyelundup.
-
Manusia : otorisasi pada pengguna harus
dilakukan secara hati-hati untuk mengurangi adanya kejadian dimana pengguna
yang berwenang memberikan akses kepada orang lain dengan imbalan suap atau
lainnya.
Langkah Kedelapan : Mempertimbangkan pengenalan dan
redundansi kontrol. Pada langkah ohysical database design ini mempertimbangkan
denormalisasi skema relational untuk meningkatkan performa. Hasil dari
normalisasi adalah perancangan basis data lokal secara structural, konsisten,
dan menekan jumlah rududansi. Faktor yang perlu dipertimbangkan adalah :
-
Denormalisasi membuat impementasi lebih
kompleks.
-
Denormalisasi selalu mengorbankan fleksibilitas.
-
Denormalisasi akan membuat cepat dalam
retrieve data tetapi lambat dalam update.
Ukuran
performa dari suatu perancangan basis data dapat dilihat dari sudut pandang
tertentu yaitu melalui pendekatan efisiensi data (normalisasi) atau pendekatan efisiensi
proses (denormalisasi). Efisiensi data dimaksudkan untuk meminimalkan kapasitas
disk, dan efisiensi proses dimaksudkan untuk mempercepat proses saat retrieve
data dari basis data.
Langkah Ke Sembilan : Memonitor dan memasang sistem operasi. Bertujuan untuk memonitor sistem operasi, meningkatkan
performa dan menentukan perancangan sistem yang tepat atau menggambarkan
perubahan kebutuhan.
B. Recovery Basis Data Dilakukan Tanpa
Kehilangan Transaksi yang Penting
Dalam melakukan recovery basis data harap 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.
Informasi pada log digunakan untuk mendapatkan harga lama dari data yang harus di rollback. Hal yang perlu dilakukan pada
saat recovery basis data agar tidak
kehilangan transaksi yang penting adalah sebagai berikut :
1.
Menunda update
yang sesungguhnya kebasis 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 kedisk, maka update dituliskan
kebasis data setelah melakukan restore database, lakukan pengecekan apakah
restore database berjalan dengan baik atau tidak.
Langkah-langkah yang perlu dilakukan dalam
melakukan pemeriksaan hasil restore database
( pengidentifikasian data yang telah di- restore) adalah sebagai berikut :
1. Buka
Enterprise manager atau Query Analyzer untuk melakukan pengecekan terhadap database yang telah di-restore.
2. Pastikan
dan diidentifikasi bahwa database hasil restore database tidak eror dengan
mengecek tabel-tabel didalamnya satu persatu.
3. Jika
terdapat eror, buat kedalam suatu catatan yang berfungsi sebagai dokumentasi
yang dapat dipergunakan kembali di masa datang jika kemungkinan terjadi eror yang sama.
4. Setelah
pengecekan dilakukan dan diidentifikasi tidak ada eror, maka Enterprise manager atay Query Analyzer dapat ditutup.


- Follow Us on Twitter!
- "Join Us on Facebook!
- RSS
Contact