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 merancancang 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 merode desain ini dapat
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
Gambar
Conceptual Database Design
Langkah
pertama : Membuat local conceptual data model untuk setiap pandangan yang
spesifik.
Local
conceptual data model terdiri sebagai berikut.
a. Entitiy Types
Menurut Connoly,
entitiy types adalah kumpulan objek yang mempunyai karakteristik yang sama,
dimna telah diidentifikasikan oleh organisasi. Menurut Silberschatz, entity
types adalah kumpulan dari entity yang memiliki tipe dan karakteristik sama.
Entity
dapat dibedakan menjadi dua yaitu :
-
Strong entity, yaitu entity yang
keberadaannya tidak tergantung pada entity lain
-
Weak entity, yaitu entity yang
keberadaannya tergantung dari entity lain
Contohnya adalah entity mahaiswa dan orang
tua. Dimana mahasiswa merupakan strong entity dan orang tua merupakan weak
entity karena keberadaan entity orang tua tergantung dari entity mahasiswa.
b. Relationship Types
Menurut Connoly,
definisi dari relationship types adalah kumpulan antar entity yang saling
berhubungan dan mempunyai arti.
c. Attribute dan Attribute Domains
Attribute adalah
karakteristik dari suatu entity atau relasi. Setiap attribute diperbolehkan untuk memiliki nilai yang
disebut domain. Attribute domains
adalah kumpulan dari nilai – nilai yang diperbolehkan untuk satu atau lebih
attribute.
Ada
beberapa 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. Contohnya dari simple attribute adalah nama
barang sedangkan composite attribute adalah alamat pada entity mahasiswa,
karena dalam alamat bisa dibagi menjadi bagian entri jalan, entity kode pos dan
entity 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 single0valued
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 tersebut 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
mengidentifikasi suatu entity types.
Alternate key adalah key yang
digunakan sebagai alternative dari key yang telah didefinisikan.
e. Integrity constrainst
Integrity
constrainst 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
pada model yang spesifik, tetapi tidak tergantung dari Database Management
System (DBMS) yang khusus dan pertimbangan fisik lain
.
Gambar Logical
Database Design
DBMS adalah software yang memungkinkan
pemakai untuk mendefinisi, membuat, memelihara dan mengontrol akses ke basis
data. Fasilitas – fasilitas yang disediakan oleh DBMS, yaitu :
a.
memperbolehkan user untuk mendefinisikan data
b.memperbolehkan
user untuk menambah, mengubah, dan menghapus serta mengambil data dari basis data
c.
menyediakan control akses ke basis data. Seperti security, integrity,
concurrency control, recovery control system dan user-accesible 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 mempredentasikan pandangan khusu 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 menggunakan 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 multi-valued attributes
b.
Memperoleh relasi untuk local logical
data modal
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 mengidentifikasikan primary key dan foreign key dari suatu
relasi. Untuk memperoleh relasi untuk local data model, maka diperlukan
penjelasan untuk mendeskripsikan strukur yang mungkin dalam 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 kamus data,
2.
Data Manipulation Language (DML)
DML merupakan bahasa dalam basis data yang
memungkinkan pengguna untuk melakukan manipulasi data pada suatu basis data,
eperti 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 sedkit redundansi dan stabilitas yang maksimum.
d.
Memvalidasi relasi dengan transaksi
pengguna
Bertujuan untuk menjamin relasi
dalam model logical tersebut mendukung user’s requirements specification secara
detail. Selain itu juga meyakinkan bahwa tidak ada kesalahan yang muncul
sewaktu membuat suatu relasi.
e.
Mendefinisikan Integrity Constraints
Bertujuan untuk mendefinisikan
integrity constraints yang disampaikan dalam pandangan.
Terdapat
lima tipe integrity constraints yang harus diperhatikan, yaitu:
-
Required data
-
Attribute domain constraints
-
Entity integrity
-
Referential integrity
-
Enterprise constrainst
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 logical langkah ketiga, tahapan-tahapannya adalah sebagai
berikut.
a.
Menggabungkan local logical data model
menjadi global model.
Pada langkah ini, setisp local
logical data 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 menggabungan)
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 model
-
Memeriksa untuk enteties (hubungan) dan
relationship atau foreign key
-
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 kebutuhn transaksi
c.
Mengecek pertumbuhan yang akan dating
Bertujuan untuk menentukan apakah
ada perubahan yang signifikan seperti keadaan yang tidak terduga dimsa
mendatang dan menilai apakah model logical tersebuat dapat menampung atau menyesuaikan perubahan yang terjadi.
d.
Melihat kembali global logical data
model dengan menggunakan pengguna
Bertujuan untuk menjamin model data
logical yang bersifat global telah tepat untuk organisasi.
3.
Physical Database Design
Physical database design adalah suatu
proses untuk menghasilkan gambaran dari implementasi basis data pada tempat
penyimpanan, menjelaskan dasar dan relasi, organisasi file dan indeks yang
digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints
dan tindakan keamanan.
Gambar
Physical Database Design
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.
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 ke dalam 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 penyimpanan dan menentukan indeks yang dibutuhkan untuk
meningkatkan performa.
Pada
langkah kelima ini,tahapan – tahapannya adalah sebagai berikut.
a.
Menganalisis 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 yang signifikan pada performs
-
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 ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan,
yaitu : heap; hash; sekuensial berindeks; dan clusters.
c.
Memilih indeks
Bertujuan untuk meningkatkanperforma
dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi
file yang cocokuntuk relasi adalah untuk menyimpan tuples yang tidak disimpan
dan dibuat sebanyak secondary indeks sebagaimana diperlukan.
Oleh
arena 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 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. Contohnya , dalam lima tahun
mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data.
Langkah
keenam : Merancang pandangan pengguna. Bertujuan untuk merancang pandangan
pengguna yang telah diidentifikasi selama
mengumpulkan kebutuhan kebutuhan dan menganalisis langkah dari relasional Database Application
Lifecycle. Contohnya, pada branch terdiri atas direktur dan manajemen
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 Siiberschatz ukuran keamanan yang
dapat diambil untuk melindungi basis data antara lain dari segi berikut.
-
Sistem basis data : ada beberapa pengguna yang berwenang yang
diizinkan untuk mengakses bagian basis data tertentu dan ada para pengguna lain
yang hanya diizinkan untuk membaca data yang diinginkan, tetapi tidak punya hak
untuk mengubahnya. Kewajiban dari sistem basis data ini adalah menjaga batasan
seperti diatas tetap terjaga
-
Sistem perasi : tida peduli betapa aman sistem
basis datanya , apabila terjadi kelemahan dalam sistem operasi. Hal ini sama
artinya dengan adanya akses yang tidak diinginkan dalam basis data. Jadi
tingkat keamanan perangkat lunak pada sistem operasi sangatlah penting seperti
halnya keamanan yang dilakukan secara fisil
-
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.
-
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 physical database design ini mempertimbngkan
denormalisasi skema relational untuk meningkatkan performs. Hasil dari
normalisasi adalah perancangan basis data logical secara structursl, konsisten,
dan menekan jumlah redudansi. Factor yng perlu dipertimbangkan adalah :
-
Denormalisasi membuat implementasi lebih
kompleks
-
Denormalisasi selalu mengorbankan
fleksibilitas
-
Denormalisasi akan membuat cepat dalam
retrieve data tetapi lambata dalam update
Ukuran performa dari suatu perancanangan
basis data dapat dilihat dari ssudut pandang tertentu yaitu melalui ukuran
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
kesembilan : 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 dilakutakan
tapa 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 diperlukan pada saat recovery
basis data agar tidak kehilangan transaksi yang penting adalah seperti berikut
ini.
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, mka update dituliskan ke
basis dats
Setelah melakukan restore database,
lakukan pengecekan apakah restore database berjalan secara lancer atau tidak.
Langkah langkah yang perlu dilakukan dalam
melakukn 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 diidentifikasikan bahwa database hasil restore database tidak error dengan mengecek tabel –
tabel didalamnya satu persatu
3. Jika
terdapat eror, buat kedalam suatu cadangan yang berfungsi sebagai dokumentasi
yang dapat dipergunakan kembali dimasa datang jika kemungkinan terjadi eror
yang sama
4. Setelah
pengecekan dilakukan dan diidentifikasikan tidak ada error, maka Enterprise
Manager atau Query Analyzer dapat ditutup