Bagian 2 Mengenal DBMS Kuliah Basis Data Pra S2 Ilmu Komputer - FMIPA Drs. Agfianto Eko Putra, M.Si. Topik Bahasan 1. DBMS dan Keuntungannya 2. Komponen Utama DBMS a. b. c. d. Perangkat Keras; Data; Perangkat Lunak, dan Pengguna. 3. Abstraksi Data 4. Model Basis Data a. b. c. Hirarkis; Jaringan, dan Relasional Drs. Agfianto Eko Putra, M.Si. 2 II.1. DBMS dan Keuntungannya DBMS (Data Base Management System): 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 Kejenuhan, pekerjaan yang berulang-ulang dan monoton membosankan; Kekinian (up to date), 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. Drs. Agfianto Eko Putra, M.Si. 3 II.2. Komponen Utama DBMS Program Aplikasi Pengguna DBMS Program Aplikasi Pengguna Perangkat Keras Perangkat Lunak Data Drs. Agfianto Eko Putra, M.Si. 4 II.2.1. Perangkat Keras Berupa komputer (PC) dan bagianbagian di dalamnya, unjuk-kerja didasarkan pada (antara lain): frekuensi kerja prosesor (tipe prosesor), kapasitas memori dan kapasitas media penyimpan; Drs. Agfianto Eko Putra, M.Si. 5 II.2.2. Data Data dalam basis data bersifat integrated dan shared: Terpadu (integrated), 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). Drs. Agfianto Eko Putra, M.Si. 6 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 permintaanpermintaan pengguna. Drs. Agfianto Eko Putra, M.Si. 7 II.2.4. Pengguna (User) 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. Drs. Agfianto Eko Putra, M.Si. 8 II.2.4. Pengguna (User) Kategori Pengguna: Pengguna Akhir (End User); Pemrogram aplikasi (Application Programmer); dan Administrator Basis Data (Database Administrator). Kategori Pengguna Akhir: Pengguna Aplikasi (Application User); dan Pengguna Interaktif (Interactive User). Tugas-tugas DBA (Database Administrator): Mendefinisikan basis data; Menentukan isi basis data; Menentukan sekuritas basis data. Drs. Agfianto Eko Putra, M.Si. 9 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. Drs. Agfianto Eko Putra, M.Si. 10 II.3. Abstraksi Data Pandangan-1 Pandangan-2 Pandangan-3 Lapis Konseptual LapisFisis Misal: Pegawai := RECORD Nama Alamat Bagian Gaji END; : : : : STRING; STRING; STRING; LongInt; Drs. Agfianto Eko Putra, M.Si. 11 II.4. Model Basis Data Model basis data menyatakan hubungan antar rekaman yang tersimpan dalam basis data struktur data logis; Model dasar: Hirarkis; Jaringan, dan Relasional Model yang baru pascarelasional, beberapa nama yang sedang dikembangkan antara lain (sebagian ada di dalam konsep MPEG7): 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.). Drs. Agfianto Eko Putra, M.Si. 12 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). Contoh produk DBMS yang menggunakan model hirarkis adalah IMS (Information management System), yang dikembangkan oleh dua perusahaan IBM dan Rockwell International Corporation. Drs. Agfianto Eko Putra, M.Si. 13 II.4.1. Model Hirarkis A Level 1 Level 2 Level 3 B C F D G H E I J K L Level 4 M Dosen SitiNurbaya MK:Basis Data Rudy Asti Dosen Dt.Maringgih M K: COBOL Dani Drs. Agfianto Eko Putra, M.Si. Dina Edi M K:Matematika Warti Warto 14 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. Contoh produk CA-IDBMS/DB dari Computer Associates International Inc sebelumnya IDBMS (Integrated DataBase Management System). Drs. Agfianto Eko Putra, M.Si. 15 II.4.2. Model Jaringan Dosen SitiNurbaya MK:Basis Data Rudy Asti Dosen Dt.Maringgih MK:COBOL Dani Dina Edi Drs. Agfianto Eko Putra, M.Si. MK:Matematika Warti Warto 16 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 menghilangkan kemubaziran data. DBMS yang bermodelkan relasional disebut RDBMS (Relational DBMS) Padanan istilah relasi, tupel dan atribut: 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. Drs. Agfianto Eko Putra, M.Si. 17 II.4.3. Model Relasional Drs. Agfianto Eko Putra, M.Si. 18 II.4.3. Model Relasional Ada beberapa sifat yang melekat pada suatu relasi: 1. 2. 3. 4. 5. Tak ada tupel (baris) yang kembar kunci primer; Urutan tupel tidaklah penting (tupel-tupel dapat dipandang dalam sebarang urutan); Setiap atribut memiliki nama yang unik; Letak atribut bebas (urutan atribut tidak penting); 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 Drs. Agfianto Eko Putra, M.Si. 19 II.4.3. Model Relasional 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; Drs. Agfianto Eko Putra, M.Si. 20 II.5. Macam Perintah DBMS Semua DBMS paling tidak memiliki dua macam perintah yang digunakan untuk mengelola dan mengorganisasikan data, yaitu: Bahasa Definisi Data (DDL – Data Definition Language); Bahasa Manipulasi Data (DML – Data Manipulation Language). Lainnya terdapat perintah yang tergolong DCL (Data Control Language) yang berkaitan dengan pengaturan sekuritas basis data. Drs. Agfianto Eko Putra, M.Si. 21 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: Nama basis data; Nama seluruh berkas pada basis data; Nama rekaman dan medan; Deskripsi berkas, rekaman dan medan; Nama medan kunci; Nama indeks dan medan yang menjadi indeks. Drs. Agfianto Eko Putra, M.Si. 22 II.5.1. Bahasa Definisi Data (DDL) Indeks merupakan suatu mekanisme yang lazim digunakan pada basis data yang memungkinkan pengambilan data dapat dilakukan dengan cepat! 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 NAM A ALAM AT SubSkema NAM A BAGIAN BAGIAN Drs. Agfianto Eko Putra, M.Si. GAJI 23 II.5.1. Bahasa Definisi Data (DDL) 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 Drs. Agfianto Eko Putra, M.Si. 24 II.5.2. Bahasa Manipulasi Data (DML) Adalah perintah-perintah yang digunakan untuk mengubah, memanipulasi dan mengambil data pada basis data. DML pada dasarnya dibagi menjadi dua: Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya; 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. 2. Mengetikkan perintah-perintah (interaktif) yang ditujukan kepada DMS untuk memanipulasi suatu rekaman atau suatu data. Melalui program aplikasi yang menggunakan instruksi-instruksi internal (embedded statement) ke DBMS untuk mengambil data dan memberikan hasilnya ke program Drs. Agfianto Eko Putra, M.Si. 25 II.5.2. Bahasa Manipulasi Data (DML) Bahasa pemrograman seperti COBOL, C dan FORTRAN bisa digunakan sebagai aplikasi pengaksesan basis data antarmuka bahasa host. 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 Program Aplikasi COBOL user DBMS: Antarmuka Bahasa Host Drs. Agfianto Eko Putra, M.Si. Basis data 26 Produksi Agfi’s production house [email protected] 2004 Drs. Agfianto Eko Putra, M.Si. 27