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.