Monday, September 3, 2012

vb.net එක්ක MySQL - 3rd post

කොහොමද කස්ටිය...vacction නේ.. ;-)..ER එකක් උඩින් හරි පාත් වෙයි කියල බලන් හිටියේ.. ;-) කොහෙද ඉතින් එකෙක් වත් එවුවේ නෑනේ..ඒකයි ඔන්න පරක්කු උනේ මගේ වරදක් නෙවේ ඔන්න.. ;-)


අපි කර කර හිටපුවත් මතක නෑ..ම් ම් ..අපි කරන්න ගත්තේ database ගහන එකත් ලෙසියෙන්ම තෙරෙන්න ඒ ගමන්ම vb.net ගොඩ දාගන්නත් පුලුවන් වෙන්න වැඩේ කර ගන්නනේ..ඉතින් අපි පලවෙනි පොස්ට් එකෙන් MySQL අපේ වැඩේට සෙට් වෙන විදියට හදා ගත්තනේ..දෙවනි පොස්ට් එකෙන් mysql users ල mange කර ගෙන අපි හදන්න යන bookshop එකට හරියන software එකේ මූලික කොටස කරානේ..මම කියුවා මුලින්ම ER ගහ ගහ කරන්න ගියොත් වැඩේ අමාරුයි කියලා..ඒත් software එකක් පාවිච්චි කරන අයගේ උවමනා..ඒ වගේම ඒකෙන් එයාලගේ වැඩ කටයුතු පහසු කරන්න සමත් වෙන්න ඕනේ..එහෙම එකක් හදන්න නම් සම්පූර්ණයෙන්ම මේක පාවිච්චි කරන තැන ගැන අවබෝදයක් ගන්න ඕනේ..
අද පොස්ට් එකෙන් මම ඒ ගැන අවබොදයක් ලබා දෙන්න බලාපොරොත්තු වෙනවා.. ඒත් එක්කම පොඩි ER-Diagram එකක් අදින්නත්..එතකොට software එක හදන එක ගොඩක් ලේසි වෙයි. database subject එකක් විදියට කරන අය නම් දන්නවා..mini world scene එක.. ඒකෙන් bookshop එක ගැන අවබොදයක් ගන්න පුලුවන්. ආ ඒවා ඕනේ නෑ..පස්සේ කියනම්කෝ.. :-). ආ තව ER ගැන නොදන්න අයටත් තේරෙවි post එක අන්තිමේදි.. :-)


ඔන්න දැන් අපි හා හා පුරාද මොකද්ද කියල පටන් ගත්තේ bookshop එකකට පොඩි සොෆ්ට්වෙයාර් කෑල්ලක් හදන්නනේ..හරි දැන් අපි bookshop එකක වෙන දේවල් study පාරක් දාලා අපේ database එක කොයි වගේ වෙන්න ඕනේද කියලා බලමුකෝ...


හරි..මුලින්ම අපි බලමු bookshop එකකට සම්බන්ධවෙන කස්ටිය.. ;-)..මුලින්ම customers එයාල නැතුව ඉතින් මොන shopද නේ..ඊලගට මේ software එක පාවිච්චි කරන අය..users කියලා ගමුකෝ..manager,cashier තව bookshop එකේ store එකේ වැඩ කරන අය මේ users ල ඝනයට වැටෙනවා. ඊලගට suppliers මෙයාලනේ ඉතින් shop එකට පොත් දාන්නේ. database subject එකක් විදියට නොකරන අයට දැන ගන්නත් එක්ක කියන්නම්කෝ..මේ අපේ bookshop එක හා එකට සම්බන්ධ සියල්ලම subject එකේදි නම් database එකේ mini world එක කියල කියනවා. එතකොට මෙ කස්ටිය ඒ කියුවෙ ඔය customers ල users ල entity කියලා හදුන්වනවා. ආ තව මේකට සම්බන්ධ අජීවී දේවල් උනත් entity කියලම තමා කියන්නේ. උදාහරනයක් විදියට මේකෙදි නම් පොත්(books) ;-). තව account records ඒවත් ගන්න පුලුවන්. අපි ඔය account records කොටස් දෙකකට බෙදලා ගමු. sales record සහ purchase record කියලා. තේරෙනවනේ sales නම් customers ල හා shop එක අතර ගනු දෙනු purchase නම් suppliers ල හා shop එක අතර ගනු දෙනු. ආ ඒව නම් ඉතින් කජු වගේනෙ අපේ අයට econ එක්ස්ප්ර්ට්ස්ලනෙ ;-) බ්ලොග් එක බලන අනිත් ක්ස්ටියට කියුවෙ. ;-). හරි දැන් අපි අපේ bookshop සොෆ්ට්වෙයාර් එකේ database එකට අවශ්‍ය මූලික චරිත හා වස්තු තීරනය කරානේ.subject එකෙන්ම කියනවා නම් entities ඔන්න ඒවා තමා
customers, users, suppliers, books, sales records, purchase records.


හරි ඊලගට කලපනා කොරලා බැලුවොත් ඉතින් මේ ටික විතරක් database එකේ දාල වැඩක් නැති බව තේරෙනවනේ. database එක ෆුල් මීනින්ෆුල් වෙන්න නම් මෙයාලගෙ අල ගිය මුල ගිය ඒවත් දාන්න ඕනේ. 
ආ ඒ පාර බලනවා ඇති මෙ මොනවා කියවනවද කියල මෙහෙමයි.. දැන් පොතක් database එකට දානවානම් එකෙ නම විතරක් දාලා බෑනේ. ඒකේ ගාන, ලියපු කෙනා, පබ්ලිශ් කරපු අය මේවත් දාන්න ඕනේ. 
ඒ කියන්නෙ entitiy එකේ විස්තරත් ඕනේ..මෙවට subject එකේදි නම් attributes කියල කියනවා. ඇත්තටම ඒවලින් තමා අපේ entity විස්තර කරන්නේ. ඔන්න දැන් ඕවත් database එකට දාන්න ඕනේ. ඊලගට මේ entity අතර විවිධ සම්බන්ධතා තියෙනවා.. ආ ඒ මොනවද..

දැන් බලන්නකෝ suppliers ගෙන් කඩේට පොත් ගන්නවා, purchase කරනවා. මේ purchase කිරීම කරන්නේ කඩෙන් ඒත් එක්කම මේ හැම purchase එකකම record එකක් තියෙන්න ඕනේ ඒක database එකේ save වෙන්නත් ඕනේ. ඒ කියන්නේ මේ purchase එකක් software එක හරහා තමා වෙන්නේ.. ඉතින් තේරෙනවානෙ මේ purchase එක සිද්ධ වෙන්නෙ users ලා හා suppliers ල අතර..ඔන්න purchase කියන සම්බන්ධතාවය, relationship එක තියෙන්නෙ suppliers ලා හා users ල අතර හරිනේ.. :-).
ඒත් එක්කම ඒකට purchase records කියන entitiy එකත් සම්බන්ධ වෙන්න ඕනේ. මොකද ඒ ගැන සියලු විස්තර save කර ගන්න ඕනේ නිසා. ඒ වගේම users ල විසින් customers ලට පොත් විකුනනවා. එතනදි software එක use කරන cashier වගේ කෙනෙක් තමා user වෙන්නෙ. ඒ කියන්නේ users ල හා customers ල අතර sales කියල relationship එකක් තියෙනවා. purchase කියන relationship එකට purchase record සම්බන්ද උනා වගේම මෙතනදිත් sales record සම්බන්ද වෙන්න ඕනේ මොකද හැම sale එකකම විස්තර save වෙන්න ඕනේ නිසා. ඒ වගේම පොත් හා suppliers ලා අතර supply කියලා relationship එකක් තියෙනවා. ඇයි suppliers ල තමා කඩේට පොත් supply කරන්නෙ. ඒ වගේම පොත් හා customers ල අතර relationship එකක් තියෙනවා ඒක තමා buys මොකද customers ල තමා කඩෙන් පොත් සල්ලි දීල ගන්නෙ.හරි relationship ටික ඉවරයි. :-).

list එක ලියුවොත්

1. purchase - suppliers, users හා purchase record කියන entitiy 3 අතර..
2. sales - customers, users හා sales record කියන entitiy 3 අතර..
3. buy - customers හා book කියන entitiy 2 අතර
4. supply - suppliers හා book කියන entitiy 2 අතර

කියන්න ඕනේ මේක පොඩිම පොඩි කඩයක් නැත්නම් මේ database එක විශ්ලේශනය කරන්න ගිහින් බ්ලොග් කෙරුවාව එපාවෙයි.මේක ගත්තෙ අපේ software එක හදන්න ලෙසි වෙන්න. පස්සෙ ඕනේ නම් දියුණු කරගන්න පුලුවන්.

දැන් මේ කියපුවා ටික පැහැදිලි වෙන්න අපි පොඩි diagram එකක් අදිමු. එතකොට ඒක බලාගෙන software එක කොයි වගේ වෙන්න ඕනේද කියල හිතාගන්න ලේසියි. අපේ කස්ටියනම් දන්නවා ER-Diagram කිව්වම. දන්නේ නැති අය බලන්නකෝ ඔය බෝල බෝල ගැන කියන්නම්කෝ පස්සේ එතකොට තේරේවි හරිනේ :-)



මේක බොහොම සරල diagram එකක් මේකේ අර කියපු entity අතර තියෙන සම්බන්දතා පැහැදිලි වෙන්න ඇදපු, application එක හදන් යනගමන් ඒවගේ විශේෂ තැන් එකතු කරමු. බෝල බෝල ගැන කියනවානම් සෘජුකෝණාස්‍ර වලින් තමා entitiy පෙන්නනේ..එතකොට attributes ඕවල් හැඩයෙන්..relationships දියමන්ති හැඩෙන්(diamond). ඊලග පොස්ට් එකෙන් application එක හදන්න පටන් ගමු. ජය වේවා..