ch01 - Pengantar Basis Data

advertisement
Pengantar Basis Data
Warih Maharani,ST.,MT.
Dept. Teknik Informatika ITTelkom
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Outline
•
•
•
•
•
•
Pengertian Dasar
Sejarah DBMS
Komponen DBMS
Tujuan DBMS
Model Data
Desain Basis Data
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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)
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Pengertian basis data
Dunia
nyata
Fakta tentang dunia nyata dan
behaviour-nya
Direpresentasikan dalam
contents dan operasi dari basis data
Basis data
facts about the world in a database
more facts
some more rather long facts about the world in the databse
facts about the world in a database
more facts
some more rather long facts about the world in the databse
facts about the world in a database
more facts
some more rather long facts about the world in the databse
facts about the world in a database
more facts
some more rather long facts about the world in the databse
facts about the world in a database
more facts
some more rather long facts about the world in the databse
facts about the world in a database
more facts
some more rather long facts about the world in the databse
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
I N F O R M AT I C S
C S 2 3 4 3
Pengguna
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Contoh Basis Data
Mahasiswa
NIM
Nama
Alamat Major
Course
CName CourId
Hours
DB Sys C302
SofEng C301
DisMat M214
2+1
2+0
4+1
Dept
Comp
Comp
Math
I N F O R M AT I C S
C S 2 3 4 3
–
Grade
StudId
CourId
007007
007007
007007
131313
555555
131313
555555
C302
C301
M214
C301
C301
C302
C302
D E PA R T M E N T
R E L A T I O N A L
Grade
A+
A
A+
BC
D
E
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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.
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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.
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Gambaran sistem basis data sederhana
Pengguna/
Programmer
DBA
Sistem
Basis Data
Program Aplikasi/
Query Interaktif
Deskripsi
Basis Data
DBMS
Akses
Data
Compiler
DDL
Catalog
Query Processor
Basis Data
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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
I N F O R M AT I C S
10
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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)
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Sejarah DBMS
• 1990s:
–
–
–
–
–
–
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
14
Komponen Sistem Basis Data
•
•
•
•
•
•
Perangkat Keras / Hardware
Sistem Operasi
Database (Data File)
Database Management System / DBMS
User
Aplikasi lain
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
15
Mengapa Basis Data ??
• Redudansi Data dan ketidak konsistenan data
• Format file yang beragam, duplikasi informasi pada
file yangberbeda
• 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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
16
Mengapa 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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Keuntungan Penggunaan DBMS (lan.)
• Data administration
• Concurrent access and crash recovery
DBMS dilenngkapi 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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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)
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
20
Tujuan Basis Data
• Completeness
– Antisipasi perubahan struktur data
• Security
– Access Right determination
• Sharability
– Dukungan Multi User untuk kekonsistenan data
dan penanggulangan deadlock
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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 = record
name : 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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
View of Data
Arsitektur sistem basis data
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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):
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Contoh diagram ER
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Relational Model
• Menggunakan sekumpulan table yang
menggambarkan data dan relasi antar data
• Setiap table memiliki banyak kolom, dan
setiap kolom memiliki nama yang unique
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Contoh relational model
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
DDL
Contoh:
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
DML
• Bahasa yang digunakan untuk pengaksesan dan manipulasi
data
– Disebut juga query language
contoh:
select
customer.customer-name from customer
where 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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
SQL
• SQL: bahasa non-procedural
– Contoh : Cari nama customer dengan customer-id 192-83-7465
select customer.customer_name
from customer
where customer.customer_id = ‘192-83-7465’
– Contoh : cari saldo dari customer-id 192-83-7465
select
account.balance
from
depositor, account
where
depositor.customer_id = ‘192-83-7465’ and
depositor.account_number = account.account_number
• Aplikasi mengakses basisdata melalui :
– Language extensions to allow embedded SQL
– Antarmuka program aplikasi (seperti ODBC/JDBC) yang memungkinkan queri
SQL dikirim ke basisdata
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Desain Basis Data
Proses desain struktur umum basis data :
• Desain Lojik : membuat skema basis data.
menghasilkan skema relasi yang “baik”
– Business – Atribut apa yang yang ada di basis data?
– Computer Science – Skema relasi apa yang harus
ada dan atribut relasinya ?
• Desain Fisik : menentukan layout fisik basis data
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Arsitektur basis Data
•
•
•
•
Centralized
Client-server
Parallel (multi-processor)
Distributed
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
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
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Database Administrator
• Coordinates all the activities of the database system;
the database administrator has a good understanding
of the enterprise’s information resources and needs.
• Database administrator's duties include:
–
–
–
–
–
–
–
Schema definition
Storage structure and access method definition
Schema and physical organization modification
Granting user authority to access the database
Specifying integrity constraints
Acting as liaison with users
Monitoring performance and responding to changes in
requirements
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Overall System Structure
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Application Architectures
• Two-tier architecture: E.g. client programs using
ODBC/JDBC to communicate with a database
• Three-tier architecture: E.g. web-based applications, and
applications built using “middleware”
I N F O R M AT I C S
39
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Summary
• DBMS used to maintain, query large datasets.
• Benefits include recovery from system crashes,
concurrent access, quick application development,
data integrity and security.
• Levels of abstraction give data independence.
• A DBMS typically has a layered architecture.
• DBAs hold responsible jobs
and are
well-paid!
• DBMS R&D is one of the broadest,
most exciting areas in CS.
I N F O R M AT I C S
C S 2 3 4 3
–
D E PA R T M E N T
R E L A T I O N A L
–
D A T A B A S E
I T
T E L K O M
D E S I G N
Download