EER එකක් කොහොමද relational mapping කරන්නෙ කියල බලමු ...
මම හිතනව ඔයාලට හොද දැනුමක් ඇති eer ගැන කියල.. එහෙම නැත්නම් මේක තෙරෙන් නැතිවෙයි..
eer වල ඔයාල දන්නව අවස්තා කිහිපයක් තියෙනවා
- disjoint
- overlap
- total specialization
- partial specialization
හරි මුලින්ම බලමු මේ මොකක්ද කියන්නේ කියලා
disjoint
person කෙනෙක් employee කෙනෙක් හෝ student කෙනෙක් නම් එ කියන්නෙ ඔහු එක්කො employee කෙනෙක් එක්කො student කෙනෙක් නම් අන්න ඒක disjoint කියනව..
overlap
හිතන්න student කෙනෙක් ඉගෙන ගන්න ගමන් job එකකුත් කරනව කියල එතකොට ඒ person employee කෙනෙක් වගේම student කෙනෙකුත් වෙනවා..අන්න එහෙම අවස්තා වලට අපි කියනව overlap අවස්තා කියලා...
total specialization and partial specialization
ඔයාලට පේනව ඇති person එකට ඉරි 2ක් වැදිලා තියෙනවා එකෙන් කියන්නෙ මේක total specialization වෙලා කියන එක.. ඒ කියන්නෙ අපි මේ කියන person අනිවාර්යෙන්ම මේ දෙන්නෙන් එක්කෙනෙක් වෙන කෙනෙක් වෙන්න බැහැ අපි හදන system එකෙ ඉන්න අය ඔය කොටස් දෙකෙන් බැහැර අය ඉන්න බෑ තේරුන් නෑ නේද..හිතන්නකො priest කෙනෙක් එයා employee කෙනෙක්ද නෑ student කෙනෙක්ද නෑ අන්න එතකොට අපෙ database එකෙ priest කෙනෙක් දානව නම් එයා ඔය කියන දෙකටම අදාල නෑ..අන්න එ වගේ අවස්තාවකට අපි කියනව partial specialization කියල...
මම හිතනවා තෙරෙන්න ඇති කියලා
දැන් අපි යමුකො මාතෘකාවට EER එකක් කොහොමද relational mapping කරන්නෙ කියල..
ඒකට conditions කිහිපයකට අදාල option 4 ක් තියෙනවා ..
option 1
person(id, name,age)
employee(id,salary)
student(id, GPA)
option 2
employee(id,age,name,salary)
student(id,name,age,GPA)
option 3
person(id,name,age,salary,GPA,TYPE)
option 4
person(id, name,age,salary,GPA,employee,student)