Konsep dan Arsitektur Basis Data

advertisement
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
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
28
Ada penambahan data item pada record Grade_Report – dengan tanda
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
Download