DESAIN DATABASE
Abstract Kompetensi.
ANALISIS DAN PERANCANGAN SISTEM
Pertemuan 09
DESAIN DATABASE
Pada lingkungan file, data storage dibangun di sekitar aplikasi yang akan
menggunakan file-file. Pada lingkungan database, aplikasi akan dibangun di sekitar
Bagian ini terkait dengan desain dan konstruksi (awal) database pada
sebuah sistem informasi. Prasaratnya adalah sebuah model data (persyaratan).
Produk jadinya adalah sebuah skema database (desain) dan program database
(definisi).
Pada sebagian organisasi, beberapa sistem informasi dan aplikasi yang adaa
dibangun di sekitar file-file konvensional. Anda mungkin telah akrab dengan berbagi
organisasi file konvensional (missal indexed, hashed, relatiave, dan sequential) dan
metode-metode akses mereka (missal sekuensial dan direct) dari sebuah pelatihan
pemrograman. File-file konvensional ini kemungkinan besar nantinya akan sangat
berperan.
Secara historis, keuntungan lain dari file konvensional sedang tumbuh pesat.
File konvensional dapat dioptimalisasi untuk akses aplikasi. Pada saat yang sama,
file tersebut jarang dioptimalisasi untuk berbagi pakai dengan sistem atau apliaksi
berbeda. Masih terkait dengan hal ini, file-file ini biasanya tidak mengerakan bagiana
database; tetapi, batasan teknologi database ini cepat sekali hilang, dan terima
kepada komputer-komputer yang lebih mruah dan lebih powerful dan teknologi
database yang lebih efisien.
Kelemahan siginifikan pada file adalah tidak fleksibel dan tidak dapat
diskalakan. File biasanya didesain untuk mendukung persyaratan dan program
terkini dari sebuah aplikasi tunggal. Kebutuhan masa depan – seperti laporan-
laporan dan query baru – sering membuat file-file tersebut distruktur kembali karena
struktur file yang asli tidak dapat mendukung secara efektif atau efisien pada
persyaratan-persyaratan yang baru. Tetapi, jika kita memilih untuk mengatur kembali
file-file terseut, semua program yang menggunakan file tersebut juga akan dituliskan
kembal. Dengan kata lain, program-program yang baru menjadi tergantung pada file-
file baru, dan sebaliknya. Ini biasanya membuat organisasi menjadi tidak praktis,
karena itu, kita memilih untuk membuat file redundan yang baru (data sama, tetapi
distrukturkan secara berbeda) untuk menemukan sebuah persyaratan baru. Tetapi,
hal tersebut memperburuk maslaha redundan yang telah disebutkan di atas. Jadi,
masalah-masalah redundansi dan ketidakfleksibelan cenderung lebih memperumit
satu dengan yang lainnya!
Sebagaimana sistem dan aplikasi berbasis file legacy menjadi kandidat untuk
reengineering, kecenderungannya adalah menggantikan sistem dan aplikasi
berbasis file dengan sistem dan aplikasi database. Untuk alasan tersebut, kita telah
memilih untuk memfokuskan bab ini pada desain database.
Field
Field adalah unit terkecil dari data yang berdiri untuk disimpan pada sebuah file atau
database
1. Primary key adalah sebuah field yang nilai-nilainya mengidentifikasikan satu dan
hanya satu record pada sebuah file. Contohnya CUSTOMER NUMBER secara unik
mengidentifikasi sebuah record CUSTOMER tunggal pada sebuah database, dan
ORDER NUMBER secara unik mengidentifikasi sebuah record ORDER tunggal
pada sebuah database.
2. Secondary key adalah sebuah pengidentifikasi alternative pada sebuah database.
Nilai secondary key mungkin mengidentifikasi sebuah record tunggal (seperti pada
sebuah primary key) atau sebuah subset dari semua record. Sebuah file tunggal
pada sebuah database dapat memiliki hanya satu primary key, tetapi juga dapat
memiliki beberapa secondary key. Untuk memfasilitasi pencarian (searching) dan
pengurutan (sorting) maka dibuat sebuah Index. Untuk kunci-kunci tersebut.
3 Foreign Key merupakan pointer ke record-record dari sebuah file lain pada sebuah
database. Foreign key memampukan database terhubung ke record-record dari satu
tipe ke record.dari tipe lain.contohnya ORDER RECORD berisi foreign key
CUSTOMER NUMBER untuk mengidentifikasi atau menunjuk ke Record
CUSTOMER yang diasosiasikan dengan ORDER. Jadi CUSTOMER NUMBER pada
file ORDERS mengharuskan adanya CUSTOMER NUMBER pada file CUSTOMER
untuk me-link ke file-file tersebut.
4 Descriptive field adalah semua field lainnya (nonkey) yang menyimpan data
bisnis.sebagai contoh: dengan sebuah file EMPLOYEES,beberapa field deskripitif
mencakup EMPLOYEE NAME, DATE HIRED, PAY RATE, dan YEAR-TO-DATE
WAGES
4. Field diorganisasikan kedalam record-record.
Record adalah sebuah kumpulan field yang disusun dan diformat sesuai pada
format yang telah ditentukan. Contohnya. CUSTOMER RECORD dapat
dideskripsikan dengan field-field berikut (perhatikan notasi umum):
CUSTOMER (NUMBER, LAST-NAME, FIRST-NAME, MIDLE-INITIAL, POST-
OFFICE-BOX NUMBER, STREET-ADDRESS, CITY, STATE, COUNTRY, POSTAL-
CODE, DATE-CREATED, DATE-OF-LAST-ORDER, CREDIT-RATING, CREDIT-
LIMIT, BALANCE, BALANCE-PAST-DUE…)
Selama desain system record akan diklasifikasikan sebagai record fixed lenght atau
record variable length dimana sebagian besar memaksakan untuk record fixed
length yang berarti setiap instance record mempunyai field yang sama sedangkan
struktur record variable length hanya memperbolehkan record-record pada file yang
sama memiliki length yang berbeda.Saat sebuah program computer membaca
sebuah record dari database dia mendapatkan kembali sebuah kelompok atau block
record pada suatu waktu.Blocking factor sendiri adalah jumlah logical record yang
tercakup dalam satu aplikasi read atau write tunggal.
File adalah kumpulan dari semua kejadian dari sebuah struktur record yang
ditentukan sedangkan table adalah ekuivalen databae relasional dari sebuah file.
Database
DDL dan DML pada sebagian besar database relational disebut SQL SQL
mendukung pembuatan maintenance dan pemakaian database yang lengkap,untuk
mengakses data pada table record,SQL menyediakan perintah sebagai berikut :
Memodelkan persyaratan data pada sebuah sistem informasi. Model itu mengambil
bentuk diagram hubungan entitiy teratribusi sepenuhnya dan sebuah repositori
metadata. Sebuah teknik yang dinamakan analisis data atau normalisasi. Teknik ini
digunakan untuk memproduksi sebuah model data yang memenuhi kriteria kualitas
sebagai berikut :
Model data yang bagus adalah seerhana. Sebagai aturan umum, atribut
atribut data yang mendeskripsikan sebuah entity harus mendeskripsikan
hanya entity tersebut.
Dua pertimbangan penting mengenai desain file konvensional adalah akses file dan
organisasi file. Analisis sistem biasanya mempelajari bagaimana setiap program
akan mengakses record-record pada sebuah file (secara sekuensial atau acak)
kemudian menyeleksi sebuah organisasi file yang tepat (contohnya sequential,
indexed, hashed, dan sebagainya).
Ada produk-produk CASE khusus yang menekankan analisis dan desain database.
Selain itu, sebagian besar alat CASE general purpose saat ini juga memasukkan
alat-alat desain database. Pada akhirnya, sebagian besar alat CASE dapat secara
otomatis membangkitkan SQL untuk membangun struktur database untuk sebagian
besar sistem manajemen database yang sudah populer.
Skema Database
Desain database digambarkan sebagai sebuah model khusus yang disebut skema
database. Database schema/skema database adalah model fisik atau cetak biru
untuk sebuah database. Skema ini menggambarkan implementasi teknis dari model
data logis
Skema database relasional menentukan struktur database dalam hal tabel, key,
index, dan aturan-aturan integritas. Skema database menentukan rincian-rincian
berdasarkan kemampuan, terminologi, dan batasan dari sistem manajemen
database yang telah dipilih.
Transformasi model data logis menjadi skema database relasional fisik diatur oleh
beberapa aturan dan pilihan yang sudah umum. Aturan dan petunjuk ini diringkas
sebagai berikut :
Key Integrity
Setiap tabel harus memiliki sebuah primary key. Primary key harus dikontrol supaya
tidak ada dua record pada tabel yang punya nilai prmary key yang sama.
Selain itu, primary key pada sebuah record tidak pernah boleh memiliki sebuah nilai
NULL. Nilai tersebut akan mengalahkan tujuan primary key, yang secara unik
mengidentifikasi record.
Domain Integrity
Kontrol-kontrol yang tepat/sesuai harus didesain untuk memastikan bahwa tidak ada
field pada sebuah nilai di luar range nilai legal
Integritas Referensial
Arsitektur database relasional mengimplementasikan hubungan antara record pada
tabel melalui foreign keys. Penggunaan foreign keys meningkatkan fleksibilitas
mengakses skalabilitas beberapa database, tetapi juga meningkatkan risiko
kesalahan-kesalahan intgritas referensial. Kesalahan refernsial integrity muncul
saat nilai foreign key pada satu tabel tidak sesuai dengan nilai primary-key pada
tabel terkait.
Integritas referensial ditentukan dalam bentuk aturan-aturan penghapusan sebagai
berikut:
Role
Foreign key harus punya sebuah primary key yang terkait. Selama pemodelan data
logis, menggunakan nama yang sama sesuai dengan tujuan kita, yakni untuk
membantu pengguna memahami bahwa foreign key membolehkan kita untuk
memenuhi record terkait dalam entity yang berbeda-beda. Akan tetapi, pada
database fisik, tidak selalu perlu untuk memiliki nama field redundan di dalam
database.
Role name merupakan nama pengganti untuk foreign key yang dengan jelas
membedakan tujuan bahwa foreign key berfungsi di dalam tabel.
Analisis distribusi data menentukan lokasi bisnis yang mana yang perlu diakses
untuk entiti dan atribut data logis
4.Replication data.
Replikasi mengacu pada duplikasi fisik terhadap seluruh tabel diberbagai lokasi.
Sebagian besar sistem manajemen database perusahaan high-end memasukkan
teknologi replikasi yang mengkoordinasi pembaruan pada tabel dan record yang
diduplikasi untuk memelihara integritas data.
Prototype Database
Prototyping bukanlah sebuah alternatif yang tepat untuk skema database. Sekali
skema dilengkapai, maka database protoype biasanya dapat dibuat secara cepat.
Sebagian besar DBMS modern memasukkan generator database menu-driven yang
powerful yang secara otomatis membuat sebuah DDL dan membangkitkan database
prototype dan dari DDL tersebut