Monday 10 August 2015

SI-202 LINGKUNGAN BASIS DATA – 1


  Tujuan utama dari sistem database adalah menyediakan pemakai melalui suatu pandangan abstrak mengenai data, dengan menyembunyikan detail dari bagaimana data disimpan dan dimanipulasikan.
  Oleh karena itu, titik awal untuk perancangan sebuah database haruslah abstrak dan merupakan deskripsi umum dari kebutuhan-kebutuhan informasi dari suatu organisasi harus digambarkan di dalam database.


Tiga Tingkatan Arsitektur Database (ANSI/SPARC)
1. Tingkat eksternal (external level)
                Tingkat eksternal merupakan cara pandang pemakai terhadap basis data. Pada tingkat ini menggambarkan bagian basis data yang relevan bagi seorang pemakai tertentu. Tingkat eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis data. Masing-masing pemakai merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang secara eksternal hanya terbatas pada entitas, atribut, dan hubungan antar entitas (relationship) yang diperlukan saja.
                Contoh : view dari mahasiswa, mata kuliah dll
2. Tingkat konseptual (conceptual level)
                Tingkat konseptual merupakan kumpulan cara pandang terhadap basis data. Pada tingkat ini menggambarkan data yang disimpan dalam basis data dan hubungan antara datanya. Hal-hal yang digambarkan dalam tingkat konseptual adalah:
  •  semua entitas beserta atribut dan hubungannya
  •  batasan data
  •  informasi semantic tentang data
  •  keamanan dan integritas informasi

                Semua cara pandang pada tingkat eksternal berupa data yang dibutuhkan oleh pemakai harus sudah tercakup di dalam tingkat konseptual atau dapat diturunkan dari data yang ada. Deskripsi data dari entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut tanpa memperhatikan besarnya penyimpanan dalam ukuran byte.
Contoh : entity, relationship, tipe data dan constraint.

3. Tingkat Internal (Internal Level)
                Tingkat internal merupakan perwujudan database dalam komputer. Pada tingkat inimenggambarkan bagaimana database disimpan secara fisik di dalam peralatan storage
                yang berkaitan erat dengan tempat penyimpanan/physical storage.
Tingkat internal memperhatikan hal-hal berikut ini :
                - alokasi ruang penyimpanan data dan indeks
                - deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk dataelemen
Contoh : organisasi file secaa sequential, raltive atau index sequential
                - penempatan record
                - pemampatan data dan teknik encryption



Gambar  Contoh penggambaran tingkatan arsitektur database


2.2 Data Independence

Tujuan utama dari 3 tingkat arsitektur adalah memelihara kemandirian data (data independence) yang berarti perubahan yang terjadi pada tingkat yang lebih rendah tidak mempengaruhi tingkat yang lebih tinggi.
Ada 2 jenis data independence, yaitu
1. Physical Data Independence
                bahwa internal schema dapat diubah oleh DBA tanpa menggangu conceptual schema.
                Dengan kata lain physical data independence menunjukkan kekebalan conceptual schematerhadap perubahan internal schema.
Contoh :
                - Menambah indeks tambahan
                - Merubah penyimpanan data
                - Merubah organisasi file dari sequential ke         index sequential
2. Logical Data Independence
                bahwa conceptual schema dapat diubah oleh DBA tanpa menggangu external schema.
                Dengan kata lain logical data independence menunjukkan kekebalan external schema
                terhadap perubahan conceptual schema.
Contoh :
                - Menambah dan menghapus suatu tipe               record
                - Merubah format data
Prinsip data independence adalah salah satu hal yang harus diterapkan di dalam pengelolaan sistem basis data dengan alasan-alasan sbb :
1. DBA dapat mengubah isi, lokasi, perwujutan dalam organisasi basis data tanpa mengganggu program-program aplikasi yang sudah ada.
2. Pabrik/agen peralatan/software pengolahan data dapat memperkenalkan produk-produk baru tanpa mengganggu program-program aplikasi yang sudah ada.
3. Untuk memindahkan perkembangan program-program aplikasi
4. Memberikan fasilitas pengontrolan terpusat oleh DBA demi keamanan dan integritas data dengan memperhatikan perubahan-perubahan kebutuhan pengguna.



 2.3 Konsep DBMS

Sistem manajemen basisdata atau DBMS (database management System) adalah perangkat lunak untuk mendefinisikan, menciptakan, mengelola, dan mengendalikan pengaksesan basisdata.
Fungsi sistem manajemen basisdata yang paling penting adalah menyediakan basis untuk sistem informasi manajemen
       DBMS mengatur permintaan dan penyimpanan data ke dan dari disk. DBMS menyediakan keamanan (security), privacy (privacy), integritas (integrity), dan kontrol konkurensi (concurrency controls)
       Contoh produk DBMS
                - Microsoft  Access
                - Oracle
                - Microsoft SQL Server
                - Sybase
                - DB2
                - INGRES
                - MySQL




  1. Data definition, penjelasan struktur data baru untuk suatu basis data, pemindahan struktur data dari basis data, serta pemodifikasian struktur dari data yang ada
  2. Data maintenance, memasukan data baru ke dalam struktur data yang ada, memperbarui data di dalam struktur data yang ada, dan menghapus data dari struktur data yang ada
  3. Data retrieval, peng-query-an data yang ada oleh pengguna akhir dan pengekstrakan data sebagai penggunaan oleh program aplikasi
  4. Data control, menciptakan dan mengawasi pengguna basis data, pembatasan akses untuk data di dalam basis data, dan pengawasan kinerja basis data


Layanan - layanan yang sebaiknya disediakan oleh database management system adalah :
1. Penyimpanan, pengambilan dan perubahan data
                Sebuah DBMS harus menyediakan kemampuan menyimpan, mengambil dan merubah data dalam database.
2. Katalog yang dapat diakses pemakai
                menyediakan sebuah katalog yang berisi deskripsi item data yang disimpan dan diakses oleh pemakai.
3. Mendukung Transaksi
                Menyediakan mekanisme yang akan menjamin semua perubahan yang berhubungan dengan transaksi yang sudah ada atau yang akan dibuat.
4. Melayani kontrol concurrency
                Sebuah DBMS harus menyediakan mekanisme yang menjamin database ter-updatesecara benar pada saat beberapa pemakai melakukan perubahan terhadap database yang sama secara bersamaan.
5. Melayani recovery
                Menyediakan mekanisme untuk mengembalikan database ke keadaan sebelum terjadinya kerusakan pada database tersebut.
6. Melayani autorisasi
                Sebuah DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pemakai yang berwenang saja yang dapat mengakses database.

7. Mendukung komunikasi data
                Sebuah DBMS harus mampu terintegrasi dengan software komunikasi.
8. Melayani integrity
                Sebuah DBMS bertujuan untuk menjamin semua data dalam database dan setiap terjadi perubahan data harus sesuai dengan aturan yang berlaku.
9. Melayani data independence
                Sebuah DBMS harus mencakup fasilitas untuk mendukung kemandirian program daristruktur database yang sesungguhnya.
10. Melayani utility
                Sebuah DBMS sebaiknya menyediakan kumpulan layanan utility.

       DBMS merupakan perantara antara user dengan basis data yang tersimpan dalam disk. Cara berkomunikasi keduanya diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa itu disebut Bahasa Basis Data. Contoh; SQL, dBase, QUEL.
       Dalam database secara umum dikenal 2 data sub language :

1. Data Definition Language (DDL)
Bahasa yang digunakan dalam mendefinisikan struktur atau kerangka dari database, didalamnya termasuk record, elemen data, kunci elemen, dan relasinya
2. Data Manipulation Language (DML)
Bahasa yang digunakan untuk menjabarkan pemrosesan dari database, fasilitas ini
diperlukan untuk memasukkan, mengambil, mengubah data. DML dipakai untuk operasi
terhadap isi database.

Ada 2 jenis DML :
1. Procedural DML
                Digunakan untuk mendefinisikan data yang diolah dan perintah yang akan dilaksanakan.
2. Non Procedural
                Digunakan untuk menjabarkan data yang diinginkan tanpa menyebutkan bagaimana
                cara pengambilannya.

Secara khusus pengguna menggunakan berbagai bahasa :
       Programmer aplikasi menggunakan bahasa-bahasa seperti Cobol, Informix, dll (host
                language) yang ditempelkan dengan bahasa yang dipakai dalam DBMS.
       Pemakai terminal menggunakan bahasa Query (misal SQL) atau menggunakan program aplikasi (yang dirancang oleh programmer).
       Sedangkan DBA lebih banyak menggunakan bahasa DDL dan DML yang tersedia dalam DBMS.

DBMS mempunyai tugas untuk menangani semua bentuk akses kepada database, secara konsep :
1. Pengguna menyatakan permintaan akses menggunakan DBMS
2. DBMS menangkap dan menginterpretasikan
3. DBMS mencari :
                - eksternal / conceptual mapping
                - conceptual schema
                - konseptual / internal mapping
                - internal schema
4. DBMS melaksanakan operasi yang diminta terhadap database tersimpan.
Proses 1 s/d 4 dapat dilakukan secara interactive atau dicompile dulu.

KOMPONEN DBMS
Komponen Lingkungan DBMS
       Data
       terintegrasi (integrated)
       dapat dipakai bersama-sama (shared)
       Perangkat keras (hardware)
       Perangkat Lunak (software)
       Brainware
       Prosedur




  1. Definisi skema dan statement modifikasi ditulis di dalam DDL (data definition language) yang  di-compile dalam pemyimpan diskripsi pada kamus data (data dictionary). Kamus data diatur dengan cara yang sama seperti data yang lain sehingga permintaan untuk modifikasi skema diterjemahkan ke dalam update basis data (dengan kata lain kamus data)
  2. Statement DML (data manipulation language) di dalam program aplikasi diterjemahkan ke dalam kode objek (cara melakukanya tergantung pada jenis dari aplication programming interface (API). Pada waktu pelaksanaan, kode objek akan menghasilkan suatu panggilan untuk Runtime Database Processor
  3. Query Interaktif (ad hoc) harus diterjemahkan dan dioptimisasi untuk permorma yang cepat. Tugas ini adalah tugas dari Query Processor. Optimisasi di dalam basis data sangat penting, hasilnya adalah suatu query plan yang saat dieksekusi mengakibatkan panggilan padaRuntime Database Processor
  4. Run-time Database Processor menerima permintaan atau meng-update operasi dan melewatkan urutan tersebut sebagai permintaan terhadap storage manager dimana transaction manager harus saling berhubungan dengan runtime database processor untuk mengendalikan konkurensi (transaction manager memonitor apa yang membaca data dan mengupdate runtime processor adalah permintaan dan kekuatan transaksi untuk menunggu jika terdapat dua konflik transaksi dalam permintaan mereka
  5. Transaction Manager juga saling berhubungan dengan storage manager karena biasanya manager tersebut memelihara logs pembuatan, perubahan basis data dengan tujuan kontrol integritas, backup, dan recovery
  6. Storage Manager meliputi file manager dan buffer manager. Saat menerima suatu permintaan dari runtime processor untuk halaman tertentu, harus memastikan apakah halaman yang diminta sudah berada dalam memori buffer. Jika berupa pesan, maka pesan tsb bisa dikirim ke halaman yg terisi dalam memori. Jika bukan, maka halaman diminta dari file manager.
  1. Buffer Manager menangani memori utama.
       Buffer manager menerima blok-blok (atau halaman) data dari file manager,
       mengalokasikannya pada buffer di dalam memori utama, dan memutuskan halaman yang mana yang kembali ke disk saat memory buffers penuh.
       Buffer manager memelihara tabel terjemahan yang memetakan alamat basis data pada memori

Data dictionary
       Data  dictionary / directory (DD) menyimpan definisi- definisi semua item data di basisdata
       Kamus data ini berisi definisi item-item data elementer (field), kelompok, struktur data level rekord, file-file dan tabel-tabel relasional.
       Kamus data mengelola informasi, termasuk informasi hubungan antar struktur data.
       Serta mengelola indeks untuk mengakses data secara cepat
       Informasi dalam kamus data disebut metadata yaitu “data mengenai data”
                           




Utiliti – Utiliti DBMS

       Loading
                Memasukkan suatu file data ke dalam database
       Backup
                Membuat salinan database yang dapat digunakan untuk menempatkan database pada saat terjadi kegagalan
       File Reorganization
                Mereorganisasikan file databse ke jenis database lain untuk meningkatkan performasi
       Report Generation
                Membuat format laporan-laporan dengan mengontrol spasi, header, footer, total, summary dsb.
       Performance Monitoring
                Memonitor penggunaan database dan menyediakan statistic untuk DBA

No comments:

Post a Comment