43
Konsep dan Arsitektur Basis Data IKI20410 – Basis Data Aniati Murni Fakultas Ilmu Komputer Universitas Indonesia

Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

Konsep dan Arsitektur Basis Data

IKI20410 – Basis Data

Aniati Murni

Fakultas Ilmu Komputer

Universitas Indonesia

Page 2: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

2

Data model, Schema and InstanceDBMS (Data Base Management System) Architecture and Data IndependenceDatabase Language, Interface and System Environment

Elmasri Bab 2

TOPIK PEMBAHASAN

Page 3: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

3

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

Data Model (1)(Sumber: Silberschatz, Korth and Sudarahan ©1997)

Page 4: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

4

Data model adalah sekumpulan konsep yangdigunakan 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

Data Model (2)(Sumber: Elmasri)

Page 5: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

5

Data abstraction adalah deskripsi mengenai struktur basis data yang mudah dimengerti olehuser, 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).

Data Model (3)

Page 6: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

6

View of Data(Sumber: Silberschatz, Korth and Sudarahan ©1997)

Page 7: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

7

Physical level menggambarkan bagaimana suatu record disimpan secara fisik.Logical level menggambarkan bagaimana suatu record disimpan dalam basis data dan menggambarkan hubungan (relationship) antardata.View level suatu application program, tidak akan memperlihatkan data type juga dapat menyembunyikan informasi (misal: gaji) yangmempunyai tingkat security tertentu yang terkaitdengan otoritas user.

Tingkatan abstraksi

Page 8: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

8

High-level or Conceptual data model konsep yangmudah dimengerti oleh end-user. Menggunakan konsepentities, attributes, dan relationships. Entity representasi obyek dalam dunia nyata (misal: maha-siswa) atau obyek dalam konsep (misal: mahlukruang 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.

Kategori Model Data (1) – Conceptual Data Model

Page 9: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

9

Contoh Entity-Relationship Model(Sumber: Silberschatz, Korth and Sudarahan ©1997)

Entity

Attribute

Relationship

Page 10: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

10

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 danhierarchical databases. Record structure:

type customer = recordname: string;street: string;city: integer;

end;

Kategori Model Data (2) – Implementation Data Model

Page 11: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

11

Contoh Relational Model

Page 12: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

12

Contoh Relational Model

Page 13: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

13

Contoh Network Model

Page 14: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

14

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, danaccess path. Access path: adalah suatu struktur pencarian, pencarian record dalam database diharapkan bisa efisien.

Kategori Model Data (3) – Physical Data Model

Page 15: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

15

The description of the database (suatu bentukkonsep): adalah database schema, diperlukan dalammerancang 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).

Database (bentuk konsep dan riil)

Page 16: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

16

Similar to types and variables in programming languagesSchema – 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 timeState – the data status in the database at a particular moment in time.

Database Schema, Instance, and State(Modifikasi dari Silberschatz, Korth and Sudarahan ©1997)

Page 17: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

17

Key issue: kaitan antara schema, metadata, state, empty state, initial state, instance dan valid state

Untuk Disimak Kembali!

Page 18: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

18

Database schema diagram: bisa hanya menggam-barkan 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 COURSE.

Database Schema Diagram

Page 19: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

19

Contoh Basis Data

STUDENT Name StudentNumber Class Major

Smith 17 1 CS

Brown 8 2 CS

COURSE CourseName CourseNumber CreditHours Department

Data Structures CS3320 4 CS

Discrete Math. MATH2410 3 MATH

SECTION SectionID CourseNumber Semester Year Instructor

85 MATH2410 Fall 98 King

112 CS3320 Fall 98 Anderson

GRADE_REPORT StudentNumber SectionIdentifier Grade

17 112 B

8 85 A

PREREQUISITE CourseNumber Prereq_Number

CS3380 CS3320

CS3320 CS1310

Page 20: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

20

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

Page 21: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

21

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)

Page 22: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

22

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àà self-describing nature.

àà Ketiga karakteristik ini akan dijelaskan dengan three-schema DBMS architecture berikut

Karakteristik Basis Data(Telah dibahas pada kuliah yang lalu)

Page 23: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

23

Three-schema Architecture(Modifikasi dari: Silberschatz, Korth and Sudarahan ©1997)

EXTERNAL LEVEL

End User

Conceptual

Schema

Internal

Schema

CONCEPTUAL/LOGICAL LEVEL

INTERNAL/PHYSICAL LEVEL

External-Conceptual Mapping

Conceptual-Internal Mapping

STORED DATABASE

Page 24: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

24

Internal / Physical Schema: deskripsi secara detil dan lengkap tentang struktur penyimpanan data secara fisik dan access paths ke database à menggunakan low-level modelConceptual / 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 modelExternal 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 implementation model

Separation of the user application and the physical database

Page 25: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

25

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.

The term: Mapping - Interface

Page 26: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

26

Ability / Kemampuan untuk memodifikasi definisiskema pada suatu level tanpa berakibat padadefinisi skema pada level yang lebih tinggi Interface antar level dan komponen harusdidefinisikan dengan baik, sehingga perubahanpada suatu bagian tidak akan berakibat padabagian yang lain Dua tipe data independence:– Logical data independence– Physical data independence

Data Independence(Sumber: Silberschatz, Korth and Sudarahan ©1997)

Page 27: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

27

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.

Logical Data Independence

Page 28: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

28

Perubahan logical schema tidak mengubah external schema / application programs

STUDENT Name StudentNumber Class Major

Smith 17 1 CS

Brown 8 2 CS

COURSE CourseName CourseNumber CreditHours Department

Data Structures CS3320 4 CS

Discrete Math. MATH2410 3 MATH

SECTION SectionID CourseNumber Semester Year Instructor

85 MATH2410 Fall 98 King

112 CS3320 Fall 98 Anderson

GRADE_REPORT StudentNumber StudentName SectionID CourseNumber Grade

17 Smith 112 CS3320 B

8 Brown 85 MATH2410 A

PREREQUISITE CourseNumber Prereq_Number

CS3380 CS3320

CS3320 CS1310

Ada penambahan data item pada record Grade_Report – dengan tanda

ada data redundancy

Page 29: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

29

Reminder: apakah yang dimaksud dengan data consistency, dan apakah perbedaan antara controlled &

uncontrolled redundancy

Untuk Disimak Kembali!

Page 30: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

30

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.

Physical Data Independence

Page 31: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

31

Key issues: mekanisme apakah yang digunakan untuk memungkinkan adanya data independence

Untuk Disimak Kembali!

Page 32: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

32

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

DBMS Language & Interface

Page 33: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

33

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.

DDL (Data Definition Language)

Page 34: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

34

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.

SDL (Storage Definition Language)

Page 35: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

35

Bila digunakan 3 skema (view, conceptual dan internal), maka diperlukan bahasa ketiga (VDL) untuk menspesifikasikan user views dan memetakan (mapping) ke skemaconceptual. Pada umumnya DBMS menggunakan DDL untuk mendefinisikan external dan conceptual skema.

VDL (View Definition Language)

Page 36: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

36

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.

DML (Data Manipulation Language)

Page 37: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

37

SQL merupakan kombinasi dari VDL, DDL, dan DML.

2 type DML:

– High-level / non-procedural DML

– Low-level / procedural DML

SQL Relational Database Language

Page 38: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

38

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.

High-Level / Non-Procedural DML

Page 39: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

39

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.

Low-Level / Procedural DML

Page 40: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

40

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

DBMS Interface

Page 41: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

41

DBMS Environment

Page 42: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

42

Fungsi setiap modul komponen DBMS

Untuk Disimak Kembali!

Page 43: Konsep dan Arsitektur Basis Data · adalah pelaksana proyek. Kategori Model Data (1) – Conceptual Data Model. 9 Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and

43

Loading: sequential file to database, data transfer dari satu DBMS ke DBMS lain

Backup: copy ke disk lain atau ke tapeFile reorganization: reorganize database ke file organization lainPerformance monitoring: database usage, number of record access failure, etc.

DBMS System Utilities