Pemodelan Implementasi ERD CS 2343 Perancangan Basis Data

Pemodelan & Implementasi ERD CS 2343 Perancangan Basis Data Relasional

Outline • • Entitas Lemah Spesialisasi, Agregasi Mapping Constraints Keys

Himpunan Entitas Lemah • Adalah Himpunan entitas yang tidak memiliki primary ke • Keberadaan entitas lemah bergantung pada eksistensinya dalam sebuah relasi terhadap entitas lainnya. • Identifikasi relasi dengan menggunakan double diamond • Diskriminator (atau key parsial) dari himpunan entitas lemah adalah atribut-atribut yang dapat membedakan entitas-entitas yang ada di himpunan entitas lemah. • Primary key dari himpunan entitas lemah dibentuk dari primary key himpunan entitas (kuat) dimana enititas lema bergantung, serta diskriminator dari entitas lemah itu sendiri

Himpunan Entitas Lemah • Digambarkan dengan dobel persegi panjang. • Diskriminator dari himpunan entitas lemah digambarkan menggunakan garis bawah yang terputus-putus • payment-number – diskriminator himpunan entitas payment

Contoh Himpunan Entitas Lemah • Pada suatu Universitas, course adalah entitas kuat dan course-offering dapat dimodelkan sebagai entitas lemah • Diskriminator course-offering berisi semester (termasuk tahun) dan section-number (jika terdiri dari beberapa bagian) • Jika kita modelkan course-offering sebagai entitas kuat maka course-number akan didefinsikan sebagai atribut. Kemudian relasi dengan course akan secara implisit berisi atribut coursenumber

Spesialisasi • Merupakan proses desain top-down; dengan mendesain subgrouping didalam himpunan entitas yang berbeda dari himpunan entitas lain • Subgrouping ini menjadi himpunan entitas yang levelnya lebih rendah dan memiliki atribut yang tidak dimiliki pada level atasnya. • Digambarkan dengan komponen triangle berlabel ISA (Contoh : customer “is a” person). • Inheritan Atribut : Semua atribut dan relasi pada level lebih tinggi akan diturunkan pada himpunan entitas level bawahnya.

Contoh Spesialisasi

Generalisasi • Merupakan proses desain bottom-up – mengkombinasikan jumlah himpunan entitas yang mempunyai fitur sama ke level yang lebih tinggi • Spesialisasi dan generalisasi merupakan kebalikan satu sama lain

Spesialisasi dan Generalisasi • Mungkin terdapat kondisi di mana terjadi multiple -specialization. Contoh : entitas permanentemployee vs temporary-employee, dan officer vs secretary vs teller. Setiap employee dapat menjadi anggota dari permanent-employee atau temporaryemployee dan juga sekaligus menjadi anggota salah satu dari officer, secretary, atau teller • Relationship ISA juga sering disebut sebagai relationship superclass – subclass

Agregasi • Pada contoh relationship works-on, misalkan kita ingin menyimpan informasi manager untuk pekerjaan yang dilakukan oleh seorang employee pada sebuah branch

Agregasi • Relationship sets works-on dan manages menunjukkan informasi yang overlap • Setiap anggota relationship manages berkaitan dengan sebuah relationship works-on • Akan tetapi, beberapa anggota relationship works-on mungkin tidak berkaitan dengan relationship manages. Sehingga relationship workson tidak dapat dihilangkan. • Redundansi tersebut dapat diatasi dengan agregasi • Relationship dijadikan sebagai sebuah entitas abstrak • Relationship antar relationship diijinkan • Abstraksi relationship menjadi entitas baru • Tanpa redundancy, diagram berikut menunjukkan : • Seorang employee melakukan sebuah pekerjaan tertentu pada sebuah branch • Kombinasi dari seorang employee, branch dan job dapat diasosiasikan dengan seorang manager

E-R Diagram dengan Agregasi

Hal-hal yang harus diperhatikan dalam perancangan E-R • Penggunaan atribut atau entitas untuk merepresentasikan sebuah objek • Pemilihan penggunaan entitas atau relationship untuk merepresentasikan kondisi dunia nyata • Pemilihan penggunaan relationship ternary atau sepasang relationship binary • Pemilihan penggunaan entitas kuat atau lemah • Penggunaan spesialisasi/generalisasi • Penggunaan agregasi

Simbol-simbol dalam Notasi ER

Simbol-simbol dalam Notasi ER

Alternatif Notasi E-R

Penurunan Skema ER ke Tabel • Primary key membolehkan himpunan entitas dan himpunan relasi diekspresikan secara uniform (seragam) sebagai tabel yang merepresentasikan konten dari basis data • Basis data yang sesuai dengan diagram E-R diagram dapat direpresentasikan dengan kumpulan tabel. • Untuk setiap himpunan entitas yang berhubungan ada sebuah tabel unik yang disebut dengan hubungan entitas atau himpunan relasi • Setiap tabel memiliki jumlah kolom (secara umum disebut atribut); yang memiliki nama yang unik. • Konversi Diagram ER ke format Tabel adalah dasar untuk memperoleh basisdata relasional dari diagram ER

Representasi Himpunan Entitas sebagai Tabel • Himpunan Strong entity diturunkan ke dalam tabel dengan atribut yang sama

Atribut Komposit dan Multivalued • Atribut komposit akan dipecah dengan membuat atribut terpisah untuk masing komponennya. • Contoh : Himpunan entitas customer mempunyai atribut name yang terdiri dari first-name dan last-name. Penurunan ke tabel akan menjadi dua atribut yaitu name. first-name dan name. last-name

Representasi Himpunan Relasi ke dalam Tabel • Himpunan Relasi Banyak-ke-banyak (many to many) direpresentasikan dalam tabel dengan kolom untuk primary key dari masing-masing entitas yang berhubungan dan semua atribut deskriptif himpunan relasi tersebut. • Contoh : tabel untuk himpunan relasi borrower

Tabel-tabel Redundan • Himpunan relasi banyak-ke-satu (many to one) dan satu-ke-banyak (one to many) di mana mempunyai jenis total participation pada sisi-banyak (many side) dapat direpresentasikan dengan menambah atribut ekstra pada sisi-banyak (many side), mengandung primary key pada sisi-satu (one side)

Tabel-tabel Redundan • Contoh : Daripada membuat tabel untuk merepresentasikan relasi accountbranch, tambahkan satu atribut relasi branch pada himpunan entitas account

Tabel-tabel Redundan • Untuk himpunan relasi satu-ke-satu (one-to-one relationship sets), salah satu sisi (side) dapat dipilih untuk menjadi sisi-banyak (many-side) • Jika pada sisi-banyak(many-side) jenis partisipasinya adalah (partial-participation), mengganti tabel untuk representasi relationship set dengan menambahkan atribut ekstra dapat menyebabkan munculnya nilai null • Tabel yang merepresentasikan relationship set yang menghubungkan weak entity dengan strong entity-nya bersifat redundan

Representasi spesialisasi dalam tabel • Metode 1: • Bentuklah tabel untuk level entitas yang lebih tinggi • Bentuklah tabel untuk tiap level entitas lebih rendah, termasuk primary key dari level entitas yang lebih tinggi dan atribut lokal • Kekurangan: Untuk mendapatkan informasi tentang employee membutuhkan pengaksesan dua tabel

Representasi spesialisasi dalam tabel • Metode 2: • Bentuklah tabel untuk tiap himpunan entitas dengan semua atribut lokal dan turunan (inheritan) • Jika spesialisasi adalah total, tabel untuk mengeneralisasi entitas (person) tidak dibutuhkan untuk disimpan • Dapat didefinisikan sebagai relasi “view” yang terdiri dari gabungan tabel-tabel spesialisasi • Tapi tabel eksplisit dapat masih diperlukan untuk batasan foreign key • Kekurangan: street dan city dapat tersimpan redundan untuk persons sebagai customers dan employees

Relasi yang menggambarkan Agregasi • Untuk merepresentasikan agregasi, buatlah tabel yang terdiri dari : • primary key dari relasi agregasi • primary key dari himpunan entitas yang berhubungan • Setiap atribut deskriptif

Relasi yang menggambarkan Agregasi • Contoh : untuk merepresentasikan agregasi manages antara relasi works-on dan himpunan entitas manager, Buatlah tabel manages(employee-id, branch-name, title, manager-name) • Tabel works-on adalah redundan menyebabkan nilai null untuk atribut manager-name pada tabel manages
- Slides: 27