pengantar basis data

37
Pengantar Basis Data

Upload: simon-tyson

Post on 03-Jan-2016

177 views

Category:

Documents


17 download

DESCRIPTION

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, - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pengantar Basis Data

Pengantar Basis Data

Page 2: Pengantar Basis Data

Agenda

• Pengertian Dasar• Sejarah DBMS• Komponen DBMS• Tujuan DBMS• Model Data• Desain Basis Data

Page 3: Pengantar 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

Page 4: Pengantar Basis Data

Pengertian basis data

Dunia nyata

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

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

more facts

more facts

more facts

more facts

more facts

more facts

more facts

more facts

more facts

more facts

some more rather long facts about the world in the databse

some more rather long facts about the world in the databse

some more rather long facts about the world in the databse

some more rather long facts about the world in the databse

some more rather long facts about the world in the databse

some more rather long facts about the world in the databse

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

Basis data

Fakta tentang dunia nyata dan behaviour-nya

Direpresentasikan dalamcontents dan operasi dari basis data

Pengguna

Page 5: Pengantar Basis Data

Contoh Basis Data

MahasiswaNIM Nama Alamat Major

MKN_MK ID_MK Jam DeptDB Sys C302 2+1 CompSofEng C301 2+0 CompDisMat M214 4+1 Math

NilaiNIM ID_MK Nilai007007 C302 A+007007 C301 A007007 M214 A+131313 C301 B-555555 C301 C131313 C302 D555555 C302 E

Page 6: Pengantar 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 dosen mengajar mahasiswa)

• Database Management System (DBMS) adalah sebuah sistem perangkat lunak untuk menyimpan, mengatur dan mengakses ke basis data.

Page 7: Pengantar 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)

Page 8: Pengantar Basis Data

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.

Page 9: Pengantar 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

Page 10: Pengantar Basis Data

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)

Page 11: Pengantar Basis Data

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

Page 12: Pengantar Basis Data

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)

Page 13: Pengantar Basis Data

Gambaran sistem basis data sederhana

Program Aplikasi/Query Interaktif

Catalog Basis Data

Query ProcessorAksesData

DBMS

Sistem Basis Data

Pengguna/Programmer

DeskripsiBasis Data

CompilerDDL

DBA

Page 14: Pengantar Basis Data

14

Komponen Sistem Basis Data

• Perangkat Keras / Hardware• Sistem Operasi• Database (Data File)• Database Management System / DBMS • User• Aplikasi lain

Page 15: Pengantar Basis Data

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

Page 16: Pengantar Basis Data

16Mengapa Basis Data ??• Atomicity of updates

• Failures dapat menyebabkan basisdata tidak konsisten• Contoh : proses transfer di bank dari 1 rekening ke

rekening lain, harus terselesaikan atau tidak sama sekali• Akses konkuren dari beberapa user

• Akses konkuren performansi• Akses konkuren yang tidak terkontrol tidak konsisten

– Contoh : 2 orang melihat saldo dan merubah data saldo dalam waktu bersamaan

• Masalah keamanan• Solusi Sistem Basis Data

Page 17: Pengantar Basis Data

Keuntungan Penggunaan DBMS

• Data independenceDBMS memungkinkan pemisahan pengelolaan data dari program aplikasi

• Efficient data accessDBMS menyediakan variasi teknik yang handal dalam penyimpanan dan pengambilan data

• Data integrity and securityDBMS memungkinkan penjagaan integrity contraint dan access control

Page 18: Pengantar Basis Data

Keuntungan Penggunaan DBMS (lan.)

• Data administration

• Concurrent access and crash recoveryDBMS dilengkapi dengan penjadwalan operasi konkuren dan melindungi user dari efek kegagalan sistem

• Reduced application development timeDBMS mendukung fungsi-fungsi penting yang umum pada aplikasi dalam penyimpanan data

Page 19: Pengantar Basis 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)

Page 20: Pengantar Basis Data

20

Tujuan Basis Data

• Completeness– Antisipasi perubahan struktur data

• Security– Access Right determination

• Shareability– Dukungan Multi User untuk kekonsistenan data

dan penanggulangan deadlock

Page 21: Pengantar Basis Data

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

Page 22: Pengantar Basis Data

View of Data

Arsitektur sistem basis data

Page 23: Pengantar 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):

Page 24: Pengantar Basis Data

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

Page 25: Pengantar Basis Data

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

Page 26: Pengantar Basis Data

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

Page 27: Pengantar Basis Data

Contoh diagram ER

Page 28: Pengantar Basis Data

Relational Model

• Menggunakan sekumpulan tabel yang menggambarkan data dan relasi antar data

• Setiap tabel memiliki banyak kolom, dan setiap kolom memiliki nama yang unik

Page 29: Pengantar Basis Data

Contoh relational model

Page 30: Pengantar Basis Data

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

Page 31: Pengantar Basis Data

DDLContoh:

create table account ( account-numberchar(10), balance integer)

• 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

Page 32: Pengantar Basis Data

DML• Bahasa yang digunakan untuk pengaksesan dan manipulasi

data– Disebut juga query languagecontoh:select customer.customer-name from customerwhere customer.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

Page 33: Pengantar Basis Data

SQL• SQL: bahasa non-procedural

– Contoh : Cari nama customer dengan customer-id 192-83-7465select customer.customer_namefrom customerwhere customer.customer_id = ‘192-

83-7465’

– Contoh : cari saldo dari customer-id 192-83-7465select account.balancefrom depositor, accountwhere depositor.customer_id = ‘192-

83-7465’ and depositor.account_number = account.account_number

Page 34: Pengantar Basis Data

Arsitektur basis Data

• Centralized• Client-server• Parallel (multi-processor)• Distributed

Page 35: Pengantar Basis Data

User Basis DataUsers 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

Page 36: Pengantar Basis Data

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

Page 37: Pengantar Basis Data

Struktur Sistem