TEKNIK INFORMATIKA UNIVERSITAS JENDERAL SOEDIRMAN Bab II: Mengenal DBMS II.1. DBMS dan Keuntungannya • • 1) 2) 3) 4) • • DBMS: suatu program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi dan memperoleh data informasi dengan praktis dan efisien. Empat (=4) keunggulan DBMS: Kepraktisan, penggunaan media penyimpan yang berukuran kecil namun padat informasi; Kecepatan, mesin dapat mengambil atau mengubah data jauh lebih cepat daripada manusia; Mengurangi Kejemuan, pekerjaan yang berulang-ulang dan monoton membosankan; Kekinian, informasi yang tersedia pada DBMS akan bersifat mutakhir dan akurat setiap saat. Kebanyakan DBMS menyediakan mekanisme pengaturan sekuritas (keamanan) terhadap basis data berdasarkan wewenang pengguna. Beberapa DBMS memiliki fasilitas query yang memudahkan pengguna dalam mengakses dan mendapatkan informasi. II.2. Komponen Utama DBMS 1) 2) 3) 4) Perangkat Keras; Data; Perangkat Lunak, dan Pengguna. Program Aplikasi Pengguna DBMS Program Aplikasi Pengguna Perangkat Keras Perangkat Lunak Data II.2.1. Perangkat Keras Berupa komputer (PC) dan bagian-bagian di dalamnya, unjuk-kerja didasarkan pada (antara lain): frekuensi kerja prosesor (tipe prosesor), kapasitas memori dan kapasitas media penyimpan; II.2.2. Data Data dalam basis data bersifat integrated dan shared: • Terpadu, berkas-berkas data yang ada pada basis data saling terkait (terjadi dependensi data); • Berbagi data (shared), data (yang sama) dapat dipakai oleh sejumlah pengguna (dalam waktu yang bersamaan) sistem multiuser (bukan sistem single-user). II.2.3. Perangkat Lunak • Perangkat lunak, dalam hal ini DBMS, berkedudukan antara basis data (data yang tersimpan dalam storage media) dan pengguna. Perangkat Lunak inilah yang berperan melayani permintaan-permintaan pengguna. II.2.4. Pengguna (User) Kategori Pengguna: 1) Pengguna Akhir (End User); 2) Pemrogram aplikasi (Application Programmer); dan 3) Administrator Basis Data (Database Administrator). Kategori Pengguna Akhir: • Pengguna Aplikasi (Application User); dan • Pengguna Interaktif (Interactive User). Tugas-tugas DBA (Database Administrator): 1) Mendefinisikan basis data; 2) Menentukan isi basis data; 3) Menentukan sekuritas basis data. Penentuan hak akses disesuaikan dengan wewenang pengguna dalam organisasi: • Memantau kinerja sistem Secara periodik DBA memantau kinerja DBMS. • Merencanakan pencadangan (backup) dan pemulihan (recovery) DBA-lah yang membuat panduan (guide), prosedur serta standar untuk melakukan pencadangan dan pemulihan terhadap basis data. • Mengikuti perkembangan produk DBA juga bertanggung jawab terhadap perkembangan produk, sehingga dapat memberikan usulan untuk melakukan hal-hal yang dianggap perlu. II.3. Abstraksi Data • DBMS menyediakan pandangan abstrak terhadap data bagi pengguna. DBMS berusaha menyembunyikan detil tentang bagaimana data disimpan dan dipelihara. • Pembagian abstraksi data: – Lapis Fisis, lapisan terendah dalam abstraksi data struktur data dijabarkan lebih rinci. – Lapis Konseptual, lebih tinggi dari Lapis Fisis menjabarkan data-data apa saja yang disimpan dan hubungan atau relasional-nya. – Lapis Pandangan, lapisan tertinggi pengguna hanya mengenal struktur data yang sederhana saja. Pandangan-1 Pandangan-2 Lapis Konseptual LapisFisis Misal: Pegawai := RECORD Nama : STRING; Alamat : STRING; Bagian : STRING; Gaji : LongInt; END; Pandangan-3 II.4. Model Basis Data Model basis data menyatakan hubungan antar rekaman yang tersimpan dalam basis data struktur data logis; Model dasar: 1) Hirarkis; 2) Jaringan, dan 3) Relasional • Model yang baru pascarelasional, beberapa nama yang sedang dikembangkan antara lain: – – – – – DBMS deduktif; DBMS pakar; DBMS semantik; DBMS berorientasi objek; DBMS relasional universal • Beberapa produk sistem berorientasi objek telah beredar di pasaran, antara lain: OpenODB (Hewlett Packard) dan Object Source (Object Design Corp.). II.4.1. Model Hirarkis • Biasa disebut dengan model pohon (tree model) menggunakan pola hubungan orangtua-anak (parentchild). Setiap simpul menyatakan sekumpulan medan (field). • Suatu simpul (node) yang terhubung ke simpul pada level di bawahnya orangtua (parent). Simpul yang dibawahi orangtua anak (child). Simpul yang tak memiliki anak daun (leaf). Hubungan orangtua dan anak cabang (branch). Level 1 Level 2 Level 3 Level 4 A B C F D G H E I J K L M Perhatikan contoh konkrit berikut: Dosen Siti Nurbaya MK: Basis Data Rudy Asti Dosen Dt. Maringgih MK: COBOL Dani Dina Edi MK: Matematika Warti Warto Contoh produk DBMS yang menggunakan model hirarkis adalah IMS (Information management System), yang dikembangkan oleh dua perusahaan IBM dan Rockwell International Corporation. II.4.2. Model Jaringan • • Distandarisasi tahun 1971 Data Base Task Group (DBTG) model DTBG atau CODASYL (Conference on Data SYstem Language) DBTG bagian dari CODASYL. Satu simpul anak bisa memiliki lebih dari satu simpul orangtua, orangtua pemilik (owner) dan anak anggota. Dosen SitiNurbaya MK:Basis Data Rudy Asti Dosen Dt.Maringgih MK:COBOL Dani Dina Edi MK:Matematika Warti Warto Contoh produk CA-IDBMS/DB dari Computer Associates International Inc sebelumnya IDBMS (Integrated DataBase Management System). II.4.3. Model Relasional • Merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami, serta paling populer saat ini sekumpulan tabel berdimensi dua (relasi atau tabel) relasi dirancang untuk menghilang kan kemubaziran data. DBMS yang bermodelkan relasional disebut RDBMS (Relational DBMS) • Padanan istilah relasi, tupel dan atribut: Model Relasional Pemrogram Pengguna Relasi Berkas Tabel Tupel (baris) Rekaman Baris Atribut Medan (field) Kolom Meskipun relasi dikatakan sama dengan tabel, relasi pada sejumlah literatur sering disebut saat membicarakan struktur logis dan tabel adalah nama yang sering disebut pada basis data fisis. Selanjutnya istilah ‘tabel’ kadang digunakan untuk menggantikan relasi atau sebaliknya. Before Normalization: Nama_dosen Kelas Mahasiswa Siti Nurbaya Basis Data Rudy Siti Nurbaya Siti Nurbaya Siti Nurbaya Siti Nurbaya Siti Nurbaya Dt. Maringgih Dt. Maringgih Dt. Maringgih Basis Data Basis Data COBOL COBOL COBOL Matematika Matematika Matematika Asti Dani Dani Dina Edi Edi Warti Warto After Normalisation: No_Mhs Nama_Mhs 55 Rudy 56 Asti 57 Dani 58 Dina 59 Edi 60 Warti 61 Warti No_Mhs Kode_MK DB001 Basis Data DB002 COBOL MT001 Matematika Kode_MK Nilai 55 DB001 A 56 DB001 B 57 DB001 A 57 DB002 B dst... Nama_MK • Ada beberapa sifat yang melekat pada suatu relasi: 1) Tak ada tupel (baris) yang kembar kunci primer; 2) Urutan tupel tidaklah penting (tupel-tupel dapat dipandang dalam sebarang urutan); 3) Setiap atribut memiliki nama yang unik; 4) Letak atribut bebas (urutan atribut tidak penting); 5) Setiap atribut memiliki nilai tunggal dan jenisnya sama untuk semua tupel. • Jumlah tupel kardinalitas • Jumlah atribut suatu relasi derajat (degree) atau arity • Relasi berderajat satu unary • Relasi berderajat dua binary • Relasi yang berderajat tiga ternary • Relasi yang berderajat n n-ary • Domain himpunan nilai yang berlaku bagi suatu atribut • Gabungan kunci primer kunci komposit • • • • • • • • Contoh produk DBMS yang menggunakan model relasional: DB2 dari IBM; RDB/VMS dari Digital Equipment Corp.; Oracle dari Oracle Corp.; Informix dari Informix Corp.; Sybase; Keuarga dBase; Microsoft SQL Microsoft Visual Foxpro; II.5. Macam Perintah DBMS Semua DBMS paling tidak memiliki dua macam perintah yang digunakan untuk mengelola dan mengorganisasikan data, yaitu: 1) Bahasa Definisi Data (DDL – Data Definition Language); 2) Bahasa Manipulasi Data (DML – Data Manipulation Language). Lainnya terdapat perintah yang tergolong DCL (Data Control Language) yang berkaitan dengan pengaturan sekuritas basis data. II.5.1. Bahasa Definisi Data (DDL) • Adalah perintah-perintah yang biasa digunakan oleh administrator basis data (DBA) untuk mendefinisikan skema ke DBMS. • Skema deskripsi lengkap tentang struktur medan, rekaman dan hubungan data pada basis data. Skema dapat dibayangkan sebagai suatu kerangka yang tidak tergantung nilai. Berbagai nilai yang valid dapat diterapkan pada kerangka. Skema bersifat relatif tetap, sementara nilai-nilainya dapat berubah dari saat ke saat. • Secara lebih detil, beberapa hal yang perlu dijelaskan pada DBMS: o Nama basis data; o Nama seluruh berkas pada basis data; o Nama rekaman dan medan; o Deskripsi berkas, rekaman dan medan; o Nama medan kunci; o Nama indeks dan medan yang menjadi indeks. Indeks merupakan suatu mekanisme yang lazim digunakan pada basis data yang memungkinkan pengambilan data dapat dilakukan dengan cepat! o Hal-hal yang lain seperti penentuan: • Ukuran basis data dan • Rutin validasi dan penyunting yang dilekatkan pada berkas dalam data bersifat spesifik terhadap DBMS yang digunakan. • DDL untuk mendefinisikan subskema (pandangan atau view bagi pengguna terhadap basis data). Skema NAMA ALAMAT SubSkema NAMA BAGIAN BAGIAN GAJI Sebuah basis data hanya bisa mempunyai sebuah skema, tetapi bisa memiliki banyak subskema, tergantung oleh jumlah pengguna basis data. • DDL juga digunakan untuk menciptakan, mengubah dan menghapus basis data! BASIS DATA SKEMA SUBSKEMA SUBSKEMA .......... SUBSKEMA PENGGUNA1 PENGGUNA1 .......... PENGGUNA1 II.5.2. Bahasa Manipulasi Data (DML) • Adalah perintah-perintah yang digunakan untuk mengubah, me-manipulasi dan mengambil data pada basis data. • DML pada dasarnya dibagi menjadi dua: 1) Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya; 2) NonProsedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya. • DML nonprosedural menawarkan kemudahan bagi pengguna dalam mempelajarinya dan juga dalam menggunakannya daripada DML prosedural. • Cara mengakses data pada basis data: 1) Mengetikkan perintah-perintah (interaktif) yang ditujukan kepada DMS untuk memanipulasi suatu rekaman atau suatu data. 2) Melalui program aplikasi yang menggunakan instruksiinstruksi internal (embedded statement) ke DBMS untuk mengambil data dan memberikan hasilnya ke program. • Bahasa pemrograman seperti COBOL, C dan FORTRAN bisa digunakan sebagai aplikasi pengaksesan basis data antarmuka bahasa host. Program Aplikasi COBOL user DBMS: Antarmuka Bahasa Host Basis data • Instruksi yang merupakan bagian dari DML dikodekan pada program dan kelak dikonversikan oleh antarmuka bahasa host ke dalam suatu kode khusus penghubung antara program aplikasi dan DBMS. • Bagian DML ada yang disebut dengan DQL (bahasa query); Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia SEE YOU NEXT TIME