170 likes | 365 Views
Desain Basis data. BAB 1 Pengenalan Database dan DBMS. Apa itu dbms ?. sangat besar dan terintegrasi . Model umum : Entitas ( contoh : Mahasiswa , Ruang ) Relasional ( contoh : eko menempati ruang b-105)
E N D
Desain Basis data BAB 1 Pengenalan Database dan DBMS
Apaitudbms? • sangatbesardanterintegrasi. • Model umum : • Entitas (contoh: Mahasiswa, Ruang) • Relasional (contoh: ekomenempatiruang b-105) • Database Management System (DBMS) merupakanperangkatlunak yang didesainuntukpenyimpanandanpemeliharaankumpulan data.
Perbedaanfile dandbms • Memori yang besar. • Program khususuntuksetiap query. • Harusmelindungi data dariperubahan yang tidakkonsisten yang diaksessecarakonkuren. • Pengembalian data saatterjadikerusakanataucrash. • Pengamanandanakseskontrol.
Mengapamenggunakan DBMS? • Kemandirian data danefisien. • Waktupengembanganaplikasiterkurangi. • Integritasdankeamanan data. • Administrasi data. • Akseskonkurendan crash recovery.
Mengapabelajar Database?? • Perpindahan dari komputasi ke informasi • Himpunanelemen data semakinbanyakdanberagam • DBMS mencakupbidangilmu lain • Sistem operasi, bahasa pemrograman, teori komputasi, AI, logika, multimedia. • DBMS meliputisebagianbesardari “ilmukomputer”
Data model • data model adalahkumpulankonstruksidiskripsi data. • skemaadalahdiskripsi data dalam model data. • KebanyakanSistemManajemen Database saatinididasarkanpada model relasional. • Konseputama: relasi, yang padadasarnyaberupa “tabel” yang terdiridarisejumlah “baris” dan “kolom” • Setiaprelasimempunyaiskema, yang mendiskripsikankolomatau field.
Level abstraksidalamdbms • Data dalam DBMS dibagidalam 3 level Abstraksi : • Skemaeksternal, bagaimana user melihat data • Skemakonseptual, mendefinisikanstruktur. • Skemafisik, mendiskripsikandata/recorddan index. * SkemadidefinisikandenganDDL; data dimodifikasidengan DML.
Contoh: Database universitas • Skemakonseptual : • Mahasiswa (nim:int,nama:string, umur : int) • Fakultas (f_id: int, f_nama : string) • Matakuliah (mt_id: int, mt_nama : string) • SkemaFisik : • Buat index kolompertamadarimahasiswa • SkemaEksternal • Buat view denganpemasaranmatakuliah : matakuliah_pemasaran (f_id : int, mt_id)
Kemandirian Data • Aplikasidisekatdaribagaimana data disimpandandistrukturkan • Kemandirian data logika:perlindungandariperubahandalamstruktur data logika. • Kemandirian data fisik: perlindungandariperubahandalam detail skemafisiknya. * One of the most important benefits of using a DBMS!
Query • 3 kelompokbahasa basis data: • Data Definition Language (DDL) Mendefinisikanstruktur database & table. CREATE, ALTER, DROP • Data Manipulation Language (DML) Memanipulasi data dalam table. SELECT, INSERT, UPDATE, DELETE • Data Control Language (DCL) Saatinisudahmelekatpada DBMS berupafasilitas-fasilitaspemberianhakakses user padastruktur database. GRANT, REVOKE, COMMIT, ROLLBACK Ingat: Penggunaan SQL dalamkasus database…!!!
KontrolProsesSerentak • Eksekusibersamaandaribeberapa user program, merupakanukuranperformansiyang utama dari suatu DBMS. • Penyisipanaksidari user yang berbedadapatmembuat data tidakkonsisten. misal : Seorang user diperbolehkanmembacanilaisaldosebelumseorang user lain selesaimelakukanperubahannilaisaldotersebut • DBMS memastikanpermasalahandiatastidakterjadidengancaramembuatsistemseolah-olahparapengguna DBMS sedangmenggunakansebuah “single-user system”.
Transaksi : Eksekusidari Program Basis Data • Konsepkuncinyaadalahtransaksi, merupakanurut-urutan atomic dariaksi basis data (baca/tulis). • Tiaptransaksidijalankankansampaiselesai, dan basis data harustetapdijaga agar tetap dalam keadaan yang konsisten. • User dapatmenentukanbeberapabatasanintegritas (integrity constraint) yang sederhana pada data, dan kemudian DBMS akan mengusahakan batasanini. • Selaindariitu, DBMS tidakbenar-benarmengerti semantic dari data(contoh : tidaktahucaramenghitungbunga bank, atautidaktahucaramenetapkannilaijualbarang yang adadigudang … misalnya). • Sehinggauntukmemastikantransaksiberlangsungsecarakonsisten,seluruhnyaberadapadatanggungjawab user.!
PenjadwalandariTransaksi yang berlangsungSerentak • DBMS memastikanbahwaeksekusidari {T1, …, Tn} adalahsamadengaeksekusi serial T1’ … Tn’ • Sebelummembaca/menulisobyek, transaksimeminta lock padaobyekdanmenunggusampai DBMS memberikan lock. Semua lock akandilepas (direlease) padaakhirdaritransaksi • Idedasar: Jikaaksidari T1 (missal menulis X) mempengaruhiTj (missal membaca X), salahsatudarimereka , missal T1, akanmendapatkan lock pada X pertama kali danTjakanmenunggusampaiaksi T1diselesaikan. • Apa yang terjadijika TJ telahmemiliki lock kemudiansetelahitu T1 meminta (request) lock Y ? (Deadlock akanterjadi , maka T1 atauTjharusdi-abort ataudi-restart).
MemastikansifatAtomik • DBMS memastikansifat atomic (semuanyaatautidakada property). • Ide dasar : Simpan log (history) semua aksi yang dijalankan oleh DBMS pada saat menjalankanhimpunanaksi X. • Sebelumperubahandibuatterhadap basis data, maka log entry harusberkorespondensidenganlokasi yang aman (system operasiseringkalitidakmendukung secara penuh hal seperti ini). • Setelahterjadi crash (tabrakan), akibatnyasebagiantransaksi yang telahdieksekusitidaklagidikerjakandenganmenggunakan log.
Basis Data membuatsegalanyamenjadilebihmudah • Pemakaiakhirdan vendor DBMS • Programmer aplikasi basis data • Misal : webmaster yang canggih • Administrator Basis Data (Database Administrator) • DesainskemaLogikal/Fisikal • Menanganipengamanandankewenangan • Ketersediaan data, perbaikan crash • Penyesuaian oleh Basis Data *Yang pentingmengertibagaimanacara DBMS mengerjakansemuaitu
Struktur DBMS • Biasanya DBMS memilikiarsitektur layer . • Gambardisampingtidakmenunjukkankontrolprosesserentak (concurrency control) dankomponenperbaikan (recovery). • Gambartersebutadalahsalahsatudaribeberapakemungkinanarsitektur : tiap system memilikivariasinyasendiri.
Kesimpulan • DBMS digunakanuntukpemeliharaanhimpunan query yang sangatbanyak. • Keuntungan dari penggunaan DBMS meliputi perbaikan dari system yang crash, • aksesserentak, pengembanganaplikasisecaracepat, keamanandanintegritas data. • Level abstraksimemberikankebebasan data. • Umumnya DBMS memilikiarsitektur per layer • DBMS adalahsalahsatubidang yang paling banyakdiminatidalamilmukomputer