Pengantar Basis Data

Posting kali ini mengenai pengantar basis data… karena akhir- akhir ini gw brusaha ngikutin jalannya perkuliahan dengan baik dan benar, maka setidaknya bahan kuliah yang diajarkan nempel di kepala gw… gw akan mencoba men-summary hasil tangkapan otak gw yang pas2an ini…

Kuliah awal basis data ini, dibuka oleh ibu Cia dengan memberikan serangkaian definisi yang sering dipakai di dalam hal perbasis-dataan… ok bu.. kata perbasis-dataan emank ga baku… itu ciptaan saya…

Ini setidaknya yang berusaha untuk dijelaskan oleh si Ibu mengenai kosakata yang ad..

Basis data: sekumpulan data yang berisi informasi yang padanya dapat dikenakan operasi-operasi seperti menambah, mengurangi, up-date, atau mengambil/retrieve kembali data yang ada…

Sistem Manajemen Basis Data: adalah aplikasi yang digunakan untuk mengelola basis data itu sendiri… jadi bertindak sebagai aplikasi manajemennya lah… postgreSQL… MySQL… itu tuh namanya SMBD

Sistem Basis Data: adalah keseluruhan 4 faktor yang terdiri dari basis data, sistem manajemen basis data, infrastruktur pendukung, dan brainware ato user… jadi lingkup dari sistem basis data itu lebih luas, dan mencakup semua.

Terus, dari dulu juga sebenrny orang sudah mengenal lah yang namanya menyimpan data… tapi bentuk fisik penyimpanannya masih dalam bentuk file-file eksternal… nah… sebenernya awalnya sebenernya gapapa sih, namun seiring dengan perkembangan waktu, operasi terhadap data juga semakin rumit… kelemahan menggunakan file eksternal adalah: iy kalo operasiny Cuma nambahin data… lah kalo mo diedit… dikurangi.. itu repot… karena harus berhubungan langsung dengan file eksternal…

Ada juga masalah yang namanya atomicity… misalnya, kalo ada transaksi yang berupa serangkaian operasi, misal, A mo narik duit sekian, dan masukin ke rekeningnya si B… ini adalah transaksi yang mengandung 2 operasi… mengurangi dan memasukkan… nah… siapa yang bakal memastikan bahwa kedua operasi itu harus sukses… ato tidak dilakukan kedua2nya…. Jika tidak ada SMBD? Bisa saja dilakukan verifikasi… tapi di tingkat aplikasi.. lagi-lagi menambah kerja programmer aplikasiny…

Concurency problem, misalnya A&B ngambil duit sama 2 dari satu rekening secara bersamaan… maka harus ada sinkronisasi pengurangan.. jangan yang A dikurangi sekian, si B dikurangi juga sebanyak si A… padahal kenyataannya si B ngambil duitnya lebih dikit

Masalah redundansi data juga… kalo make file eksternal… misal ada file data mahasiswa, dan file beasiswa… keduanya kan memuat data, misalnya alamat mahasiswa… nah… ini bisa jadi masalah jika hendak dilakukan perubahan data alamat… siapa yang bisa menjamin, data di file mahasiswa berubah, di file beasiswa juga akan berubah, secara notabene keduanya adalah file yang berbeda ?

Dari hal itulah diperlukan sebuah aplikasi khusus yang akan menangani penyimpanan data… oleh karena itulah diciptakan Sistem Manajemen Basis Data yang berusaha untuk mengatasi permasalahan yang terjadi.

Sistem basis data sendiri dapat dilihat dari 3 layer berbeda:

Physical… yaitu gimana data disimpan di dalam secondary storage… bentuk nya bisa macem2… mungkin hanya record sekuensial…. Biasanya Database administrator akan berhubungan sampai ke tingkat ini.. bagi yang mungkin sampe mao ngurusin masalah optimasi penyimpan dan bla bla

Logical.. nah, ini tingkat di pemrograman aplikasi neh… jadi data nya disimpen dalam struktur yang dikenali dalam struktur data yang awam digunakan sehari-hari… contohnya table lah… nah, mungkin aj kita sebagai programmer merancang bahwa data disimpan dalam table, tapi dalam kenyataannya, si hardware nyimpen di tingkat physicalnya hanya berupa data sekuensial… bisa aj…

View… ini yang paling atas, intiny Cuma bisa ngeliat aj… sesuai dengan hak yang diberikan, tanpa bisa mengubah isi dari data..

Setiap data yang disimpan tuh harus bebas antar layernya… namanya independensi data.. ada dua neh

Physical data independence: contohnya neh… si DB admin ngubah cara nyimpen di tingkat fisik, ah gw mo nyimpendari sequential ke direct record aj ah, maka bentuk data di tingkat logical ga boleh berubah dunkz… table mahasiswa misalnya, ya harus sama aja sebelum ama sesudah hijrah cara nyimpe data di tingkat physical

Logical data independence: yang ini berarti, misalnya data di table kebanyakan, mo dipecah dari 1 table mo jadi 2 table ah… nah, pas di view… ya harus sama lah.. jangan sampe ada data yang berubah ato ga bisa ditampilin lagi Cuma gara2 hal begituan

Nah ada lagi yang namanya Skema dan instance… kalo skema, itu sekumpulan aturan, gimana sih data disimpan… dalam tabelkah… ato gimanakah… ibarat kalo dalam mrogram, itu mendeklarasikan sebuah variable…cenderung statis

Kalo instance… dah dapet ditebak… itu adalah isinya si skema.. jadi data yang mao disimpennya.. cenderung dinamis.

Untuk melakukan berbagai hal… terutama untuk berinteraksi dengna DBMS… diperlukan sebuah bahasa.. namanya query…

Yang untuk ngebuat skema namanya Data Definition Language… ini untuk create table… hapus table… dll… isinya adalah data dictionary… yaitu sekumpulan data yang berisi cara untuk menyimpan data… ato dikenal juga dengan METADATA… data yang menjelaskan data… bingung ga ? gak kan? Cuma pengertian berulang kok

Kalo yang untuk manipulasi data namanya data manipulation language… ini yang menyangkut instance ny… operasinya misalnya insert, delete, edit, ato retrieve data.

Nah.. si DML ini dibagi 2 lagi… ada yang procedural… sampe menjelaskan langkah2 yang harus dilakukan untuk accomplish sebuah transaksi…

Ada juga yang non procedural… yaitu yang Cuma mendefinisikan data apa yang pengen kita ambil, caranya pegimana serahin aj dah ama si DBMS-ny

Lalu ada lagi mengenai Database user, sapa aj seh ?

Ada application programmer, yang merancang aplikasi menggunakan database

Sophisticated user, lupa nih gw definisinya ap…

Specialized user, butuh database yang unik misalnya untuk GIS…

Ada lagi beda dari DBA (Database Administrator) ama Data administrator….

Si DA ini yang merancang gimana data disimpen… pengetahuannya lebih umum lah… mendefiniskan keterhubungan antar data… dll…

Sedangkan si DBA yang implementasiin apa yang dikatakan si DA… create table lah… bla2…

Terus di menjelang akhir perkuliahan si ibu ngejelasin mengenai relational database… yang ga bgitu gw perhatiin (aduh sam!! Gimana sih kamu,,!!) tapi yang setidaknya gw tangkep… basis data mengenai suatu hal pastinya table-tabel yang terdapat di dalemnya pasti saling berhubungan lah… ada key-key tertentu di setiap table yang saling berhubunga… kira-kira begitu…

Sekian mengenai pengantar database…semoga bermanfaat…

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s