Basis Data I Pertemuan Ke-2 & Ke-3 (Rancangan Basisdata) Noor Ifada
[email protected]
1
Sub Pokok Bahasan Pendahuluan ER Model (Entity, Relationship) Weak Entity Class Hierarchy Aggregation Entity vs Attribute Entity vs Relationship Binary vs Ternary Relationship 2
Pendahuluan Model = Tools Merancang basisdata: 1. Analisis kebutuhan pengguna 2. Rancangan basisdata konseptual: (contoh) ER 3. Rancangan basisdata logik: (contoh) skema basisdata relasional 4. Perbaikan skema (normalisasi) 5. Rancangan basisdata fisik 6. Rancangan aplikasi dan keamanan
3
ER Model Entity : Persepsi terhadap obyek di dunia nyata Entity set: kumpulan entity yang sama → memiliki key Attribute: mendeskripsikan entity → memiliki domain Relationship : hubungan antar entity Relationship set: kumpulan relationship yang sama Attribute: mendeskripsikan relationship → opsional (tidak harus ada)
4
Entity Contoh: Employees Attribute: ssn (social security number) name lot (parking lot) Key
: ssn
Domain : ssn : char(11) name: char(20) lot : char(10)
5
Relationship Derajat Recursive binary Binary Ternary Konektifitas (Key Contraint) One-to-one One-to-many atau Many-to-one Many-to-many Contoh: pertimbangkan apakah seorang “Employee” dapat bekerja pada banyak “Department” atau apakah sebuah “Department” dapat memiliki banyak “Employee”?
Eksistansi (Participant Contraint) Optional (partial) Mandatory (total) Contoh: pertimbangkan apakah setiap “Department” memiliki “Manager”? 6
Relationship: Derajat
7
Relationship: Konektifitas
8
Relationship: Konektifitas (contd-2)
9
Relationship: Konektifitas (contd-3)
10
Relationship: Eksistansi
11
Weak Entity Adalah entity yang keberadaannya tergantung pada entity lain Persyaratan: Konektifitas: One-to-many (1 “owner”, banyak “weak entity”) Eksistansi: “Weak entity” harus mandatory terhadap “owner entity”
12
Class Hierarchy (ISA ≈ ‘is a’) Spesialisasi (specialised): Pengelompokan suatu entity set menjadi beberapa entity set yang memiliki karakteristik berbeda bersifat Top Down Superclass dispesialisasikan menjadi subclasses Generalisasi (generalized): Penyatuan persamaan karakteristik dari sekumpulan entity set menjadi satu entity set baru bersifat Bottom Up Subclasses digeneralisasikan menjadi superclass 13
Class Hierarchy (contd-2) Constraint: Overlap : apakah dua subclasses diperbolehkan memiliki entity yang sama? Covering : apakah entity yang ada di dalam superclass harus ada di (salah satu) subclasses? Alasan penggunaan ISA: Untuk menambah attribute yang hanya logis bagi entity yang ada di subclass tertentu Mengidentifikasi entity set yang berpartisipasi dalam suatu relationship
14
Aggregation Aggregation memperlakukan relationship set sebagai suatu entity set agar dapat berpartisipasi dalam relationship yang lain Aggregation vs ternary relationship: “Monitors” adalah relationship yang berbeda, dengan tambahan attribute “until” Setiap “Project” yang mendapatkan “Sponsors” dimonitor oleh paling banyak 1 orang “Employees” 15
Entity vs Attribute Contoh: Apakah sebaiknya “Address” dari “Employees” berupa attribute atau entity? Jika dimungkinkan bahwa “Employee” memiliki beberapa “Address”, maka “Address” harus dimodelkan sebagai entity Jika struktur “Address” (city, street, …) adalah penting, misalkan ingin mencari tahu para “Employees” yang tinggal di suatu kota tertentu, maka “Address” harus dimodelkan sebagai entity
16
Entity vs Attribute (contd-2)
seorang “Employees” tidak boleh bekerja pada “Department” yang sama selama lebih dari dua periode
seorang “Employees” boleh bekerja pada “Department” yang sama Selama beberapa kali periode
17
Entity vs Relationship
Seorang “Manager” mendapatkan jumlah “budget” yang berbeda per “Department”
Seorang “Manager” mendapatkan jumlah “budget” untuk keseluruhan “Department” 18
Binary vs Ternary Relationship
Seorang “Employees” dapat memiliki beberapa “Policies”
Sebuah “Policies” dapat dimiliki oleh beberapa “Employees”
Seorang “Dependents” dapat memperoleh tunjangan dari beberapa “Policies”
Sebuah “Policies” hanya boleh dimiliki oleh satu orang “Employees”
Setiap jenis “Policies” harus dimiliki oleh “Employees”
Seorang “Dependents” bergantung pada “Policies” tertentu 19