Three-schema Architecture (Modifikasi dari: Silberschatz, Korth and Sudarahan ©1997)
EXTERNAL LEVEL
End User
External-Conceptual Mapping CONCEPTUAL/LOGICAL LEVEL
Conceptual Schema Conceptual-Internal Mapping
INTERNAL/PHYSICAL LEVEL
Internal Schema STORED DATABASE
23
Separation of the user application and the physical database Internal / Physical Schema: deskripsi secara detil dan lengkap tentang struktur penyimpanan data secara fisik dan access paths ke database à menggunakan low-level model Conceptual / Logical Schema: deskripsi struktur basis data yang terdiri dari entities, data types, relationship, user operations, and constraints untuk setiap kategori user à dapat digunakan high-level or implementation model External View Schema: terdiri dari beberapa skema external user dengan masing-masing bagian database yang akan digunakan (lihat bahan kuliah lalu – different views of the same database structure) à dapat digunakan high-level or 24 implementation model
The term: Mapping - Interface Mapping is the process of transforming requests and results between levels. E.g., A request for a database retrieval à the DBMS will transform the request to the conceptual and physical levels, and extract the data from the stored database and reformatted the data to match the user/s external view. DBMS jarang menggunakan three-schema, karena overhead pada interface cukup tinggi. 25
Data Independence (Sumber: Silberschatz, Korth and Sudarahan ©1997)
Ability / Kemampuan untuk memodifikasi definisi skema pada suatu level tanpa berakibat pada definisi skema pada level yang lebih tinggi Interface antar level dan komponen harus didefinisikan dengan baik, sehingga perubahan pada suatu bagian tidak akan berakibat pada bagian yang lain Dua tipe data independence: – Logical data independence 26 – Physical data independence
Logical Data Independence Conceptual / logical schema dapat diubah tanpa perubahan external schema dan application programs. Perubahan hanya terjadi pada interface, yaitu view definition dan mapping pada DBMS. Contoh perubahan: penambahan atau pengurangan data item atau perubahan constraints. 27
Perubahan logical schema tidak mengubah external schema / application programs STUDENT Name StudentNumber Class Major Smith
1
CS
8
2
CS
Brown COURSE CourseName
SECTION
ada data redundancy
17
CourseNumber
CreditHours
Department
Data Structures
CS3320
4
CS
Discrete Math.
MATH2410
3
MATH
SectionID
CourseNumber
85
Year
Fall
98
MATH2410
112
CS3320
GRADE_REPORT StudentNumber
PREREQUISITE
Semester
Fall
98
Instructor King Anderson
StudentName
SectionID
CourseNumber
Grade
17
Smith
112
CS3320
B
8
Brown
MATH2410
A
CourseNumber
85
Prereq_Number
CS3380
CS3320
CS3320
CS1310
Ada penambahan data item pada record Grade_Report – dengan tanda
28
Reminder: apakah yang dimaksud dengan data consistency, dan apakah perbedaan antara controlled & uncontrolled redundancy
Untuk Disimak Kembali!
29
Physical Data Independence Internal / Physical schema dapat diubah tanpa perubahan pada conceptual / logical schema. Physical files selalu perlu di-reorganized, bisa karena disk space sudah penuh atau perlu penambahan / perubahan access structure untuk tujuan meningkatkan kinerja pencarian/perbaikan data. Contoh: query untuk membuat daftar kuliah menurut semester dan tahun tidak perlu berubah, sekalipun pada physical schema proses ini akan dilaksanakan dengan direct access path menurut key semester dan tahun. 30
Key issues: mekanisme apakah yang digunakan untuk memungkinkan adanya data independence
Untuk Disimak Kembali!
31
DBMS Language & Interface DBMS harus menyediakan language dan interface untuk setiap kategori pemakai Dikenal ada beberapa language: – – – – – –
VDL (View Definition Language) DDL (Data Definition Language) SDL (Storage Definition Language) DML (Data Manipulation Language) Data Sub Language Host Language 32
DDL (Data Definition Language) Bila tidak ada pemisahan antara skema conceptual dan internal, maka database administrator (DBA) dan database designer akan menggunakan bahasa DDL untuk mendefinisikan kedua skema. Diperlukan DDL compiler yang fungsinya menjelaskan setiap schema constructs (object) dan menyimpan deskripsi tersebut di dalam DBMS catalog. 33
SDL (Storage Definition Language) Bila digunakan 2 skema (conceptual dan internal), maka DDL hanya menspesifikasikan skema conceptual dan diperlukan bahasa SDL untuk menspesifikasikan internal skema Mapping antar kedua skema dapat dilakukan oleh salah satu dari kedua bahasa. 34
VDL (View Definition Language) Bila digunakan 3 skema (view, conceptual dan internal), maka diperlukan bahasa ketiga (VDL) untuk menspesifikasikan user views dan memetakan (mapping) ke skema conceptual. Pada umumnya DBMS menggunakan DDL untuk mendefinisikan external dan conceptual skema. 35
DML (Data Manipulation Language) DML merupakan bahasa yang digunakan untuk manipulasi data: retrieval, insertion, deletion, dan modification. DBMS yang baru biasanya menggunakan integrated language (untuk external, conceptual, dan data manipulation). Hanya SDL yang terpisah yang biasanya digunakan oleh DBA. 36
SQL Relational Database Language SQL merupakan kombinasi dari VDL, DDL, dan DML. 2 type DML: – High-level / non-procedural DML – Low-level / procedural DML 37
High-Level / Non-Procedural DML Disebut juga Data Sub Language – bisa dimasukkan melalui terminal atau – dijadikan satu dengan general purpose language (Host Language) Dapat mengambil banyak record dengan spesifikasi tertentu dalam satu DML statement (set-at-a-time DML) Bisa merupakan query language dimana data retrieval dan update dapat dilakukan secara interactive pada stand-alone system. 38
Low-Level / Procedural DML Statement dimasukkan atau dijadikan satu dengan general purpose language (Host Language) Hanya dapat mengambil satu record dan memprosesnya (record-at-a-time), karena itu memerlukan host language agar bisa dibuat suatu loop untuk ambil record dan proses. 39
DBMS Interface Perlu user-friendly interface – Menu-based interface for browsing – Forms-based Interface – Graphical user interface – Natural language interface – Interface for parametric user – Interface for the DBA 40
DBMS Environment
41
Fungsi setiap modul komponen DBMS
Untuk Disimak Kembali!
42
DBMS System Utilities Loading: sequential file to database, data transfer dari satu DBMS ke DBMS lain
Backup: copy ke disk lain atau ke tape File reorganization: reorganize database ke file organization lain Performance monitoring: database usage, number of record access failure, etc. 43