Basis Data I
description
Transcript of Basis Data I
1edhy sutanta-teknik informatika-fti-ista yogyakarta
Basis Data I
Pendahuluan Pengertian BD & SBD Tujuan & Keuntungan BD Kekangan dlm BD Pandangan thd BD Model Data
ER_M Semantic Model Hierarchycal Model Network Model RDBM
Schema & Subschema Studi Kasus Perancangan BD Pengembangan SBD
elista.akprind.ac.idUser-paswd: …..
elearning.akprind.ac.idenrolment key: …..
Dpt diakses…
2edhy sutanta-teknik informatika-fti-ista yogyakarta
Basis Data II
1. Pemodelan sistem2. Perancangan BD dg teknik ER_M 3. Perancangan BD dg teknik
normalisasi4. Integrasi perancangan BD u/ SIM5. Optimalisasi rancangan BD6. Bugs system7. Studi Kasus8. Paket-paket DBMS9. Proyek Akhir (Presentasi Tugas 04)
elista.akprind.ac.idUser-paswd: …..
elearning.akprind.ac.idenrolment key: …..
Dpt diakses…
6edhy sutanta-teknik informatika-fti-ista yogyakarta
Sistem bilangan oktal 0 1 2 3 4 5 6 7 10 11 12
basis ????
7edhy sutanta-teknik informatika-fti-ista yogyakarta
Sistem bilangan decimal 0 1 2 3 4 5 6 7 8 9 10 11 12
basis ????
8edhy sutanta-teknik informatika-fti-ista yogyakarta
Sistem bilangan hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12
basis ????
9edhy sutanta-teknik informatika-fti-ista yogyakarta
basis masa PDIP basis masa PKB basis tukang ojek
basis ???
11edhy sutanta-teknik informatika-fti-ista yogyakarta
SPP mahasiswa ISTA akan naik mulai semester ini SPP per bulan = 20.000.000
Data ???
12edhy sutanta-teknik informatika-fti-ista yogyakarta
Bambang Tri Hatmojo suami Mayangsari Mayangsari istri Bambang Tri Hatmojo Bambang Tri Hatmojo + Mayangsari mpy …. anak Anaknya bernama ………………… Tadi pagi Bambang Tri Hatmojo menceraikan istrinya
Data ???
15edhy sutanta-teknik informatika-fti-ista yogyakarta
James Martin (1975) A database may be defined as a collection of interrelated data stored together without harmful or unnecessary redundancy to serve one or more applications in an optimal fashion; the data are stored so that they are independent of programs with use the data; a common and controlled approach its used in adding new data and in modifying and retrieving existing data within the database
Pengertian BD
16edhy sutanta-teknik informatika-fti-ista yogyakarta
sekumpulan interrelated data disimpan scr bersama2 pd suatu media tanpa mengatap 1 sm lain a/ tdk perlu
kerangkapan data (controlled redundancy)) disimpan dg cara2 ttt mudah digunakan a/
ditampilkan dpt digunakan o/ 1/lbh program aplikasi scr
optimal disimpan tanpa tgt dg program yg menggunakan disimpan sdmkrp shg pe+, pengambilan &
modifikasi dpt dilakukan dg mudah & terkontrol
17edhy sutanta-teknik informatika-fti-ista yogyakarta
Database processing data oriented & bkn program oriented dpt digunakan o/ pemakai yg berbeda2
a/ bbrp prog aplikasi tanpa mengubah BD
data dlm BD dpt berkembang dg mudah (volume – struktur)
data yg ada dpt memenuhi kebutuhan sistem2 baru scr mudah
data dpt digunakan dg cr yg berbeda2 data redundancy minimal
18edhy sutanta-teknik informatika-fti-ista yogyakarta
File processing hny dpt digunakan o/ 1 program
aplikasi berhub dgn persoalan ttt u/ sist yg
direncanakan perkembangan data hny mgkn tjd pd
volume data hny dpt digunakan dgn 1 cr ttt saja kerangkapan data
19edhy sutanta-teknik informatika-fti-ista yogyakarta
Hirarkhi DataSistem Basis Data
Basis Data
File
Record
Data item
Byte
Bit
Agregat Data
20edhy sutanta-teknik informatika-fti-ista yogyakarta
Data Model: OBDM
ERM Semantic Binary
RBDM Hierarchycal Network RBDM
PBDM UM FM
22edhy sutanta-teknik informatika-fti-ista yogyakarta
Pengertian SBD
sekumpulan susbsistem yg tda BD para pemakai yg menggunakan BD scr
bersama2 personal2 yg merancang & mengelola
BD teknik2 u/ merancang & mengelola BD sist komputer
23edhy sutanta-teknik informatika-fti-ista yogyakarta
Elemen SBD BD Software
perancangan pengelolaan dBase III++, Foxbase, Foxpro, Visual Dbase, Visual
Foxpro, Delphi, Ms Access, MySQL Hardware Brainware
pemakai spesialis informasi
perancang pengelola
24edhy sutanta-teknik informatika-fti-ista yogyakarta
SW OS
MS DOS, PC DOS, Windows, Unix, Linux language software DBMS application software
26edhy sutanta-teknik informatika-fti-ista yogyakarta
DBMS adalah SW U/ pengelolaan basis data
DDL DML DCL
Penyimpanan Pengaturan Mekanisme pengamanan data Pemakaian data scr bersama Pemaksaan akurasi data
27edhy sutanta-teknik informatika-fti-ista yogyakarta
AplikasiBasis Data
DBMS
BasisData
End-User
Naive-User
Hubungan DBMS & Aplikasi BD
28edhy sutanta-teknik informatika-fti-ista yogyakarta
Model hubungan DBMS & Aplikasi BD
DBMS terpisah dg aplikasi DBMS menyatu dg aplikasi
29edhy sutanta-teknik informatika-fti-ista yogyakarta
DBMS terpisah dg aplikasi Aplikasi tidak berinteraksi lgs dg BD, ttp mll
DBMS sbg perantara. DBMS bisa melakukan aktifitas sendiri yg bisa
ditangkap o/ aplikasi Contoh DBMS : MS SQL Server, Oracle, CA-
OpenIngres, Sybase, Informix, IBM DB2 Cocok u/ aplikasi single-user / standalone, yg
ringan
AplikasiDBMS
Basisdata
Aplikasi
30edhy sutanta-teknik informatika-fti-ista yogyakarta
DBMS menyatu dg aplikasi Aplikasi BD yg dibuat menyatu dg DBMS pd saat
pemakaiannya Aplikasi BD berada ‘di bawah’ DBMS (sub-
ordinate) DBMS hrs diaktifkan dulu sgl menjalankan
aplikasi Contoh DBMS : dBase III+, FoxBase, FoxPlus, CA-
Clipper, MS-Access Cocok untuk aplikasi multi-user, yg beratDBMS | Aplikasi
BasisData
DBMS | Aplikasi
31edhy sutanta-teknik informatika-fti-ista yogyakarta
Arsitektur Aplikasi BD
Pertimbangan memilih arsitektur aplikasi BD: Keunggulan teknologi Faktor biaya Sesuai dg kebutuhan pemakai
32edhy sutanta-teknik informatika-fti-ista yogyakarta
Jenis arsitektur aplikasi BD: stand alone centralized client-server
33edhy sutanta-teknik informatika-fti-ista yogyakarta
Stand alone: DBMS+BD+aplikasi ditempatkan pd 1 komp Hny dp dipakai o/ 1 pemakai pd saat ttt
34edhy sutanta-teknik informatika-fti-ista yogyakarta
Centralized: Tda:
1 server se-jml terminal
2 macam: Thin client Fat client
Basis data
Application server
Dumb terminal Dumb terminal
Basis data
File server
workstations workstations
35edhy sutanta-teknik informatika-fti-ista yogyakarta
Client server: U/ mengatasi kelemahan pd sistem centralized Tda:
Client aplikasi basis data Server DBMS + BD
2 macam : Arsitektur 2-tier Arsitektur 3-tier
36edhy sutanta-teknik informatika-fti-ista yogyakarta
Basis data
DBMS server
Client Client
workstation workstation workstation workstation
Arsitektur 3-tier:
37edhy sutanta-teknik informatika-fti-ista yogyakarta
Pertimbangan memilih SW u/ membangun aplikasi BD:
Kecocokan DBMS & development tools Sw yg dipilih hrs menjamin tersedianya fasilitas yg dp digunakan u/
berinteraksi dg DBMS scr penuh Dukungan development tools thd arsitektur aplikasi BD
Tdk semua development tools memberi dukungan yg baik thd arsitektur client-server
Independensi development tools & DBMS Idealnya hny ada 1 macam DBMS yg dipilih u/ mengelola BD Perlu kompromi saat memilih development tools yg cocok u/ semua
DBMS Kemudahan pengembangan & migrasi aplikasi BD
Development tools yg dipilih hrs mendukung pengembangan ke masa depan, ex: web based
kemudahan migrasi, ex: dari form-base mjd web based
38edhy sutanta-teknik informatika-fti-ista yogyakarta
Pertimbangan kinerja/kecepatan operasi ke BD ditentukan o/:
DBMS Arsitektur HW yg mjd platform Jml pemakai yg terlibat Volume data yg diolah Tingkat kompleksitas operasi BD Cara penulisan aplikasi BD
39edhy sutanta-teknik informatika-fti-ista yogyakarta
Pertimbangan dl penulisan aplikasi BD:1. Se-dpmgk memanfaatkan indeks primer / sekunder dl
stp proses query ke BD2. Menghindari pemakaian fungsi ato perhitungan pd
query, terlebih pd kriteria query3. Operasi join pd beberapa tabel dp digunakan u/
efisiensi perintah & banyaknya data yg hrs ditangani4. Pd sistem multi-user dg tk konkurensi tinggi, sesegara
mgk melepaskan penguncian tabel di akhir stp query5. Manfaatkan se-bykmgk fungsi yg tlh disediakan DBMS
ato development tools dl operasi BD6. Jk ada perintah looping dg penelusuran ke slrh BD pd
se-bh tabel, se-dpmgk menempatkan berbagai perintah yg tdk relevan di luar perulangan
40edhy sutanta-teknik informatika-fti-ista yogyakarta
Se-dpmgk memanfaatkan indeks primer / sekunder dl stp proses query ke BD:
Contoh: SELECT…. FROM pegawai WHERE idpegawai =
vidpegawai UPDATE pegawai SET …WHERE idpegawai = vidpegawai DELETE FROM pegawai WHERE idpegawai = vidpegawai
41edhy sutanta-teknik informatika-fti-ista yogyakarta
Menghindari pemakaian fungsi ato perhitungan pd query, terlebih pd kriteria query
Contoh:SELECT ‘01’+LEFT(nomhs,2) AS vthn FROM mahasiswa WHERE …Diganti menjadi :
SELECT nomhs AS vnim FROM mahasiswa WHERE thn_masuk = ‘01’+left(vnim,2)
Catatan:Pd arsitektur cilent-server : Perintah awal: pencarian data & penerapan fungsi dilakukan
di server Perintah baru: dibuat fungsi & perhitungan bukan merup bag
perintah query, server hny melakukan pencarian data, sdg-kan pengerjaan fungsi dilakukan di client
Contoh: SELECT … FROM kuliah WHERE LEFT(kdmtk,3)=’TFD’
Diganti menjadiSELECT … FROM kuliah WHERE kdmtk LIKE ‘TFD%’
Catatan: Perintah awal: tdk menggunakan kunci primer Perintah baru: menggunakan indeks kunci primer
42edhy sutanta-teknik informatika-fti-ista yogyakarta
Operasi join pd beberapa tabel dp digunakan u/ efisiensi perintah & banyaknya data yg hrs ditangani
Contoh: Ada 2 perintah:
SELECT kdmtk AS vkdmtk, nilai AS vnilai FROM nilai WHERE nomhs=vnomhs
Select sks AS vsks FROM kuliah WHERE kdmtk=vkdmtk
Dapat digabungkan mjd: SELECT a.nilai AS vnilai, b.sks AS vsks
FROM nilai a, kuliah b WHERE a.nomhs=vnomhs AND a.kdmtk=b.kdmtk
43edhy sutanta-teknik informatika-fti-ista yogyakarta
Pd sistem multi-user dg tk konkurensi tinggi, sesegara mgk melepaskan penguncian tabel di akhir stp query
Proses dilakukan dl 2 tahap menyimpan sementara di buffer memory menuliskan ke dl disk U/ membatalkan proses ada perintah rollback Contoh:
INSERT INTO nilai (nomhs, kdmtk) VALUES (vnomhs, vkdmtk) COMMIT
Catatan:Commit u/ merekam ke disk
44edhy sutanta-teknik informatika-fti-ista yogyakarta
Manfaatkan se-bykmgk fungsi yg tlh disediakan DBMS ato development tools dl operasi BD
Contoh:SELECT COUNT (*) AS vjumlah FROM mahasiswa WHERE nomhs=vnomhs
IF vjumlah=0 THEN ECHO “Tidak ketemu..”
ELSE SELECT nama AS vnama FROM mahasiswa
WHERE nomhs=vnomhsENDIF
Akan lebih baik, jika diganti mjd:
SELECT nama AS vnama FROM mahasiswa WHERE nomhs=vnomhs Inquire_sql (jumlah=rowcount)IF vjumlah=0 THEN
ECHO “Tidak ketemu…”ELSE ECHO “Nama : “;&vnamaENDIF
45edhy sutanta-teknik informatika-fti-ista yogyakarta
Jk ada perintah looping dg penelusuran ke slrh BD pd se-bh tabel, se-dpmgk menempatkan berbagai perintah yg tdk relevan di luar perulanganI=1
Buka tabel XWhile (row belum habis) do
Tampilkan pesan “Sedang diproses…”Total=total+yRata=total/iI=i+1Ke row berikutnya
EndwhileTampilkan total dan rata I=0
Tampilkan pesan “Sedang diproses…”Buka tabel XWhile (row belum habis) do
Total=total+yI=i+1Ke row berikutnya
EndwhileRata=total/iTampilkan total dan rata
Algoritma di atas dapat diperbaiki mjd:
46edhy sutanta-teknik informatika-fti-ista yogyakarta
Pemeliharaan Integritas BD dl Aplikasi BD BD Sbg sarana u/ meyakinkan bhw nilai-2 data dl BD sll
benar, konsisten, sll curent Dp dilakukan dg cr:
Memastikan bhw nilai-2 data adl benar sjk dimasukkan pertama kali
Membuat program u/ mengecek keabsahan data pd saat dimasukkan ke komputer Penolakan / pembatalan aksi (cancelation) Pengisian nilai kosong pd field ttt (nullify) Penjalaran perubahan (cascade)
47edhy sutanta-teknik informatika-fti-ista yogyakarta
Integritas yg hrs dijaga: Keunikan data:
Definisi struktur tabel dg membuat indeks primer unik Pengkodean dl aplikasi BD pd saat pemasukan/penambahan
data lebih user-friendly
Kedua cara tsb diterapkan bersamaan Domain data:
Penetapan tipe data pd stp field dl tabel Pengisian validation rule dari DBMS
Referensial: Kesalahan referensial dp menimbulkan kesalahan baru Pengecekan pd INSERT, UPDATE, DELETE
Aturan nyata: Sangat kasuistis Tidak berlaku umum Pada kasus yg berbeda, aturannya akan berbeda pulaCatatan:Untuk mengakomodasi perbedaan business role , dp dilakukan dg menyiapkan tabel khusus yg menampung nilai-2 konstanta yg dibutuhkan aplikasi pd saat dijalankan yg mudah diubah tanpa mengakibatkan perubahan aplikasi ato struktur BD
48edhy sutanta-teknik informatika-fti-ista yogyakarta
ADMINISTRASI & MANAJEMEN BDADMINISTRASI & MANAJEMEN BD
49edhy sutanta-teknik informatika-fti-ista yogyakarta
Administrasi Dokumentasi
Model basis data Menentukan proses yg diperlukan u/ pembentukan &
perawatan file, & pemanggilan informasi Dokumen:
Schema Kerelasian antara relasi dl BD Definisi variabel yg dipakai
Manajemen Manajemen aktivitas BD Manajemen struktur BD Manajemen DBMS
50edhy sutanta-teknik informatika-fti-ista yogyakarta
Manajemen aktivitas BD Apabila slm penerapan ada perubahan BD, mk perubahan &
ujicoba dilakukan pd BD cadangan Manajemen aktifitas data merupakan tugas DBA
51edhy sutanta-teknik informatika-fti-ista yogyakarta
Tugas DBA lainnya: Menentukan standard, panduan, pengawasan prosedur, & membuat
dokumentasi u/ memastikan tdk tjd tumpang tindih dl pengaturan data Mengatur kepemilikan data, hak akses, & hak merubah data – terutama jk
bbrp pemakai mengakses data yg sama
Who can do what to which data Mengembangkan teknik & prosedur recovery
akibat machine failure, media failure, communications failure, data user failure
Menyampaikan informasi ttg prosedur operasi & melakukan pelatihan pd user
Menerapkan kebijakan terkait dg aktifitas data, jk ada user yg melanggar, mk DBA berhak memberi hukuman
Ber-tgjwb u/ menyusun & merawat slrh dokumen sistem: Aktifitas data Database standards Data ownership Retrieval & access rights Recovery procedures Policy enforcement
Contoh Standard yg dimaksud: Stp field hrs mpy nama & format baku Stp record hrs mpy standard nama, format, metode akses
Stp file BD hrs mpy standard nama & relasi dg file lain
52edhy sutanta-teknik informatika-fti-ista yogyakarta
Hal-2 yg perlu dipantau dalam aktivitas BD : Statistik penggunaan HW
Merup % waktu aktifitas yg diperlukan u/ mengakses prosesor, channel, controller, disk
Digunakan u/ menentukan tk kesibukan kerja sistem Biasanya dilakukan o/ OS
Statistik penggunaan file Merup rasio penggunaan akses ke file fetch, get next, update Dp disimpan dl log file
Statistik penggunaan record Frek pengaksesan record u/ dibaca ato di-update dp menjadi
bahan pertimbangan dl optimalisasi & pembuatan backup BD Tanggal & waktu akses dapat digunakan u/ menjaga integritas
BD Statistik penggunaan atribut
Frek penggunaan atribut, baik pd proses update, ato sbg kunci pd pencarian
Dp dilihat dari schema / kerelasian antar tabel
53edhy sutanta-teknik informatika-fti-ista yogyakarta
Manajemen struktur BD Tgjwb DBA:
Merancang skema DBA biasanya tdk terlibat dl peranc BD mulai awal OKI, stp perubahan struktur BD yg berpengaruh pd schema /
kerelasian hrs dicatat Mengawasi terjadinya redundancy
Redundancy dp tjd pd performance & data integrity DBA hrs menetapkan prosedur ttt u/ melaks rekonsiliasi data u/
menghindari redundancy Melakukan pengawasan konfigurasi permintaan atas perubahan
struktur basisdata Menyusun laporan scr berkala mengenai pemakai yg aktif, file & data
yg dipakai, metode akses yg digunakan Catatan tjd-nya kesalahan U/ menentukan apk perlu perubahan
struktur BD u/ pe+ performance Menjadwalkan & mengadakan pertemuan apabila tjd perubahan
struktur BD Menerapkan perubahan shema
Perubahan hrs dilakukan pd BD ujicoba, agar user dp mengujinya sbl diterapkan pd
Merawat dokumentasi pemakai U/ mempero/ informasi ttg perubahan yg tlh dilakukan, bgmn, kapan
54edhy sutanta-teknik informatika-fti-ista yogyakarta
Manajemen DBMS Tugas DBA:
Menyusun laporan ttg kinerja BD Dp diuji dg: menjalankan contoh program & mencatat waktu proses
pd kegiatan nyata Pengujian dp dilaks mll rutin program ato mll fasilitas dl DBMS
Melakukan investigasi atas keluhan pemakai Melakukan analisa atas laporan & keluhan Melakukan “tuning” atau “optimizing”
Ex: buffers size size of a transaction numbers of shared file
Jk mungkin “tuning” pd SW komunikasi & OS dg BD Ex:
Mengatur agar program tersimpan resident di memori
Mengatur alokasi SD HW & saluran komunikasi Mengevaluasi & menerapkan fasilitas baru
56edhy sutanta-teknik informatika-fti-ista yogyakarta
Vice PresidentData Processing
ManagerSystems
ManagerOperations
ManagerProgramming
DBA
57edhy sutanta-teknik informatika-fti-ista yogyakarta
Personil Tugas
DBA 1. Mengatur staf u/ memastikan pengembangan BD berjalan lancar2. Merencanakan ke-bth BD di masa mendatang
Documentation & standards manager
1. Menciptakan & merawat dokumentasi BD & standard2. Menyebarluaskan informasi ttg standard3. Mengadakan pelatihan
User representatives
Mewakili user dl menentukan ke-bth BD & menyampaikannya pd DBA
Operations representatives
1. Mewakili bagian operasional yg berkaitan dg komputer2. Menetapkan ke-bth BD masa depan yg diperlukan dl keg operasional3. Memantau kinerja BD4. Melakukan “tuning” OS
DBMS configuration manager
1. Memahami DBMS & merawat konfigurasi pengawasan2. Melakukan pemantauan & “tuning” pd DBMS3. Menguji fasilitas baru pd DBMS
Performance monitor
1. Menyusun & menganalisa kinerja sistem2. Melakukan investigasi atas keluhan pemakai