Title: INTRODUCTION TO DATABASE
1INTRODUCTION TO DATABASE
- Database Management Systems
- Designing and Building Business Applications
- Gerald V. Post
2Database Management System (DBMS Cont)
- Database koleksi data yang tersimpan dalam
format ter-standarisasi, dirancang untuk bisa
shared oleh multiple users. - DBMS software yang (digunakan) untuk men-define
database, stores data, supports query language,
produces reports, dan creates data entry screen. - Kebanyakan permasalahan yang muncul dalam
building application adalah dalam storing dan
retrieving data.
3Application Development without a Database
- Permasalahan2 umum ketika menggunakan files
- Duplikasi tak terkontrol (wastes space, kesulitan
meng-update semua files). - Data tak-konsisten
- Ketidak-luwesan (hard to change data, hard to
change programs). - Limited data sharing.
- Kurang (miskin) penegakan standar (standard
enforcement) - Programmer kurang produktif
- Terlalu besar program maintenance
4Application Development without a Database cont.
- Integrated Data, ketika applications menjadi
besar, semakin kompleks, dan semakin
ter-integrasi, maka perubahan2 program menjadi
sangat sulit dan time consuming. - Repeating Development Tasks, setiap business
application mempunyai beberapa fitur (features)
yang sama dalam penggunaan dan sharing data.
Programmer harus menyelesaiakan permasalahan
dengan melibatkan efficiency, security, dan
concurrency. Tanpa database system, codes of
program untuk meng-handle (efficiency, security,
dan concurrency) harus rewritten untuk setiap
application dan setiap program.
5Integrated Data
PROGRAM
FILES
Pay History
Payroll
(application)
Data definition File1 File2
Benefits
Benefits
(application)
Data definition FileA FileB File C
Employee
Employee Choices
6Advantages of DBMS approach
- DBMS menyimpan data secara efisien.
- DBMS mempunyai sistem untuk me-maintain data
consistency dengan usaha yang minimal. - DBMS (khususnya query language), mempermudah
untuk meng-integrasikan data.
7Advantages of DBMS approach Cont.
- Focus on Data, pertama men-define data, kemudian
semua queries, reports, dan programs meng-access
data melalui DBMS. - Database approach berkonsentrasi pada data. DBMS
bertanggung jawab untuk defining, storing, dan
retrieving data. Semua request untuk data harus
melalui database engine. Jadi DBMS bertanggung
jawab untuk data storage dan retrieval,
concurrency, data security dll. - Sekali struktur data yang didefinisikan dengan
hati-hati, additional tools (seperti, report
writer, form generators, dan query language) bisa
mempercepat dan mempermudah untuk mengembangkan
business applications.
8Focus on Data
Semua data
Database Management System (DDMS)
Queries Reports
Program 1
Program 2
9Advantages of DBMS approach Cont.
- Data Independence, pemisahan definisi data dari
program. Sehingga, definisi data bisa dirubah
tanpa merubah program. Secara serupa, data bisa
di-move ke hardware baru atau ke mesin (komputer)
yang sepenuhnya berbeda. - Sekali DBMS mengetahui bagaimana meng-access
data, maka forms, reports, atau programs yang
menggunakan data tersebut tidak perlu dirubah. - Program-program individu bisa dirubah tanpa
merubah data definitions.
10Advantages of DBMS approach Cont.
- Data Independence and Client/Server Systems, DBMS
mempunyai peran penting dalam pembentukan
Client/Server systems. - Dalam Client/Server approach sederhana, data
disimpan (stored) dalam DBMS pada centralized
computer. Decentralized Personal Computer
menjalankan (run) front-end application yang
retrieves dan displays data dari server.
11Components of DBMS
- Database Engine
- Data Dictionary
- Query Processor
- Report Writer
- Forms Generator
- Application Generator
- Communication and Integration
- Security Other Utilities
12Database Engine
- Database engine (DE) engine yang bertanggung
jawab untuk storing, retrieving, dan updating
data. - DE merupakan salah satu komponen yang paling
mempengaruhi performance (speed), dan kemampuan
(ability) untuk meng-handle permasalahan2 yang
besar (scalability).
13Database Engine Cont.
- Dalam beberapa sistem, DE merupakan stand-alone
component yang bisa dibeli dan digunakan sebagai
module software yang independent. - DE juga bertanggung jawab untuk enforcing
aturan2 bisnis tentang data. - Kecepatan application tergantung pada hardware,
DBMS software, rancangan database, dan cara
bagaimana men-store data.
14Database Engine Cont.
Order
Data tables
Customer
Database Engine
Product
Customer
Data dictionary
Concurrency lock manager
User Identification access right
Security
Backup recovery
Utilities
Administration
15Data Dictionary
- Data dictionary (DD) memuat (hold) definisi2 dari
semua tabel2 data. - Kebanyakan modern database systems memuat DD
sebagai himpunan tabel2 sistem (system tables).
(Ms Access menyimpan daftar semua tabel dalam
tabel2 sistem yang disebut MSysObjects). - System tables digunakan oleh system dan jarang
digunakan langsung oleh programmer.
16Query Processor
- Query processor (QP) memampukan (enables)
developers dan users untuk store dan retrieve
data. - Semua operasi database bisa di-run melalui query
language khususnya standard SQL. - Queries diturunkan dari business questions.
- Query language digunakan untuk meminimalkan
permasalahan komunikasi dan untuk memastikan
bahwa DBMS memahami pertanyaan yang diajukan.
17Report Writer
- Modern report writer memampukan programmer untuk
menata (set up) report pada screen, untuk
menentukan bagaimana item-item akan ditampilkan
atau di-calculate. - Report writer menggunakan query processor untuk
mendapatkan data yang diinginkan, kemudian
mem-format dan mencetak report.
18Report Writer Cont.
Semua Data
Database engine Data dictionary
Query Processor
Report Writer
Sales Report
Report, format, dan query
19Form Generator
- Form generator atau Input screen, membantu
developer untuk meng-create input forms.
Tujuannya meng-create form yang menyatakan
(mewakili) common user tasks, yang memudahkan
user untuk enter data. - Forms bisa memuat graphs dan images.
20Application Generator
- Application koleksi forms dan reports yang
dirancang untuk specific user tasks. - DBMS yang baik memuat application generator, yang
terdiri dari tools yang membantu developer dalam
meng-create complete application package.
21Communication and Integration
- Beberapa database system menyediakan
communication integration utilities khusus
yang dirancang untuk store dan use data dalam
beberapa databases yang running di mesin-mesin
(komputer) yang berbeda, bahkan mereka berada di
lokasi-lokasi yang berbeda. - SO modern dan independent network, termasuk
internet telah membuat lebih mudah untuk connects
ke database-database yang running di
lokasi-lokasi yang berbeda.
22Security Other Utilities
- Primary goal of database share data dengan
multiple users. ? DBMS harus juga bertanggung
jawab dalam penegakan (establishing) dan
perawatan (maintenance) security access
control. - Security merupakan permasalahan kompleks dengan
database yang running di personal computer,
karena kebanyakan PC operating systems hanya
mempunyai sedikit control.
23Leading Commercial Database
- Beberapa leading database systems meliputi DB2,
Oracle, Ingres, SQL Server, dan Informix. - Tools dari IBM, Oracle dan Ingres tersedia untuk
bermacam-macam platforms, dari PC ukuran besar
sampai yang tengahan. - Informix database system juga tersedia untuk
bermacam-macam platform hardware, tapi utamanya
dirancang untuk di-run di komputer yang
menggunakan SO UNIX.
24Leading Commercial Database Cont.
- Products untuk network file servers juga tersedia
dari Microsoft (SQL Server), Sybase, dan IBM
(DB2/400). - Banyak database packages tersedia untuk PC, tapi
kebanyakan vendors merekomendasikan penggunaan
mereka terbatas untuk small applications.
(Seperti, MS Access, Paradox dari Borland, dan
Lotus Approach).
25Brief History of DBMS
- Database Approach
- Hierarchical Databases
- Network Databases
- Relational Database
- Object Oriented Databases
26Hierarchical Database
- Untuk store atau retrieve data, database system
harus mulai dari atas (top) dalam contoh ini
customer. - Hierarchical database approach relatif cepat
selama akses data nya dari top.
Customer
Order
Item Ordered
27Network Databases
- Tujuan utama network model adalah untuk
menyelesaikan permasalahan hierarchical tentang
searching for data dari perspektif yang berbeda. - Semua panah (arrows) harus diimplementasikan
secara fisik sebagai indexes atau embedded
pointer.
Entry point
Customer
Item Ordered
Order
Entry point
Items
28Relational Databases
- Kekuatan relational approach adalah bahwa
designer tidak perlu tahu pertanyaan apa yang
akan ditanyakan tentang data. - Jika data didefinisikan dengan baik, maka
database bisa menjawab secara virtual setiap
pertanyaan secara efisien. - Fleksibilitas dan efisiensi adalah alasan utama
untuk dominansi model relasional.
29Relational Databases Cont.
- Dalam relational database, data disimpan (stored)
dalam separate sets of data. - Customer(CustomerID, Name,
- Order(OrderID, CustomerID, OrderDate,
- ItemsOrdered(OrderID, ItemID, Quantity,
- Items(ItemID, Description, Price,
30Object Oriented Databases
- Gaol mendefinisikan objects yang bisa digunakan
kembali (reused) dalam banyak programs
(applications) sehingga menghemat waktu dan
mengurangi (reduce) kesalahan (error). - Object mempunyai 3 komponen utama nama,
sekumpulan properties atau attributes, dan
sekumpulan methods atau functions.
31Object Oriented Databases (Cont.)
Order
Customer
Government
OrderID
CustomerID
Private
NewOrder
DeleteOrder
OrderItem
Item
Object bisa diturunkan dari object yang lain.
32Application Development
- Setiap database project mulai dengan
identifikasi data yang akan diperlukan, dan
menganalisa data tersebut untuk menyimpannya
se-efisien mungkin. - Kemudian meng-identifikasi forms dan reports
yang akan diperlukan users. Forms dan reports
ini berdasarkan queries, sehingga harus
dibentuk queries atau views yang akan
diperlukan untuk menghasilkan forms dan reports.
33Application Development (Cont.)
- Langkah berikut, meng-combine forms dan
reports ke application yang meng-handle semua
operasi yang diperlukan users. - Kemudian, menentukan apakah masih ada cara untuk
memperbaiki database. - Selanjutnya, beberapa database administration
tasks harus dilakukan. Seperti, setting security
parameters dan controlling access to data.
34Application Development (Cont.)
- Sejalan dengan perkembangan organisasi, sistem
komputer dan applications menjadi semakin
kompleks. - Internet (teknologi) dengan sangat cepat menjadi
tool yang powerful untuk mengembangkan dan
mengimplementasikan database applications yang
bisa digunakan oleh siapa saja di seluruh dunia.
35Application Development (Cont.)
- Applications juga menjadi semakin kompleks. Users
membutuhkan (demands) integrasi data dari
databases, spreadsheets, dan word processors.
Kebutuhan ini mengakibatkan perpindahan dari
transaction processing ke decision support
systems (DSS). - Transaction processing memfocuskan pada
collecting data dan producing basic reports. - DSS application secara tipikal memerlukan lebih
banyak analisis, komputasi, dan eksperimentasi
dari users.