Jump to content

Database Server: Introduction to Database System

From Wiki

Learning Outcomes

LO1: Interpret business problems that can be accommodated by database system

OUTLINE MATERI (Sub-Topic):

  1. Introduction
  2. File-based Approach
  3. Database Approach
  4. Advantage and Disadvantage of DBMS
  5. Three Level ANSI SPARC architecture
  6. Data Models dan Conceptual Modelling

Introduction

Teknologi basis data (database) telah menjadi bidang yang menarik untuk dikerjakan, sejak kemunculannya, telah menjadi katalisator bagi banyak perkembangan penting dalam rekayasa perangkat lunak. Riset basis data (database) belum berakhir dan masih banyak masalah yang perlu diatasi. Selain itu, karena sistem basis data (database) aplikasi menjadi semakin kompleks, kita harus memikirkan kembali algoritma yang banyak digunakan saat ini, seperti algoritme untuk penyimpanan file, akses file, dan pengoptimalan kueri. Algoritma query ini telah membuat kontribusi signifikan dalam rekayasa perangkat lunak dan, kepastian dalam penggunaan serta pengembangan algoritma baru yang akan memiliki efek yang serupa.

Basis data (database) sekarang menjadi bagian integral dari kehidupan sehari-hari kita yang sering kita tidak sadari bahwa kita menggunakan salah satu dari aplikasi yang menggunakan basis data (database). Untuk memulai diskusi kita tentang database, di bagian ini kita akan mempelajari beberapa aplikasi sistem yang menggunakan basis data (database), untuk menjadi kumpulan data terkait dan sistem manajemen basis data (DBMS). DBMS merupakan perangkat lunak yang mengelola dan mengontrol akses ke database. DBMS hanyalah sebuah program yang berinteraksi dengan database dalam pelaksanaannya. Kami juga menggunakan sistem basis data (database) yang lebih inklusif sebagai kumpulan program aplikasi yang berinteraksi dengan database. Beberapa aplikasi yang menggunakan database:

1. Pembelian dari supermarket

Ketika Anda membeli barang dari supermarket lokal Anda, ada kemungkinan bahwa database diakses. Kasir menggunakan barcode reader untuk memindai setiap pembelian Anda. Barcode reader ini terhubung ke aplikasi database yang menggunakan barcode untuk mengetahui harga barang dari database produk.

Aplikasi ini kemudian mengurangi jumlah barang-barang tersebut dalam stok dan menampilkan harga pada mesin kasir. Jika tingkat pemesanan ulang berada di bawah ambang batas yang ditentukan, sistem basis data dapat secara otomatis menempatkan pesanan untuk mendapatkan lebih banyak dari item tersebut. Jika pelanggan menelepon supermarket, asisten dapat memeriksa apakah suatu barang ada dalam stok dengan menjalankan aplikasi took untuk menentukan ketersediaan barang dari database.

2. Pembelian menggunakan kartu kredit

Ketika Anda membeli barang menggunakan kartu kredit, asisten biasanya memeriksa apakah Anda memiliki sisa kredit yang cukup untuk melakukan pembelian. Pemeriksaan ini dapat dilakukan melalui telepon atau secara otomatis oleh mesin pembaca kartu kredit yang terhubung ke sistem melalui komputer.

Dalam kasus apa pun, ada basis data di suatu tempat yang berisi informasi tentang pembelian yang Anda lakukan menggunakan kartu kredit Anda. Untuk memeriksa kredit Anda, ada aplikasi database yang menggunakan nomor kartu kredit Anda untuk memeriksa bahwa harga barang yang ingin Anda beli, bersama dengan jumlah pembelian yang telah Anda lakukan bulan ini, adalah dalam batas kredit Anda. Ketika pembelian dikonfirmasi, rincian pembelian ditambahkan ke database.

Aplikasi ini juga mengakses database untuk memastikan bahwa kartu kredit tidak ada dalam daftar kartu yang dicuri atau hilang sebelum mengesahkan pembelian. Ada aplikasi database lain untuk mengirimkan laporan bulanan kepada setiap pemegang kartu dan ke akun kredit ketika pembayaran diterima.

3. Memesan liburan (tiket) dengan agen perjalanan (Agen Travel)

Ketika Anda bertanya tentang liburan, agen perjalanan Anda dapat mengakses beberapa basis data yang berisi rincian liburan dan penerbangan. Ketika Anda memesan liburan Anda, sistem database harus membuat semua pengaturan pemesanan yang diperlukan. Dalam hal ini, sistem harus memastikan bahwa dua agen yang berbeda tidak memesan liburan atau memesan tempat di pesawat yang sama. Misalnya, jika hanya ada satu kursi tersisa di penerbangan dari New York ke London dan dua agen mencoba untuk memesan kursi terakhir pada saat yang sama, sistem harus mengenali situasi ini, memungkinkan satu pemesanan untuk melanjutkan, dan menginformasikan yang lain agen yang ada sekarang tidak ada kursi yang tersedia.

4. Aplikasi Perpustakaan

Perpustakaan lokal Anda mungkin memiliki database yang berisi perincian buku-buku di perpustakaan, perincian pembaca, reservasi, dan sebagainya. Akan ada indeks terkomputerisasi yang memungkinkan pembaca menemukan buku berdasarkan judul, penulis, atau subjeknya. Sistem basis data menangani reservasi untuk memungkinkan pembaca memesan buku dan memberi tahu melalui surat atau email ketika buku tersedia. Sistem ini juga mengirimkan pengingat kepada peminjam yang gagal mengembalikan buku pada tanggal jatuh tempo. Biasanya, sistem akan memiliki barcode reader, mirip dengan yang digunakan oleh supermarket yang dijelaskan sebelumnya, yang digunakan untuk melacak buku yang masuk dan keluar dari perpustakaan.

5. Mengambil asuransi

Kapan pun Anda ingin mengambil asuransi — misalnya asuransi pribadi, asuransi properti, atau asuransi mobil, agen Anda dapat mengakses beberapa basis data yang berisi angka-angka untuk berbagai organisasi asuransi. Detail pribadi yang Anda berikan, seperti nama, alamat, usia, dan apakah Anda minum atau merokok, digunakan oleh database untuk menentukan biaya asuransi. Agen asuransi dapat mencari beberapa database untuk menemukan organisasi yang memberi Anda kesepakatan terbaik.

6. Menyewa DVD

Ketika Anda ingin menyewa DVD dari perusahaan rental DVD, Anda mungkin akan menemukan bahwa perusahaan menyimpan database yang terdiri dari judul DVD yang disewakan, perincian pada salinannya untuk setiap judul, apakah salinannya tersedia untuk disewa atau saat ini sedang dipinjamkan, perincian para anggotanya (para penyewa), dan DVD mana yang saat ini mereka sewa dan tanggal mereka kembalikan.

Basis data bahkan dapat menyimpan informasi yang lebih rinci tentang setiap DVD, seperti sutradara dan para aktornya. Perusahaan dapat menggunakan informasi ini untuk memantau penggunaan stok dan memprediksi tren pembelian di masa mendatang berdasarkan data sewa historis

7. Menggunakan Internet

Banyak situs di Internet didorong oleh aplikasi basis data. Misalnya, Anda dapat mengunjungi toko buku online yang memungkinkan Anda untuk menelusuri dan membeli buku, seperti Amazon.com. Toko buku memungkinkan Anda menelusuri buku dalam berbagai kategori, seperti komputasi atau manajemen, atau dengan nama penulis.

Dalam kasus apa pun, ada basis data di server Web organisasi yang terdiri atas detail buku, ketersediaan, informasi pengiriman, tingkat stok, dan riwayat pesanan. Detail buku mencakup judul buku, ISBN, penulis, harga, riwayat penjualan, penerbit, ulasan, dan deskripsi terperinci. Basis data memungkinkan buku-buku menjadi referensi silang: misalnya, sebuah buku dapat terdaftar di bawah beberapa kategori, seperti komputasi, bahasa pemrograman, buku terlaris, dan judul yang direkomendasikan. Referensi silang juga memungkinkan Amazon memberi Anda informasi tentang buku lain yang biasanya dipesan bersama dengan judul yang Anda minati.

Seperti contoh sebelumnya, Anda dapat memberikan detail kartu kredit untuk membeli satu atau lebih buku secara online. Amazon.com mempersonalisasikan layanannya bagi pelanggan yang kembali ke situsnya dengan mencatat semua transaksi sebelumnya, termasuk barang yang dibeli, pengiriman, dan rincian kartu kredit. Ketika Anda kembali ke situs, Anda mungkin akan disambut oleh nama dan disajikan dengan daftar judul yang direkomendasikan berdasarkan pembelian sebelumnya.

8. Sistem Informasi Akademik

Jika Anda kuliah, akan ada sistem database yang berisi informasi tentang diri Anda, Program studi dan rumpun keahlian anda, mata kuliah yang Anda ikuti, rincian tentang pembayaran semesteran Anda, kelas yang Anda ambil di tahun-tahun sebelumnya, atau yang diambil tahun ini, dan rincian semua hasil pemeriksaan Anda. Mungkin juga ada basis data yang berisi detail terkait dengan penerimaan tahun berikutnya dan database yang berisi detail staf yang bekerja di universitas, memberikan detail pribadi dan detail terkait gaji untuk kantor penggajian.

Filebased Approach

Gambar 1.1. Formulir Departemen Penjualan (Source: Connoly & Begg (2015))
Gambar 1.2. File PropertyForRent, PrivateOwner, dan Client yang digunakan oleh Departemen Penjualan. (Source: Connoly & Begg (2015))
Gambar 1.3. Formulir Detail Sewa yang digunakan oleh Departemen Kontrak (Source: Connoly & Begg (2015))
Gambar 1.4. File Sewa, PropertyForRent, dan Klien digunakan oleh Departemen Kontrak. (Source: Connoly & Begg (2015))
Gambar 1.5. Pemrosesan Berbasis File (Source: Connoly & Begg (2015))

Sistem berbasis file (file-based systems) adalah kumpulan program aplikasi yang melakukan layanan untuk pengguna akhir, seperti pembuatan laporan. Setiap program mendefinisikan dan mengelola datanya sendiri. Sistem berbasis file adalah upaya awal untuk mengkomputerisasi sistem pengarsipan manual yang kita semua kenal. Misalnya, organisasi mungkin memiliki file fisik yang diatur untuk menampung semua korespondensi eksternal dan internal yang berkaitan dengan proyek, produk, tugas, klien, atau karyawan. Biasanya, ada banyak file seperti itu, dan untuk keselamatannya diberi label dan disimpan dalam satu atau lebih kabinet. Sistem pengarsipan manual berfungsi dengan baik selama jumlah item yang akan disimpan kecil. Ini bahkan berfungsi dengan baik ketika ada banyak item dan kita hanya perlu menyimpan dan mengambilnya. Namun, sistem pengarsipan manual rusak ketika kita harus melakukan referensi silang atau memproses informasi dalam file. Untuk memahami apa artinya ini, coba perhatikan contoh kasus DreamHome berikut ini.

Departemen Penjualan bertanggung jawab atas penjualan dan penyewaan properti. Misalnya, setiap kali klien yang ingin menawarkan propertinya untuk disewakan mendekati Departemen Penjualan, mereka harus mengisi formulir yang mirip dengan yang ditunjukkan pada Gambar 1.1 (a) diisi. Formulir yang sudah diisi berisi perincian tentang properti, seperti alamat, jumlah kamar, dan informasi kontak pemilik. Departemen Penjualan juga menangani permintaan dari klien, dan formulir yang mirip dengan yang ditunjukkan pada Gambar l.l (b) harus diisi untuk masing-masing. Dengan bantuan Departemen DP, Departemen Penjualan menciptakan sistem informasi untuk menangani penyewaan properti. Sistem ini terdiri dari tiga file yang berisi properti, pemilik, dan detail klien, seperti yang diilustrasikan dalam Gambar 1.2. Untuk mempermudah, kami menghilangkan detail yang berkaitan dengan anggota staf, kantor cabang, dan pemilik bisnis. Departemen Kontrak bertanggung jawab untuk menangani perjanjian sewa yang terkait dengan properti yang disewakan. Setiap kali klien setuju untuk menyewa properti, formulir dengan detail klien dan properti diisi oleh salah satu staf penjualan, seperti yang ditunjukkan pada Gambar 1.3. Formulir ini diteruskan ke Departemen Kontrak, yang mengalokasikan nomor sewa dan melengkapi rincian pembayaran dan masa sewa. Sekali lagi, dengan bantuan Departemen DP, Departemen Kontrak menciptakan sistem informasi untuk menangani perjanjian sewa. Sistem ini terdiri dari tiga file yang menyimpan sewa, properti, dan detail klien, dan yang berisi data serupa dengan yang dimiliki oleh Departemen Penjualan, seperti yang diilustrasikan dalam Gambar 1.4. Prosesnya diilustrasikan pada Gambar 1.5. Ini menunjukkan setiap departemen mengakses file mereka sendiri melalui program aplikasi yang ditulis khusus untuk mereka. Setiap set program aplikasi departemen menangani entri data, pemeliharaan file, dan pembuatan set laporan tertentu yang telah diperbaiki. Lebih penting lagi, struktur fisik dan penyimpanan file data dan catatan didefinisikan dalam kode aplikasi.

Deskripsi singkat tentang sistem berbasis file tradisional ini harus cukup untuk membahas keterbatasan pendekatan ini. Ada lima jenis permasalahan atau batasan dari sistem berbasis file ini yaitu :

1. Pemisahan dan isolasi data

Ketika data diisolasi dalam file yang terpisah, lebih sulit untuk mengakses data yang seharusnya tersedia. Dengan sistem file, pemrosesan seperti itu sulit. Pengembang aplikasi harus menyinkronkan pemrosesan dua file untuk memastikan bahwa data yang benar diekstraksi. Kesulitan ini diperparah jika kita memerlukan data dari lebih dari dua file.

2. Duplikasi data

Karena pendekatan desentralisasi yang diambil oleh masing-masing departemen,

pendekatan berbasis file mendorong, jika tidak diperlukan, duplikasi data yang tidak terkendali. Duplikasi data yang tidak terkendali tidak diinginkan karena beberapa alasan, termasuk:

  • Duplikasi sia-sia. Membutuhkan waktu dan uang untuk memasukkan data lebih dari sekali.
  • Membutuhkan ruang penyimpanan tambahan, sekali lagi dengan biaya terkait. Seringkali, duplikasi data dapat dihindari dengan berbagi file data.
  • Mungkin yang lebih penting, duplikasi dapat menyebabkan hilangnya integritas data; dengan kata lain, data tidak lagi konsisten.
  • Ketergantungan data. Struktur fisik dan penyimpanan file data dan catatan didefinisikan dalam kode aplikasi. Ini berarti bahwa perubahan pada struktur yang ada sulit dilakukan. Jelas, proses ini bisa sangat memakan waktu dan dapat terjadi kesalahan. Karakteristik sistem berbasis file ini dikenal sebagai ketergantungan program-data.
  • Format file yang tidak kompetibel. Karena struktur file tertanam dalam program aplikasi, strukturnya tergantung pada bahasa pemrograman aplikasi. Sebagai contoh, struktur file yang dihasilkan oleh program COBOL mungkin berbeda dari struktur file yang dihasilkan oleh program C. Ketidakcocokan langsung file-file tersebut membuat mereka sulit untuk diproses bersama.
  • Memperbaiki kueri / proliferasi program aplikasi. Bagaimanapun, sistem berbasis file sangat tergantung pada pengembang aplikasi, yang harus menulis pertanyaan atau laporan apa pun yang diperlukan. Akibatnya, dua hal terjadi. Di beberapa organisasi, jenis kueri atau laporan yang dapat diproduksi diperbaiki. Tidak ada fasilitas untuk menanyakan pertanyaan yang tidak direncanakan (yaitu, memacu momen atau ad hoc) baik tentang data itu sendiri atau tentang jenis data yang tersedia. Di organisasi lain, ada proliferasi file dan program aplikasi. Akhirnya, ini mencapai titik di mana Departemen DP, dengan sumber daya yang ada, tidak bisa menangani semua pekerjaan. Hal ini memberikan tekanan yang luar biasa pada staf DP, menghasilkan program yang tidak memadai atau tidak efisien dalam memenuhi permintaan pengguna, dokumentasi terbatas, dan pemeliharaan yang sulit. Seringkali, beberapa jenis fungsi dihilangkan:
    • Tidak ada ketentuan untuk keamanan atau integritas.
    • Pemulihan bila terjadi kegagalan perangkat keras atau perangkat lunak, terbatas atau tidak ada.
    • Akses ke file dibatasi untuk satu pengguna sekaligus tidak ada ketentuan untuk akses bersama oleh staf di departemen yang sama.

Dalam kedua kasus, hasilnya tidak dapat diterima. Solusi lain diperlukan.

Database Approach

Semua keterbatasan yang disebutkan sebelumnya dari pendekatan berbasis file dapat dikaitkan dengan dua faktor:

  • Definisi data tertanam dalam program aplikasi, daripada disimpan secara terpisah dan mandiri.
  • Tidak ada kontrol atas akses dan manipulasi data di luar yang diberlakukan oleh program aplikasi.

Untuk menjadi lebih efektif, diperlukan pendekatan baru. Yang muncul adalah database dan Sistem Manajemen Database (DBMS). Di bagian ini, kami memberikan definisi yang lebih formal tentang istilah-istilah ini, dan memeriksa komponen yang mungkin kita harapkan dalam lingkungan DBMS.

The Database

Database adalah satu (tunggal), namun memiliki media penyimpanan data yang besar, dapat digunakan secara bersamaan oleh banyak departemen dan pengguna. Alih-alih file terputus dengan data yang berlebihan, semua item data terintegrasi dengan jumlah minimum duplikasi. Database tidak lagi dimiliki oleh satu departemen tetapi merupakan sumber daya perusahaan bersama. Database tidak hanya menyimpan data operasional organisasi, tetapi juga deskripsi data. Karena alasan ini, database juga didefinisikan sebagai kumpulan catatan terpadu yang menggambarkan diri sendiri. Deskripsi data dikenal sebagai katalog sistem (atau kamus data atau metadata - “data tentang data”). Ini adalah sifat yang menggambarkan diri dari database yang menyediakan independensi program-data.

Pendekatan Basis data adalah memisahkan antara definisi data dengan aplikasi, dimana pengguna hanya melihat tampilan untuk objek data secara eksternal tetapi tidak mengetahui bagaimana fungsi objek dan pendefinisikan objek data. Pendekatan ini disebut sebagai abstraksi data. Salah satu keuntungan dari pendekatan ini adalah bahwa kita dapat mengubah definisi internal suatu objek tanpa mempengaruhi pengguna objek, asalkan definisi eksternal tetap sama. Dengan cara yang sama, pendekatan database berikutnya adalah memisahkan struktur data dari program aplikasi dan menyimpannya dalam database. Jika struktur data baru ditambahkan atau struktur yang ada dimodifikasi, maka program aplikasi tidak terpengaruh, asalkan mereka tidak secara langsung bergantung pada apa yang telah dimodifikasi. Misalnya, jika kita menambahkan bidang baru ke catatan atau membuat file baru, aplikasi yang ada tidak akan terpengaruh. Namun, jika kami menghapus bidang dari file yang digunakan program aplikasi, maka program aplikasi tersebut dipengaruhi oleh perubahan ini dan harus dimodifikasi sesuai dengan kebutuhan.

Pernyataan lain dalam definisi database yang harus kita jelaskan adalah "secara logis terkait." Ketika kita menganalisis kebutuhan informasi dari suatu organisasi, kita berusaha untuk mengidentifikasi entitas, atribut, dan hubungan. Entitas adalah objek yang berbeda (seseorang, tempat, benda, konsep, atau peristiwa) dalam organisasi yang akan diwakili dalam database. Atribut adalah properti yang menggambarkan beberapa aspek objek yang ingin kita rekam, dan hubungan adalah hubungan antar entitas. Database mewakili entitas, atribut, dan hubungan logis antara entitas. Dengan kata lain, database menyimpan data yang terkait secara logis. Sebagai contoh, Gambar 1.6 menunjukkan diagram Entity-Relationship (ER) untuk bagian dari studi kasus DreamHome. Ini terdiri dari:

  1. Enam entitas (segi empat): Branch, Staff, PropertyForRent, Client, PrivateOwner, and Lease;
  2. Tujuh hubungan (nama-nama yang berdekatan dengan garis): Has, Offers, Oversees, Views, Owns, LeasedBy, and Holds;
  3. Enam atribut, satu untuk setiap entitas: branchNo, staffNo, propertyNo, clientNo, ownerNo, dan leaseNo.
Gambar 1.6. Contoh Entity Relationship Diagram (ERD) (Source: Connoly & Begg (2015)

Database Management System (DBMS)

DBMS adalah perangkat lunak yang berinteraksi dengan program aplikasi pengguna dan basis data. Biasanya, DBMS menyediakan fasilitas berikut:

  • DBMS memungkinkan pengguna untuk mendefinisikan database, biasanya melalui Data Definition Language (DDL). DDL memungkinkan pengguna untuk menentukan tipe data dan struktur dan kendala pada data yang akan disimpan dalam database.
  • DBMS memungkinkan pengguna untuk memasukkan, memperbarui, menghapus, dan mengambil data dari database, biasanya melalui Data Manipulation Language (DML). Memiliki repositori pusat untuk semua data dan deskripsi data memungkinkan DML untuk menyediakan fasilitas penyelidikan umum untuk data ini, yang disebut bahasa query. Penyediaan bahasa query mengurangi masalah dengan sistem berbasis file dimana pengguna harus bekerja dengan set query tetap atau ada proliferasi program, menyebabkan masalah manajemen perangkat lunak utama. Bahasa query yang paling umum adalah Structured Query Language (SQL, diucapkan "S-Q-L", atau kadang-kadang "See-Quel"), yang sekarang menjadi bahasa standar formal dan de facto untuk DBMS relasional.
  • DBMS menyediakan akses terkontrol ke database. Seperti menyediakan:
    • Sistem keamanan, yang mencegah pengguna yang tidak sah mengakses database.
    • Sistem integritas, yang menjaga konsistensi data yang disimpan.
    • Sistem kontrol konkurensi, yang memungkinkan akses bersama dari database.
    • Sistem kontrol pemulihan, yang mengembalikan database ke status konsisten sebelumnya karena kegagalan perangkat keras atau perangkat lunak.
    • Katalog yang dapat diakses pengguna, yang berisi deskripsi data dalam database.

Application Program

Pengguna berinteraksi dengan database melalui sejumlah program aplikasi yang digunakan untuk membuat dan memelihara database dan untuk menghasilkan informasi. Program-program ini dapat berupa aplikasi batch konvensional atau, lebih khusus saat ini, aplikasi online. Program aplikasi dapat ditulis dalam Bahasa pemrograman atau dalam Bahasa generasi keempat yang lebih tinggi. Pemrosesan database dapat dilihat pada gambar 1.7 sebagai berikut:

Gambar 1.7 Pemrosesan Database (Source: Connoly & Begg (2015))

Departemen Penjualan dan Kontrak menggunakan program aplikasi mereka untuk mengakses database melalui DBMS. Setiap set program aplikasi departemen menangani entri data, pemeliharaan data, dan pembuatan laporan. Namun, dibandingkan dengan pendekatan berbasis file, struktur fisik dan penyimpanan data sekarang dikelola oleh DBMS.

Components of the DBMS Environment

Lima komponen lingkungan di dalam DBMS dapat dilihat pada gambar 1.8 sebagai berikut:

Gambar 1.8 Lingkungan DBMS (Source: Connoly & Begg (2015))

Hardware

DBMS dan aplikasi membutuhkan perangkat keras untuk dijalankan. Perangkat keras dapat berkisar dari satu komputer pribadi ke satu mainframe atau jaringan komputer. Perangkat keras tertentu bergantung pada persyaratan organisasi dan DBMS yang digunakan. Beberapa DBMS hanya berjalan pada perangkat keras atau sistem operasi tertentu, sementara yang lain berjalan di berbagai perangkat keras dan sistem operasi. DBMS membutuhkan jumlah minimum memori utama dan ruang disk untuk dijalankan, tetapi konfigurasi minimum ini mungkin tidak selalu memberikan kinerja yang dapat diterima. Konfigurasi perangkat keras yang disederhanakan dan diilustrasikan pada Gambar 1.9. terdiri dari jaringan server kecil, dengan server pusat yang terletak di London menjalankan backend dari DBMS, yaitu bagian dari DBMS yang mengelola dan mengontrol akses ke database. Ini juga menunjukkan beberapa komputer di berbagai lokasi menjalankan frontend dari DBMS, yaitu bagian dari DBMS yang berinteraksi dengan pengguna. Ini disebut arsitektur client-server: backend adalah server dan frontend adalah klien.

Gambar 1.9 Database pada Aplikasi Berbasis Web (Source: Connoly & Begg (2015))

Software

Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk perangkat lunak jaringan jika DBMS digunakan melalui jaringan. Biasanya, program aplikasi ditulis dalam bahasa pemrograman generasi ketiga (3GL), seperti C, C ++, C #, Java, Visual Basic, COBOL, Fortran, Ada, atau Pascal, atau bahasa generasi keempat (4GL), seperti sebagai SQL, tertanam dalam bahasa generasi ketiga. Target DBMS mungkin memiliki perangkat generasi keempatnya sendiri yang memungkinkan pengembangan aplikasi secara cepat melalui penyediaan bahasa query nonprocedural, pembuat laporan, generator bentuk, generator grafik, dan generator aplikasi. Penggunaan alat generasi keempat dapat meningkatkan produktivitas secara signifikan dan menghasilkan program yang lebih mudah dikelola.

Data

Mungkin komponen terpenting dari lingkungan DBMS — tentu dari sudut pandang pengguna akhir — adalah datanya. Pada Gambar 1.3, menggambarkan data bertindak sebagai jembatan antara komponen mesin dan komponen manusia. Basis data berisi data operasional dan metadata, “data tentang data.” Struktur dari database disebut skema. Pada Gambar 1.7, skema terdiri dari empat file, atau tabel, yaitu: PropertyForRent, PrivateOwner, Client, dan Lease. Tabel PropertyForRent memiliki delapan bidang, atau atribut, yaitu: propertyNo, street, city, zipCode, jenis (tipe properti), kamar (jumlah kamar), sewa (sewa bulanan), dan ownerNo. Atribut ownerNo memodelkan hubungan antara PropertyForRent dan PrivateOwner.

Prosedur

Prosedur mengacu pada instruksi dan aturan yang mengatur desain dan penggunaan database. Pengguna sistem dan staf yang mengelola basis data memerlukan prosedur terdokumentasi tentang cara menggunakan atau menjalankan sistem. Ini mungkin berisi instruksi tentang cara melakukannya:

  • Log on ke DBMS.
  • Menggunakan fasilitas atau program aplikasi DBMS tertentu.
  • Mulai dan mengakhiri DBMS.
  • Membuat back up database
  • Menangani kegagalan perangkat keras atau perangkat lunak. Ini mungkin termasuk prosedur tentang bagaimana mengidentifikasi komponen yang gagal, bagaimana memperbaiki komponen yang gagal (misalnya, menelepon insinyur perangkat keras yang sesuai), dan, mengikuti perbaikan kesalahan, bagaimana memulihkan database
  • Mengubah struktur tabel, atur ulang basis data ke banyak disk, tingkatkan kinerja, atau arsipkan data ke penyimpanan sekunder.

Pengguna

Komponen terakhir adalah orang-orang yang terlibat dengan system

Advantage and Dissadvantage of DBMS

Sistem manajemen basis data memiliki potensi keuntungan yang menjanjikan. Sayangnya, ada juga kekurangannya. Di bagian ini, kita akan memeriksa kelebihan dan kekurangan ini.

1. Kelebihan DBMS

Keuntungan dari sistem manajemen basis data terdaftar di gambar 1.10 berikut ini.

Gambar 1.10 Kelebihan DBMS (Source: Connoly & Begg (2015)
  • Kontrol redundansi data. Sistem berbasis file tradisional membuang ruang dengan menyimpan informasi yang sama di lebih dari satu file. Sebaliknya, pendekatan database berupaya menghilangkan redundansi dengan mengintegrasikan file sehingga banyak salinan dari data yang sama tidak disimpan. Namun, pendekatan database tidak menghilangkan redundansi sepenuhnya, tetapi mengontrol jumlah redundansi yang melekat dalam database. Terkadang perlu untuk menduplikasi item data utama untuk memodelkan hubungan; di lain waktu, diinginkan untuk menduplikasi beberapa item data untuk meningkatkan kinerja.
  • Konsistensi data. Dengan menghilangkan atau mengendalikan redundansi, kita mengurangi risiko ketidakkonsistenan yang terjadi. Jika item data disimpan hanya sekali dalam basis data, setiap pembaruan ke nilainya harus dilakukan hanya sekali dan nilai baru tersedia segera untuk semua pengguna. Jika item data disimpan lebih dari satu kali dan sistem mengetahui hal ini, sistem dapat memastikan bahwa semua salinan item tetap konsisten. Sayangnya, banyak dari DBMS saat ini tidak secara otomatis memastikan jenis konsistensi ini.
  • Informasi lebih lanjut dari jumlah data yang sama. Dengan integrasi data operasional, organisasi mungkin dapat memperoleh informasi tambahan dari data yang sama.
  • Berbagi data. Biasanya, file dimiliki oleh orang atau departemen yang menggunakannya. Di sisi lain, database milik seluruh organisasi dan dapat dibagikan oleh semua pengguna yang berwenang. Dengan cara ini, lebih banyak pengguna membagikan lebih banyak data. Selain itu, aplikasi baru dapat membangun data yang ada di database dan hanya menambahkan data yang saat ini tidak disimpan, daripada harus menetapkan semua persyaratan data lagi. Aplikasi baru juga dapat mengandalkan fungsi-fungsi yang disediakan oleh DBMS, seperti definisi dan manipulasi data, dan kontrol konkurensi dan pemulihan, daripada harus menyediakan fungsi-fungsi ini sendiri.
  • Integritas data yang ditingkatkan. Integritas basis data mengacu pada validitas dan konsistensi data yang disimpan. Integritas biasanya dinyatakan dalam constraint, yaitu aturan konsistensi yang tidak diizinkan dilanggar oleh basis data. Constraint dapat berlaku untuk item data dalam satu rekaman atau untuk hubungan antara catatan.
  • Keamanan yang ditingkatkan. Keamanan basis data adalah perlindungan basis data dari pengguna yang tidak sah. Tanpa langkah-langkah keamanan yang sesuai, integrasi membuat data lebih rentan daripada sistem berbasis file. Namun, integrasi memungkinkan DBA untuk menentukan keamanan basis data, dan DBMS untuk menegakkannya. Keamanan ini dapat berupa nama pengguna dan kata sandi untuk mengidentifikasi orang yang berwenang untuk menggunakan database. Akses yang diizinkan oleh pengguna yang berwenang pada data dapat dibatasi oleh jenis operasi (pengambilan, masukkan, perbarui, hapus).
  • Penegakan standar. Sekali lagi, integrasi memungkinkan DBA untuk menentukan dan DBMS untuk menegakkan standar yang diperlukan. Ini dapat mencakup standar departemen, organisasi, nasional, atau internasional untuk hal-hal seperti format data untuk memfasilitasi pertukaran data antara sistem, konvensi penamaan, standar dokumentasi, prosedur pembaruan, dan aturan akses.
  • Skala ekonomi. Menggabungkan semua data operasional organisasi ke dalam satu basis data dan membuat satu set aplikasi yang berfungsi pada sumber data yang satu ini dapat menghasilkan penghematan biaya.
  • Keseimbangan persyaratan yang saling bertentangan. Setiap pengguna atau departemen memiliki kebutuhan yang mungkin bertentangan dengan kebutuhan pengguna lain. Karena database berada di bawah kendali DBA, DBA dapat membuat keputusan tentang desain dan penggunaan operasional dari database yang memberikan penggunaan sumber daya terbaik untuk organisasi secara keseluruhan. Keputusan ini akan memberikan kinerja optimal untuk aplikasi penting, mungkin dengan mengorbankan yang kurang kritis.
  • Peningkatan aksesibilitas dan responsibilitas data. Sekali lagi, sebagai hasil dari integrasi, data yang melintasi batas-batas departemen langsung dapat diakses oleh pengguna akhir. Ini menyediakan sistem dengan fungsionalitas yang jauh lebih potensial yang dapat, misalnya, digunakan untuk memberikan layanan yang lebih baik kepada pengguna akhir atau klien organisasi. Banyak DBMS menyediakan bahasa query atau penulis laporan yang memungkinkan pengguna untuk mengajukan pertanyaan ad hoc dan untuk mendapatkan informasi yang diperlukan segera di terminal mereka, tanpa memerlukan programmer untuk menulis beberapa perangkat lunak untuk mengekstrak informasi ini dari database.
  • Meningkatkan produktivitas. Seperti disebutkan sebelumnya, DBMS menyediakan banyak fungsi standar yang biasanya harus ditulis oleh programmer dalam aplikasi berbasis file. Pada tingkat dasar, DBMS menyediakan semua rutinitas penanganan file tingkat rendah yang khas dalam program aplikasi. Ketentuan fungsi-fungsi ini memungkinkan programmer untuk berkonsentrasi pada fungsionalitas spesifik yang diperlukan oleh pengguna tanpa harus khawatir tentang detail implementasi tingkat rendah. Banyak DBMS juga menyediakan lingkungan generasi keempat, yang terdiri dari alat untuk menyederhanakan pengembangan aplikasi database. Ini menghasilkan peningkatan produktivitas programmer dan mengurangi waktu pengembangan
  • Perbaikan pemeliharaan melalui independensi data. Dalam sistem berbasis file, deskripsi data dan logika untuk mengakses data dibangun ke dalam setiap program aplikasi, membuat program bergantung pada data. Perubahan pada struktur data — seperti membuat alamat 41 karakter alih-alih 40 karakter, atau perubahan cara data disimpan dalam disk — dapat memerlukan perubahan besar pada program yang dipengaruhi oleh perubahan. Sebaliknya, DBMS memisahkan deskripsi data dari aplikasi, sehingga membuat aplikasi kebal terhadap perubahan dalam deskripsi data. Ini dikenal sebagai independensi data. Ketentuan independensi data menyederhanakan pemeliharaan aplikasi basis data.
  • Peningkatan konkurensi. Dalam beberapa sistem berbasis file, jika dua atau lebih pengguna diizinkan untuk mengakses file yang sama secara bersamaan, ada kemungkinan bahwa akses tersebut akan saling mengganggu, yang mengakibatkan hilangnya informasi atau bahkan hilangnya integritas. Banyak DBMS mengelola akses database bersamaan dan memastikan bahwa masalah seperti itu tidak dapat terjadi.
  • Layanan cadangan dan pemulihan yang ditingkatkan. Banyak sistem berbasis file menempatkan tanggung jawab pada pengguna untuk memberikan langkah-langkah untuk melindungi data dari kegagalan sistem komputer atau program aplikasi. Ini mungkin melibatkan melakukan pencadangan data setiap malam. Jika terjadi kegagalan pada hari berikutnya, cadangan dipulihkan dan pekerjaan yang telah terjadi sejak cadangan ini hilang dan harus dimasukkan kembali. Sebaliknya, DBMS modern menyediakan fasilitas untuk meminimalkan jumlah pemrosesan yang hilang setelah kegagalan.

2. Kekurangan

Kekurangan dari database yaitu:

  • Kompleksitas. Penyediaan fungsi yang kami harapkan dari DBMS yang baik menjadikan DBMS perangkat lunak yang sangat kompleks. Perancang dan pengembang basis data, administrator data dan basis data, dan pengguna akhir harus memahami fungsi ini untuk memanfaatkannya sepenuhnya. Kegagalan untuk memahami sistem dapat menyebabkan keputusan desain yang buruk, yang dapat memiliki konsekuensi serius bagi organisasi.
  • Ukuran. Kompleksitas dan luasnya fungsi membuat DBMS menjadi perangkat lunak yang sangat besar, menempati banyak megabit ruang disk dan membutuhkan sejumlah besar memori agar dapat berjalan secara efisien.
  • Biaya DBMS. Biaya DBMS bervariasi secara signifikan, tergantung pada lingkungan dan fungsi yang disediakan. Ada juga biaya pemeliharaan tahunan berulang, yang biasanya merupakan persentase dari harga jual.
  • Biaya perangkat keras tambahan. Persyaratan penyimpanan disk untuk DBMS dan database mungkin mengharuskan pembelian ruang penyimpanan tambahan. Selain itu, untuk mencapai kinerja yang diperlukan, mungkin perlu membeli mesin yang lebih besar, bahkan mungkin mesin yang didedikasikan untuk menjalankan DBMS. Pengadaan perangkat keras tambahan menghasilkan pengeluaran lebih lanjut.
  • Biaya konversi. Dalam beberapa situasi, biaya DBMS dan perangkat keras tambahan mungkin relatif kecil dibandingkan dengan biaya konversi aplikasi yang ada untuk dijalankan pada DBMS dan perangkat keras baru. Biaya ini juga termasuk biaya staf pelatihan untuk menggunakan sistem baru ini, dan mungkin mempekerjakan staf spesialis untuk membantu dengan konversi dan menjalankan sistem. Biaya ini adalah salah satu alasan utama mengapa beberapa organisasi merasa terikat dengan sistem mereka saat ini dan tidak dapat beralih ke teknologi basis data yang lebih modern. Istilah sistem warisan kadang-kadang digunakan untuk merujuk pada sistem yang lebih tua, dan biasanya lebih rendah.
  • Performa. Biasanya, sistem berbasis file ditulis untuk aplikasi tertentu, seperti faktur. Alhasil, kinerja umumnya sangat baik. Namun, DBMS ditulis untuk menjadi lebih umum, untuk memenuhi banyak aplikasi, bukan hanya satu. Hasilnya adalah beberapa aplikasi mungkin tidak berjalan secepat dulu.
  • Dampak kegagalan yang lebih besar. Sentralisasi sumber daya meningkatkan kerentanan sistem. Karena semua pengguna dan aplikasi bergantung pada ketersediaan DBMS, kegagalan komponen tertentu dapat menghentikan operasi.

The Three-Level ANSI-SPARC Architecture

Komite Standar dan Perencanaan Standar Nasional Amerika (ANSI), atau ANSI / X3 / SPARC, menghasilkan terminologi dan arsitektur yang sama pada tahun 1975 (ANSI, 1975). Arsitektur ANSI-SPARC mengakui perlunya pendekatan tiga tingkat dengan katalog sistem. Arsitektur ini mencerminkan kesesuaian Panduan organisasi pengguna IBM dan Berbagi beberapa tahun sebelumnya, dan terkonsentrasi pada kebutuhan untuk lapisan independen implementasi untuk mengisolasi program dari masalah representasi yang mendasari (Panduan / Share, 1970). Meskipun model ANSI-SPARC tidak menjadi standar, ia masih menyediakan dasar untuk memahami beberapa fungsi dari suatu DBMS.

Arsitektur tersebut adalah identifikasi tiga tingkat abstraksi, yaitu, tiga tingkat yang berbeda di mana item data dapat dijelaskan. Tingkat membentuk arsitektur tiga tingkat yang terdiri dari eksternal, konseptual, dan tingkat internal, seperti yang digambarkan pada Gambar 1.11. user dapat melihat data disebut tingkat eksternal. Cara DBMS dan sistem operasi melihat data adalah tingkat internal, di mana data sebenarnya disimpan menggunakan struktur data dan organisasi file yang dijelaskan dalam Tingkat konseptual menyediakan pemetaan dan independensi yang diinginkan antara tingkat eksternal dan tingkat internal.

Gambar 1.11 Arsitektur Database ANSI SPARC (Source: Connoly & Begg (2015))

Tujuan dari arsitektur tiga tingkat adalah untuk memisahkan pandangan setiap pengguna dari database. Beberapa alasan mengapa pemisahan ini diinginkan adalah:

  • Setiap user harus dapat mengakses data yang sama, tetapi memiliki pandangan disesuaikan berbeda dari data. Setiap pengguna harus dapat mengubah cara ia memandang data, dan perubahan ini tidak akan mempengaruhi user lainnya.
  • User tidak harus berurusan langsung dengan rincian penyimpanan database fisik, seperti pengindeksan atau hashing. Dengan kata lain, interaksi user dengan database harus tidak bergantung pada media penyimpanan.
  • DBA harus dapat mengubah struktur penyimpanan database tanpa memengaruhi pandangan user.
  • Struktur internal database harus tidak terpengaruh oleh perubahan pada aspek fisik penyimpanan, seperti peralihan ke perangkat penyimpanan baru.
  • DBA harus dapat mengubah struktur konseptual dari database tanpa mempengaruhi semua user.

Tujuan utama untuk arsitektur tiga tingkat adalah untuk memberikan kemandirian data, yang berarti bahwa tingkat atas tidak terpengaruh oleh perubahan ke tingkat yang lebih rendah. Ada dua jenis independensi data: logis dan fisik. Independensi data logis adalah kekebalan skema eksternal terhadap perubahan dalam skema konseptual, sedangkan Independensi data fisik adalah kekebalan skema konseptual terhadap perubahan dalam skema internal. Gambar 1.12 menggambarkan di mana setiap jenis independensi data terjadi dalam kaitannya dengan arsitektur tiga tingkat.

Gambar 1.12. Kemandirian data dan arsitektur tiga tingkat aNSI-SparC. (Source: Connoly & Begg (2015)

Data Models and Conceptual Modeling

Data Model adalah Kumpulan konsep terpadu untuk menggambarkan dan memanipulasi data, hubungan antar data, dan batasan pada data dalam suatu organisasi. Model adalah representasi dari objek dan peristiwa dunia nyata, dan asosiasi mereka. Ini adalah abstraksi yang berkonsentrasi pada aspek-aspek esensial yang melekat pada suatu organisasi dan mengabaikan sifat-sifat yang tidak disengaja. Model data mewakili organisasi itu sendiri.

Ini harus memberikan konsep dasar dan notasi yang akan memungkinkan perancang basis data dan pengguna akhir untuk berkomunikasi secara tidak ambigu dan akurat pemahaman mereka tentang data organisasi. Model data dapat dianggap terdiri dari tiga komponen yaitu:

  1. Bagian struktural, yang terdiri dari seperangkat aturan sesuai dengan database mana yang akan dibangun.
  2. Bagian manipulatif, mendefinisikan jenis operasi yang diizinkan pada data (ini termasuk operasi yang digunakan untuk memperbarui atau mengambil data dari database dan untuk mengubah struktur database)
  3. satu set batasan integritas, yang memastikan bahwa data akurat.

Tujuan dari model data adalah untuk merepresentasikan data dan untuk membuat data lebih mudah dimengerti. Jika ini dilakukan, maka dapat dengan mudah digunakan untuk mendesain database:

  1. Model data eksternal, untuk mewakili pandangan setiap pengguna dari organisasi, kadang-kadang disebut Universe of Discourse (UoD).
  2. Model data konseptual, untuk mewakili pandangan logis (atau komunitas) yang merupakan DBMS-independen.
  3. Model data internal, untuk merepresentasikan skema konseptual sedemikian rupa sehingga dapat dipahami oleh DBMS.

Ada banyak model data yang diusulkan dalam literatur. Mereka jatuh ke dalam tiga kategori besar: berbasis-objek, record based, dan model data fisik. Dua yang pertama digunakan untuk menggambarkan data pada tingkat konseptual dan eksternal, yang ketiga digunakan untuk menggambarkan data pada tingkat internal.

Object-Based Data Models (Data Model Berbasis Objek)

Model data berbasis objek menggunakan konsep-konsep seperti entitas, atribut, dan hubungan. Entitas adalah objek yang berbeda (seseorang, tempat, hal, konsep, peristiwa) dalam organisasi yang akan diwakili dalam database. Atribut adalah properti yang menggambarkan beberapa aspek objek yang ingin kita rekam, dan hubungan adalah hubungan antar entitas. Beberapa jenis model data berbasis objek yang lebih umum adalah :

  • Entity Relationship (ER)
  • Semantic
  • Functional
  • Object-Oriented

Model ER telah muncul sebagai salah satu teknik utama untuk desain database dan membentuk dasar untuk metodologi desain database yang digunakan dalam buku ini. Model data berorientasi objek memperluas definisi entitas untuk memasukkan tidak hanya atribut yang menggambarkan keadaan objek tetapi juga tindakan yang terkait dengan objek, yaitu, perilakunya. Jadi objek dikatakan untuk merangkum keadaan dan perilakunya.

Conceptual Modeling

Dari pemeriksaan arsitektur tiga tingkat, kita melihat bahwa skema konseptual adalah jantung dari database. Ini mendukung semua pandangan eksternal dan, pada gilirannya, didukung oleh skema internal. Namun, skema internal hanyalah implementasi fisik dari skema konseptual. Skema konseptual harus merupakan representasi lengkap dan akurat dari persyaratan data perusahaan.

Pemodelan konseptual atau perancangan basis data konseptual adalah proses membangun model penggunaan informasi dalam perusahaan yang tidak tergantung pada rincian implementasi, seperti target DBMS, program aplikasi, bahasa pemrograman, atau pertimbangan fisik lainnya. Model ini disebut model data konseptual. Model konseptual juga disebut sebagai "model logis" dalam literatur lainnya. Namun, dalam buku ini kami membuat perbedaan antara model data konseptual dan logis. Model konseptual adalah independen dari semua rincian implementasi, sedangkan model logis mengasumsikan pengetahuan tentang model data yang mendasari target DBMS.

Simpulan

Kesimpulan dari materi ini adalah:

  1. Database adalah kerangka kerja yang mendasari sistem informasi, secara mendasar mengubah banyak cara organisasi beroperasi.
  2. DBMS adalah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke database. Program aplikasi adalah program komputer yang berinteraksi dengan Database dengan mengeluarkan permintaan yang sesuai (biasanya pernyataan SQL) ke DBMS. Sistem basis data yang lebih inklusif digunakan untuk menentukan kumpulan program aplikasi yang berinteraksi dengan database bersama dengan DBMS dan database itu sendiri.
  3. Semua akses ke database adalah melalui DBMS. DBMS menyediakan bahasa Definisi Data (DDL), yang memungkinkan pengguna untuk mendefinisikan database, dan bahasa Manipulasi Data (DML), yang memungkinkan pengguna untuk memasukkan, memperbarui, menghapus, dan mengambil data dari database.
  4. Arsitektur database ANSI-SPARC menggunakan tiga level abstraksi: eksternal, konseptual, dan internal. tingkat eksternal terdiri dari pandangan pengguna tentang database. tingkat konseptual adalah pandangan komunitas dari database: ia menetapkan konten informasi dari seluruh basis data, terlepas dari pertimbangan penyimpanan. tingkat konseptual mewakili semua entitas, atribut mereka, dan hubungan mereka, serta batasan pada data, dan informasi keamanan dan integritas. tingkat internal adalah tampilan komputer dari database: ia menentukan bagaimana data direpresentasikan, bagaimana catatan diurutkan, indeks dan pointer apa yang ada, dan sebagainya.
  5. Model data adalah kumpulan konsep yang dapat digunakan untuk mendeskripsikan sekumpulan data, operasi untuk memanipulasi data, dan satu set batasan integritas untuk data. Model data dibagi ke dalam tiga kategori besar: model data berbasis objek, model data berbasis-rekaman, dan model data fisik. Dua yang pertama digunakan untuk menggambarkan data pada tingkat konseptual dan eksternal; yang terakhir digunakan untuk menggambarkan data pada tingkat internal.
  6. Pemodelan konseptual adalah proses membangun arsitektur terperinci untuk database yang tidak bergantung pada detail implementasi, seperti target DBMS, program aplikasi, bahasa pemrograman, atau pertimbangan fisik lainnya

Source

  • Connolly, T., & Begg, C. (2015). Database System A Practical Approach to Design, Implemetation, and Management 6th Edition. Pearson