PROSES PERANCANGAN DBMS
Menurut
Connoly (2002,p16), Database Management System adalah sistem software
yang dapat mendefinisikan, membuat, memelihara dan mengontrol akses ke
basis data.
Fasilitas yang disediakan oleh DBMS
adalah:
- Dapat mendefinisikan basis data dengan menggunakan Data Definition Language (DDL). DDL dapat memberi fasilitas kepada pengguna untuk menspesifikasikan tipe data, struktur dan batasan aturan mengenai data yang bisa disimpan ke dalam basis data.
- Pengguna dapat menambah, mengedit, menghapus dan mendapatkan kembali data dengan menggunakan data manipulation language.
- Dapat mengontrol akses ke basis data, yaitu mencegah pengguna tanpa otoritas, sistem integrasi untuk memelihara konsistensi penyimpanan data, sistem control untuk memperbolehkan pengguna untuk akses, sistem kontrol untuk pengembalian data yang bisa mengembalikan data ke keadaan semula apabila ada kegagalan software atau hardware, catalog yang dapat diakses pengguna yang mendeskripsikan data dalam basis data.
Keuntungan:
- Konsistensi data
- Pengontrolan duplikasi data
- Semakin banyak informasi yang didapat dari data yang sama
Proses dalam metodologi perncangan dibagi
menjadi tiga tahap :
- Conseptual Database Design
- Logical Database Design
- physical Database Design
Conceptual database design adalah proses membangun suatu model berdasarkan informasi
yang digunakan oleh perusahaan atau organisasi, tanpa pertimbangan perencanaan
fisik (Connolly,2002,p419).
Langkah pertama : Membuat local
conceptual data model untuk setiap pandangan yang spesifik. Local
conceptual data model terdiri dari :
a. Entitiy
types
Menurut
Connoly (2002,p331), entity types adalah kumpulan objek yang mempunyai
karakteristik yang sama, dimana telah diidentifikasi oleh perusahaan.Menurut
Silberschatz (2002,p27), entity types adalah kumpulan dari entity
yang memiliki tipe dan karakteristik yang sama.
Entity dapat dibedakan menjadi dua yaitu :
·
Strong Entity : entity yang keberadaannya tidak tergantung kepada entity
lain (Fathansyah,1999,p94).
·
Weak entity : entity yang keberadaannya tergantung dari entity
lain (Fathansyah,1999,p94).
Contohnya
adalah entity mahasiswa 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
Connolly (2002,p334) definisi dari relationship types adalah kumpulan
antar entity yang saling berhubungan dan mempunyai arti.
c. Attribute dan attribute domains
Ada beberapa jenis dalam attribute
:
·
Simple attribute dan Composite attribute
Simple
attribute adalah attribute yang
terdiri dari 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 kode_pos dan entiti kota
(Silberchatz,2002,p29).
·
Single-valued attribute dan Multi-valued 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 (Connolly,2002,p340). Contoh dari single-valued attribute
adalah Nim, nama_Mhs, tanggal_lahir, dan lain-lain. Sedangkan untuk multi-valued
attribute contohnya adalah jam_pelajaran, hobi, dan lain-lain.
·
Derived attribute
Derived
attribute merupakan attribute yang
nilai-nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari attribute
lain yang berhubungan (Silberschatz,2002,p30). Contohnya adalah attribute
umur pada entity mahasiswa dimana attribute tersebut diturunkan
dari attribute tanggal_lahir dan tanggal_hari_ini.
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
(Connolly,2002,p340).
Alternate
key adalah key yang digunakan
sebagai alternatif dari key yang telah didefinisikan
(Fathansyah,1999,p104).
e. Integrity constraints
Integrity
constraints adalah batasan-batasan yang
menentukan dalam rangka melindungi basis data untuk menghindari terjadinya inconsistent.
(Connolly,2002,p457).
Pada tahap pertama conceptual model,
langkah-langkah yang dilakukan adalah sebagai berikut :
a. Mengidentifikasi entity types
Bertujuan
untuk menentukan entity types utama yang dibutuhkan. Menentukan entity
dapat dilakukan dengan memeriksa user’s requirement specification.
Setelah terdefinisi, entity diberikan nama yang tepat dan jelas seperti
mahasiswa, dosen, mata_kuliah.
b. Mengidentifikasikan relationship
types
Bertujuan
untuk mengidentifikasi suatu relationship yang penting yang ada antar entity
yang telah diidentifikasi. Nama dari suatu relationship menggunakan kata
kerja seperti mempelajari, memiliki mempunyai dan lain-lain.
c. Mengidentifikasi dan menghubungkan attribute
dengan entity atau relationshiptypes
Bertujuan
untuk menghubungkan attribute dengan entity atau relationship
yang tepat. Attribute yang dimiliki setiap entity atau relationship
memiliki identitas atau karakteristik yang sesuai dengan memperhatikan attribute
berikut : simple/composite attribute, single/multi-valued attribute dan
derived attribute.
d. Menentukan attribute domain
Bertujuan
untuk menentukan attribute domain pada conceptual data model.
Contohnya yaitu menentukan nilai attribute jenis_kelamin pada entity
mahasiswa dangan ‘M’ atau ‘F’ atau nilai attribute sks pada entity
mata_kuliah dengan ‘1’, ’2’, ‘3’ dan ‘4’.
e. Menentukan candidate key dan primary
key attributes
Bertujuan
untuk mengidentifikasi candidate key pada setiap entity dan
memilih primary key jika ada lebih dari satu candidate key.
Pemilihan primary key didasari pada panjang dari attribute dan
keunikan key di masa datang.
f. Mempertimbangkan penggunaan enhance
modeling concepts (pilihan)
Pada
langkah ini bertujuan untuk menentukan specialization, generalization,
aggregation, composition. Dimana masing-masing pendekatan dapat
dilakukan sesuai dengan kebutuhan yang ada.
Specialization dan generalization adalah proses dalam mengelompokan
beberapa entity dan menghasilkan entity yang baru. Beda dari
keduanya adalah cara prosesnya, dimana spesialisasi menggunakan proses top-down
dan generalisasi menggunakan proses bottom-up.
Aggregation menggambarkan sebuah entity types dengan sebuah relationship
types dimana suatu relasi hanya akan ada jika telah ada relationship
lainnya.
g. Mengecek redundansi
Bertujuan
untuk memeriksa conceptual model untuk menghindari dari adanya informasi
yang redundan. Yang dilakukan pada langkah ini adalah :
·
Memeriksa kembali one-to-one
relationship.
Setelah
entity diidentifikasikan maka kemungkinan ada dua entity yang
mewakili satu objek. Untuk itu dua entity tersebut harus di-merger
bersama. Dan jika primary key-nya berbeda maka harus dipilih salah satu
dan lainnya dijadikan alternate key.
·
Menghilangkan relasi yang
redundansi.
Untuk
menekan jumlah model data, maka relationship data yang redundan harus
dihilangkan.
h. Memvalidasi conceptual model
dengan transaksi.
Bertujuan
untuk menjamin bahwa conceptual data model mendukung kebutuhan
transaksi. Dengan menggunakan model yang telah divalidasi tersebut, dapat digunakan
untuk melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk
mejamin bahwa local conceptual data model mendukung kebutuhan transaksi
yaitu :
·
Mendeskripsikan transaksi
Memeriksa
seluruh informasi (entities, relationship, dan attribute)
yang diperlukan pada setiap transaksi yang disediakan oleh model dengan
mendokumentasikan penggambaran dari tiap kebutuhan transaksi.
·
Mengunakan transaksi pathways
Pendekatan
kedua, untuk memvalidasi data model dengan keperluan transaksi yang melibatkan
diagram yang mewakili pathways diambil dari tiap transaksi secara
langsung yang terdapat pada E-R diagram menggambarkan komponen-komponen dari entity
dan relasi yang masing-masing dilengkapi dengan attribute-attribute yang
merepresentasikan seluruh fakta dari real-world yang kita tinjau
(Fathansyah,1999,p79). Sedangkan menurut Silberschartz (2002,p42), E-R diagram
dapat menyatakan keseluruhan struktur logical dari basis data dengan
menggunakan bagan.
i. Melihat kembali conceptual data
model dengan pengguna.
Bertujuan
untuk melihat kembali conceptual model dan memastikan bahwa data model
tersebut sudah benar.
Logical Database Design
Logical database design adalah proses pembuatan suatu model informasi yang digunakan
pada perusahan berdasarkan pada model data yang spesifik, tetapi tidak
tergantung dari Database Management System (DBMS) yang khusus dan
pertimbangan fisik yang lain (Connolly,2002,p441).
DBMS adalah software yang
memungkinkan pemakai untuk mendefinisi, membuat, memelihara, dan mengontrol
akses ke basis data (Connolly,2002,p16). Fasilitas-fasilitas yang disediakan
oleh DBMS antara lain :
1. Memperbolehkan user untuk
mendefinisikan basis data.
2. Memperbolehkan user untuk
menambah , mengubah, dan menghapus serta mengambil data dari basis data.
3. Menyediakan kontrol akses ke basis
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 perusahaan dan
memvalidasi model tersebut untuk menjamin kebenaran strukturnya (dengan
menggunakan teknik normalisasi) dan menjamin bahwa model tersebut mendukung
kebutuhan transaksi.
Menurut Conolly (2002,p376),
normalisasi merupakan suatu teknik untuk menghasilkan suatu relasi yang sangat
diperlukan dimana kebutuhan datanya diberikan oleh perusahaan. Dalam proses
normalisasi membutuhkan beberapa tahap untuk dapat diimplementasikan.
Tahap-tahap normalisasi menurut (Conolly,2002,p387) adalah :
a. Bentuk
tidak normal (UNF)
Merupakan
bentuk normalisasi dimana terdapat tabel yang memiliki satu atau lebih data
yang berulang.
b. Bentuk
normal pertama (1NF)
Merupakan
bentuk normalisasi dimana data yang dikumpulkan menjadi satu field yang
sifatnya tidak akan berulang dan tiap field mempunyai satu nilai.
c. Bentuk
normal kedua (2NF)
Merupakan
bentuk normalisasi dimana field yang bukan kunci tergantung secara
fungsi pada suatu primary key.
d. Bentuk
normal ketiga (3NF)
Merupakan
bentuk normalisasi dimana tidak ada field yang bukan primary key
tergantung transitive kepada primary key.
e. Bentuk
BCNF (Boyce-Codd Normal Form)
Merupakan
bentuk normalisasi dimana jika dan hanya jika setiap determinant adalah candidate
key.
Pada perancangan model logical
langkah kedua, tahapan-tahapannya adalah :
- Menghilangkan features yang tidak compatible dengan model relasional (pilihan). Bertujuan untuk menghasilkan model yang kompatibel dengan model relasional. Yaitu dengan :
- Menghilangkan many-to-many (*:*) binary relationship types
- Menghilangkan many-to-many (*:*) recursive relationship types
- Menghilangkan complex relationship types
- 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
mengidentifikasikan 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 :
·
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.
·
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.
Dengan
menggunakan normalisasi, maka model yang dihasilkan mendekati model dari
kebutuhan perusahaan, konsisten dan memiliki sedikit redundansi dan stabilitas
yang maksimum.
1. 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 suatu relasi.
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 Constraints
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 adalah :
a.
Menggabungkan local logical data 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 lembali 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 foreingn key dari local data model.
·
Mengikutsertakan (tanpa
menggabungkan) relationships atau foreign key unik pada tiap local
data model.
·
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 terduga 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 u/ perusahaan.
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
(Connolly,2002,p478).
Langkah keempat : Menterjemahkan global
logical data model untuk target DBMS. Bertujuan untuk menghasilkan skema
basis data relasional dalam global logical data model yang dapat diimplemetasikan
ke DBMS.
Pada perancangan model physical,
langkah-langkahnya adalah :
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 perusahaan.
Langkah kelima : Merancang
representasi physical. Bertujuan untuk menentukan organisasi file yang
optimal untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk
meningkatkan performa.
Terdapat tiga faktor yang
memungkinkan digunakannya representasi physical :
1. Transaction
throughput
2. Response
time
3. Disk
storage
Dalam langkah kelima ini perlu untuk
memahami system resources untuk meningkatkan performa basis data.
- Main memory
Dengan
semakin besar main memory yang ada maka akan dapat meningkatkan performa
DBMS dan aplikasi basis data yang digunakan.
- CPU
CPU
mengontrol tugas-tugas dari system resources lain dan mengeksekusi
prosesnya.
- Disk I/O
Dengan
menggunakan DBMS yang besar, maka disk I/O yang diperlukan sangat
signifikan dalam menyimpan dan mengambil data. Untuk menghindari kemacetan
transfer data, maka :
Ø
File sistem operasi harus dipisahkan dari file basis
data.
Ø
File utama basis data harus dipisahkan dari file indeks.
Ø
File recovery log harus dipisahkan dari basis data yang
sedang tidak digunakan.
. Network
. Network
Ketika
jumlah data yang ditransfer telah banyak, maka dengan menggunakan network
sangat dianjurkan. Selain itu juga untuk menghindari dari kemacetan dalam
mentransfer data.
Pada langkah kelima ini,
tahapan-tahapannya adalah :
- 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 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 ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan (Silberschatz,2002,p422), yaitu :
Ø
Heap
Ø
Hash
Ø
Sekuensial berindeks
Ø
Clusters
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 indexes 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 menunjukkan
atribut.
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 dan menganalisis langkah dari
relasional Database Application Lifecycle. Contohnya pada branch
terdiri dari 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 (2002,p239) ukuran keamanan yang dapat diambil untuk
melindungi basis data antara lain dari segi :
- Sistem basis data : ada beberapa pengguna berwenang yang dizinkan untuk mengakses bagian basis data tertentu dan ada para pengguna yang lain hanya diizinkan untuk membaca data yang diinginkannya, tetapi tidak punya hak untuk mengubahnya. Kewajiban dari sistem basis data ini adalah menjaga batasan seperti di atas tetap terjaga.
- Sistem operasi : tidak 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 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 physical database design ini mempertimbangkan denormalisasi skema relational untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara structural, konsisten, dan menekan jumlah redudansi. 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.
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.
Tidak ada komentar:
Posting Komentar