Aplikasi Database Aplikasi database: database: adalah program aplikasi yang digunakan untuk melaksanakan sederet kegiatan yang ditentukan oleh pemakai. pemakai. Beberapa operasi dasar yang dilakukan oleh aplikasi database:
Lingkungan Database
– Menambah data – Membaca data – Mengubah data – Menghapus data 1
2
Pendekatan Database
Ranah Aplikasi Database
Pendekatan database → menekankan pada integrasi dan berbagi data dalam sebuah organisasi Memerlukan kepedulian dari pihak eksekutif atas Fakta: Fakta: Informasi dapat menjadi senjata (keunggulan komptetitif) komptetitif)
Personal computer databases Workgroup databases Department databases Enterprise databases
3
Personal Computer Databases
4
Workgroup Databases
Untuk mendukung pemakai tunggal yang menggunakan sebuah PC
Digunakan untuk mendukung workgroup Workgroup : Sekelompok tim kecil , < 25 orang, orang, yang berkolaborasi dalam proyek atau aplikasi yang sama
5
LAN
Workgroup database
Database server
6
1
Department Databases
Enterprise Databases
Department database : database yang dirancang untuk mendukung berbagai fungsi dan aktivitas dalam suatu departemen
Enterprise database: database: database yang memiliki lingkup dalam sebuah perusahaan (mencakup beberapa departemen) departemen)
LAN Departemen Akunting Lingkup departemen
Departemen SDM
Department database
Database server
Enterprise database Database server
Departemen Pemasaran 7
Komponen Lingkungan Database
User Interface
CASE Tools
Repository
DBMS
8
Arsitektur Client/Server Client
Menggunakan LAN untuk mendukung jaringan PC MasingMasing-masing PC memiliki penyimpan tersendiri Berbagi hardware atau software
Application Programs
Jaringan
Server
Printer
Basis Data
Client
Databsse 9
Arsitektur File Server
10
Arsitektur File Server (Lanjutan …) (Lanjutan… Klien
Setiap klien dilengkapi DBMS tersendiri DBMS berinteraksi dengan data yang tersimpan dalam bentuk file pada server Aktivitas pada klien: klien:
Model pertama Client/Server Semua pemrosesan dilakukan pada sisi workstation Satu atau beberapa server terhubungkan dalam jaringan Server bertindak sebagai file server File server bertindak sebagai pengelola file dan memungkinkan klien mengakses file tersebut
– Meminta data – Meminta penguncian data
Tanggapan dari klien – Memberikan data – Mengunci data dan memberikan statusnya
11
Klien
Klien
LAN •
Permintaan data
•
Permintaan data
•
Permintaan penguncian data
•
Status penguncian
File Server
12
2
Batasan File Server
Arsitektur Database Server
Beban jaringan tinggi karena tabel yang diminta akan diserahkan oleh file server ke klien melalui jaringan Setiap klien harus memasang DBMS sehingga mengurangi memori Klien harus mempunyai kemampuan proses tinggi untuk mendapatkan response time yang bagus Salinan DBMS pada setiap klien harus menjaga integritas databasse yang dipakai secara bersamabersama-sama Ö tanggung jawab diserahkan kepada programmer
Klien bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis) bisnis) Database server bertanggung jawab pada penyimpana, penyimpana, pengaksesan, pengaksesan, dan pemrosesan database
13
Arsitektur Database Server (Lanjutan… …) Lanjutan Klien Klien Klien Database serverlah yang dituntut memiliki kemampuan pemrosesan yang tinggi Beban jaringan menjadi berkurang Otentikasi pemakai, pemakai, pemeriksaan integrasi, integrasi, pemeliharaan data dictionary dilakukan pada database server Database server merupakan implementasi dari twotwo-tier architecture
14
Application Architectures
LAN Permintaan data
Data yang diminta saja
Two-tier architecture: Contoh - program klien menggunakan ODBC/JDBC untuk berkomunikasi dengan database Three-tier architecture: Contoh aplikasi berbasis Web
Database Server
15
16
Contoh Three-tier Architecture
Contoh Two-Tier Architecture
Server
Program Visual BASIC
Web Server (Apache, IIS, Xitami, dsb)
MyODBC
Middleware (ASP, JSP, PHP, dsb)
Database (Access, Oracle, dsb)
Internet Permintaan
Tanggapan Browser (Internet Explorer, Netscape,dsb)
Database Server MySQL
Klien
17
18
3
Beberapa Keuntungan Arsitektur ThreeThree-Tier
Three-Tier Architecture Lapisan Klien
Keluwesan teknologi
Melibatkan lapisan server yang lain selain lapisan database server
– Mudah untuk mengubah DBMS engine – Memungkinkan pula middle tier ke platform yang berbeda
Biaya jangka panjang yang rendah – PerubahanPerubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan
LAN
Lapisan Bisnis
Keunggulan kompetitif
Application Server
– Kekampuan untuk bereaksi thd perubahan bisnis dengan cepat, cepat, dengan cara mengubah modul kode daripada mengubah keseluruhan aplikasi
Lapisan Database Database Server
19
20
Data Model Sekumpulan konsepkonsep-konsep untuk menerangkan data, hubunganhubungan-hubungan antara data dan batasanbatasan-batasan data yang terintegrasi di dalam suatu organisasi Dibedakan menjadi : – High level/Conceptual data model
Model Data Berbasis Objek Model data berbasis objek menggunakan konsep entitas, entitas, atribut dan hubungan antar entitas. entitas. Model Data Berbasis Record Pada model data berbasis record, database terdiri dari sejumlah record dalam bentuk yang tetap yang dapat dibedakan dari bentuknya. bentuknya. Ada 3 macam jenis model data berbasis record, yaitu : model data relasional (relational) model data hierarkhi (hierarchical) model data jaringan (network)
Menggambarkan kumpulan kebutuhan atribut dari user Menyediakan konsep yang sesuai dengan persepsi pemakai yang memandang datanya. datanya.
– Low Level/Phisical Level/Phisical data model Menggambarkan bagaimana data disimpan dlm komputer Menggambarkan data pada tingkat internal; penyimpanan data secara detailnya dengan format record penyusunan record dan jalur akses. akses.
21
skema
22
Instance/database state
Yaitu deskripsi dari suatu database Penggambaran skema disebut diagram skema Contoh
Yaitu data dalam database
Student Nama
Student number
class
major
23
24
4
Independensi Program-Data
Karakteristik pendekatan database
Struktur data pada database terpisah dengan program Perubahan struktur data tidak membuat program harus dimodifikasi
Insulation of program and data (program data and program operation independent) Support of multiple user view Use of catalog to store the database deskription (skema) skema)
Program
Program
Struktur Data Database
25
Kode
Kode
Paradigma lama
Pendekatan database
26
LINGKUNGAN DATABASE
Architecture database system External Level (Individual User Views)
Conceptual Level (Community User Views) Internal Level (Storage Views)
27
DATA INDEPENDENCE
Arsitektur Database Tingkat Eksternal (External Level) Menerangkan view (tampilan (tampilan)) basis data dari sekelompok pemakai. pemakai. Pada tingkatan ini digambarkan sebagian basis data yang relevan dengan user. Tingkat Konseptual (Conseptual Level) Menerangkan secara menyeluruh tampilan komunitas dari basis data. Pada tingkatan ini digambarkan data apa saja yang disimpan dalam basis data dan kardinalitas relasi dari data tersebut. tersebut. Tingkat Internal (Internal Level) Menerangkan struktur penyimpanan basis data secara fisik pada system komputer dan organisasi file yang digunakan dalam menyimpan dan mengakses basis data.
28
MAPPING (TRANSFORMASI)
Kapasitas untuk merubah skema pada satu level sistem basis data tanpa harus merubah skema pada level lainnya. lainnya.
Proses pendefinisian informasi dari satu level ke level lainnya. lainnya.
1. Physical Data Independence Perubahan pada skema internal dimana tidak mempengaruhi kema konseptual dan eksternal. eksternal.
Conceptual/Internal Mapping Pendefinisian hubungan antara view konseptual dengan basis data di level internal (Bagaimana (Bagaimana recordrecordrecord/fieldrecord/field-field didalam level konseptual didefinisikan dilevel internal) internal)
2. Logical Data Independence Perubahan pada skema konseptual dimana tidak mempengaruhi skema eksternal dan aplikasi program.
External/Conceptual Mapping Pendefinisian hubungan antara view konseptual dengan view eksternal
29
30
5
DBMS (Database Management Systems) DBMS adalah perangkat lunak yang menangani semua pengaksesan database. Mempunyai fasilitas membuat, membuat, mangakses, mangakses, memanipulasi dan memelihara basis data.
DDL (Data (Data Definition Language) Language) – PerintahPerintah-perintah yang biasa dipakai DBA untuk mendefinisikan skema ke DBMS – DDL juga dapat dipakai untuk membuat subskema (pandangan bagi pengguna terhadap suatu database). database). Skema
Istilah Dalam DBMS 1. Data Definition Language (DDL) 2. Data Manipulation Language (DML) - Procedural DML - Non Procedural
Subskema
NAMA
ALAMAT
NAMA
BAGIAN
BAGIAN
GAJI
…
31
DDL (Data (Data Definition Language) Language)
32
DML (Data (Data Manipulaton Language) Language)
– Contoh: Contoh: create table account ( accountaccount-number char(10), char(10), balance integer) integer)
– PerintahPerintah-perintah yang digunakan untuk mengubah, mengubah, memanipulasi, memanipulasi, dan mengambil data pada database. database. – DML dapat dibagi menjadi 2 kategori: kategori: Prosedural (menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya) mendapatkannya) NonNon-prosedural (menuntut pengguna menentukan data apa saja yang diperlukan, diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya secara detail)
DDL compiler membuat perintah seperti di atas disimpan dalam repository
33
FUNGSI DBMS
34
Lanjutan fungsi dbms…. 5. Data Dictionary DBMS harus menyediakan data dictionary
1. Data Definition DBMS harus dapat mengolah pendefinisian data
6. Performance DBMS harus menangani unjuk kerja dari semua fungsi seefisien mungkin
2. Data Manipulation DBMS harus dapat menangani permintaanpermintaan-permintaan dari pemakai untuk mengakses data 3. Data Security & Integrity DBMS harus dapat memeriksa security dan integrity data yang didefinisikan oleh DBA
Komponen DBMS 1. Query Processsor 2. Database Manager 3. File Manager 4. DML Preprocessor 5. DDL Compiler 6. Dictionary Manager
4. Data Recovery & Concurency - DBMS harus dapat menangani kegagalankegagalan-kegagalan pengaksesan database yang dapat disebabkan oleh kesalahan sistem, sistem, kerusakan disk, dsb. dsb. - DBMS harus dapat mengontrol pengaksesan data yang konkuren yaitu bila satu data diakses secara bersamabersama-sama oleh lebih dari satu pemakai pada saat yang bersamaan. .
35
36
6
File-Server Proses didistribusikan ke dalam jaringan, sejenis LAN (Local Area Network). File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan pada masingmasing workstation, tetapi tetap meminta file dari file server jika diperlukan (perhatikan gambar di bawah ini).
Arsitektur DBMS Multi User Teleprocessing Arsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini.
Workstation2
Workstation1
Workstation3
LAN
request for data
files returned
Database
file server IBM Compatible
37
38
Client Server
ClientClient-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem. sistem.
Kerugian arsitektur file-server adalah - Terdapat lalulintas jaringan yang besar - Masing-masing workstation membutuhkan copy DBMS - Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan
Client 2
client 1
Client 3
LAN
request for data
selected data returned
Database
server (with DBMS)
39
40
DATA DICTIONARY Data dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam database. Data dictionary biasa disebut juga dengan metadata atau data mengenai data. Berisi tentang : namanama-nama user yang mempunyai wewenang untuk menggunakan DBMS namanama-nama item data yang ada dalam database jenis dan ukuran item data batasan untuk masingmasing-masing item data
41
7