Senin, 12 Desember 2011

ALGORITMA PEMETAAN KE SKEMA ER RELASIONAL


1.      untuk setiap entity type E yang regular (non-weak) dalam skema ER, buat satu relasi R yang attributenya meliputi semua simple attribute dari E.    Untuk suatu composite attribute, hanya komponen simple attributenya yang dipetakan. Kemudian pilih satu key attribute dari E sebagai primary key dari R Jika key terpilih adalah composite, maka primary key dari R dibentuk dari satu set simple attribute dari composite
Note : Dalam langkah pertama ini, keterlibatan kunci tamu dan relationship attribute jangan dipikirkan dulu.
 2.      Untuk setiap weak entity type  W dalam skema ER dengan owner entity type E, buat satu relasi R yang attributenya meliputi semua simple attribute (atau simple component dari composite attribute).
Masukkan sebagai foreign key dalam R, Primary key attribute dari relasi-relasi yang merupakan owner/pemilik dari W (dapat diperoleh dengan memperhatikan identifying relationship type dari W).
Primary key dari R dibentuk dari kombinasi antara primary key dari relasi-relasi pemilik dan partial key dari weak entity type W (jika ada).
 3.      Untuk setiap binary 1:1 relationship type R dalam skema ER, perhatikan relasi-relasi S dan T yang berkorespondensi dengan entity type yang berpartisipasi dalam R. Kemudian, ambil salah satu relasi (misalkan S) dan cantumkan primary key dari T sebagai foreign key dalam S. Untuk kasus ini, S sebaiknya dipilih dari entity type yang berpartisipasi total dalam R (untuk mengurangi null value dari foreign key yang diambil dari T).
Notes :
Sebagai alternative untuk pemetaan dari 1:1 relationship type ini adalah dengan menggabungkan kedua entity types menjadi satu relasi tunggal. Cara ini terutama sangat sesuai bilamana kedua entity type berpartisipasi total dan tidak berpartisipasi dalam relationship type yang lain.
4.      Untuk setiap regular (non-weak relasi) binary 1 : N relationship type R, perhatikan relasi S yang mewakili entity type yang berpartisipasi pada sisi-N dari relationship type.
Cantumkan primary key dari relasi yang berperan pada sisi-1 sebagai foreign key dalam S, karena setiap entity instance pada sisi-N terkait dengan paling banyak satu entity instance pada sisi-1 dari relationship type. Kemudian, cantumkan semua simple attribute (atau simple component dari composite attribute) dari 1 relationship type sebagai attribute dalam S.
5.      Untuk setiap binary M : N relationship type R, buat satu relasi baru S untuk mewakili R. kemudian cantumkan sebagai foreign key dalam S. Primary key  dari relasi-relasi yang mewakili entity type yang berpartisipasi dalam R; dimana kombinasi dari primary keys ini akan membentuk primary key dari S juga, cantumkan semua simple attribute (semua simple component dari composite attribute) dari M:N relationship type sebagai attribute dari S.
Notes:
Binary relationship 1 : 1 atau 1 : N selalu dapat dipetakan seperti pada M:N relationship. Alternatife ini terutama sangat berguna bilamana relationship instances yang ada sangat sedikit (menghindari null values dalam foreign key).
Untuk kasus ini, primary key dari relasi ”relationship” hanya akan menjadi foreign key dari satu ”entity” relasi yang berpartisipasi. Jadi, untuk 1:N relationship, hanya pada sisi-N, sedang untuk 1:1 adalah entity relasi yang berpartisipasi total (jika ada) yang dipilih. 
6.      Untuk setiap multivalued attribute A, buat satu relasi baru R yang mencantumkan satu attribute yang mewakili A ditambah dengan primary key K (sebagai foreign key dalam R) dari relasi yang mewakili entity type atau relationship type yang mempunyai A sebagai attributenya. Primary key dari R adalah kombinasi A dan K. jika mulltivalued attribute adalah composite, maka hanya simple componentnya yang dicantumkan.
7.      Untuk setiap n-ary relationship type R (n>2), buat satu relasi baru S yang mewakili R. cantumkan sebagai foreign key attribute dalam S, primary key dari relasi-relasi yang mewakili entity types yang berpartisipasi juga cantumkan sebagai attribute dalam S. Semua  simple attribute(simple component dari composite attribute) dalam n-ary relationship type.
Primary key dari S biasanya berupa kombinasi dari foreign key yang mengacu pada relasi-relasi yang mewakili entity types yang berpartisipasi. Namun, jika ‘participation constraint’ (min, max) dari satu entity type E yang berpartisipasi dalam R mempunyai max=1, maka primary key dari S berupa satu-satu foreign key attribute yang mengacu pada relasi E’ (yang berkorespondensi dengan E). ini dilakukan karena setiap entity instance e dalam E hanya akan berpartisipasi dalam paling banyak satu relationship instance dalam R sehinggaia dapat secara unik mengidentifikasikan relationship instance dari R.

0 komentar: