• Tidak ada hasil yang ditemukan

Functional Dependency

N/A
N/A
Jesika Siburian

Academic year: 2023

Membagikan "Functional Dependency"

Copied!
26
0
0

Teks penuh

(1)

Functional Dependency

Database

by: Rosni Lumbantoruan, PhD

1 Implementing View\RSL

(2)

Capaian Pembelajaran

• Dapat memahami Functional Dependency

• Dapat mengaplikasikan Functional Dependency

2

(3)

• Sudah dipelajari membangun basis data dengan ERD dan mengkonversi ERD menjadi tabel.

• Selanjutnya memastikan tabel-tabel yg sudah bentuk sudah berstruktur baik melalui tahapan normalisasi.

• Normalisasi adalah memperbaiki desain logis untuk menghasilkan relasi dengan struktur yang baik.

Menghindari duplikasi data dalam penyimpanan

Memenuhi referential integrity tertentu, misalnya satu baris pada suatu table hanya dapat berelasi dengan paling banyak satu baris pada table yang berelasi.

Memudahkan pemeliharaan data (maintenance) dengan menghindari anomali yang timbul akibat insertion, update, dan deletion.

Menghasilkan desain yang lebih baik untuk mempermudah pertumbuhan basisdata kedepannya (tambah data, tambah relasi/tabel, dll).

Pengantar

3

(4)

• Sebelum melakukan normalisasi diperlukan dulu pemahaman tentang:

• Operasi pada basisdata

• Anomali yang dapat timbul

• Functional Dependency

s

Pengantar

4

(5)

Penambahan data baru (baris baru) menimbulkan duplikasi data atau data baru tidak dapat disimpan.

Insertion Anomaly

5

(6)

Mengubah alamat dari value furniture dari Plano, Tx ke

Odessa TX, mengharuskan perubahan pada 2 baris lainnya.

Apabila perubahan ini terlupakan, maka

akan

terjadi update anomaly.

Update Anomaly

6

Perubahan data pada baris data

mengharuskan perubahan data pada baris

yang lain.

(7)

Membuang orderID 1006 menyebabkan hilangnya informasi:

customer ID dan atribut terkait,

Deskripsi tentang dining table dan writer’s desk. Sementara entertainment center tidak hilang karena masih ada di order ID 1007

Deletion Anomaly

7

Penghapusan baris data menyebabkan kehilangan data yang mungkin masih dibutuhkan.

(8)

Latihan

8

(9)

Dependency merupakan konsep yang mendasari

normalisasi. Dependensi menjelaskan hubungan antar atribut, atau secara lebih khusus menjelaskan nilai

suatu atribut yang menentukan nilai atribut lainnya.

• Ada beberapa jenis dependency:

o Trivial Functional Dependency

o Full vs. Partial Functional Depencency o Transitive depencency

Dependency

9

(10)

Nilai dari suatu atribut menentukan nilai dari atribut yang lain.

NOTASI: .

• Ketergantungan antara dua buah atribut atau dua buah himpunan atribut.

• Analogi: Jika ada relasi R dengan dua buah atribut yaitu X dan Y, maka dinotasikan dengan R(X,Y).

• Y dikatakan functional dependency terhadap X apabila setiap nilai dalam X berhubungan dengan satu nilai pada Y.

Functional dependency

10

(11)

Functional dependency Example

11

• CustomerID  name?

• Name  customerID?

(12)

Functional dependency - Example

12

• Attributes:

orderID

orderDate

CustomerID

Name

Address

ProductID

Description

Finish

Price

Quantity

(13)

Functional dependency - Example

13

• Attributes:

orderID

orderDate

CustomerID

Name

Address

ProductID

Description

Finish

Price

Quantity

Potential Functional Dependencies:

(14)

• Trivial Functional Dependency:

• Augmented Functional Dependency

• Atribut yang bukan key (non-key attributes) bergantung kepada sebagian saja dari determinant-nya.

• Equivalent Functional Dependency

• Determinant dan non-key attributes dapat bertukar tempat.

• Apabila trivial functional dependency ditemukan pada relasi, maka trivial FD tersebut harus di-eliminasi.

Trivial Functional Depencency

14

(15)

Trivial Functional Depencency Contoh

15

(16)

Trivial Functional Depencency Contoh

16

(17)

Identifying PK using FD

17

Steps to identify a Primary Key

• Identify all candidate key(s) by looking at the determinants

• Determine which candidate key is not functionally dependent on any other candidate key. This is your primary key (PK)

PK Example: order_ID + product_ID

(18)

Exercise

18

(19)

Full vs. Partial Functional Dependency

19

Full dependency

• Determinants have the minimal number of attributes (i.e PK attributes) to maintain the functional dependency with all non-key attributes.

• B is functionally dependent on A but not on a subset of A) order_id, product_id  quantity

Partial dependency

• Non-key attributes are functionally dependent on a subset of the PK

order_id  order_date, customer_id, name, address product_id  description, finish, price

So, there are 7 partial functional dependencies

(20)

Exercise

20

(21)

• The PK is a determinant for another attribute which is a determinant for a third attribute.

B is functionally dependent on A C is functionally dependent on B

C is transitively dependent on A through B A is not functionally dependent on B or C

Transitive Functional Depencency

21

(22)

Transitive Functional Depencency - Example

22

The transitive dependency exists on order_id through customer_id.

Order_id  customer_id  name, address

(23)

Exercise

23

(24)

• Selain menggunakan notasi →, hubungan functional dependency dapat dinyatakan dengan diagram.

Diagram Functional Dependency

24

(25)

25

(26)

Source: Dustin Ormond

Referensi

Dokumen terkait

0.48 I was asking for help from my caregivers during pain 0.46 Labor pain becomes more intense 0.46 The severity of my labor pain was less than I had heard 0.45 I had enough

Penangane gawe laying kudu ngerti urut- urutane kayata alamat saka kutha ngendi sing kirim laying mau lan sapa sing nulis utowo ngirim laying iku di arani …... Wong sugih mblegedhu