Tuesday, November 21, 2017

ER diagram එකක් relational mapping කරන විදිහ...

        ER diagram එකක් relational mapping කරන විදිහ...


මේක ඉගෙන ගන්න කලින් අපි  බලමු ,

  1. Single valued attribute එකක් කියන්නෙ මොකක්ද 
  2. Multi valued attribute එකක් කියන්නෙ මොකක්ද 
  3. Derived  attribute එකක් කියන්නෙ මොකක්ද 
  4. Binary relationship එකක් කියන්නෙ මොකක්ද 
Single valued attribute
student ට තියෙන්නෙ එක dob එකයිනෙ. මෙන්න මේ වගේ ඒවා single valued attribute
කියල කියනවා.






Multi valued attribute

student ට phone numbers කිහිපයක් තියෙන්න පුලුවන්. අන්න ඒ වගේ ඒවා multi valued attribute කියල කියනවා.







Derived attribute

age කියන එක අපිට dob සහ current date එකෙන් (පරිගණකයේ සදහන් වන අද දිනය)  හොයා ගන්න පුලුවන්. අන්න ඒ වගේ වෙනත් attribute එකකින් හෝ කිහිපයකින් හොයා ගන්න පුලුවන් attribute, derived attribute කියලා කියනවා. 



Binary relationship

binary relationship කියල කියන්නෙ මේ වගේ entity දෙකක් එක relationship එකකට සම්බන්ධ වීමයි.





Ternary relationship එකක් කියන්නෙ,







මෙන්න මේ වගේ එකක්.



අපි දැන් බලමු කොහොමද මේ වැඩේ කරන්නෙ කියලා.

ER diagram එකක් relational mapping කරන්න පියවර 7 ක් තියෙනවා.

    1. Map regular entity types
    2. Map Weak entity types
    3. Map binary 1:1 realationship types
    4. Map binary 1:N relationship types
    5. Map binary M:N Reltionship types
    6. Map Multivalued attributes
    7. Map N-ary Relationship types

      1. Map regular entity types
ඉහත උදාහරනයේ regular entity වන්නේ vehicle සහ option යන entity දෙකයි. ඒවා mapping කලාම,
  • option(ID , EXPIRY, COST)
  • vehicle(VIN , COST, REGISTRATION)

        2. Map weak entity types

ඉහත උදාහරනයේ weak entity වන්නේ TAX DISC entity එකයි. ඒක mapping කලාම

  • TAX _DISC(VIN , DURATION , CLASS)
දැන් ඔයාල බලනව  ඇති VIN  කොහොමද මෙතෙන්ට ආවෙ කියලා , ඒක ආවෙ TAX_DISC ගෙ strong entity* එක වෙන්නෙ vehicle entity එක නිසයි.
*(weak entity එකක් පවතින්නේ strong entity එක පවතින කල් පමනයි)


                     3.Map binary 1:1 Relation types

මෙතනදි අපි බලනව මේ සම්බන්දතාවයේ partial සහ total බව.
අපේ උදාහරනයේ vehicle සහ TAX_DISK අතර පවතින්නේ 1:1 සම්බන්ධතාවයකි. මෙහි
TAX_DISK පවත්වන්නේ total සම්බන්ධතාවයකි. vehicle පවත්වන්නේ partial  සම්බන්ධතාවයකි.

mapping කිරීමේදී සිදු  අරන්නේ partial පාර්ශවයේ පවතින primary key එකත් එම relationship එකේ පවතින attribute  කිහිපයත්  total පාර්ශවයේ පවතින entity එකට අදාල relation  එකට පැමිනීමයි.

උදා :-



  • student(Student_Id, Student_name)
  • Project( project_Id, Student_IdStart_date, Project_type)
දැන් ඔයාලට පේනව ඇති project වගුවට student_id, start_date  කියන දෙකත්  ආව.
දැන් මෙහෙම ආපු student_id ට අපි කියනවා foreign key එකක් කියලා
*දෙපැත්තම total හෝ දෙපැත්තම partial නම් දෙපැත්තෙන් ඕනෙම එක entity එකකට අදාල වගුවකට මෙම ක්‍රියාවලිය සිදු කල යුතුය.

                       4.Map binary 1:M Relation types

මෙහිදී total හෝ partial නොසලකා හරින අතර many relationship පැත්තට අදාල වගුවට, 1 පැත්තේ  entity එකේ primary key එකත් relationship එකට අදාල attribute කිහිපයත් පැමිනේ.


  • student(student_Id,student_name, project_id,Start_date, )
  • project(project_Id,project_type)
                    5.Map binary M:N Relation types

මෙහිදී සිදුවන්නේ relationship එකට අදාලව table එකක් සෑදීම හා. entity වලට අදාල primary keys සහ relation attributes එම table එකට පැමිනීමයි.


  • Works_On(Student_Id, ,Project_Id, ,Start_date)

                   6.Map Multivalued attribute
මෙහෙදි අපි සිදුකරන්නෙ එම attribute එකට වෙනම වගුවක් සැකසීමයි 




  • Department_Location(DNumber,Location)

එම වගුවට අපි ඇතුලත් කරන්නෙ එම attribute එක ඇතුලත් entity එකේ primary key එක  සහ  එම multivalued attribute එකේ නමයි.



                   7.Map N-ary Relationship types

n-ary relationship කියන්නෙ binary relationship නොවන අනිකුත් අවස්තා එ කියන්නෙ මෙන්න මේ වගේ අවස්තා.


මේවා විතරකමත් නෙවෙයි self referencing අවස්තාත් එන්නෙ මෙකටම තමා එ කියන්නෙ
 මෙන්න මේ වගේ අවස්තා...

මෙන්න මේ වගේ අවස්තා  වලදි කරන්නේ,, ඒ කියන්නෙ self referencing වල M:N අවස්තාව
 මේකට වෙනම වගුවක් සකසන එකයි

  • Option_depend(ID1, ID2, TYPE,NOTES) 
දැන් බලනවා ඇති මොකක්ද මේ කෙරුවේ කියලා,ඇත්තටම හරි සරලයි මේක අපිට මෙන්න මෙහෙම බලන්ඩ පුලුවන් නේද ?


හරිනෙ දැන් මේක M:N relationship එකක් වගෙනේ .. එකයි එකට අරවගෙ වගුවක් එන්නේ..

මේ වගේම self referencing වල 1:Nඅවස්තාවක් ආවොත් ඒකට අපි උඩදි කතා කරපු binary 1:N අවස්තාව වගේ තමා කරන්නේ..

දැන් අපි බලමු n'ary  අනිකුත් අවස්තාවල මොනවදා කරන්නෙ කියල,,

මේ වගේ අවස්තා වලදි කරන්නෙ අපි කරන්නේ,,

  • R(E1_ID,E2_ID,E3_ID,date)
මම හිතන්නේ මේක තෙරෙන්න ඇති කියලා... මම ඊලග ලිපිය මෙකට අදාල ගානක් පල කරන්නම් .




3 comments: