Pengantar Basis Data
Agenda • Pengertian Dasar • Sejarah DBMS • Komponen DBMS • Tujuan DBMS • Model Data • Desain Basis Data
Pengertian Basis Data • Basis data adalah sekumpulan data yang saling berhubungan. • Karakteristik utama basis data adalah : • Merepresentasikan aspek dari dunia nyata, • Terstruktur dengan baik, • Dapat merepresentasikan kondisi saat ini (current state) • Ada penggunanya dan ada aplikasi, • Disimpan dalam memori komputer secara permanen, dan • Dapat diakses dan dimanipulasi menggunakan DBMS
Pengertian basis data Dunia nyata Fakta tentang dunia nyata dan behaviour-nya Direpresentasikan dalam contents dan operasi dari basis data facts about the world in a database some more rather long facts about the world in the databse more facts facts about the world in a database some more rather long facts about the world in the databse more facts facts about the world in a database some more rather long facts about the world in the databse more facts facts about the world in a database some more rather long facts about the world in the databse more facts facts about the world in a database some more rather long facts about the world in the databse more facts facts about the world in a database some more rather long facts about the world in the databse more facts Basis data Pengguna facts about the world in a database more facts facts about the world in a database more facts facts about the world in a database more facts facts about the world in a database facts about the world in a database more facts facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database facts about the world in a database
Contoh Basis Data
DBMS • Basis Data : Sekumpulan data yang sangat besar yang saling berhubungan. • Memodelkan real-world enterprise, terdiri dari : • Entiti (contoh mahasiswa, matakuliah, dosen) • Relationships (contoh dosenmengajarmahasiswa) • Database Management System (DBMS)adalah sebuah sistem perangkat lunak untuk menyimpan, mengatur dan mengakses ke basis data.
Database Management Systems “A collection of interrelated data and a set of programs to access those data” (Silberschatz, Korth and Sudarshan. Database System Concepts) “A software package designed to store and manage databases” (Ramakrishnan and Gehrke. Database Management Systems)
DBMS • Adalah sekumpulan program yang mampu: • Mendefinisikan struktur, • Membangun sekumpulan data, • Memanipulasi data (query, update), • Menjamin konsistensi, • Menjaga dari misuse, • Memulihkan dari kegagalan dan • Menjamin konkurensi dari sebuah basis data.
Sejarah DBMS • 1960s Navigational DBMS • Karakteristik basis data : fakta dari suatu objek yang terhubung ke objek lain • Teknik Navigasi nya menggunakan "pointers" dan "paths" untuk menavigasi record data (disebut dengan "nodes"). • Tempat penyimpanannya menggunakan magnetic tapes • Tapes hanya untuk akses sekuential • Inputnya menggunakan punched cards 9
Sejarah DBMS • 1970s Relational DBMS • Model relasional untuk DBMS adalah model basis data berbasis first-order predicate logic • Tujuannya adalah sebagai metode dalam menspesifikasikan data dan queri • Hard disks untuk mengakses data • Menggunakan model data Network dan hierarchical • Transaction processing performansi tinggi (untuk era tersebut)
Sejarah DBMS • End 1970s SQL DBMS • IBM mulai prototype berbasis Codd's concepts sebagai System R di awal 1970 • Menggunakan SQL untuk mengakses data • System R SQL/DS (IBM) DB2 (IBM 1978) • INGRES Sybase , Informix, PostgreSQL • Sybase SQL Server • System R Oracle (1978) • Penelitian prototype relasional dalam dunia commercial • SQL menjadi standard industri • Parallel dan distributed database systems
Sejarah DBMS • Now : • Object-oriented database systems • Large decision support dan data-mining applications • Large multi-terabyte data warehouses • Emergence of Web commerce • XML and XQuery standards • Automated database administration (catatan: sampai sekarang RDBMS masih tetap digunakan)
Pengguna/ Programmer DBA Sistem Basis Data Program Aplikasi/ Query Interaktif Deskripsi Basis Data DBMS Compiler DDL Query Processor Akses Data Catalog Basis Data Gambaran sistem basis data sederhana
14 Komponen Sistem Basis Data • Perangkat Keras / Hardware • Sistem Operasi • Database (Data File) • Database Management System / DBMS • User • Aplikasi lain
15 Mengapa Basis Data ?? • Redudansi Data dan ketidak konsistenan data • Format file yang beragam, duplikasi informasi pada file yang berbeda • Kesulitan dalam mengakses data • Spesifikasi baru program baru • Isolasi Data — beragam file dan format • Masalah Integritas • Constraint Integritas menjadi bagian dari kode program • Sulit untuk menambahkan constraint baru atau merubah yang sudah ada
16 Mengapa Basis Data ?? • Atomicity of updates • Failures dapatmenyebabkanbasisdatatidakkonsisten • Contoh : proses transfer di bank dari 1 rekeningkerekening lain, harusterselesaikanatautidaksamasekali • Akseskonkurendaribeberapa user • Akseskonkuren performansi • Akseskonkuren yang tidakterkontrol tidakkonsisten • Contoh : 2 orangmelihatsaldodanmerubah data saldodalamwaktubersamaan • Masalahkeamanan • Solusi Sistem Basis Data
Keuntungan Penggunaan DBMS • Data independence DBMS memungkinkan pemisahan pengelolaan data dari program aplikasi • Efficient data access DBMS menyediakan variasi teknik yang handal dalam penyimpanan dan pengambilan data • Data integrity and security DBMS memungkinkan penjagaan integrity contraint dan access control
Keuntungan Penggunaan DBMS (lan.) • Data administration • Concurrent access and crash recovery DBMS dilengkapi dengan penjadwalan operasi konkuren dan melindungi user dari efek kegagalan sistem • Reduced application development time DBMS mendukung fungsi-fungsi penting yang umum pada aplikasi dalam penyimpanan data
19 Tujuan Basis Data • Speed • Cepat dalam menyimpan, memanipulasi dan mengambil data • Space • Efisiensi tempat penyimpanan • Accuracy • Rule (contoh : tipe data) • Availability • Mengikuti perkembangan data dan mengatur distribusi data (contoh data nasabah Bank)
20 Tujuan Basis Data • Completeness • Antisipasi perubahan struktur data • Security • Access Right determination • Shareability • Dukungan Multi User untuk kekonsistenan data dan penanggulangan deadlock
Levels of Abstraction • Physical level : menunjukkan bagaimana sebuah record data disimpan • Logical level : menunjukkan data yang tersimpan dalam basis data, dan relasi antar data. type customer = recordname : string;street : string;city : integer;end; • View level : program aplikasi menyembunyikan detil tipe data. View juga dapat menyembunyikan informasi tertentu (mis: salary) untuk kepentingan keamanan
View of Data Arsitektur sistem basis data
Contoh : Basis Data Universitas • Skema Konseptual : • Mhs (nim : string, nama : string, ip : real) • Kuliah (MK : string, namaMK : string, sks : integer) • Skema Physical : • Relasi disimpan dalam file tidak terurut. • Index pada kolom pertama Mhs. • Skema Eksternal (View):
Data Models • Kumpulan tools konseptual dalam menggambarkan data, data relationships, data semantics, data constraints • Konsep data model : • ER Model • Relational Model • Model lain : • Network model • Hierarchical model • Object-oriented model
Entity-Relationship Model • Entity (entitas): “sesuatu” atau “objek” di dunia nyata yang dapat dibedakan dari objek lain • Entitas digambarkan dalam basis data sebagai sekumpulan atribut (attribute) Contoh: customers (cust_name, address, dll) accounts(account_number, balance, dll) • Relationship (relasi): hubungan antar entitas
Entity-Relationship Model (lan.) • Skema basis data dapat dimodelkan dengan diagram ER • Diagram ER dibangun dari komponen berikut: • Entitas -> segi empat • Atribut -> elips • Relasi -> belah ketupat
Contoh diagram ER
Relational Model • Menggunakan sekumpulan tabel yang menggambarkan data dan relasi antar data • Setiap tabel memiliki banyak kolom, dan setiap kolom memiliki nama yang unik
Contoh relational model
Database Language • Sistem basis data menyediakan data definition language (DDL) untuk menspesifikasi skema basis data, dan data manipulation language (DML) untuk mengekspresikan query basis data
DDL Contoh: create tableaccount (account-numberchar(10),balanceinteger) • Kompiler DDL men-generate table-table yang tersimpan dalam basis data pada data dictionary • Data dictionary berisi metadata (data tentang data) • Database schema • Data storage and definition language • Bahasa yang digunakan dalam menspesifikasi struktur penyimpanan dan metode akses pada sistem basis data
DML • Bahasa yang digunakan untuk pengaksesan dan manipulasi data • Disebut juga query language contoh: selectcustomer.customer-name fromcustomerwherecustomer.customer-id = ‘192-83-7465’ • Terdapat dua kelas: • Procedural – user menentukan data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut • Nonprocedural – user menentukan data apa yang dibutuhkan namun tanpa menyebutkan bagaimana cara mendapatkan data tersebut • SQL adalah query language yang paling banyak digunakan
SQL • SQL: bahasa non-procedural • Contoh : Cari nama customer dengan customer-id 192-83-7465select customer.customer_namefrom customerwherecustomer.customer_id = ‘192-83-7465’ • Contoh : cari saldo dari customer-id 192-83-7465select account.balance from depositor, account where depositor.customer_id = ‘192-83-7465’ and depositor.account_number = account.account_number
Arsitektur basis Data • Centralized • Client-server • Parallel (multi-processor) • Distributed
User Basis Data Users dibedakan berdasar cara berinteraksi dengan sistem • Programmer – berinteraksi dengan sistem via DML • Sophisticated users – berinteraksi dalam bahasa query • Specialized User – menulis aplikasi basis data khusus yang tidak sesuai dengan framework pemrosesan data tradisional • Naïve users • Examples, people accessing database over the web, bank tellers, clerical staff
Administrator Basis Data • Mengkoordinasi semua aktifitas sistem basis data. • Tugas administrator basis data : • Definisi skema basis data • Struktur Storage dan definisi metode akses • Modifikasi skema dan fisik basis data • Hak akses user dalam mengakses basis data • Menspesifikasikan constraint integritas • Monitoring performansi dan menangani jika ada perubahan requirement
Struktur Sistem