sbd baru fix 2007

216
©Silberschatz, Korth and Sudarsha 1.1 Database System Concepts Basis Data (Database) Tujuan Instruksional Umum : Mahasiswa mampu merancang Basis Data yang baik sesuai konsep-konsep perancangan Basis Data yang benar. (3 SKS)

Upload: ferigogo

Post on 29-Dec-2015

61 views

Category:

Documents


3 download

TRANSCRIPT

©Silberschatz, Korth and Sudarshan1.1Database System Concepts

Basis Data (Database)

Tujuan Instruksional Umum :

Mahasiswa mampu merancang Basis Data yang baik sesuaikonsep-konsep perancangan Basis Data yang benar.

(3 SKS)

©Silberschatz, Korth and Sudarshan1.2Database System Concepts

Materi : Konsep Dasar Basis Data Sistem Basis Data Model-Model Data E-R Model Tranformasi E-R Model ke Basis Data Fisik Dekomposisi, Ketergantungan Fungsional dan Kunci Normalisasi Data Relational Model Bahasa Query

UTS

UAS

Basis Data (Database)

©Silberschatz, Korth and Sudarshan1.3Database System Concepts

Henry F Korth, Silberschatz, Sudarsan, “Database system concepts”

Fathansyah, “Basis Data”

Referensi :

C.J. Date, “Pengenalan Sistem Basis Data”

Utama :

Pendukung :

Adi Nugroho, ST., MMSI., “Konsep Pengembangan Sistem Basis Data”

Basis Data (Database)

©Silberschatz, Korth and Sudarshan1.4Database System Concepts

Penilaian :

UTS : 35%UAS : 35%Tugas : 30%

Alokasi Waktu yang diharapkan untuk matakuliah ini :3 SKS = 3 * 3 jam / minggu = 9 jam / minggu

• 3 jam / minggu belajar dikelas (kuliah)• 3 jam / minggu belajar mandiri• 3 jam / minggu mengerjakan tugas individu atau kelompok

Basis Data (Database)

©Silberschatz, Korth and Sudarshan1.5Database System Concepts

Konsep Dasar Basis Data

File data yang dapat menghasilkan informasi merupakan Sumberdaya bagi perusahaan / organisasi, maka perlu dikelola dengan :~ Baik Mudah dalam pengaksesan~ Terpadu Dapat mengantisipasi permasalahan masa yang akan datang (berksinambungan)~ Aman Data harus dapat dilindungi dari campur tangan pihak lain

Arti Penting Database (Basis Data) :

©Silberschatz, Korth and Sudarshan1.6Database System Concepts

Database System Applications :Banking : for customer information, accounts and loans, and banking transactionsAirlines : for reservations and schedule information

University : for students information, course registrations Sales : for customer, product, and purchase information

Manufacturing : inventories of items in stores and orders for itemsHuman Resources : for information about employees, salaries, payroll taxes and benefits

Finance : for storing information about holdings, sales, purchase of financial instruments such as stock and bonds

Konsep Dasar Basis Data

Database menyentuh semua aspek kehidupan

©Silberschatz, Korth and Sudarshan1.7Database System Concepts

Evolusi Teknologi Basis Data :

1960s: Data collection, database creation, IMS and network DBMS

1970s: Relational data model, relational DBMS implementation

1980s: RDBMS, advanced data models (extended-relational, OO,

deductive, etc.) and application-oriented DBMS (scientific, engineering, etc.)

1990s—2000s: Data mining and data warehousing, multimedia databases, and Web databases

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.8Database System Concepts

Sistem Pemrosesan Berkas (File Processing System / System File) :“sekelompok rekaman disimpan pada sejumlah berkas secara terpisah”

Prog. Aplikasi Personalia

Prog. Aplikasi Pelatihan Berkas

pelatihan

Berkaspersonalia

personalia

pelatihan

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.9Database System Concepts

Pada waktu yang lalu aplikasi database dibangun diatas sistem file

Kekurangan penggunaan sistem file sebagai penyimpan data: Redundansi / kerangkapan data dan inconsistency

Format file yang tidak seragam, kerangkapan data di file-file yang berbeda

Sulit dalam mengakses data

Perlu program baru untuk mengakses data baru

Pengisolasian data — banyak file dengan format yang berbeda

Masalah integritas (keterpaduan)

Pengendalian terpadu (mis. saldo > 0) menjadi bagian dari program

Sulit untuk menambah elemen pengendali atau mengubah yang sudah ada

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.10Database System Concepts

Kekurangan sistem file Pengubahan atomik

Kesalahan mungkin mengakibatkan database dalam kedaan yang tidak konsisten dengan data yang baru yang dihasilkan

Mis. Pengiriman uang dari satu rekening ke rekening yang lain harus terjadi secara lengkap atau tidak sama sekali

Akses secara bersamaan oleh banyak user

Akses secara bersama untuk meningkatkan kinerja

Akses bersama akan mengakibatkan ketidak konsistenan

– Mis. Dua orang membaca dan megubah data saldo pada saat yang sama

Masalah keamanan

Sistem Database mampu mengatasi masalah tersebut diatas

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.11Database System Concepts

Alasan Database perlu dirancang : Jumlah data yang selalu bartambah Adanya pengulangan / duplikasi data Disintegrasi antar data / file Keamanan data Keterasingan data Akses data secara simultan Masalah keutuhan data

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.12Database System Concepts

Pendekatan Basis Data :

DBMS BasisData

Data tersimpan secara terpusat berbagaiUser dapat mengakses data menggunakan

DBMS

personalia

pelatihan

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.13Database System Concepts

Keuntungan Pemakaian Sistem Basis Data: Efisiensi ruang penyimpanan (space) Keakuratan (accuracy) Data dapat dipakai bersama Kecepatan dan kemudahan (speed) Keamanan data terjamin Terpeliharanya integritas data Data independence

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.14Database System Concepts

Basis Data ?

Basis : Kumpulan / Gudang

Data : Fakta tentang obyek, orang dan lain-lain

yg dinyatakan dengan nilai (angka, simbol dll)Hirarki Data :

Byte Field Record File / Tabel Basis Data

Konsep Dasar Basis Data

IDSls NmSls AlamatAsal KotaAsal

S001 Anita Jl. Nakula 9 Kendal

S002 Vicky Jl. Arjuna I/6 Semarang

S003 Roni Jl. Bima II/3 Semarang

IDProd NamaProduk Harga QtyStock

F001 TV 14” 1500000 12

F002 TV 21” 2100.000

4

F003 TV 21” Flatron 2700000 24

NoOrder

Date IDProd QtyOrder IDSls

120301 12/11/04

F001 2 S001

120302 13/11/04

F001 2 S003

120303 22/11/04

F003 6 S001

linklink

©Silberschatz, Korth and Sudarshan1.15Database System Concepts

C.J. Date :

Basis data adalah tempat untuk sekumpulan file data /berkas terkomputerisasi

Definisi Lain :

Basis Data : kumpulan file data yang saling berhubungan dan

disimpan dalam media elektronis

Basis Data : kumpulan data yang saling berhubungan dan diorganisasi

sedemikian sehingga dapat dimanfaatkan dg cepat & mudah

Korth :

A Database is a collection of interralated data

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.16Database System Concepts

©Silberschatz, Korth and Sudarshan1.17Database System Concepts

Operasi-operasi dasar terhadap suatu basis data :Pembuatan basis data baru (create database)Penghapusan basis data (drop database)Pembuatan tabel (create table)Pengisian data dalam tabel (insert)Pengambilan data (retrieve)Pengubahan data (update)Penghapusan data (delete)dll

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.18Database System Concepts

Skema dan IsiSkema dan Isi

Mendekati tipe dan variabel dalam bahasa pemrograman

Skema – struktur lojik dari database Mis. Database yang berisi informasi tentang himpunan nasabah dan

rekeningnya dan relasi diantaranya

Analogi dengan tipe informasi dari variabel dalam sebuah program

Skema fisik : rancangan database dalam tingkatan fisik

Skema lojik : rancangan database dalam tingkatan lojik

Instan – isi aktual dari database pada suatu waktu Analogi dengan nilai variabel

Kemandirian data fisik – memungkinkan melakukan perubahan skema fisik tanpa mengubah skema lojik Aplikasi bergantung pada skema lojik

Secara umum, antar muka antara berbagai tingkat dan komponen harus dapat didefinisiikan dengan baik sehingga perubahan di suatu bagian tidak memberikan dampak banyak pada bagian lainnya.

©Silberschatz, Korth and Sudarshan1.19Database System Concepts

SKEMA LOGIKSKEMA FISIK

IDSls NmSls AlamatAsal KotaAsal

S001 Anita Jl. Nakula 9 Kendal

S002 Vicky Jl. Arjuna I/6 Semarang

S003 Roni Jl. Bima II/3 Semarang

IDProd NamaProduk Harga QtyStock

F001 TV 14” 1500000 12

F002 TV 21” 2100.000

4

F003 TV 21” Flatron 2700000 24

NoOrder

Date IDProd QtyOrder IDSls

120301 12/11/04

P001 2 S001

120302 13/11/04

P001 2 S003

120303 22/11/04

P003 6 S001link

link

Konsumen

Kode_k char(4)Nama_k char(20)Alamat_k char(12)Kota_k char(10)

Jual_d

No_fak char(5)Kode_brg int(2)Jml dec(12,2)

Jual_h

No_fak char(5)Tgl_jual dateKode_k char(4)

Barang

Kode_brg int(2)Nama_brg char(15)Satuan char(10)Harga int

©Silberschatz, Korth and Sudarshan1.20Database System Concepts

©Silberschatz, Korth and Sudarshan1.21Database System Concepts

©Silberschatz, Korth and Sudarshan1.22Database System Concepts

©Silberschatz, Korth and Sudarshan1.23Database System Concepts

©Silberschatz, Korth and Sudarshan1.24Database System Concepts

©Silberschatz, Korth and Sudarshan1.25Database System Concepts

©Silberschatz, Korth and Sudarshan1.26Database System Concepts

Sistem : Sebuah tatanan yang terdiri dari sejumlah Komponen fungsional yang SALING berhubungan untuk memenuhi suatu tujuan tertentu.

Sistem Basis Data :

Merupakan sistem yang terdiri atas basis data dan sekumpulan program (DBMS) yang memungkinkan beberapa user mengakses dan memanipulasi data tersebut.

Konsep Dasar Basis Data

©Silberschatz, Korth and Sudarshan1.27Database System Concepts

Sistem Basis Data

Komponen Sistem Basis Data :

Basis Data

File1 File3

file2 File4

Hardware Operating System Basis Data DBMS Pemakai / User Software lain

user

©Silberschatz, Korth and Sudarshan1.28Database System Concepts

DBMS berguna untuk :Mendefinisikan struktur data Memanipulasi nilai data yang ada dalam database.Pengendalaian akses terhadap suatu data : * untuk pengamanan sistem * untuk keterpaduan sistem * sistem pengendalian persetujuan akses * sistem pengendalian pemulihan.

Sistem Basis Data

DBMS ( Data Base Management System) :Adalah suatu program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi dan memperoleh data / informasi secara praktis dan efisien

©Silberschatz, Korth and Sudarshan1.29Database System Concepts

Sistem Basis Data

Contoh Produk DBMS :

Oracle (Oracle Corp.) Informix Sybase Dbase MS Sql Server MySQL

Sasaran utama DBMS menyediakan lingkungan yang nyamandan efisien dalam menyimpan dan mengambil informasi ke dan dari basis data

©Silberschatz, Korth and Sudarshan1.30Database System Concepts

Sistem Basis Data

Pemakai / User : Programmer Aplikasi Cara berinteraksi dengan basis data melalui program yang ditulis User Mahir (Casual User) Cara berinteraksi dengan basis data melalui query yang telah disediakan oleh DBMS User Umum (End User/Naïve User) Cara berinteraksi dengan basis data melalui pemanggilan program aplikasi (executable program) User Khusus (Specialized User) User yang dapat mengakses Basis data tanpa / dengan dbms, misalnya untuk keperluan Artificial Intelligence, Expert System dll

©Silberschatz, Korth and Sudarshan1.31Database System Concepts

Adalah orang yang bertanggung jawab terhadap sebuah database: Schema Definition Storage Structure and Access-method Definition Granting of Authorization for data access Routine Maintenance a. Backing up the database b. Monitoring jobs running on the database c. upgrading disk space as required

Database Administrator (DBA)

Sistem Basis Data

©Silberschatz, Korth and Sudarshan1.32Database System Concepts

Sistem Basis Data

Struktur Sistem Keseluruhan :

Naïve user Programmer

casual DBA

QueryProgramAplikasi

SystemCall

SkemaBasis Data

DML Precompiler

Query Processor

DDL Compiler

ExeProgram

DatabaseManager

File Manager File

DataKamusData

DBMS

DiskCompiler DDL menghasilkan sekumpulan tabel yang tersimpan dalam kamus data.Kamus Data berisi metadata (data tentang data)

©Silberschatz, Korth and Sudarshan1.33Database System Concepts

Sistem Basis Data

Keterangan :

File manager : mengelola alokasi ruang dalam disk dan struktur data dalam disk

Database manager : menyediakan interface antara low level Dengan prog. Aplikasi dan query

Query processor : menterjemahkan perintah dlm query Language ke perintah low level yang dimengerti oleh Database manager

DML precompiler : mengkonversi perintah DML yang ada Di prog. Aplikasi ke pemanggilan prosedur normal dlm Bahasa induk

DDL compiler : mengkonversi perintah-perintah DDL Kedalam sekumpulan tabel yang mengandung metadata. Tabel ini kemudian disimpan dalam kamus data

©Silberschatz, Korth and Sudarshan1.34Database System Concepts

Sistem Basis Data

Abstraksi Data : Merupakan tingkatan dalam bagaimana melihat data dalam Sistem Basis Data

Level Penampakan : user yang menikmati sebagian dari Basis DataMenggambarkan data apa yg sebenarnya (secara fungsional) disimpan dlm Basis Data dan hubungannya dg data lain

Bagaimana sesungguhnyasuatu data disimpan

Tingkat abstraksiTingkat abstraksi

©Silberschatz, Korth and Sudarshan1.35Database System Concepts

Tingkat abstraksiTingkat abstraksi

Tingkat Fisik : yang menjelaskan bagaimana sebuah rekord disimpan.

Tingkat Lojik : menjelaskan simpanan data dalam database, dan relasi antar data.

Tingkat user (pandang): program aplikasi menyembunyikan rinci tipe data. Tingkat pandang dapat juga menyembunyikan nilai informasi untuk kebutuhan keamanan.

Konsumen

Kode_k char(4)Nama_k char(20)Alamat_k char(12)Kota_k char(10)

Jual_d

No_fak char(5)Kode_brg int(2)Jml dec(12,2)

Jual_h

No_fak char(5)Tgl_jual dateKode_k char(4)

Barang

Kode_brg int(2)Nama_brg char(15)Satuan char(10)Harga int

©Silberschatz, Korth and Sudarshan1.36Database System Concepts

Sistem Basis Data

Bahasa Basis Data :Merupakan cara berinteraksi pemakai dg basis data yang sesuai dengan aturan ditetapkan oleh pembuat DBMSBagian Basis Data :

Data Definition Language (DDL)

Bahasa yg digunakan untuk menggambarkan basis data secara keseluruhan, Operasi yang dapat dijalankan adalah membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur. Hasil kompilasi dari DDL ini adalah Kamus Data (Data Dictionary)

Data Manipulation Language (DML)

Bahasa untuk melakukan manipulasi dan pengambilan data pada suatu basis data, seperti : penyisipan, penghapusan dan update.

©Silberschatz, Korth and Sudarshan1.37Database System Concepts

Tugas

a. List four significant differences between a file-processing system and a DBMSb. What are two advantages and disadvantages of a database systemc. What are five main function of a database administratord. Explain the database system conceptse. Explain the database schema, physical schema and logical schema

©Silberschatz, Korth and Sudarshan1.38Database System Concepts

Model Data Dalam SBD

Model Data : Adalah kumpulan perangkat konseptual untuk menggambarkan Data, hubungan antar data, semantik dan batasan data.

Model data biasanya digunakan untuk perancangan basis data, yang disebabkan karena kelangkaan data / fakta yang dimiliki

Henry F. Korth : Ada 2 kelompok model data, yaitu :

Model data berbasis object

Model data berbasis record

©Silberschatz, Korth and Sudarshan1.39Database System Concepts

Model Data Dalam SBD

Secara umum :

Data Model

Object Based

Record Based

Physical Based

E-R Model

Semantic ModelBinary Model

Relational ModelHierarchycal ModelNetwork Model

Unifying ModelFrame Model

©Silberschatz, Korth and Sudarshan1.40Database System Concepts

Model Data Dalam SBD

Model data File datar ( Flat-file data model )

a.Data flat-file terdiri dari satu atau lebih file yang dapat dibaca, yang secara normal berbentuk format file text.

b.Informasi pada suatu flat-file disimpan sebagai fields, dengan fields-nya memiliki panjang konstan atau panjang bervariasi yang dipisahkan beberapa karakter (delimeter).

©Silberschatz, Korth and Sudarshan1.41Database System Concepts

Model Data Dalam SBD

Model data File datar ( Flat-file data model )

Contoh 1, Flat-file Model Data

1234 5 67890123456789012345 6 78901234567890123

0123 Mulyono Progdi TI-S1

1234 Arifin Progdi TI-S1

2345 Tyas Catur P. Progdi TI-S1

3456 Ifan Riska Progdi TI-S1

4567 Ayu Pertiwi Progdi TI-S1

Model data flat-file dengan panjang fields-nya konstan.

©Silberschatz, Korth and Sudarshan1.42Database System Concepts

Model Data Dalam SBD

Model data File datar ( Flat-file data model )

Penjelasan Contoh 1,

Terdapat 3 fields : identifikasi angka, nama dosen, dan nama program studi.

Setiap fields memiliki panjang konstan karena field identifikasi angka selalu dimulai pada kolom #1 dan selalu berakhir pada kolom #4, field nama dosen selalu dimulai pada kolom #6 dan selalu berakhir pada kolom #25, dan seterusnya.

©Silberschatz, Korth and Sudarshan1.43Database System Concepts

Model Data Dalam SBD

Model data File datar ( Flat-file data model )

Contoh 2, Flat-file Model Data

Model data flat-file dengan panjang fields-nya bervariasi

0123: Mulyono: Progdi TI-S11234: Max Tetelepta : Progdi TI-S12345: Tyas Catur P.: Progdi TI-S13456: Ifan Riska:PS. Progdi TI-S14567: Ayu Pertiwi:PS. Progdi TI-S15678: Etika Kartika:PS. Progdi TI-S16789: Anthoni Suteja:PS. Progdi TI-S17890: Fikri Budiman: Progdi TI-S1

©Silberschatz, Korth and Sudarshan1.44Database System Concepts

Model Data Dalam SBD

Model data File datar ( Flat-file data model )

Penjelasan Contoh 2,

Model data flat-file dengan panjang fields bervariasi yang dipisahkan dengan delimeter.

Untuk setiap fields dipisahkan dengan titik dua. Setiap fields memiliki panjang tidak konstan.

Pada saat menggunakan fields separator, seharusnya fields seperatornya bukan merupakan karakter yang terdapat pada data.

©Silberschatz, Korth and Sudarshan1.45Database System Concepts

Model Data Dalam SBD

Model data File datar ( Flat-file data model )

Kelemahan model data flat-file: Flat-file tidak menggunakan struktur data yang dengan

mudah dapat direlasikan Sulit untuk mengatur data secara efisien dan menjamin

akurasi Lokasi fisik fields data dengan file harus diketahui Program harus dikembangkan untuk mengatur data

©Silberschatz, Korth and Sudarshan1.46Database System Concepts

Model Data Dalam SBD

Model Data Hirarkis :

Menjelaskan hub logik antar data dlm bentuk hub bertingkat. Elemen penyusun disebut node, node tertinggi : root. Suatu node yg lebih rendah hanya diijinkan memp, 1 hub dg node yg lebih tinggi, disebut parent. Parent dapat mempunyai > 1 hub dg node dibawahnya.

Contoh :

Nama UniversitasUDINUS

Nama Fak Jml MhsJml Dosen Jml Fak

Fasilkom 85 8500 5

NIM Fakultas Nama A21002 Adam Fasilkom

NIP PangkatNama_D

A001 DR. Vis IIIC

SKSNama_mkKD MK

MKK01 SBD I 2

Univ

Fak

Dosen

MK

Mhs

©Silberschatz, Korth and Sudarshan1.47Database System Concepts

Model Data Dalam SBD

Model Data Hirarkis

Kelebihan basis data hirarki dibandingkan flat-file: Data dapat dengan cepat dilakukan retrieve Integritas data mudah dilakukan pengaturan

Kelemahan basis data hirarki dibandingkan flat-file: Pengguna harus sangat familiar dengan struktur basis data Terjadi redudansi data

Keterangan :

©Silberschatz, Korth and Sudarshan1.48Database System Concepts

Model Data Jaringan : Distandarisasi oleh Data Base Task Group (DBTG) tahun 1971. Hampir sama seperti hirarakis, tetapi dalam model jaringan suatu node dibawahnya bisa memp hub dengan > 1 node diatasnyaContoh :

Universitas

Fakultas

Dosen

Mata Kuliah

Mahasiswa

Registrasi

Model Data Dalam SBD

©Silberschatz, Korth and Sudarshan1.49Database System Concepts

Model Data Jaringan

Model Data Dalam SBD

Kelebihan model data jaringan: Data lebih cepat diakses User dapat mengakses data dimulai dari beberapa

tabel Mudah untuk memodelkan basis data yang komplek Mudah untuk membentuk query yang komplek dalam

melakukan retrieve data.

©Silberschatz, Korth and Sudarshan1.50Database System Concepts

E-R model : Model yang menjelaskan hub antar data dalam basis data berdasarkan suatu persepsi bahwa real word terdiri dari obyek-obyek dasar yang mempunyai relasi antara obyek-obyek tersebutSimbol-simbol :

entitas

atribut

Relasi / hubungan

Garis hubung

Model Data Dalam SBD

©Silberschatz, Korth and Sudarshan1.51Database System Concepts

Model Data Dalam SBD

Contoh skema dalam model hubungan entitas

©Silberschatz, Korth and Sudarshan1.52Database System Concepts

Model Data Semantic :

Contoh :

Hampir sama seperti E-R Model, tetapi relasi antar obyek dasar dinyatakan dengan kata-kata (semantik).

Mahasiswa

Mata Kuliah

Dosenmengambil

Mengajar

NIM

Nama

Nama_dos

Alamat

Kode

NM_kul

SKS

Model Data Dalam SBD

©Silberschatz, Korth and Sudarshan1.53Database System Concepts

Model Data Relasional

Menunjukan suatu cara yang digunakan untuk mengelola data secara fisik dalam memori sekunder dan bagaimana bentuk relasi dari keseluruhan data dalam sistem yang sedang ditinjauKelebihan :

1. Dapat mengakomodasi berbagai kebutuhan pengelolaan basis data yg ada di dunia nyata (real word)

2. Pencarian data dari suatu tabel atau banyak tabel dapat dilakukan dengan cepat

3. Merupakan model yang paling sederhana sehingga mudah untuk dipahami

Disebut juga : Model Relasional atau Basis Data Relasional (ditemukan oleh : E.F. Codd)

©Silberschatz, Korth and Sudarshan1.54Database System Concepts

Model Data RelasionalBasis Data akan disebar / dipilah ke dalam tabel dua dimensi

Contoh :

NIM NamaMahasiswa

Alamat Tgl Lahir

980001 Ali Akbar Jl. Merdeka No. 10 Jakarta 40121 2 Jan 1979980002 Budi Haryanto Jl. Gajah Mada No. 2 Jakarta 6 Okt 1978980003 Imam Faisal Komp. Griya Asri D-2 Depok 40151 13 Mei 1978980004 Indah Susanti Jl. Adil No. 123 Bogor 21 Juni 1979

Tabel / relasi

Record / tuple

Kolom / Field / Atribut

Baris /kardi-nalitas

Item data

Model Data Dalam SBD

©Silberschatz, Korth and Sudarshan1.55Database System Concepts

Model Data RelasionalIstilah-istilah: RDMS (relational Database Management System) adalah

DBMS yang bermodelkan relasional Kardinalitas adalah jumlah tupel suatu relasi (tabel) Derajad / degree / arity adalah jumlah atribut suatu

relasi Domain adalah Himpunan / batasa nilai yang berlaku

bagi suatu atribut misalnya : Domain atribut nilai adalah A, B, C, D, dan E

Domain tidak sama dengan tipe data suatu atribut Istilah relasi biasanya untuk membicarakan struktur logis

sedangkan istilah tabel biasanya untuk basis data fisik

Model Data Dalam SBD

©Silberschatz, Korth and Sudarshan1.56Database System Concepts

Contoh Database Relasional Contoh Database Relasional

©Silberschatz, Korth and Sudarshan1.57Database System Concepts

Model Data Berorientasi Obyek

Model Data Dalam SBD

Model basis data berorientasi objek adalah suatu model basis data, dimana data didefinisikan, disimpan, dan diakses menggunakan pemrograman berorientasi objek.

Basis data berorientasi objek didefinisikan dengan menggunakan bahasa pemrograman berorientasi objek, yaitu bahasa Java.

Aplikasi End user juga di bangun dengan menggunakan bahasa berorientasi objek.

Object database management system digunakan untuk membuat link antara basis data dan aplikasi.

©Silberschatz, Korth and Sudarshan1.58Database System Concepts

Model Data Berorientasi Obyek

Model Data Dalam SBD

Database declarationsusing Java

interaction

Object declarations usingJava

Application code writtenusing Java

Java program compiler

Application executablesgenerated

End user

Database

Contoh : Model Data Berorientasi Obyek

©Silberschatz, Korth and Sudarshan1.59Database System Concepts

Model Data Berorientasi Obyek

Model Data Dalam SBD

Relasi pada basis data berorientasi obyek

Nama Class

PropertiesClass

Operasi / method

©Silberschatz, Korth and Sudarshan1.60Database System Concepts

Model Data Berorientasi Obyek

Model Data Dalam SBD

Kelebihan basis data berorientasi objek:

a. Programmer hanya dibutuhkan memahami konsep berorientasi objek untuk mengkombinasikan konsep berorientasi objek dengan storage basis data relasional

b. Objek dapat dilakukan sifat pewarisan dari objek yang lain

c. Secara teoritis mudah untuk mengatur objek

d. Model data berorientasi objek lebih kompatibel dengan tools pemrograman berorientasi objek.

©Silberschatz, Korth and Sudarshan1.61Database System Concepts

Kelemahan basis data berorientasi objek:

User harus memahami konsep berorientasi objek, karena basis data berorientasi objek tidak dapat bekerja dengan metoda pemrograman tradisional

Model Data Berorientasi Obyek

Model Data Dalam SBD

©Silberschatz, Korth and Sudarshan1.62Database System Concepts

E-R Model (Model Keterhubungan

Entitas)Semesta data di dunia nyata ditansformasikan ke dalam sebuah diagram dengan memanfaatkan perangkat konseptual disebut dengan ERD (Entity Relationship Diagram).

Simbol / Notasi E-R Diagram :

Strong Entity

Weak Entity

AssociativeEntity

Relationship

IdentifyingRelationship

Attribute

MultivaluedAttribute

DerivedAttribute

Link

©Silberschatz, Korth and Sudarshan1.63Database System Concepts

Entity (Entitas)Merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lainnya (individu : manusia, tempat, obyek, kejadian, konsep). Biasanya berhub. Dg baris dlm sebuah tabel).

Entity Sets (Himpunan Entitas) :

Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama

Contoh :Himpunan Entitas : Pelanggan Entitas : Budiman, Suherman dll

Himpunan Entitas : Mobil Entitas : Mobil Suzuki, Mobil Honda dll

Himpunan Entitas : Mahasiswa Entitas : Ali, Budi, Iman dll

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.64Database System Concepts

Contoh :

NIM NamaMahasiswa

Alamat Tgl Lahir

980001 Ali Akbar Jl. Merdeka No. 10 Jakarta 40121 2 Jan 1979980002 Budi Haryanto Jl. Gajah Mada No. 2 Jakarta 6 Okt 1978980003 Imam Faisal Komp. Griya Asri D-2 Depok 40151 13 Mei 1978980004 Indah Susanti Jl. Adil No. 123 Bogor 21 Juni 1979

Himpunan Entitas

Entitas 1

Entitas 3Entitas 4

Entitas 2

E-R Model (Model Keterhubungan

Entitas)

Analogi

©Silberschatz, Korth and Sudarshan1.65Database System Concepts

Atribut (attribute / Properties)Merupakan karakteristik dari sebuah entitas (biasanya berhubungan dengan field dalam sebuah tabel). Penentuan atribut bagi suatu entitas didasarkan pada relevansinya terhadap entitas tersebut.

Atribut Kunci / Identifikasi :Merupakan atribut pengidentifikasi entitas yang paling unik untuk semua entitas dalam himpunan entitasContoh : Atribut NIM pada Himp. Entitas mahasiswa

Atribut Deskriptif :

Merupakan atribut lain selain atribut kunci yang befungsi sebagai penjelasan terhadap entitas dalam himpunan entitasContoh : Atribut nama, alamat, tgl_lahir pada Himp. Entitas MHS

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.66Database System Concepts

Ada tiga macam kunci :

® Superkey Adalah satu / lebih atribut yg dapat membedakan entitas satu dengan lainnya dalam himp entitas

® Candidate Key Merupakan kumpulan atribut minimal yang dapat membeda kan entitas satu dengan lainnya dalam himp entitas.

® Primary Key Salah satu dari candidate key yang digunakan sebagi peng identifikasi suatu entitas dalam himp entitas.

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.67Database System Concepts

superkey

CandidateKey Primary Key

Contoh :

No_KTP No_SIM Nama Alamat

Superkey :No_KTP+No_SIM+Nama+AlamatNo_KTP+No_SIM+NamaNo_KTP+No_SIMNo_KTPNo_SIM

Candidate Key:No_KTPNo_SIM

Primary Key:No_KTP atau No_SIMtergantung kebutuhan

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.68Database System Concepts

Dasar pemilihan Primary Key :1. Key sering digunakan sebagai acuan2. Key lebih ringkas3. Key adalah unik

Atribut Sederhana (Simple Attribute) : atribut atomik yg tidak dapat di pilah lagi

Atribut Komposit (Composite Attribute) : atribut atomik yg dapat di pilah lagi

Contoh :Atribut nama : atribut sederhana (nilai sudah paling kecil / atomik)Atribut alamat : atribut komposit, karena masih dapat dipilah-pilah lagi menjadi atribut : jalan, kota dan kode_pos

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.69Database System Concepts

Atribut bernilai banyak (multivalued attribute) : Merupakan atribut yang dapat bernilai lebih dari 1 nilai yang sejenis

Atribut bernilai tunggal (Single-valued attribute) : Merupakan atribut yang hanya mempunyai satu nilai

Contoh :NIM Nama Alamat Hobi

98001 Rudi Jl. Seroja Renang Nonton98002 Wati Dago Raya Tidur

NIM, Nama dan Alamat : atribut bernilai tunggal

Hobi : atribut bernilai banyak

Atribut Turunan (Derived attribute) : Merupakan atribut yang nilainya diperoleh dari pengolahan atau diturunkan dari atribut / tabel lain

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.70Database System Concepts

Contoh :

NIM Nama Alamat Angkatan IPK

98001 Andi Jl. X 1998 3.299011 Susi Jl. Y 1999 3.0

Angkatan, IPK :

Atribut turunan

Atribut harus bernilai (Mandatory Attribute) :Merupakan atribut-atribut yang harus diisikan nilainya

Atribut tidak harus bernilai (Non Mandatory Attribute / Null) :Merupakan atribut-atribut yang nilainya boleh dikosongi

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.71Database System Concepts

Relasi (Relationship) :Digunakan untuk menunjukan hubungan antar entitas

Himpunan Relasi (Relationship Sets) :Merupakan kumpulan semua relasi diantara entitas

Contoh :Mahasiswa Mata Kuliah

NIM Nama ...

98001 Andi ...98003 Rudi ...

Kode_kul Nama_kul sks

A01 Pancasila 2A03 Internet I 2A02 Network I 2

Dari tabel-tabel diatas, dapat dilihat bahwa terdapat hubungan / relasiantara himp entitas mahasiswa dengan mata kuliah.--> Andi mempelajari mata kuliah Internet I--> Rudi mempelajari mata kuliah Internet I dan Network I

98013 Susi ...

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.72Database System Concepts

Sehingga apabila dimodelkan dengan E-R Diagram :

Mahasiswa Mata kuliahMempe lajari

NIM

Nama

Kode_kul

Nama_kul

sks

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.73Database System Concepts

Kardinalitas / Derajad Relasi :Merupakan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himp entitas yang lain.

Macam-macam Kardinalitas : Satu ke satu (one to one)

A B

Entitas 1Entitas 2Entitas 3Entitas 4

Entitas 2Entitas 3Entitas 4

Entitas 1Setiap entitas pada himp entitas A Berhubungan dengan paling banyak Dengan satu entias pada himpunanEntitas B dan begitu juga sebaliknya

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.74Database System Concepts

Contoh :

Dosen ProgdiMengepalai

1 1

Nama-Dosen alamat Nama_progKode

Nama-Dosen Kode

Satu dosen paling banyak mengepalai satu program studi (walaupun tidak semua dosen menjadi ketua) dan setiap program studi di kepalai oleh paling banyak satu dosen.

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.75Database System Concepts

Satu ke banyak (one to many)

Setiap entitas pada himp entitas A Berhubungan dengan banyak entias pada himpunan entitas B, tetapiTidak sebaliknya

A B

Entitas 1Entitas 2Entitas 3Entitas 4

Entitas 1Entitas 2Entitas 3Entitas 4

Contoh :Setiap agama dapat dianut oleh lebih dari satu mahasiswa,tetapi tidak sebaliknya (setiap mahasiswa hanya dapat menganut satu agama)

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.76Database System Concepts

Agama Mahasiswadianut1 N

Kode_agm

Deskripsi

Kode_agm NIM

NIM

Nama

Semester

E-R Model (Model Keterhubungan

Entitas)Contoh :

©Silberschatz, Korth and Sudarshan1.77Database System Concepts

banyak ke banyak (many to many)

Setiap entitas pada himp entitas A Berhubungan dengan banyak entias pada himp entitas B, dan sebaliknya

A B

Entitas 1Entitas 2Entitas 3Entitas 4

Entitas 1Entitas 2Entitas 3Entitas 4

Contoh :Setiap dosen dapat mengajar lebih dari satu mata Kuliah dan setiap mata kuliah dapat diajar oleh lebihDari satu dosen

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.78Database System Concepts

Contoh :

Dosen Mata KuliahMengajarN N

Nama_dos

Alamat_dos

Nama_dos

tempat

waktu

kode-_kuliah

Kode_kuliah

Nm_kuliah

SKS

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.79Database System Concepts

Tahapan pembuatan E-R Diagram :

Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat Menentukan atribut-atribut kunci dari masing-masing himpunan entitas Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas – himpunan entitas yang ada beserta foreign key (kunci tamu) Menentukan derajad / kardinalitas relasi untuk setiap himpunan entitas Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.80Database System Concepts

ERD dengan kamus data :Pada sebuah sistem yang kompleks, penggambaran atribut-atribut dalam sebuah ERD seringkali kelihatan lebih rumit. Untuk itu pendeklarasian atribut-atribut tersebut dapat menggunakan kamus data.

Contoh :

Dosen Mata KuliahMengajarN N

Kamus Data :

Dosen = {Nama_dos, Alamat_dos}Mengajar = {Nama_dos, KD_kuliah, Waktu, Tempat, Ruang }Mata Kuliah = {Kd_kuliah, Nm_kuliah, SKS}

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.81Database System Concepts

Derajad Relasi Minimum :Menunjukan hubungan (korespondensi) minimum yang boleh terjadi dalam suatu relasi antar himpunan entitas. Nilai derajad relasi minimumhanya boleh 0 atau 1.

Contoh :

Mahasisa Mata KuliahMempela jari

(0,N)

® Setiap mahasiswa dapat mempelajri banyak mata kuliah tetapi ada mahasiswa yang belum / tidak mempelajari mata kuliah satupun.® Setiap mata kuliah dapat dipelajari oleh banyak mahasiswa, tetapi bisa juga ada mata kuliah yang tidak / belum diikuti oleh satupun mahasiswa

(0,N)

minimum maksimum

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.82Database System Concepts

ERD dalam Notasi Lain :

Notasi :

Notasi Derajad Relasi Minimum - Maksimum

(0,N)

(1,N)

(1,1)

(0,1)

o

o

atau

atau

atau

atau

o

o

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.83Database System Concepts

Contoh :

Mahasisa Mata KuliahMempela jari

o o

Kamus Data :

Mahasiswa = {NIM, Nama, Alamat}Mempelajri = {NIM, KD_kuliah, Waktu, Tempat, Ruang }Mata Kuliah = {Kd_kuliah, Nm)kuliah, SKS}

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.84Database System Concepts

Varian Entitas :

Strong Entity (entitas kuat)Himpunan entitas yg tidak memiliki ketergantungan dg entitas yang lain.

Weak Entity (entitas Lemah)Himpunan entitas yg keberadaannya tergantung dengan entitas yang lain. Himpunan entitas yg demikian tidak memp.Atribut yg berfungsi sebagai key yg benar-benar menjaminkeunikan entitas.

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.85Database System Concepts

Entitas lemah (Weak Entity Sets)Entitas lemah (Weak Entity Sets) Entitas lemah disimbolkan dengan persegi panjang double.

discriminator dari entitas lemah ditandai dengan garis bawah terputus.

payment-number – discriminator dari entitas lemah payment

Primary key dari payment – (loan-number, payment-number)

©Silberschatz, Korth and Sudarshan1.86Database System Concepts

Entitas lemah (Weak Entity Sets)Entitas lemah (Weak Entity Sets)

Catatan : Kunci utama dari entitas kuat tidak secara eksplisit menjadi kunci utama entitas lemah, hal tersebut hanya berlaku selama ada relasi.

Jika loan-number secara eksplisit menggantikan, payment dapat menjadi entitas kuat, tetapi kemudian antara payment dan loan akan menjadi duplikasi dengan atribut loan-number yang menggabungkan payment dan loan

©Silberschatz, Korth and Sudarshan1.87Database System Concepts

Orang Tua

Hobbi

Mahasiswa

memiliki

Menyenangi

NIM

Nama

alamat

Tgl_lhr

NIMNm_ortu

NM_ortu

NIM hobbi

alm_ortu

Hobbi

Kunci utamaKunci yg tidakmenyakinkan

E-R Model (Model Keterhubungan

Entitas)Contoh :

©Silberschatz, Korth and Sudarshan1.88Database System Concepts

Varian Relasi : Relasi Tunggal (Unary Relation)

Relasi yang terjadi dari antar himpunan entitas yg sama

Contoh :

Dosen Mendam pingi

1

N

Nama_dos

Nama_dos

Keahlian

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.89Database System Concepts

Relasi Ganda (Redundant Relation)

E-R Model (Model Keterhubungan

Entitas)

Dosen Kuliah

Meng ajar

Menguasai

1

N

N

N

Kd_kulNm_dos

tempatwaktu

Nm_dos Kd_kul

Contoh :

©Silberschatz, Korth and Sudarshan1.90Database System Concepts

Relasi Multi Entitas (N-ary / Ternary Relation)

E-R Model (Model Keterhubungan

Entitas)

Merupakan relasi yang terdiri dari 3 himpunan entitas / lebih

Kuliah Dosen

Ruang

Pengajaran

Kd_kul

nm_kul

sks

Kd_rgwaktu

Nama_dos

Kd_rg

Nm_rg

kap

Nama_dosKd_kul

Contoh :

©Silberschatz, Korth and Sudarshan1.91Database System Concepts

E-R Model (Model Keterhubungan

Entitas)Spesialisasi :

Merupakan proses dekomposisi (pengelompokkan) sebuah himpunanentitas yg melahirkan himpunan entitas baru yang dilakukan secaratop-down.

Proses perancangan Top down; Membuat sub-grup dari

entitas sehingga menjadi berbeda dengan entitas yang lain.

Hasil dari sub grouping adalah entitas tingkat rendah dimana salah satu atribut sebagai relasi dengan entitas diatasnya.

Digambarkan dengan segitiga dan diberi label ISA (Mis. Pelanggan “is a” Manusia).

©Silberschatz, Korth and Sudarshan1.92Database System Concepts

Contoh 1 :

dosen

Dosen tetap Dosen ttd tetap

Is a

Top - down

Nm_dos

alm_dos

Nm_kantor

alm_kantor

nik

pangkat

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.93Database System Concepts

Contoh 2 :

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.94Database System Concepts

E-R Model (Model Keterhubungan

Entitas)Generalisasi :Merupakan penyatuan beberapa himpunan entitas menjadisebuah himpunan entitas baru. Atribut dari masing-masinghimpunan entitas disatukan kedalam himpunan entitas baru.

Proses perancangan bottom-up – menggabungkan

beberapa entitas yang mempunyai atribut yang sama

menjadi entitas yang lebih tinggi tingkatnya.

Spesialisasi dan generalisasi adalah upaya

penyederhanaan; dan dapat digambarkan dengan ERD.

Peristiwa spesialisasi dan generalisasi dapat diterapkan

bolak-balik.

©Silberschatz, Korth and Sudarshan1.95Database System Concepts

Contoh :Mahasiswa

Mahasiswa D3 Mahasiswa S1

Is a

bottom - up

E-R Model (Model Keterhubungan

Entitas)

©Silberschatz, Korth and Sudarshan1.96Database System Concepts

Spesialisasi dan GeneralisasiSpesialisasi dan Generalisasi

Pada sebuah entitas dapat dilakukan spesialisasi bertingkat tergantung dari kompleksitas entitas tersebut.

Mis. Karyawan_tetap vs. karyawan_tidak_tetap, dapat dibagi lagi berdasar pekerjaannya officer vs. sekretaris vs. teller

Setiap bagian dari karyawan dapat menjadi : Anggota dari karyawan_tetap atau karyawan _tidak_tetap,

Dan juga anggota dari officer, sekretaris atau teller

Realisasi ISA adalah relasi superclass - subclass

©Silberschatz, Korth and Sudarshan1.97Database System Concepts

Batasan perancangan dalam Batasan perancangan dalam Spesialisasi/GeneralisasiSpesialisasi/Generalisasi

Batasan sebuah entitas dapat menjadi anggota suatu entitas lain yang lebih tinggi. Tergantung dari keadaan

Mis. Semua pelanggan yang berusia diatas 65 tahun anggota entitas manusia_sepuh; manusia_sepuh ISA manusia.

Tergantung user

Batasan apakah entitas dimiliki oleh lebih dari satu entitas tingkat rendah dengan sebuah generalisasi. Disjoint

Sebuah entitas dapat dimiliki oleh hanya satu entitas tingkat rendah

Dalam diagram E-R tulis disjoint setelah segitiga ISA Overlapping

Sebuah entitas dapat dimiliki oleh lebih dari satu entitas tingkat rendah

©Silberschatz, Korth and Sudarshan1.98Database System Concepts

Batasan perancangan dalam Batasan perancangan dalam Spesialisasi/GeneralisasiSpesialisasi/Generalisasi

Batasan kelengkapan – spesifikasi apakah sebuah entitas merupakan entitas tingkat tinggi atau tidak harus dimiliki oleh satu atau lebih entitas yang lebih rendah dalam relasi generalisasi. total : sebuah entitas harus dimiliki oleh satu atau lebih entitas

tingkat rendah

Partial (sebagian): sebuah entitas tidak harus dimiliki oleh salah satu entitas tingkat rendah

©Silberschatz, Korth and Sudarshan1.99Database System Concepts

Agregasi :

Contoh :

Mahasiswa

Praktikum

Merupakan sebuah relasi yang secara kronologis mensyaratkantelah adanya relasi lain.

E-R Model (Model Keterhubungan

Entitas)

mempelajari Kuliah

mengikuti

N N

N

NNIM

Kd_rg

Kd_kul

nilai

Nama_prKd_rg

Kd_kul

nm_kul

NIM

Nama

©Silberschatz, Korth and Sudarshan1.100Database System Concepts

AgregasiAgregasi

Sehubungan dengan relasi ternary works-on, seperti pada contoh

dibawah

Seandainya kita ingin mengetahui manajer dari seorang karyawan

di sebuah cabang

©Silberschatz, Korth and Sudarshan1.101Database System Concepts

AgregasiAgregasi

Relasi works-on dan manages menyajikan informasi yang tumpang tindih Setiap relasi manages berhubungan dengan sebuah relasi pada works-on

Sementara itu, beberapa relasi works-on mungkin tidak berhubungan dengan relasi manages

Kita dapat membuang relasi works-on

Hilangkan kerangkapan dengan agregasi Anggap sebuah relasi dan entitas yang berelasi adalah sebuah entitas

Buat relasi dengan entitas lain

Tanpa mengenalkan istilah kerangkapan, diagram tersebut dapat diubah: Seorang karyawan bekerja di sebuah bagian di suatu cabang

Seorang karyawan , cabang, bagian dapat digabungkan dengan seorang manajer

©Silberschatz, Korth and Sudarshan1.102Database System Concepts

Diagram E-R dengan AgregasiDiagram E-R dengan Agregasi

©Silberschatz, Korth and Sudarshan1.103Database System Concepts

Diagram E-R Diagram untuk BankDiagram E-R Diagram untuk Bank

©Silberschatz, Korth and Sudarshan1.104Database System Concepts

ExerciseExercise

Consider a university database for the scheduling of classrooms for final exams.This database could be modeled as the single entity set exam, with attributescourse_number, section_number, room_number and time. Alternatively, one ormore additional entity sets could be defined, along with relationship sets to replace some of the attributes of the exam entity set, as☻ course with attributes name, department, and course_number☻ section with attributes section_number and enrollment, and dependent as a weak entity set on course☻ room with attributes room_number, capacity and building

Show an E-R Diagram illustrating the use of all three additional entity sets listed.

©Silberschatz, Korth and Sudarshan1.105Database System Concepts

E-R Model (Model Keterhubungan

Entitas)Transformasi ERD ke Basis Data Fisik (Tabel)Aturan-aturan :

1. Setiap Himp. Entitas Ditransformasikan sebagai sebuah tabel

Contoh :

Mahasiswa

nim

Nama_mhs

alamat

Nim nama_mhs alamat

mahasiswa

©Silberschatz, Korth and Sudarshan1.106Database System Concepts

E-R Model (Model Keterhubungan

Entitas)2. Relasi dengan Derajad satu-ke-satu yang menghubungkan 2 himp. Entitas akan transformasikan kedalam bentuk penyer taan atribut-atribut relasi ke salah satu himp. Entitas

1

1

Dosen

Progdi

mengepalai

Kode_dos

nm_dos

Kode_dos

Kode_P

Kode_p

nm_p

Kode_dos nm_dos

Kode_p nm_p Kode_dos

Atribut yg ditambahkan

dosen

progdi

©Silberschatz, Korth and Sudarshan1.107Database System Concepts

E-R Model (Model Keterhubungan

Entitas)Ketentuan penyertaan atribut adalah :

Atribut-atribut relasi akan disertakan ke himp. Entitas yg mempunyai derajad relasi minimumnya yg lebih besar

Atribut-atribut relasi akan disertakan ke himp. Entitas yg mempunyai jumlah record yg lebih sedikit

atau

©Silberschatz, Korth and Sudarshan1.108Database System Concepts

E-R Model (Model Keterhubungan

Entitas)3. Relasi dengan Derajad satu-ke-banyak yg menghubungkan 2 himp. Entitas akan transformasikan kedalam bentuk penyer taan atribut-atribut relasi ke himp. Entitas yg derajad rela sinya banyak (many).

1

m

dosen

Kuliah

mengajar

Kode_dos

nm_dos

Kode_dos

Kode_kul

ruang

Kode_kul

nm_kul

sks

Kode_dos nm_dos

Kode_kul nm_kul sks kode_dos ruang

Atribut yg ditambahkan

dosen

kuliah

©Silberschatz, Korth and Sudarshan1.109Database System Concepts

E-R Model (Model Keterhubungan

Entitas)4. Relasi dengan Derajad banyak-ke-banyak yg menghubungkan dua himp. Entitas, maka atribut-atribut relasi akan di ke transformasikan menjadi sebuah tabel

m

m

Mahasiswa

kuliah

krs

nimnama

nim Kode_kul

nilaiKode_k

ulNm_kul

sks

Nim nama

Nim kode-Kul nilai

Kode_kul nm_kul sks

mahasiswa

krs

kuliah

©Silberschatz, Korth and Sudarshan1.110Database System Concepts

E-R Model (Model Keterhubungan

Entitas)5. Implementasi Himp. Entitas Lemah

memiliki

mahasiswa

orangtua

Hobbi

nim

nim

nim

namahobbi

Nm_ortu

Nm_ortu

Alm_ortu

hobbisenang

1

1

1

n

Nim nama Nm_ortu alm_ortu nim Hobi nim

hobbiorangtuamahasiswa

Key yang diambil dari entitas kuat

©Silberschatz, Korth and Sudarshan1.111Database System Concepts

E-R Model (Model Keterhubungan

Entitas)6. Implementasi Spesialisasi

dosen

Dosen tetap Dosen tidak tetap

Kd_dosnm_dos

alm_dos

Nm_kantor

Alm_kantor

nip

pangkat

Tgl_msk

Is a

Kd_dos nm_dos alm_dos Nip pangkat tgl_msk kd_dos Nm_ktr alm_ktr kd_dos

dosen Dosen tetap Dosen tidak tetap

Key yg diambil dari entitas utama

©Silberschatz, Korth and Sudarshan1.112Database System Concepts

E-R Model (Model Keterhubungan

Entitas)7. Implementasi Generalisasi

mahasiswa

Mahasiswa d3 Mahasiswa s1

nimnama

alamat

Is a

Nim nama alamat progdimahasiswa

©Silberschatz, Korth and Sudarshan1.113Database System Concepts

E-R Model (Model Keterhubungan

Entitas)7. Implementasi unary relation

dosen mendampingi

prasyaratkuliah

n

n

Kd_kul

Nm_kul

1

n

Kd_kul

Kd_dos

Nm_dos

Kd_dos

Kd_dos nm_dos kd_dos_pen

dosen

Kd_kul nm_kulkuliah

Kd_kul kd_kul_syarat

prasyarat

Nama atribut diganti sesuai dg fungsinya

©Silberschatz, Korth and Sudarshan1.114Database System Concepts

Functional DependencyAnd

Normalization

©Silberschatz, Korth and Sudarshan1.115Database System Concepts

title year length filmType studioName starName

Star Wars 1977 124 color Fox Carrie Fisher

Star Wars 1977 124 color Fox Mark Hamill

Star Wars 1977 124 color Fox Harrison Ford

Mighty Ducks 1991 104 color Disney Emilio Estevez

Wayne’s World 1992 95 color Paramount Dana Carvey

Wayne’s World 1992 95 color Paramount Mike Meyers

Tabel : Film

motivasi

What your comment

………..Is a “good” design .. ??

©Silberschatz, Korth and Sudarshan1.116Database System Concepts

title year length filmType studioName starName

Star Wars 1977 124 color Fox Carrie Fisher

Star Wars 1977 124 color Fox Mark Hamill

Star Wars 1977 124 color Fox Harrison Ford

Mighty Ducks 1991 104 color Disney Emilio Estevez

Wayne’s World 1992 95 color Paramount Dana Carvey

Wayne’s World 1992 95 color Paramount Mike Meyers

Redundancy Informasi diulang-

ulang dalam beberapa tupel

125

Update AnomalyUpdate informasi

pada satu tupel tidak mengubah pada tupel

yang lain

motivasi

Tabel : Film

©Silberschatz, Korth and Sudarshan1.117Database System Concepts

title year length filmType studioName starName

Star Wars 1977 124 color Fox Carrie Fisher

Star Wars 1977 124 color Fox Mark Hamill

Star Wars 1977 124 color Fox Harrison Ford

Mighty Ducks 1991 104 color Disney Emilio Estevez

Wayne’s World 1992 95 color Paramount Dana Carvey

Wayne’s World 1992 95 color Paramount Mike Meyers

Tabel : Film

motivasi

Delete AnomalyJika Emilio Estavez

dihapus, akan kehilangan informasi

tentang Mighty Ducks

©Silberschatz, Korth and Sudarshan1.118Database System Concepts

Star Wars 1977 124 Color MGM James Earl Jones

Tabel : Film

motivasi

Insertion AnomalyJika kita sisipkan tupel baru

(Star Wars, 177, 124, color, MGM, James Earl Jones)maka akan terjadi inkonsistensi pada atribut studio

title year length filmType studioName starName

Star Wars 1977 124 color Fox Carrie Fisher

Star Wars 1977 124 color Fox Mark Hamill

Star Wars 1977 124 color Fox Harrison Ford

Mighty Ducks 1991 104 color Disney Emilio Estevez

Wayne’s World 1992 95 color Paramount Dana Carvey

Wayne’s World 1992 95 color Paramount Mike Meyers

©Silberschatz, Korth and Sudarshan1.119Database System Concepts

Masalah Anomali : Redundancy: Pengulangan informasi dalam

beberapa tupel yang sebenarnya tidak diperlukan.

Update anomalies: Pengubahan informasi dalam satu tupel yang tidak kompak (inkonsistensi).

Deletion anomalies: Kehilangan informasi akibat penghapusan informasi.

Insertion anomalies: Penambahan tupel baru yang tidak konsisten.

motivasi

©Silberschatz, Korth and Sudarshan1.120Database System Concepts

Integrity- redundansi- ambiguitas

Performance- kecepatan akses- efisiensi storage

Maintainability- update - delete- insert

Problems With :

Tabel Database yang baik (Good Design) : Mampu merepresentasikan informasi.

Jika ada dekomposisi maka dekomposisinya adalah aman (Lossless, not Lossy)

Terpeliharanya ketergantungan fungsionalMempunyai skema relasi yang baik, kemudahan update data tanpa anomali(Dependency Preservation)

Tidak terjadi pengulangan data- Tidak melanggar Boyce Codd Normal Form (BCNF)- Jika tidak dapat diupayakan memenuhi BCNF, maka minimal memenuhi bentuk 3NF(No Redundancy, anything say once)

Goals :

motivasi

©Silberschatz, Korth and Sudarshan1.121Database System Concepts

Teori Dasar : Dekomposisi Relasi

Key

Ketergantungan Fungsional

we discuss before …

©Silberschatz, Korth and Sudarshan1.122Database System Concepts

dekomposisi relasi

Diketahui skema relasi R. Gugus relasi {R1, R2, ,…, Rn} disebutDekomposisi dari R jika :

Dekomposisi : memecah relasi/tabel menjadi relasi/tabel yang lebih kecil untuk mendapatkan skema yang tidak mengandung anomali dan redundansi

R1 R2 … Rn = RR1 R2 … Rn = R

Artinya {R1, R2, …, Rn} dekomposisi dari R jika setiap atribut dalam R muncul paling sedikit di salah satu Ri untuk 1 i n

©Silberschatz, Korth and Sudarshan1.123Database System Concepts

idfilm title year length

filmType

F001 Star Wars 1977 124 color

F002 Mighty Ducks 1991 104 color

F003 Wayne’s World

1992 95 color

idstudio studioName

STD01 Fox

STD02 Disney

STD03 Paramount

idstar starName

STR01 Carrie Fisher

STR02 Mark Hamill

STR03 Harrison Ford

STR04 Emilio Estevez

STR05 Dana Carvey

STR06 Mike Meyers

idfilm title year length

filmType

idstudio

studioName

idstar starName

F001 Star Wars 1977 124 color STD01 Fox STR01 Carrie Fisher

F001 Star Wars 1977 124 color STD01 Fox STR02 Mark Hamill

F001 Star Wars 1977 124 color STD01 Fox STR03 Harrison Ford

F002 Mighty Ducks 1991 104 color STD02 Disney STR04 Emilio Estevez

F003 Wayne’s World 1992 95 color STD03 Paramount STR05 Dana Carvey

F003 Wayne’s World 1992 95 color STD03 Paramount STR06 Mike Meyers

DaftarFilm StudioFilm BintangFilm

Film original

Decomposition result

dekomposisi relasi

©Silberschatz, Korth and Sudarshan1.124Database System Concepts

dekomposisi relasi

Lossless Join digunakan untuk menjamin keutuhan data untuk operasi gabungan (join) dan merupakan fokus dalam desain basis data

relasional

Dekomposisi relasi R menjadi gugus relasi {R1, R2, …, Rn} yang tidak menyebabkan hilangnya informasi disebut Lossless-Join Decomposition.Jadi, jika r R dan ri = Ri(R) dimana 1 i n maka akan selalu memenuhi kondisi berikut :

i

n

ii

n

irrataurr

11

i

n

irr

1

atau

Dekomposisi relasi R menjadi gugus relasi {R1, R2, …, Rn} yang menyebabkan hilangnya informasi disebut Lossy-Join Decomposition.

©Silberschatz, Korth and Sudarshan1.125Database System Concepts

Film = (idfilm, title, year, length, filmType, idstudio, studioName, idstar, starName)

there is Anomaly !! Decompose it ……

idfilm title year length filmType idstudio studioName idstar starName

F001 Star Wars 1977 124 color STD01 Fox STR01 Carrie Fisher

F001 Star Wars 1977 124 color STD01 Fox STR02 Mark Hamill

F001 Star Wars 1977 124 color STD01 Fox STR03 Harrison Ford

F002 Mighty Ducks 1991 104 color STD02 Disney STR04 Emilio Estevez

F003 Wayne’s World 1992 95 color STD03 Paramount STR05 Dana Carvey

F003 Wayne’s World 1992 95 color STD03 Paramount STR06 Mike Meyers

dekomposisi relasi

Oopss !!!

©Silberschatz, Korth and Sudarshan1.126Database System Concepts

idfilm title year length

filmType

F001 Star Wars 1977 124 color

F002 Mighty Ducks 1991 104 color

F003 Wayne’s World

1992 95 color

idstudio studioName

STD01 Fox

STD02 Disney

STD03 Paramount

idstar starName

STR01 Carrie Fisher

STR02 Mark Hamill

STR03 Harrison Ford

STR04 Emilio Estevez

STR05 Dana Carvey

STR06 Mike Meyers

idfilm title year length

filmType

idstudio

studioName

idstar starName

F001 Star Wars 1977 124 color STD01 Fox STR01 Carrie Fisher

F001 Star Wars 1977 124 color STD01 Fox STR02 Mark Hamill

F001 Star Wars 1977 124 color STD01 Fox STR03 Harrison Ford

F002 Mighty Ducks 1991 104 color STD02 Disney STR04 Emilio Estevez

F003 Wayne’s World 1992 95 color STD03 Paramount STR05 Dana Carvey

F003 Wayne’s World 1992 95 color STD03 Paramount STR06 Mike Meyers

dekomposisi relasi

Losslessor

Lossy ?

DaftarFilm StudioFilm BintangFilm

Film

Andaikan di dekomposisiMenjadi 3 tabel tsb ….

©Silberschatz, Korth and Sudarshan1.127Database System Concepts

“Di studio manakah Star Wars dibuat ?”

Karena kita harus melakukan operasi gabungan terlebih dahulu dariKe-2 tabel. Misal kita lakukan operasi “cross product” antara Daftar_Film dan StudioFilm.

Pasti kita akan membutuhkan tabel DaftarFilm dan StudioFilm.

Dengan ke-3 tabel hasil dekomposisi, misal ditanyakan informasi :

Tapi dapatkah diperoleh informasi yang kita inginkan dari kedua skema relasi tersebut ?

Tampaknya : TIDAK.

dekomposisi relasi

DaftarFilm StudioFilm

©Silberschatz, Korth and Sudarshan1.128Database System Concepts

idfilm title year length filmType idstudio studioName

F001 Star Wars 1977 124 color STD01 Fox

F001 Star Wars 1977 124 color STD02 Disney

F001 Star Wars 1977 124 color STD03 Paramount

F002 Mighty Ducks 1991 104 color STD01 Fox

F002 Mighty Ducks 1991 104 color STD02 Disney

F002 Mighty Ducks 1991 104 color STD03 Paramount

F003 Wayne’s World 1992 95 color STD01 Fox

F003 Wayne’s World 1992 95 color STD02 Disney

F003 Wayne’s World 1992 95 color STD03 Paramount

Ternyata kita tidak mendapatkan informasi yang dibutuhkan, karena film Star Wars dibuat oleh 3 studio (Fox, Disney, Paramount)

dekomposisi relasiKehilanganInformasi !!

DaftarFilm StudioFilm

LOSSY DECOMPOSITION

©Silberschatz, Korth and Sudarshan1.129Database System Concepts

Functional Dependencies (FD) / Ketergantungan Fungsional (KF) digunakan untuk menggambarkan atau mendeskripsikan bentuk normal atas suatu relasi

functional dependencies (FD)

FD adalah batasan terhadap gugus relasi yang berlaku. Diperoleh berdasarkan hubungan antar atribut data.

Kegunaan FD :1. Untuk memeriksa keabsahan apakah semua relasi

sesuai dengan ketergantungan fungsional yang diberikan2. Untuk menetapkan batasan gugus relasi yang berlaku3. Untuk menentukan kunci relasi4. Untuk melakukan normalisasi atas suatu tabel relasional

©Silberschatz, Korth and Sudarshan1.130Database System Concepts

Misalkan R adalah suatu skema relasional, atribut x R dan y Rmaka x dikatakan secara fungsional menentukan y (atau y bergantung secara fungsional pada x), ditulis x y pada R, jika :1. Semua tupel ti [x], 1 i n adalah unik/tunggal2. Semua pasangan tupel dimana ti [x] = tj [x], i j, terjadi juga ti [y] = tj [y]

dengan kata lain :

Untuk setiap nilai x terdapat hanya satu nilai y (x menentukan secara tunggal nilai y). Jadi apabila terdapat 2 tuple t1 dan t2 mempunyai nilai atribut x yang sama, maka juga akan mempunyai nilai atribut y yang sama. t1[x] = t2 [x] t1[y] = t2 [y] pada skema relasi R

Misalkan R adalah suatu skema relasional, atribut x R dan y Rmaka x dikatakan secara fungsional menentukan y (atau y bergantung secara fungsional pada x), ditulis x y pada R, jika :1. Semua tupel ti [x], 1 i n adalah unik/tunggal2. Semua pasangan tupel dimana ti [x] = tj [x], i j, terjadi juga ti [y] = tj [y]

dengan kata lain :

Untuk setiap nilai x terdapat hanya satu nilai y (x menentukan secara tunggal nilai y). Jadi apabila terdapat 2 tuple t1 dan t2 mempunyai nilai atribut x yang sama, maka juga akan mempunyai nilai atribut y yang sama. t1[x] = t2 [x] t1[y] = t2 [y] pada skema relasi R

functional dependencies (FD)

definisi

©Silberschatz, Korth and Sudarshan1.131Database System Concepts

R = (A, B, C)

A B

1 4

1 5

2 7

A B ?t1(A)=t2(A), tetapi t1(B) t2(B)

A B C D

A1 B1 C1 D1

A1 B2 C1 D2

A2 B2 C2 D2

A2 B3 C2 D3

A3 B3 C2 D4

R = (A,B,C,D)

A C ? C A ? (A,B) C ? (A,B) D ?

C

C1

C1

C2

Maka A B A C ?

t1(A)=t2(A) dan t1(C) = t2(C)

Maka A C

functional dependencies (FD)

contoh

YesNoYesYes

©Silberschatz, Korth and Sudarshan1.132Database System Concepts

functional dependencies (FD)

©Silberschatz, Korth and Sudarshan1.133Database System Concepts

Film = (idfilm, title, year, length, filmType, idstudio, studioName, idstar, starName)

idfilm title year length filmType idstudio studioName idstar starName

F001 Star Wars 1977 124 color STD01 Fox STR01 Carrie Fisher

F001 Star Wars 1977 124 color STD01 Fox STR02 Mark Hamill

F001 Star Wars 1977 124 color STD01 Fox STR03 Harrison Ford

F002 Mighty Ducks 1991 104 color STD02 Disney STR04 Emilio Estevez

F003 Wayne’s World 1992 95 color STD03 Paramount STR05 Dana Carvey

F003 Wayne’s World 1992 95 color STD03 Paramount STR06 Mike Meyers

F004 My Hearts 1992 101 color STD04 MGM STR01 Carrie Fisher

F004 My Hearts 1992 101 color STD04 MGM STR01 Carrie Fisher

Apakah : idfilm title ?idstar studioName ?(idfilm,idstar) starName ?

functional dependencies (FD)

contoh

©Silberschatz, Korth and Sudarshan1.134Database System Concepts

FD dirumuskan berdasarkan batasan dari dunia nyata suatu atribut.Contoh : - Nomor Induk mahasiswa menentukan NamaMahasiswa NIM NamaMhs- Kode Matakuliah menentukan Nama Mata Kuliah dan SKS KodeMK (NamaMK, SKS)- NIM dan Kode Mata Kuliah menentukan Nilai Matakuliah (NIM,KodeMK) NilaiMK

Suatu FD : x y disebut trivial jika y x

functional dependencies (FD)

Contoh :X XX,Y XX,Y Y

X,Y,Z X,ZX,Y,Z ZX,Y,Z X,Y,Z

©Silberschatz, Korth and Sudarshan1.135Database System Concepts

functional dependencies (FD)

Armstrong’s Rule

A1. ReflexiveJika y x maka x y

A2. AugmentationJika x y maka (x,z) (y,z)

A3. TransitiveJika x y dan y z maka x z

A4. DecompositionJika x (y,z) maka x y dan x z

A5. UnionJika x y dan x z maka x (y,z)

A6. PseudotranstivityJika x y dan (z,y) w maka (x,z) w

Diketahui x y Dari A2 (x,z) (y,z)Diketahui (z,y) w Dari A3 (x,z) w

©Silberschatz, Korth and Sudarshan1.136Database System Concepts

Manfaat FD pada dekomposisi

Untuk :1. Lossless Join Decomposition Mendapatkan dekomposisi yang tidak kehilangan data/informasi2. No Redundancy

Mendapatkkan skema relasi yang tidak mengandung redundansi3. Dependency Preservation

Terjaminnya pemeliharaan ketergantungan sehingga dapat mengatasi masalah update anomali

©Silberschatz, Korth and Sudarshan1.137Database System Concepts

uji lossless-join decomposition

Misal diketahui skema relasi R didekomposisi menjadi gugus relasi {R1, R2, R3, R4, …, Rn}, maka dekomposisi ini disebut Lossless Join Decomposition jika kondisi R1 R2 R3 … Rn Ri dipenuhi sekurang-kurangnya untuk 1 nilai i, dimana 1 i n.

Dengan kata lain, jika diketahui skema relasi R didekomposisi menjadi gugus relasi {R1, R2}, maka dekomposisi ini disebut Lossless Join Decomposition jika dipenuhi salah satu kondisi : R1 R2 R1 atau R1 R2 R2

Langkah-2 Uji Lossless-joint Decomposition :1. Uji Dekomposisi

R1 R2 … Rn = R2. Uji Lossless-join

Menggunakan sifat ketergantungan fungsional

©Silberschatz, Korth and Sudarshan1.138Database System Concepts

uji lossless-join decomposition

contoh

Diketahui skema relasi R=(A,B,C,D,E,F,G,H) didekomposisi menjadi :R1=(A,B,C,D,G) dan R2=(B,D,E,F,H). FD pada R yang berlaku adalah :(1) B A,G(2) E D,H(3) A E,C(4) D FUjilah apakah dekomposisi {R1,R2} tersebut lossless atau lossy ?

1. Uji Dekomposisi

R1 R2 = (A,B,C,D,G) (B,D,E,F,H)= (A,B,C,D,E,F,G,H)= R

.:. Terbukti bahwa {R1,R2} adalah dekomposisi dari R.

©Silberschatz, Korth and Sudarshan1.139Database System Concepts

uji lossless-joint decomposition

contoh

2. Uji Lossless

Dari (1) B A,G maka :(5) B,D A,G,D (augmentasi)(6) B,D B,D (refleksif)

Jadi (7) B,D A,B,D,G(1) B A,G maka(8) B A dan (9) B G

Dari (3) A E,C maka(10) A E dan(11) A C maka :

R1 R2 = (A,B,C,D,G) (B,D,E,F,H)= (B,D)

Akan dibuktikan bahwa paling sedikit satu kondisi berikut dipenuhi : R1 R2 R1 ; (B,D) (A,B,C,D,G) atau R1 R2 R2 ; (B,D) (B,D,E,F,H)

Dari (8) B Adan (11) A C Maka (12) B C (transitif) Dan (13) B,D C,D (augmentasi)

Dari (7) dan (13) didapat :B,D A,B,C,D,G

terbukti{R1,R2}Lossless

Dari contoh di atas, tunjukkan pula bahwa (B,D) (B,D,E,F,H)

©Silberschatz, Korth and Sudarshan1.140Database System Concepts

uji dependency preservation

Misal skema relasi R dengan himpunan ketergantungan fungsional F didekomposisi menjadi R1,R2,R3,…,Rn. Dan F1,F2,F3,…,Fn adalah himpunan ketergantungan fungsional yang berlaku di R1,R2,R3,…,Rn maka dekomposisi tersebut dikatakan memenuhi sifat Dependency Preservation apabila berlaku :

(F1 F2 F3 … Fn)+ = F+

Dependency Preservation (Pemeliharaan Ketergantungan) merupakan kriteria yang menjamin keutuhan relasi ketika suatu relasi didekomposisi menjadi beberapa tabel. Sehingga diharapkan tidak terjadi inkonsistensi atau anomali ketika dilakukan update data.

©Silberschatz, Korth and Sudarshan1.141Database System Concepts

Armstrong’s rule dapat dimanfaatkan untuk menentukan F+

functional dependencies (FD)

Closure FD (F+)

Misal F adalah gugus ketergantungan fungsional pada skema relasi R,maka semua FD yang mungkin dapat diturunkan dari F dengan hukum-hukum FD disebut : Closure dari F, ditulis F+.

Contoh : Diketahui R = (A, B, C, D) F = { A B, B C, A C, C D} maka : A D

sebab A C dan C D, dari sifat transitif (A3) didapat A D B D

sebab B C dan C D, dari sifat transitif (A3) didapat B DSehingga {A B, B C, A C, C D, A D, B D} F+.

Kita dapat menurunkan anggota-anggota F+ yang lain berdasarkanFD yang diketahui menggunakan Armstong’s rule.

Closure FD (F+) berguna untuk Uji Dependency Preservation

©Silberschatz, Korth and Sudarshan1.142Database System Concepts

uji dependency preservation

Contoh :Diketahui skema relasi R=(A,B,C) dengan FD : A B ; B CDidekomposisi menjadi R1=(A,B) dan R2=(B,C)a. Apakah dekomposisi tsb Lossless-Joint ?b. Apakah dekomposisi tsb memenuhi Dependency Preservation ?

a. R1 R2 = (A,B) (B,C) = (A,B,C) = R R1 R2 = (A,B) (B,C) = BLossless jika B (A,B) atau B (B,C).Karena diketahui B C maka BB BC atau B BC (Augmentasi). Jadi dekomposisi tsb Lossless.

©Silberschatz, Korth and Sudarshan1.143Database System Concepts

b. R=(A,B,C) dan F = {AB, BC}. Karena AB dan BC maka AC. Maka dapat dibentuk closure F+={AB, BC,AC}.

R1=(A,B) dan F1={AB}. Karena hanya AB yang berlaku di R1.R2=(B,C) dan F2={BC}. Karena hanya BC yang berlaku di R2.

F1 F2 = {AB,BC}. Karena AB dan BC maka AC.Sehingga (F1 F2 )+={AB,BC,AC}=F+

Jadi dekomposisi tsb memenuhi Dependency Preservation.

Ujilah dekomposisinya apakah Lossless dan Dependency PreservationApabila R di atas didekoposisi menjadi R1=(A,B) dan R2=(A,C).

Bagaimana bila R1=(A,B) dan R2=(B,C) tetapi FD : BC, ACB

uji dependency preservation

©Silberschatz, Korth and Sudarshan1.144Database System Concepts

Ujilah dekomposisi dari skema relasi R, apakah lossless atau lossy ?1. R = (A,B,C,D,E,F,G,H) didekomposisi menjadi :

R1 = (A,B,C,D,E) dan R2 = (C,D,F,G,H) dengan FD :C (A,B,D) ; F (G,H) ; D (E,F)

2. R = (A,B,C,D,E) didekomposisi menjadi :R1 = (A,B,C,D) dan R2 = (C,D,E) dengan FD :A B ; (C,D) E ; B D ; E A

3. R = (X,Y,Z,W,U,V) didekomposisi menjadi :R1 = (X,Y,Z,W) dan R2 = (W,U,V) dengan FD :W X ; X Z

4. R = (A,B,C,D,E,F) didekomposisi menjadi :R1 = (A,B,C), R2 = (A,D,F) dan R3 = (E,D) dengan FD :A (B,C) ; D (F,A)

Ujilah pula dependency preservation nya untuk masing-masing soal tsb.

soal latihan

©Silberschatz, Korth and Sudarshan1.145Database System Concepts

KEYS KEYS

©Silberschatz, Korth and Sudarshan1.146Database System Concepts

atribut kunci (key)

Kunci (key) adalah kolom/atribut atau kombinasi kolom/atribut yang dapat digunakan untuk mengidentifikasi baris dalam tabel (entitas) secara unik.

Penentuan Key suatu tabel didasarkan pada sifat “determinasi”. Determinan : gugus atribut dimana satu atau lebih atribut lain

tergantung secara fungsional.“A determinan B” artinya apabila nilai atribut A akan menentukan nilai-nilai atribut B.“A determinan B” dapat dituliskan sebagai suatu ketergantungan fungsional A B. Jika A menentukan B,C dan D maka dituliskan A B,C,D.

Contoh : Relasi Mahasiswa=(NIM,Nama,Agama,TglLhr)Bila nilai NIM seorang mahasiswa diketahui maka dapat digunakan untuk melihat nilai-nilai atribut Nama, Agama dan Tanggal Lahirnya.Dituliskan NIM Nama,Agama,TglLhr

©Silberschatz, Korth and Sudarshan1.147Database System Concepts

superkey

Superkey (key) : - gugus atribut entitas yang dapat digunakan untuk mengidentifikasikan entitas/obyek secara unik.- satu atau lebih atribut yang membedakan setiap baris secara unik.Misal R skema relasi, dan K adalah satu atau lebih atribut dari R dimana K R maka K disebut Superkey jika dan hanya jika K R.Catatan : Suatu skema relasi dapat memiliki lebih dari 1 superkey.

Bila K adalah superkey maka semua atribut gabungan yang mengandung K juga merupakan superkey

Contoh : Relasi Sopir=(NoKTP,NoSIM,Nama,Alamat). Alternatif superkey : NoKTP superkey ; NoKTP Sopir NoSIM superkey ; NoSIM Sopir (NoKTP,NoSIM) superkey ; (NoKTP,NoSIM) Sopir (NoKTP,Nama) superkey ; (NoKTP,Nama) Sopir (NoKTP,NoSIM,Nama) superkey ; (NoSKTP,NoSIM,Nama) Sopir (NoKTP,NoSIM,Nama,Alamat) dengan sendirinya juga superkey Nama bukan superkey. Demikian juga (Nama,Alamat) juga bukan superkey

©Silberschatz, Korth and Sudarshan1.148Database System Concepts

Candidate Key :- Superkey dengan jumlah atribut minimal- Superkey tanpa redundansi (tidak memuat subset superkey yang lain)K adalah Candidate Key dari skema relasi R jika dan hanya jika :K R dan tidak terdapat K dengan R

Contoh :Skema relasi Sopir=(NoKTP,NoSIM,Nama,Alamat). Alternatif superkey : NoKTP superkey ; NoKTP Sopir NoSIM superkey ; NoSIM Sopir (NoKTP,NoSIM) superkey ; (NoKTP,NoSIM) Sopir (NoKTP,Nama) superkey ; (NoKTP,Nama) Sopir (NoKTP,NoSIM,Nama) superkey ; (NoSKTP,NoSIM,Nama) Sopir (NoKTP,NoSIM,Nama,Alamat) dengan sendirinya juga superkey

Sebagai Candidate Key nya adalah NoKTP atau NoSIM

candidate key

©Silberschatz, Korth and Sudarshan1.149Database System Concepts

Primary Key adalah candidate key yang dipilih untuk digunakan sebagai kunci identitas tabel secara unik (kunci indeks tabel) dan tidak boleh bernilai NULL.

Dasar pemilihan Candidate Key sebagai Primary Key : Key tsb menjamin keunikan baris data Key tsb bersifat natural atau universal (lazim dipakai sebagai acuan) Key tsb mudah dan ringkas untuk dipakai sebagai acuan

Contoh :Skema relasi Sopir=(NoKTP,NoSIM,Nama,Alamat). Alternatif superkey : NoKTP superkey ; NoKTP Sopir NoSIM superkey ; NoSIM Sopir (NoKTP,NoSIM) superkey ; (NoKTP,NoSIM) Sopir (NoKTP,Nama) superkey ; (NoKTP,Nama) Sopir (NoKTP,NoSIM,Nama) superkey ; (NoSKTP,NoSIM,Nama) Sopir (NoKTP,NoSIM,Nama,Alamat) dengan sendirinya juga superkeySebagai Candidate Key nya adalah NoKTP atau NoSIMMaka NoSIM lebih baik dipilih sebagai Primary Key untuk skema relasi Sopir

primary key

©Silberschatz, Korth and Sudarshan1.150Database System Concepts

Secondary Key adalah atribut (atau kombinasinya), yang digunakansebagai perantara untuk mendapatkan kembali data asal.

Biasanya dipakai pada pencarian data (data retrieval).

Contoh :Skema relasi Sopir=(NoKTP,NoSIM,Nama,Alamat) dengan NoSIM sebagai Primary Key. Walaupun atribut ini lazim dipakai sebagai identitas seorang Sopir,tapi apakah seorang sopir dijamin hapal nomor SIM nya ketika misalnya adatransaksi yang berkaitan dengan penggunaan identitas No SIM ?. Untuk memudahkan proses pencarian data sopir tersebut maka dapat digunakanatribut lain yang lebih mudah diingat misalnya “nama” dan/atau “alamat”. Penggunaan secondary key ini tentu saja tidak menjamin ditemukannya datauang unik, karena memang tidak ditujukan untuk kepentingan keunikan data.Tetapi sebagai alternatif atau fasilitas untuk membantu mengidentifikasi data. Analogikan ketika kita lupa akan ID atau password account email kita. Fasilitas apa yang bisa kita manfaatkan ?

secondary key

©Silberschatz, Korth and Sudarshan1.151Database System Concepts

Foreign Key adalah satu atau lebih atribut dalam satu tabel yang merupakan primary key tabel lain (kunci penghubung).

IDSls NmSls AlamatAsal KotaAsal

S001 Anita Jl. Nakula 9 Kendal

S002 Vicky Jl. Arjuna I/6 Semarang

S003 Roni Jl. Bima II/3 Semarang

IDProd NamaProduk Harga QtyStock

F001 TV 14” 1500000 12

F002 TV 21” 2100.000

4

F003 TV 21” Flatron 2700000 24 Sales

Produk

NoOrder

Date IDProd QtyOrder IDSls

120301 12/11/04

P001 2 S001

120302 13/11/04

P001 2 S003

120303 22/11/04

P003 6 S001

Order

Tabel Name : ProdukPrimary key : IDProdForeign Key : -

Tabel Name : OrderPrimary key : NoOrderForeign Key : IDProd,IDSls

Tabel Name : SalesPrimary key : IDSlsForeign Key : -

foreign key

linklink

©Silberschatz, Korth and Sudarshan1.152Database System Concepts

hubungan FD dengan key

Amstrong’s rule dapat digunakan untuk menurunkan superkey tabel,berdasarkan 1 atau lebih superkey yang diketahui

Rule 1 : Apabila diketahui FD yang memuat semua atribut pada tabel, maka atribut-atribut yang terdapat pada ruas kiri dari FD adalah superkey Contoh :Diketahui tabel R = (W,X,Y,Z) dan FD : XY WZ maka XY superkeySebab :XY WZ maka

XY XY (refleksif)XY XYWZ (union)XY R

Karena XY R maka XY superkey. Jadi ruas kiri dari FD merupakan superkey.

©Silberschatz, Korth and Sudarshan1.153Database System Concepts

Rule 2 : Atribut yang secara fungsional menentukan superkey dari tabel maka atribut tersebut juga merupakan superkeyContoh :Diketahui W superkey dari tabel R = (W,X,Y,Z) dan FD : Z W maka Z superkeySebab :Z W danW WXYZ (karena W superkey), maka Z WXYZ (transitif)Z RKarena Z R maka Z superkey

hubungan FD dengan key

©Silberschatz, Korth and Sudarshan1.154Database System Concepts

A B C D

A1 B1 C1 D1

A1 B2 C1 D2

A2 B2 C2 D2

A2 B3 C2 D3

A3 B3 C2 D4

R = (A,B,C,D) Apakah (A,B) superkey dari R ?

Akan dibuktikan apakah (A,B) R.Jika Ya maka (A,B) superkey dari R.

Karena semua tupel ti[A,B] untuk 1 i 5 adalah unik, t1[A,B]=(A1,B1)

t2[A,B]=(A1,B2)t3[A,B]=(A2,B2)t4[A,B]=(A2,B3)t5[A,B]=(A3,B3)

Maka (A,B) (A,B,C,D) atau (A,B) RJadi (A,B) superkey dari R Apakah A superkey dari R ?

Bukan, sebab A R. Mengapa ?

hubungan FD dengan key

©Silberschatz, Korth and Sudarshan1.155Database System Concepts

hubungan FD dengan key

Diketahui S = (A,B,C,D,E,F) dan FD : A BC ; B D ; C EF ; BF ACarilah superkey dan candidate key dari S menggunakan FD

A BCA BA C

karena A B dan B D maka A D

karena A Cdan C EF makaA EF

A ASehingga A ABCDEF atau A S (superkey)

BF AA ABCDEF makaBF ABCDEF BF S (superkey)

B D makaBC DC

C EF makaBC BEF

Jadi BC BCDEF BC BCDEF dan

BC A makaBC ABCDEF BC S (superkey)

Superkey dari SA, BC, BF serta gabungan atribut yang mengandung A, BC dan BF

Candidate key dari S A

Tips !!Fokuskan

perhatian Anda pada atribut-2 di ruas kiri dari FD untuk mencari

superkey

©Silberschatz, Korth and Sudarshan1.156Database System Concepts

Latihan :1. Diberikan R(A,B,C,D) dengan FD : AB,AC dan AD

Apakah A candidate key dari R ?2. Diberikan R(A,B,C,D) dengan FD : AB

a. Apakah ACD superkey dari Rb. Apakah A candidate key dari R

3. Diberikan R(A,B,C,D,E,F) dengan FD : C(AB);B(DE);EF;ABC a. Carilah superkey dari Rb. Carilah candidate key dari R

4. Diberikan R(A,B,C,D,E) dengan FD : A(BC);(CD)E;BD;EAa. Carilah superkey dari Rb. Carilah candidate key dari R

5. Diberikan R(A,B,C) dengan FD : AB;BC;CAApakah A merupakan satu-satunya candidate key dari R

hubungan FD dengan key

©Silberschatz, Korth and Sudarshan1.157Database System Concepts

No_fak

Tgl_faktur Nm_kons Almt_kons Kota_kons Kode_brg Nama_brg Jml Hrg_sat bayar

101 10-01-08 Ali Jl. A. Yani No. 10 Semarang 1101 Sandal 10 15000 150000

101 10-01-08 Ali Jl. A. Yani No. 10 Semarang 1110 Sepatu 7 100000 700000

101 10-01-08 Ali Jl. A. Yani No. 10 Semarang 1112 Kaos 15 30000 450000

102 11-01-08 Rudi Jl. Seroja Raya 1 Solo 1101 Sandal 20 15000 300000

102 11-01-08 Rudi Jl. Seroja Raya 1 Solo 1113 Jaket 4 200000 800000

Perhatikan Tabel berikut :

a b c d e f g h I j

©Silberschatz, Korth and Sudarshan1.158Database System Concepts

End Session TodayTomorrow We’ll Discuss About

Normalization ……

©Silberschatz, Korth and Sudarshan1.159Database System Concepts

Normalization Normalization

©Silberschatz, Korth and Sudarshan1.160Database System Concepts

normalisasi

Normalisasi : Teknik/pendekatan yang digunakan dalam membangun disain lojik database relasional melalui organisasi himpunan data dengan tingkat ketergantungan fungsional dan keterkaitan yang tinggi sedemikian sehingga menghasilkan struktur tabel yang normal.

Tujuan : Minimalisasi redundansi (pengulangan data) Memudahkan identifikasi entitas Mencegah terjadinya anomali

Beberapa bentuk normal (normal forms, NF) : 1NF, 2NF, 3NF, BCNF

based on keys and functional dependencies 4NF, 5NF

based on keys and multi-valued dependencies)

©Silberschatz, Korth and Sudarshan1.161Database System Concepts

Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dan tidak ada pengulangan grup atribut dalam baris.

Bentuk 1NF tidak boleh mengandung grup atribut yang berulang.

Tujuan membentuk 1NF :::. semantik tabel menjadi lebih eksplisit (say anything once).::. semua operator aljabar relasional dapat diaplikasikan pada tabel.

First Normal Form (1NF)

©Silberschatz, Korth and Sudarshan1.162Database System Concepts

IDSales NamaSales Telepon

ADN006 Yeni, SE 3517261, 3520165ADN007 Memey 4744621,08122861427ADN008 Tina 08566241521ADN009 Ir. Yanto 7265122, 7123910ADN010 Made 6723192

Tabel : Sales

non-atomic

UnnormalizedNot 1NF

IDSales NamaSales Telepon

ADN006 Yeni, SE 3517261ADN006 Yeni, SE 3520165ADN007 Memey 4744621ADN007 Memey 08122861427ADN008 Tina 08566241521ADN009 Ir. Yanto 7265122ADN009 Ir. Yanto 7123910ADN010 Made 6723192

1NF

First Normal Form (1NF)

©Silberschatz, Korth and Sudarshan1.163Database System Concepts

Tabel : Buku repeated

ISBN Thn_Terbit ID_Pengarang Nama_Pengarang ID_Pengarang Nama_Pengarang

12-1202-19222 1992 K0121 Aris M K1021 Kosim P11-1090-29101 2001 K1021 Kosim P11-1090-29102 2001 K2091 K Odelia K0121 Aris M12-1201-90871 2002 K2092 Renaldi K2091 K Odelia13-2089-12910 2001 K2019 Samsuri J

UnnormalizedNot 1NF

ISBN Thn_Terbit ID_Pengarang Nama_Pengarang

12-1202-19222 1992 K0121 Aris M12-1202-19222 1992 K1021 Kosim P11-1090-29101 2001 K1021 Kosim P11-1090-29102 2001 K2091 K Odelia11-1090-29102 2001 K0121 Aris M12-1201-90871 2002 K2092 Renaldi12-1201-90871 2002 K2091 K Odelia13-2089-12910 2001 K2019 Samsuri J

1NF

First Normal Form (1NF)

©Silberschatz, Korth and Sudarshan1.164Database System Concepts

Suatu relasi disebut memenuhi bentuk normal kedua (2NF) jika dan hanya jika :1. memenuhi 1NF2. setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut kunci (fully functionally dependent).

Untuk normalisasi ke bentuk 2NF, maka tabel 1NF didekomposisi menjadi beberapa tabel yang masing-masing memenuhi 2NF.

Bila terdapat ketergantungan parsial maka : eliminate.

Tujuan membentuk 2NF ::: semantik tabel 2NF menjadi lebih eksplisit (fully FD):: mengurangi update anomali yang masih mungkin terjadi pada 1NF

Second Normal Form (2NF)

©Silberschatz, Korth and Sudarshan1.165Database System Concepts

Contoh : Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)dengan FD : A,B C,D,E maka tabel R memenuhi 2NF sebab :A,B C,D,E berarti :A,B C, A,B D danA,B EJadi semua atribut bukan kunci utama tergantung penuh pada (A,B).

Second Normal Form (2NF)

Note : Jika suatu relasi memenuhi 1NF dan hanya memiliki tepat satu atribut kunci utama maka relasi tsb memenuhi 2NF

©Silberschatz, Korth and Sudarshan1.166Database System Concepts

Bagaimana bila R = (A,B,C,D,E) tetapi dengan FD : (A,B) (C,D) dan B E. Apakah memenuhhi 2NF ?

Jelas bahwa R bukan 2NF karena ada atribut E yang bergantung hanya pada atribut B saja dan bukan terhadap (A,B). Dari FD : (A,B) (C,D) juga mencerminkan bahwa hanya C dan D saja yang bergantung secara fungsional terhadap (A,B), tidak untuk E. Jadi bukan 2NF.

Untuk mengubah menjadi 2NF, lakukan dekomposisi menjadi :R1 = (A,B,C,D) dan R2 = (B,E). Tampak R1 dan R2 memenuhi 2NF.

Second Normal Form (2NF)

©Silberschatz, Korth and Sudarshan1.167Database System Concepts

Diketahui Workshop = (NIM,Modul,Biaya,Grade)

NIM

Peserta Workshop

Modul BiayaKey : NIM+ModulFD : Modul Biaya

NIM Modul Biaya Grade

P11.2004.0129 VB.Net 250000 A

P11.2004.0130 Prolog 100000 A

P11.2004.0129 Prolog 100000 B

P11.2004.0201 Delphi 6 150000 A

P11.2004.0250 VB.Net 250000 B

(Biaya ditentukan oleh Modul yangdiambil mahasiswa)

1NF Not 2NF

Sebab dalam tabel ini, Biaya tidak bergantung penuhpada atribut kunci (NIM,Modul)

Tabel biaya peserta workshop

Grade

Second Normal Form (2NF)

©Silberschatz, Korth and Sudarshan1.168Database System Concepts

NIM Modul Biaya Grade

(NIM,Modul) = key(NIM,Modul) Biaya (partial)(NIM,Modul) Grade (full)

Eliminate

NIM Modul Biaya Grade

Make Decomposition :

Works1 = (NIM,Modul,Grade)Works2 = (Modul,Biaya)

Fully Dependency

Second Normal Form (2NF)

©Silberschatz, Korth and Sudarshan1.169Database System Concepts

NIM Modul Biaya Grade

P11.2004.0129 VB.Net 250000 A

P11.2004.0130 Prolog 100000 A

P11.2004.0129 Prolog 100000 B

P11.2004.0201 Delphi 6 150000 A

P11.2004.0250 VB.Net 250000 B

WorkshopNIM Modul Grade

P11.2004.0129 VB.Net A

P11.2004.0130 Prolog A

P11.2004.0129 Prolog B

P11.2004.0201 Delphi 6 A

P11.2004.0250 VB.Net B

Modul Biaya

VB.Net 250000

Prolog 100000

Delphi 6 150000

Works1

Works2

More Better Then1NF

Second Normal Form (2NF)

©Silberschatz, Korth and Sudarshan1.170Database System Concepts

Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika :1. memenuhi 2NF2. setiap atribut yang bukan kunci tidak tergantung secara fungsional terhadap atribut bukan kunci yang lain dalam relasi tsb (tidak terdapat ketergantungan transitif pada atribut bukan kunci).

Third Normal Form (3NF)

Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika setiap FD nontrivial : X A, dimana X dan A atribut (atau kompositnya), memenuhi salah satu kondisi :1. X adalah superkey2. A merupakan anggota candidate key (A disebut prime attribute)

Another Definition :

©Silberschatz, Korth and Sudarshan1.171Database System Concepts

Third Normal Form (3NF)

Note : Jika suatu relasi memenuhi 2NF dan hanya memiliki tepat satu atribut yang bukan kunci utama maka relasi tsb memenuhi 3NF

Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF, maka untuk normalisasi ke bentuk 3NF, tabel 2NF didekomposisi

menjadi beberapa tabel hingga masing-masing memenuhi 3NF. Tujuan membentuk 3NF :

:: semantik tabel 3NF menjadi lebih eksplisit (fully FD hanya pada primary key).:: menghindari update anomali yang masih mungkin terjadi pada 2NF.

©Silberschatz, Korth and Sudarshan1.172Database System Concepts

Contoh : Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)dengan FD : A,B C,D,E dan C D,E maka R bukan 3NF sebab :Atribut D dan E (bukan kunci utama) bergantung secara fungsional pada C (yang juga bukan kunci utama).

Melalui FD : Diketahui A,B C,D,E.

Karena sifat refleksif maka A,BA,B. Sehingga A,BA,B,C,D,E (A,B) : Superkey.

Diketahui CD,E.Karena sifat refleksif maka CC. Sehingga CC,D,E. Karena C A,B,C,D,E maka C bukan superkey.

Tidak memenuhi definisi 3NF. Jadi R bukan 3NF.

Agar R memenuhi 3NF maka didekomposisi menjadi :R1=(A,B,C) dan R2=(C,D,E) sehingga R1 dan R2 memenuhi 3NF.

Third Normal Form (3NF)

©Silberschatz, Korth and Sudarshan1.173Database System Concepts

FD : A,B C,D,E berarti A,B C ; C D,E ; A,B D,EA,B D reduceA,B E reduce

Dekomposisinya : R1=(A,B,C) ; FD : (A,B)CR2=(C,D,E) ; FD : CD,E

A B C D E

A B C C D E

R1 R2

R

Third Normal Form (3NF)

©Silberschatz, Korth and Sudarshan1.174Database System Concepts

Misal diketahui struktur informasi dari suatu dokumen supplier :

Akan dibentuk suatu tabel dengan skema TPS=(S,Status,City,P,Qty) dengan (S,P) = primary key dan berlaku FD :

SStatusSCityCityStatus

Lakukan normalisasi dari 1NF hingga 3NF.

S Status CityP Qty

S1 20 LONDON P1 300P2 200P3 400P4 200P5 100P6 100

S2 10 PARIS P1 300P2 400

S3 10 PARIS P2 200S4 20 LONDON P2 200

P4 399P5 400

PQ

Third Normal Form (3NF)

©Silberschatz, Korth and Sudarshan1.175Database System Concepts

1NF Not 2NF

Problem : Redundansi inconsistency

low speed process Anomaly :

S(Status,City) tapi kita tidak bisa insertdata (S5,30,JAKARTA) tanpa diikuti dataP (khususnya) dan Q. Menghapus 1 barisdata akan jg merusak keutuhan informasi.

Solusi :Dekomposisi menjadi :TPS1 dan TPS2

TPSS Status City P QtyS1 20 LONDON P1 300S1 20 LONDON P2 200S1 20 LONDON P3 400S1 20 LONDON P4 200S1 20 LONDON P5 100S1 20 LONDON P6 100S2 10 PARIS P1 300S2 10 PARIS P2 400S3 10 PARIS P2 200S4 20 LONDON P2 200S4 20 LONDON P4 399S4 20 LONDON P5 400

Third Normal Form (3NF)

©Silberschatz, Korth and Sudarshan1.176Database System Concepts

TPS1 TPS2S P QtyS1 P1 300S1 P2 200S1 P3 400S1 P4 200S1 P5 100S1 P6 100S2 P1 300S2 P2 400S3 P2 200S4 P2 200S4 P4 399S4 P5 400

S Status CityS1 20 LONDONS2 10 PARISS3 10 PARISS4 20 LONDON

Sekarang kita dapat menambahdata (S5,30,JAKARTA) dgn aman

Tapi masih ada anomaly :Karena CityStatus maka kita tidak bisa entry data City baru sebelum Status punya nilai. Penghapusan 1 barissebagian data City juga bisa merusak keutuhan informasi S.

Selain itu, masih ada redundansipada Status dan City

1NF 2NF Not 3NF (trans.) SCity CityStatus

1NF 2NF 3NF

Third Normal Form (3NF)

©Silberschatz, Korth and Sudarshan1.177Database System Concepts

S CityS1 LONDONS2 PARISS3 PARISS4 LONDON

City StatusLONDON 20PARIS 10

TPS1-1 TPS1-2 TPS2S P QtyS1 P1 300S1 P2 200S1 P3 400S1 P4 200S1 P5 100S1 P6 100S2 P1 300S2 P2 400S3 P2 200S4 P2 200S4 P4 399S4 P5 400

1NF 2NF 3NF

1NF 2NF 3NF 1NF

2NF 3NF

Third Normal Form (3NF)

©Silberschatz, Korth and Sudarshan1.178Database System Concepts

Third Normal Form (3NF) Try it … !!

1.Diberikan skema relasi R = (A,B,C,D,E,F,G,H,I,J,K) dengan ketergantunganfungsional :A B,C,D ; C D ; E F ; A,E G,H,I,J,K ; I J,KApakah R memenuhi 3NF ? Jika tidak, rancanglah skema relasi R sedemikian

sehingga memenuhi bentuk 3NF. Bila Saudara melakukan dekomposisi tabel, lengkapi dengan uji dekomposisi dan uji lossless.

2.Diketahui R=(A,B,C,D,E,F,G) dimana (A,B) : primary keyKetergantungan fungsional yang berlaku (FD) :A C,D,F ; B C,D,E,G ; E G Jika diketahui bahwa R memenuhi 1NF, apakah R memenuhi 3NF ? Jika tidak,

rancanglah skema relasi R sedemikian sehingga memenuhi bentuk 3NF. Bila Saudara melakukan dekomposisi tabel, lengkapi dengan uji dekomposisi dan uji lossless.

©Silberschatz, Korth and Sudarshan1.179Database System Concepts

Boyce Codd Normal Form (BCNF)

Suatu relasi disebut memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah candidate key.

Definisi yang lain :Suatu relasi disebut memenuhi BCNF jika untuk setiap FD nontrivial :X A atribut X adalah superkey.

Untuk normalisasi ke bentuk BCNF, maka tabel 3NF didekomposisi menjadi beberapa tabel yang masing-masing memenuhi BCNF.

Tujuan membentuk BCNF ::: semantik multiple candidate key menjadi lebih eksplisit (FD hanya pada candidate key).:: menghindari update anomali yang masih mungkin terjadi pada 3NF.

Dari definisi 3NF dan BCNF, maka apabila suatu relasi memenuhi BCNF pasti memenuhi 3NF, tetapi belum tentu sebaliknya.

©Silberschatz, Korth and Sudarshan1.180Database System Concepts

Contoh : Diketahui tabel R=(A,B,C)dengan FD : A B dan B C maka R bukan BCNF, sebab : A superkey ?

AB (diketahui)AB dan BC maka AC (transitif)AA (refleksif)Sehingga A(A,B,C) atau AR. Jadi A superkey.

B superkey ?BC (diketahui)BB (refleksif)Tapi BA. Sehingga BA,B,C atau B bukan superkey.

Agar R memenuhi BCNF maka didekomposisi menjadi :R1=(A,B) ; FD : A B dan R2=(B,C) ; FD : B C. sehingga R1 dan R2 masing-masing memenuhi BCNF. Sebab A dan Bdua-duanya sekarang menjadi superkey.

Boyce Codd Normal Form (BCNF)

©Silberschatz, Korth and Sudarshan1.181Database System Concepts

Contoh : Diketahui tabel R=(A,B,C)dengan FD : AB C dan C B. Apakah : 3NF ? BCNF ?

R memenuhi 3NF karena :ABC ; maka AB ABC, atau AB R. Jadi AB superkey dari RCB ; maka AC AB, atau AC ABC dan AC R. Jadi AC juga superkey (sekaligus juga candidate key) dari R Karena AB superkey dan C subset candidate key maka R memenuhi 3NF

R bukan BCNF karena :AB superkey tetapi C bukan superkey.

Boyce Codd Normal Form (BCNF)

©Silberschatz, Korth and Sudarshan1.182Database System Concepts

Students=(sid, name, age)FD : sid name, age• BCNF, sebab sid superkey

Books=(bid, title, year)FD : bid title, year• BCNF, sebab bid superkey

Pinjam=(idpinjam, sid, bid, date)FD : idpinjam bid, date• Bukan BCNF, sebab idpinjam bukan superkey idpinjam sid

Students

sid nameage

53666 Jones 18

53668 Smith 18

53669

Melissa 17

53670 Hilden 19

Books

bid titleyea

r

B001 MySQL200

2

B002 Algorithm200

3

B003Visual Foxpro 6.0

2003

B004Visual basic 6.0

2005

Pinjamidpinja

m sid bid date

P-01 53666 B00210/11/200

5

P-02 53668 B00110/11/200

5

P-03 53668 B00411/12/200

5

P-04 53670 B00214/11/200

5

Boyce Codd Normal Form (BCNF)

©Silberschatz, Korth and Sudarshan1.183Database System Concepts

Pinjamidpinja

m sid bid date

P-01 53666 B00210/11/200

5

P-02 53668 B00110/11/200

5

P-03 53668 B00411/12/200

5

P-04 53670 B00214/11/200

5

Didekomposisi menjadi :Pinjam1

idpinjam sid

P-01 53666

P-02 53668

P-03 53668

P-04 53670

Pinjam2idpinja

m bid date

P-01 B00210/11/200

5

P-02 B00110/11/200

5

P-03 B00411/12/200

5

P-04 B00214/11/200

5

FD trivial BCNF

idpinjam bid, dateidpinjam superkey BCNF

Boyce Codd Normal Form (BCNF)

©Silberschatz, Korth and Sudarshan1.184Database System Concepts

It is always possible to decompose a relation into relations in 3NF and the decomposition is lossless the dependencies are preserved

It is always possible to decompose a relation into relations in BCNF and the decomposition is lossless it may not be possible to preserve

dependencies.

Comparison of BCNF And 3NF

©Silberschatz, Korth and Sudarshan1.185Database System Concepts

Contoh kasus redundansi pada 3NFJadwal = (Nim,Modul,Dosen)FD = {Dosen Modul}Relasi ini memenuhi 3NF, karena tidak ada ketergantungan transitif. Tetapi tidak memenuhi BCNF karena dari Dosen Modul maka Dosen bukan candidate key.Alternatif yang dilakukan adalah dekomposisi tabel menjadi :

Comparison of BCNF And 3NF

NIM Modul Dosen

P11.2004.0129 VB.Net Ajib

P11.2004.0130 Prolog Aris

P11.2004.0201 VB Net Budi

P11.2004.0250 Prolog Jono

P11.2004.0260 VB.Net Budi

NIM Dosen

P11.2004.0129 Ajib

P11.2004.0130 Aris

P11.2004.0201 Budi

P11.2004.0250 Jono

P11.2004.0260 Budi

Dosen Modul

Ajib VB.Net

Aris Prolog

Jono Prolog

Budi VB.Net

BCNFNOT BCNF

©Silberschatz, Korth and Sudarshan1.186Database System Concepts

Goal for a relational database design is: BCNF. Lossless join. Dependency preservation.

If we cannot achieve this, we accept one of Lack of dependency preservation Redundancy due to use of 3NF

Design Goals

©Silberschatz, Korth and Sudarshan1.187Database System Concepts

Entity Set (doesn’t meet the

definition of a relation)

First Normal Form

Second Normal Form

Third Normal Form

Boyce-Codd Normal Form

Remove multivalued & repeating attributes. Meet definition of relationRemove partial dependencies

Remove transitive dependencies

Select relation where all determinants are candidate key

Design Steps

Praktisi database kebanyakanmenganggap bahwa tingkatannormalisasi hingga BCNF atau3NF dianggap sudah cukup untuk meminimalisasi masalahdalam desain database (redundansi,lossless,dependencypreservation)

©Silberschatz, Korth and Sudarshan1.188Database System Concepts

Contoh

Untuk Tuan Ali Jl, A. Yani No. 10 Semarang

Faktur : 101Tanggal : 10-01-2008

No Kode

Barang

Nama

Barang

Harga

Satuan

Jumlah Jumlah

Bayar

1 1101 Sandal 15.000 10 150.000

2 1110 Sepatu 100.000 7 700.000

3 1112 Kaos 30.000 15 450.000

Total 1.300.000

©Silberschatz, Korth and Sudarshan1.189Database System Concepts

No_fak

Tgl_faktur Nm_kons Almt_kons Kota_kons Kode_brg Nama_brg Jml Hrg_sat bayar

101 10-01-08 Ali Jl. A. Yani No. 10 Semarang 1101 Sandal 10 15000 150000

1110 Sepatu 7 100000 700000

1112 Kaos 15 30000 450000

102 11-01-08 Rudi Jl. Seroja Raya 1 Solo 1101 Sandal 20 15000 300000

1113 Jaket 4 200000 800000

Bentuk Tidak Normal (Unnormalized Form)

Bentuk Tidak Normal

Tidak Normal Pertama, Karena ada multivalued

attribute

©Silberschatz, Korth and Sudarshan1.190Database System Concepts

No_fak Tgl_faktur Nm_kons Almt_kons Kota_kons Kode_brg Nama_brg Jml Hrg_sat bayar

101 10-01-08 Ali Jl. A. Yani No. 10 Semarang 1101 Sandal 10 15000 150000

101 10-01-08 Ali Jl. A. Yani No. 10 Semarang 1110 Sepatu 7 100000 700000

101 10-01-08 Ali Jl. A. Yani No. 10 Semarang 1112 Kaos 15 30000 450000

102 11-01-08 Rudi Jl. Seroja Raya 1 Solo 1101 Sandal 20 15000 300000

102 11-01-08 Rudi Jl. Seroja Raya 1 Solo 1113 Jaket 4 200000 800000

Bentuk Normal Pertama

Tidak ada multivalued attribute. Tetapi masih

ada Anomali

©Silberschatz, Korth and Sudarshan1.191Database System Concepts

Bentuk Normal Kedua

Berdasarkan Ketergantungan Fungsionalnya :

Kode_brg -> nama_brg, hrg_satNm_kons -> almt_kons, kota_konsNo_fak -> nm_kons, tgl_fakturNo_faktur, kode_brg -> jml, bayar

Kode_brgNama_brgHrg_sat

No_fakKode_brgJmlbayar

Nm_konsAlmt_konsKota_kons

No_fakNm_konsTgl_faktur

barang

konsumen

detil

faktur

©Silberschatz, Korth and Sudarshan1.192Database System Concepts

Bentuk Normal Kedua

Kode_brg Nama_brg Hrg_sat

1101 Sandal 15000

1110 Sepatu 100000

1112 Kaos 30000

1113 Jaket 200000

No_fak Kode_brg Jml Bayar

101 1101 10 150000

101 1110 7 700000

101 1112 15 450000

102 1101 20 300000

102 1113 4 800000

Nm_kons Almt_kons Kota_kons

Ali Jl. A. Yani No. 10 Semarang

Rudi Jl. Seroja Raya 1 Solo

Barang

konsumen

detil

No_fak Nm_kons Tgl_faktur

101 Ali 10-01-2008

102 Rudi 11-01-2008

faktur

Perhatikan masing-masing tabel,Masih ada anomali?

©Silberschatz, Korth and Sudarshan1.193Database System Concepts

Bentuk Normal Ketiga

Kode_brg Nama_brg Hrg_sat

1101 Sandal 15000

1110 Sepatu 100000

1112 Kaos 30000

1113 Jaket 200000

Barang

KF :Kode_brg -> nama_brg, hrg_sat

1 NF

2 NF

3 NF

Ketergantungan Transitif ?

©Silberschatz, Korth and Sudarshan1.194Database System Concepts

Nm_kons Almt_kons Kota_kons

Ali Jl. A. Yani No. 10 Semarang

Rudi Jl. Seroja Raya 1 Solo

konsumen

Bentuk Normal Ketiga

KF :Nm_kons -> almt_kons, kota_kons

Ketergantungan Transitif ?

1 NF

2 NF

3 NF

No_fak Nm_kons Tgl_faktur

101 Ali 10-01-2008

102 Rudi 11-01-2008

faktur

KF :No_fak -> nm_kons, kota_kons

1 NF

2 NF

3 NF

©Silberschatz, Korth and Sudarshan1.195Database System Concepts

Bentuk Normal Ketiga

No_fak Kode_brg Jml Bayar

101 1101 10 150000

101 1110 7 700000

101 1112 15 450000

102 1101 20 300000

102 1113 4 800000

detil

KF :

No_fak, kode_brg -> jml, bayar

Ketergantungan Transitif ?

1 NF

2 NF

3 NF

©Silberschatz, Korth and Sudarshan1.196Database System Concepts

Diagram Relasi

Diagram Relasi setelah proses normalisai :

Kode_brgNama_brgHrg_sat

No_fakKode_brgJmlbayar

Nm_konsAlmt_konsKota_kons

No_fakNm_konsTgl_faktur

barang

konsumen

detil

faktur

©Silberschatz, Korth and Sudarshan1.197Database System Concepts

Berdasarkan formulir tersebut,• Rancanglah tabel penyimpanan

datanya• Lakukan normalisasi hingga 3NF

atau BCNF

©Silberschatz, Korth and Sudarshan1.198Database System Concepts

The Callenge of Database Design

Designers must make design compromises that are triggered by conflicting goals : design standards (design elegance or faithfulness),

to develop “good” design : Lossless, No Redundant, Dependency Preservation processing speed (performance), and

high processing speeds is “top” priority (efficiency) minimizing the number and complexity of relationships or table

information requirements capablility for delivering all specified query and reporting

of user requirements timely

Contoh bentuk kompromi yang populer :

Denormalisasi (pelanggaran normalisasi)

©Silberschatz, Korth and Sudarshan1.199Database System Concepts

Denormalisasi

Normalisasi hanyalah merupakan teknik pendekatan yang digunakanuntuk mendapatkan desain database (lojik) yang baik dan bukan sebagai “aturan baku” DBMS yang harus digunakan. Bersifat “Normatif”, memungkinkan untuk dilanggar dengan alasan :

Kecepatan Proses (Efisiensi) dan Pelayanan Informasi Tepat Waktu Bentuk-bentuk Denormalisasi :

- Membuat Atribut Turunan pada Tabel, mis : Cost=Qty*Price- Atribut yang Berlebihan, mis : NIM mahasiswa sudah mencerminkan program studi mahasiswa, tetapi dalam tabel mahasiswa dibuat atribut Program Studi.- Summary Table (mis : summary table for report)- Membiarkan relasi transitif dalam satu tabel untuk kemudahan proses

Konsekuensi Denormalisasi :Redundancy, Not Atomic, Worst Space dll

Design Standards Vs (proceessing speed,information requirements)

©Silberschatz, Korth and Sudarshan1.200Database System Concepts

Additional Material(Normal Form Other)

©Silberschatz, Korth and Sudarshan1.201Database System Concepts

Multivalued Dependency (MVD)

Beberapa bentuk normal (normal forms, NF) : 1NF, 2NF, 3NF, BCNF

based on keys and functional dependencies 4NF, 5NF

based on keys and multi-valued dependencies)

Multivalued Dependencies (MVD)

Misal R adalah skema relasi. A, B dan C adalah subset atribut dari R maka A disebut multidependensi pada B, ditulis AB, jika untuk setiap nilai A terdapat sekumpulan nilai B dan sekumpulan nilai C, tetapi nilai B dan nilai C independen.

©Silberschatz, Korth and Sudarshan1.202Database System Concepts

Relasi MVD melibatkan minimal 3 atribut relasi, misal A-B-C Untuk setiap nilai A, terdapat sekumpulan nilai B dan

sekumpulan nilai C. Sekumpulan nilai B independen dengan sekumpulan nilai C,

semikian juga sebaliknya.

Penawaran Mata KuliahMata KuliahInstruktur PustakaBasis Data Himawan CJ Date

Purwanto HF KorthAris Marjuni

Matematika M Sidiq C LiuMT Lang

Penawaran Mata KuliahMata Kuliah Instruktur PustakaBasis Data Himawan CJ DateBasis Data Purwanto CJ DateBasis Data Aris Marjuni CJ DateBasis Data Himawan HF KorthBasis Data Purwanto HF KorthBasis Data Aris Marjuni HF KorthMatematika M Sidiq C LiuMatematika M Sidiq MT Lang

Multivalued Dependency (MVD)

MVD : Mata Kuliah InstrukturMata Kuliah Pustaka

©Silberschatz, Korth and Sudarshan1.203Database System Concepts

Dalam contoh lain :

X Y Z

1 1 1

1 1 2

1 2 1

1 2 2

2 2 1

2 2 2

3 3 3

X Y Z

1 1 1

1 1 2

1 2 1

1 2 2

2 2 1

2 1 2

X Y Z

1 1 1

1 1 2

1 2 1

2 2 1

2 2 2

R1 R2 R3

XY ?XZ ?YX ?ZX ?MVD Exist

No MVDWhy ?

No MVDWhy ?

Multivalued Dependency (MVD)

©Silberschatz, Korth and Sudarshan1.204Database System Concepts

Refleksif : xxAugmentation : Jika xy maka xzyzTransitif : Jika xy dan yz maka xz-yPseudotransitif : Jika xy dan ywz maka xwz-ywUnion : Jika xy dan xz maka xyzDekomposisi : Jika xy dan xz maka xyz dan xz-yKomplemen : Jika xy dan z=R-x-y maka xz

Multivalued Dependency (MVD)

©Silberschatz, Korth and Sudarshan1.205Database System Concepts

Fourth Normal Form (4NF)

Skema relasi R disebut 4NF jika dan hanya jika BCNF dan Tidak terdapat MVD. Apabila terdapat MVD dalam R, misal XY

maka harus memenuhi salah satu :- MVD adalah trivial atau- X adalah superkey

©Silberschatz, Korth and Sudarshan1.206Database System Concepts

Misal diketahui R = (A, B, C, D, E, F)MVD : AB dan CDEF. Bila diasumsikan R memenuhi BCNF, apakah memenuhi 4NF ? Jika belum upayakan menjadi 4NF.

• Bukan 4NF sebab terdapat MVD dan nontrivial.• Dekomposisi R :

Dari AB, dibentuk R1=(A,B)Karena AB maka A C,D,E,F dan dibentuk R2=(A,C,D,E,F)

• R1=(A,B) memenuhi 4NF, sebab MVD : AB trivial

• R2=(A,C,D,E,F)Bukan 4NF, karena MVD : CDEF nontrivial

• Dekomposisi R2 :Dari CDEF dibentuk R21=(C,D,E,F)Karena CDEF dan CDA, dibentuk R22=(C,D,A)

• R21=(C,D,E,F)4NF, karena MVD : CDEF trivial

• R22=(C,D,A)4NF, karena tidak ada MVD.

Fourth Normal Form (4NF)

R1=(A,B)

R21=(C,D,E,F)

R22=(C,D,A)

Memenuhi 4NF

©Silberschatz, Korth and Sudarshan1.207Database System Concepts

Misal diketahui R = (A, B, C, G, H, I)MVD : AB, BHI dan CGH. Bila diasumsikan R memenuhi BCNF, apakah memenuhi 4NF ? Jika belum upayakan menjadi 4NF.

• Bukan 4NF sebab terdapat MVD, nontrivial dan bukan superkey.• Dekomposisi R :

Dari AB, dibentuk R1=(A,B)Karena AB maka A C,G,H,I dan dibentuk R2=(A,C,G,H,I)

• R1=(A,B) memenuhi 4NF, sebab MVD : AB trivial

• R2=(A,C,G,H,I)Bukan 4NF, karena MVD : CGH nontrivial

• Dekomposisi R2 :Dari CGH dibentuk R21=(C,G,H)Karena CGH maka CGA,I dan dibentuk R22=(C,G,A,I)

• R21=(C,G,H) 4NF, karena MVD : CGH trivial, tetapi R22=(C,G,A,I)bukan 4NF, karena ada MVD : AI (dari AB, BHI maka A-->HI dan AI).

• Dekomposisi R22 menjadi R221=(A,I) dan R222=(A,C,G)dan masing-masing merupakan bentuk 4NF.

Fourth Normal Form (4NF)

R1=(A,B)

R21=(C,G,H)

R221=(A,I)

R222=(A,C,G)

Memenuhi 4NF

©Silberschatz, Korth and Sudarshan1.208Database System Concepts

Penawaran Mata KuliahMata Kuliah Instruktur PustakaBasis Data Himawan CJ DateBasis Data Purwanto CJ DateBasis Data Aris Marjuni CJ DateBasis Data Himawan HF KorthBasis Data Purwanto HF KorthBasis Data Aris Marjuni HF KorthMatematika M Sidiq C LiuMatematika M Sidiq MT Lang

BCNF, sebab : - 1NF, Yes - 2NF, Yes. Sebab semua atribut mrpk atribut kunci. - 3NF, Yes. Sebab tidak ada ketergantungan transitif. - BCNF, Yes. Tidak ada FD pada atribut bukan kunci. - 4NF, No. Sebab terdapat MVD yang nontrivial. Dekomposisi ……………………

MVD : Mata Kuliah Instruktur Mata Kuliah Pustaka

Fourth Normal Form (4NF)

©Silberschatz, Korth and Sudarshan1.209Database System Concepts

InstMata Kuliah InstrukturBasis Data HimawanBasis Data PurwantoBasis Data Aris MarjuniMatematika M Sidiq

PustMata Kuliah PustakaBasis Data CJ DateBasis Data HF KorthMatematika C LiuMatematika MT Lang

Penawaran Mata KuliahMata Kuliah Instruktur PustakaBasis Data Himawan CJ DateBasis Data Purwanto CJ DateBasis Data Aris Marjuni CJ DateBasis Data Himawan HF KorthBasis Data Purwanto HF KorthBasis Data Aris Marjuni HF KorthMatematika M Sidiq C LiuMatematika M Sidiq MT Lang

4NF

4NF

Mata KuliahPustaka

Mata KuliahInstruktur

Fourth Normal Form (4NF)

Refference :Toby J. Teorey, Database Modeling & Design, page 112-116

©Silberschatz, Korth and Sudarshan1.210Database System Concepts

X Y Z

1 1 1

1 1 2

1 2 1

1 2 2

2 2 1

2 2 2

3 3 3

X Y Z

1 1 1

1 1 2

1 2 1

1 2 2

2 2 1

2 1 2

X Y Z

1 1 1

1 1 2

1 2 1

2 2 1

2 2 2

R1 R2 R3

4NF ? No.- MVD nontrivial- Bukan Superkey

4NF ? Yes

4NF ? Yes

Fourth Normal Form (4NF)

©Silberschatz, Korth and Sudarshan1.211Database System Concepts

Fifth Normal Form (5NF)

S P J

S1 P1 J2

S1 P2 J1

S2 P1 J1

S1 P1 J1

SPJ

SPSJ4NF ? No

S P

S1 P1

S1 P2

S2 P1

SP

P J

P1 J2

P2 J1

P1 J1

PJ

SP4NF ? Yes

SJ4NF ? Yes

Misal SPJ berisi data-data Supplier (S) yang memasok barang (P) untuk suatu Project (J). Satu supplier dapat memasok banyak barang, supplier jugaDapat berpartisipasi pada banyak proyek.

Key : S, P, JMVD :

Jika SP dan PJ di-project join-kan kembali on P akan diperoleh :

S P J

S1 P1 J2

S1 P1 J1

S2 P1 J2

S2 P1 J1

S1 P2 J1

SP join PJ

Tupel asing

Ternyata projection-join dari dekomposisinya tidak mengembalikan Ke relasi asal.

©Silberschatz, Korth and Sudarshan1.212Database System Concepts

S P J

S1 P1 J2

S1 P1 J1

S2 P1 J2

S2 P1 J1

S1 P2 J1

SP join PJ

Relasi hasil project-join tsb akan kembali ke bentuk relasi asal SPJ setelah di project-joinKan dengan SJ pada S dan J

S J

S1 J2

S1 J1

S2 J1

SJ

Project-joinon (S,J)

S P J

S1 P1 J2

S1 P1 J1

S2 P1 J1

S1 P2 J1

SPJ (Original)

Dekomposisi Akhir

S P

S1 P1

S1 P2

S2 P1

SP

P J

P1 J2

P2 J1

P1 J1

PJ

S J

S1 J2

S1 J1

S2 J1

SJ

Fifth Normal Form (5NF)

©Silberschatz, Korth and Sudarshan1.213Database System Concepts

Fifth Normal Form (5NF)

Disebut juga Projection-Join Normal Form (PJ/NF) Skema relasi R disebut memenuhi 5NF jika tidak dapat dibuat menjadi beberapa tabel kecil yang lossless melalui operasi projection- join atau

Skema relasi R disebut memenuhi 5NF jika setiap join dependency (JD) nontrivial pada R diimplikasikan oleh Candidate key dari R Join Dependency

Batasan dekomposisi yang lossless pada sejumlah operasi project-join

©Silberschatz, Korth and Sudarshan1.214Database System Concepts

S P J

S1 P1 J2

S1 P2 J1

S2 P1 J1

S1 P1 J1

SPJ

SPSJ4NF ? No

S P

S1 P1

S1 P2

S2 P1

SPP J

P1 J2

P2 J1

P1 J1

PJ

SP4NF ? Yes5NF ? Yes

SJ4NF ? Yes4NF ? Yes

Key : S, P, JMVD :

5NF ? Yes, tidak dapat didekomposisi lagi

Trivial pada candidate key

S J

S1 J2

S1 J1

S2 J1

SJ

4NF ? Yes, tidak ada MVD5NF ? Yes

Refference :C.J. Date, An Introduction To Database Systems, page 394-399

Fifth Normal Form (5NF)

©Silberschatz, Korth and Sudarshan1.215Database System Concepts

4NF

5NF

BCNF

3NF

2NF

1NF

LEVEL NORMALISASI

SUMMARY

©Silberschatz, Korth and Sudarshan1.216Database System Concepts

It is best to find a database design that meet the 3-criteria :• NF (Normal-Form)note

• Dependency Preservation• Lossless-Join

noteIf we only have functional dependencies (FD), the first criteria is just BCNF.If we only have multivalued dependency (MVD), the first criteria is just 4NF.If we only have join dependency (JD), the first criteria is just 5NF.

If we cannot meet all 3-criteria, we compromise on 4NF, and accept BCNF, or even 3NF if necessary, to ensure dependency preservation.

SUMMARY