Sistem Basis Data

advertisement
Konsep Dasar Basis Data
Dr.Budi Setiyono, MT
Apa itu …

Basis


gudang/markas/tempat berkumpul/tempat bersarang
Data
• Fakta mengenai “dunia” (sesuatu ataupun kejadian/event)
• Pengetahuan tentang fakta yang direkam dan mempunyai arti
implisit

Basis Data
• Himpunan kelompok data (arsip) yang saling berhubungan yang
diorganisasi sedemikian rupa agar dapat dimanfaatkan secara cepat
dan mudah.
• Kumpulan data yang saling berhubungan yang disimpan secara
bersama sedemikian rupa tanpa pengulangan yang tidak perlu.
• Computerized recording system
Apa itu …

DBMS/Data Base Management System

Sekumpulan program untuk Pengelolaan Basis Data
(Database Management System / DBMS), antara lain untuk
• Mendefinisikan Basis Data : type data, strukture,
constraints
• Membangun DB: Menyimpan data
• Manipulasi DB : query, update, report
• Sharing sebuah DB : mengijinkan multiple user dapat
mengakses data secara bersamaan
Apa itu …

Contoh s/w DBMS :






Oracle
SQL Server
MS Access
MySQL
PostGress
DB2, dll
Apa itu …
Sistem :
sebuah tatanan yang terdiri atas sejumlah komponen fungsional
(dengan tugas/fungsi khusus) yang saling berhubungan dan secara
bersama-sama bertujuan untuk memenuhi suatu proses/pekerjaan
tertentu
Sistem basis data :
perpaduan antara basis data dan DBMS, terdiri dari komponen –
komponen sbb :
•Hardware
•Software
•Basis data
•DBMS
•User
•Aplikasi lain
5
TUJUAN BASIS DATA
 Mengatur data/mengorganisasikan data
agar diperoleh kemudahan, ketepatan,
dan kecepatan dalam pengambilan
kembali
6
Aplikasi Basis Data
Perbankan : meliputi semua transaksi
 Airlines: reservasi, penjadwalan (schedules)
 Universitas: registrasi
 Penjualan : konsumen, produk, persediaan
 Manufacturing: produksi, inventori, order,
supply
 Human resources: data pegawai, gaji, pajak
 hampir semua aspek kehidupan terkait
dengan basis data

Lingkungan Sistem Basis Data
Users/Programmers
DATABASE
SYSTEM
Application Programs/Queries
DBMS
SOFTWARE
Software to Process
Queries/Programs
Software to Access
Stored Data
Stored Database
Definition
(Meta-Data)
Stored
Database
Pola dalam penyimpanan data








Sistem pemrosesan berkas tradisional.
tiap aplikasi memiliki berkas sendiri sendiri
Dependensi data-program

Perubahan data membuat sejumlah program perlu
dimodifikasi
Duplikasi data

Data yang sama muncul pada beberapa berkas
Keterbatasan berbagi data (Isolasi data - banyak format file)
Waktu pengembangan lama

Perlu membuat program untuk mengakses data
Problem integritas (kekonsistensian)

Batasan integritas (misalnya saldo > 0) menjadi bagian dari
program
Keamanan data tidak terjamin
Sistem Pemrosesan Berkas Tradisional


Bentuk pemrosesan dasar
yang lahir sebelum
database muncul
Berkecunderungan tidak
berbagi berkas (Setiap
aplikasi memiliki berkas
tersendiri)
Aplikasi
Personalia
Personalia
Aplikasi
Pelatihan
Pelatihan
Sistem Pemrosesan Berkas Tradisional






Dependensi data-program
 Perubahan data membuat sejumlah program perlu dimodifikasi
Duplikasi data
 Data yang sama muncul pada beberapa berkas
Keterbatasan berbagi data (Isolasi data - banyak format file)
Waktu pengembangan lama
 Perlu membuat program untuk mengakses data
Problem integritas (kekonsistensian)
 Kekakangan integritas (misalnya saldo >) menjadi bagian dari
program
Keamanan data tidak terjamin
Pendekatan Sistem Database









Independensi program-data
Meminimalkan redundansi data
Meningkatkan konsitensi data
Meningkatkan kemampuan berbagai data
Meningkatkan produktivitas pengembangan aplikasi
Meningkatkan pencapaian standarisasi
Meningkatkan kualitas data
Meningkatkan tanggapan dan kemudahan akses terhadap
data
Mengurangi pemeliharaan program
1-5
1-13
Define UNIVERSITY database
Structure of the record
STUDENT ( Name , Number, Class, Major)
COURSE ( Name , Number, Credit, Dept.)
Data type of data element
Name: a string of characters
Number: integer
Grade:
{A,B,C,D,F,I}
…..
Constraints
The sections that students take must be taught by some instructors.
1-5a
1-14
Construct UNIVERSITY database
Store data on storage medium
˙store data for each student, course, section, grade repot, prerequisite
˙records in various files may be related to one another
Manipulate UNIVERSITY database
Query:
Retrieve the transcript ( a list of all courses and grades) of Smith.
Update:
Create a new section for the database course for this semester.
1-5b
1-15
Independensi Program-Data


Struktur data pada database terpisah dengan program
Perubahan struktur data tidak membuat program harus
dimodifikasi
Program
Program
Struktur Data
Database
Kode
Paradigma lama
Kode
Pendekatan database
Redundansi Data

Redundansi data dapat dikurangi dengan cara data yang
sama untuk aplikasi yang berbeda dijadikan satu
Data Pegawai
Bagian penggajian
Data Pegawai
Data Pegawai
Contoh redundansi data
Bagian pelatihan
Mengatasi redundansi data
Redundansi Data
 Syarat basis data yang baik :
-Tidak adanya redundansi dan inkonsistensi data
18
Konsistensi Data


Pengurangan redundansi data berimplikasi pada
peningkatan konsistensi data (mengurangi
kemungkinan untuk tidak konsisten)
Contoh: Dua biro perjalan tidak terhubung
ke database milik maskapai penerbangan. Apa
yang terjadi kalau salah satu biro sudah
menjual tempat duduk nomor 4 padahal biro
yang lain tidak tahu?
Berbagi Data
Data dapat diakases oleh banyak
pemakai dengan tetap
memperhatikan otorisasi
 Istilah multiuser menyatakan bahwa
sebuah data bisa diakses oleh banyak
orang dalam waktu yang bersamaan

Tanggapan dan Akses


Sistem database memberikan tanggapan dan akses yang
cepat sekalipun pemakai adalah orang yang tidak tahu
tentang pemrograman
Dengan menggunakan perintah dalam level SQL
(Structured Query Language) yang mudah untuk dipahami
oleh orang awam, akses terhadap database mudah sekali
dilakukan
Produktivitas Pengembangan Aplikasi


Kemudahan dalam mengakses database
membuat waktu untuk pengembangan
aplikasi dapat dipersingkat
Sistem database menyediakan banyak tool
yang berguna untuk pembuatan aplikasi
Report generator
 Form generator

Standarisasi


Standarisasi seperti nama data, panjang data, kemungkinan
nilainya, dan bahkan prosedur untuk mengaksesnya dapat
diatur oleh yang berwewenang (DBA)
Contoh:


Nama pegawai selalui bertipe Aplhanumeric dengan panjang
maksimal 35 karakter.
Semua pemrogram menggunakan standar tersebut
Kualitas Data



Kualitas data sangat berpengaruh terhadap pemerolehan
informasi yang berkualitas
Adanya kekangan (constraint) dalam database membuat
pelanggaran terhadap isi data oleh pemakai tidak akan
ditoleransi oleh sistem dengan sendirinya
Kekangan adalah suatu aturan yang diterapkan pada data
dan tidak bisa dilanggar oleh pemakai. Contoh: Agama
hanya bisa diisi dengan I, K, H, B, P. Sistem database akan
menolak kalau huruf X dicoba untuk dimasukkan
Pemeliharaan Program


Perubahan terhadap struktur data dengan berbagai alasan
seringkali dilakukan selama tahapan pemeliharaan;
misalnya data baru ditambahkan atau panjang suatu data
ditambah
Perubahan seperti ini tidak selalu membuat programprogram yang telah jadi harus ikut diubah
Abstraksi Data




Physical level mendiskripsikan bagaimana record-record disimpan.
Logical level: mendiskripsikan data yang disimpan dalam data base dan
keterkaitan diantaran data-data tersebut.
Misal :
type customer = record
name : string;
street : string;
city : integer;
end;
View level: program aplikasi yang menyembunyikan detail dari tipe data (
mungkin juga informasi) untuk tujuan kemanan.
View Data
Instance dan schema
 Menyerupai
tipe dan variable dalam bahasa pemrograman
 Schema – struktur logic dari database
 Misal  database terdiri dari informasi mengenai himpunan
customers dan accounts serta keterkaitannya
 Physical schema: desain database pada level physical
 Logical schema: desain database pada level logical
 Instance – isi aktual dari data base pada suatu waktu
 dapat dianalogikan nilai dari suatu variable
Physical Data Independent



Kemampuna untuk memodifikasi skema physical tanpa
merubah logical schema
Aplikasi tergantung pada skema logic
Interface antara berbagai level dan komponen harus
didefinisikan dengan baik sehingga perubahan pada
sebagaian tidak akan mempengaruhi bagian yang lain.
User Data Base
User dibedakan berdasarkan cara berinteraksi dengan sistem
 Application programmers – pemakai berinteraksi dengan system
melalui Data Manipulation Language (DML)
 Sophisticated users – Pemakai berinteraksi dengan request
database menggunakan SQL
 Specialized users – Pemakai yang menulis aplikasi basis data non
konvensional, tetapi untuk keperluan-keperluan khusus, missal
untuk aplikasi AI, Pengolahan Citra, yang mengkin mengakses basis
data dengan atau tanpa DBMS.
 Naive users – Pemakai yang berinteraksi dengan basis data
melalui pemanggilamn suatu program aplikasi

Database administrator

Orang/user yang mengkoordinasi segala aktivitas dari
DBMS  mempunyai tugas-tugas antara lain :






Mendefinisikan Skema
Mendefinisikan satruktur storage dan metode pengaksesannya
Memodifikasi skema dan organisasi physical (jika diperlukan)
Memberikan grant (wewenang) pada user dalam mengakses
databse
Memberikan spesifikasi integritas constraints
Memonitoring performance dan merespon untuk melakukan
perubahan jika diperlukan
Struktur System secara menyeluruh
When not to use a DBMS
Main costs of using a DBMS:
- High initial investment in hardware, software,training
and possible need for additional hardware.
- Overhead for providing generality, security, recovery, integrity, and
concurrency control.
- Generality that a DBMS provides for defining and processing data.
When a DBMS may be unnecessary:
- If the database and applications are simple, well defined, and not
expected to change.
- If there are stringent real-time requirements that may not be met
because of DBMS overhead.
1-13
- If access to data by multiple users
is not required.
1-33
Download