Konsep dan Arsitektur Basis Data IKI20410 – Basis Data Aniati Murni Fakultas Ilmu Komputer Universitas Indonesia
TOPIK PEMBAHASAN Data model, Schema and Instance DBMS (Data Base Management System) Architecture and Data Independence Database Language, Interface and System Environment
Elmasri Bab 2 2
Data Model (1) (Sumber: Silberschatz, Korth and Sudarahan ©1997)
Data model is a collection of tools for describing – Data, data relationship, data semantics, data constraints
Data model: – Object-based logical model:: • Entity-relationship model • Object-oriented model • Semantic model • Fungsional model: – Record-based logical model: • Relationship model • Network model • Hierarchical model
3
Data Model (2) (Sumber: Elmasri)
Data model adalah sekumpulan konsep yang digunakan untuk menjelaskan struktur dari basis data (database structure) dan memberikan gambaran tingkat-tingkat abstraksi data (data abstraction). Data model juga mencakup sekumpulan operasi (basic & user-defined) yang dapat dilakukan terhadap data yang dihimpun dalam basis data. Operasi dasar (basic) disediakan oleh sistem basis data: insert, delete, update, dan retrieve. User-defined operation dibuat oleh perancang, contoh: operasi menghitung IPK mahasiswa 4
Data Model (3) Data abstraction adalah deskripsi mengenai struktur basis data yang mudah dimengerti oleh user, atau bisa juga mencakup detil dari penyimpanan data yang biasanya perlu diketahui oleh perancang basis data à jadi ada tingkatan abstraksi. Database structure mencakup data type (type of name is string), relationship (customer has relationship with account), dan constraint (ada batasan bahwa tidak bisa menjamin bahwa peserta MIK harus sudah mengambil KP1). 5
View of Data (Sumber: Silberschatz, Korth and Sudarahan ©1997)
6
Tingkatan abstraksi Physical level menggambarkan bagaimana suatu record disimpan secara fisik. Logical level menggambarkan bagaimana suatu record disimpan dalam basis data dan menggambarkan hubungan (relationship) antar data. View level suatu application program, tidak akan memperlihatkan data type juga dapat menyembunyikan informasi (misal: gaji) yang mempunyai tingkat security tertentu yang terkait 7 dengan otoritas user.
Kategori Model Data (1) – Conceptual Data Model High-level or Conceptual data model konsep yang mudah dimengerti oleh end-user. Menggunakan konsep entities, attributes, dan relationships. Entity representasi obyek dalam dunia nyata (misal: maha-siswa) atau obyek dalam konsep (misal: mahluk ruang angkasa). Attribute: representasi property yang dimiliki oleh suatu entitas, misal: alamat atau gaji seorang karyawan. Relationship: hubungan antara beberapa entitas, misal: hubungan antara entitas pegawai dengan entitas proyek adalah pelaksana proyek. 8
Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and Sudarahan ©1997)
Entity Attribute Relationship
9
Kategori Model Data (2) – Implementation Data Model Representational or Implementation data model konsep yang dapat dimengerti oleh end user, menggambarkan organisasi data dalam komputer, tanpa detil penyimpanan dalam komputer. Disebut juga sebagai record-based data model, karena merepresentasi data dalam bentuk record structure. Konsep ini digunakan untuk menjelaskan skema traditional commercial database seperti relational database, network dan hierarchical databases. Record structure: type customer = record name: string; street: string; city: integer; 10 end;
Contoh Relational Model
11
Contoh Relational Model
12
Contoh Network Model
13
Kategori Model Data (3) – Physical Data Model
Low-level or Physical data model merupakan konsumsi computer specialist yang mencakup detil penyimpanan data di komputer. Pada konsep ini data direpresentasi dalam bentuk record format, record ordering, dan access path. Access path: adalah suatu struktur pencarian, pencarian record dalam database diharapkan bisa efisien. 14
Database (bentuk konsep dan riil) The description of the database (suatu bentuk konsep): adalah database schema, diperlukan dalam merancang basis data, tidak terlalu sering diubah. Skema basis data digambarkan oleh data model dalam bentuk diagram (database schema diagram). The database itself (suatu bentuk riil): merupakan himpunan data yang diorganisasikan sedemikian rupa sehingga dapat digunakan dan dipelihara (dimana datanya dapat ditambah, dihapus, dan sering diubah). 15
Database Schema, Instance, and State (Modifikasi dari Silberschatz, Korth and Sudarahan ©1997)
Similar to types and variables in programming languages Schema – the logical structure of the database (e.g., set of customers and accounts and the relationship between them) Instance – the actual content of the database at a particular point in time State – the data status in the database at a particular moment in time. 16
Key issue: kaitan antara schema, metadata, state, empty state, initial state, instance dan valid state
Untuk Disimak Kembali!
17
Database Schema Diagram Database schema diagram: bisa hanya menggambarkan beberapa aspek dari suatu skema basis data. Perhatikan pada slide berikut bahwa suatu diagram skema hanya menggambarkan struktur record object, tetapi (dalam contoh) tidak ada data type setiap data item, tidak ada relationship antar files, tidak ada penggambaran hubungan yang kompleks (constraint), juga tidak ada instan isi data yang aktual dari record (database instance). A schema construct: merupakan sebutan bagi object yang ada pada skema basis data, misal: STUDENT dan 18 COURSE.
Contoh Basis Data STUDENT Name StudentNumber Class Major Smith
17
1
CS
8
2
CS
Brown COURSE CourseName
SECTION
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
SectionIdentifier
Grade
17
112
B
8
85
A
CourseNumber
Instructor King Anderson
Prereq_Number
CS3380
CS3320
CS3320
CS1310
19
Contoh Database Schema Diagram STUDENT Nama
StudentNumber
Class
Major
COURSE CourseName
CourseNumber
CreditHours
Department
PREREQUISITE CourseNumber
Prereq_Number
SECTION SectionID
CourseNumber
Semester
Year
Instructor
GRADE_REPORT StudentNumber
SectionID
Grade
20
Key issue: kaitan antara data model, schema, dan database schema diagram
Untuk Disimak Kembali! (Perhatikan juga ada term high-level / conceptual, representational / implementation, dan low-level / physial pada data model; serta term external view, conceptual / logical, dan internal / physical pada database schema dan architecture) 21
Karakteristik Basis Data (Telah dibahas pada kuliah yang lalu)
Adanya program-data dan program-operation independence (berbeda dengan traditional programming and files) à insulated data searching. Mendukung multiple user views (a single repository of data yang digunakan oleh banyak user) à defined once for all. Deskripsi structure dan constraint basis data (database schema) disimpan dalam katalog à selfdescribing nature. à Ketiga karakteristik ini akan dijelaskan dengan 22 three-schema DBMS architecture berikut