Showing posts with label Database management system. Show all posts
Showing posts with label Database management system. Show all posts

Thursday, February 14, 2019

MongoDB sinhala tutorial part-3





කලින් post එකේදි අපි කතා කලේ  MongoDB database එකක තියන collection එකකට කොහොමද data insert කරන්නෙ  සහ view  කරන්නෙ කියලා. Data view කරද්දි විවිද queries පාවිච්චි කරලා විවිද අාකාරයට data view  කරන්න  පුලුවන්.දැන් බලමු ඒ විදි මොනවද කියලා.කලින් post  එකේ කිව්වෙ db.collectionName.find() query එක  ගැන විතරයි.

ඒ ඇරෙන්න  තව ආකාර තියනවා.
ඊට කලින් කියන්න ඕනි MongoDB   database එකකට  අපි data  document එකක්  insert කරද්දි  document එකට unique  වෙච්ච id  එකක් ලැබෙනවා.ඒක  "object ID "එක විදියට හදුන්නනවා. id එක add වුනාම document තියෙන්නෙ කොහොමද කියලා මේ example එක බැලුවම තේරෙයි.

හරි.කලින්post එකේදි කිව්වා වගේ db.collectionName.find()  execute කලාම අදාල collection එකේ තියන data ඔක්කොම  ටික view  කරන්න පුලුවන්.

ඒ වගේම pretty() command එක පාවිච්චි කරලා database එකේ documents ටික පෙන්නන විදියටම (structured විදියට)  view කරන්න පුලුවන්.


ඒ වගේම අපිට  collection එකේ තියන පලවෙනි document එක view කරන්න ඕනි නම් db.collectionName.findOne() කියන  command එක පාවිච්චි කරන්න  පුලුවන්.


මේ db.collectionName.findOne() command එක execute කරද්දි data view  වෙන්නෙ pretty() format  එකට අදාලවමයි.
දැන් අපි බලමු  condition එකකට අදාලව document වල data,  view කරන්නෙ කොහොමද කියලා.
උදාහරණයක් විදියට අපි බලමු customer collection  එකේ Last Name  එක "Dasanayaka" එක වෙන  customersලා කව්ද  කියලා


ඉලක්කම් තියන  data view කරද්දි  condition පාවිච්චි කරන්නෙ කොහොමද කියලා බලමු.
ඒකට  data  ටිකක් insert කරගමු.


දැන් බලමු වයස 18  වෙන customer කෙනෙක් ඉන්නවනම් එයගෙ  data view කරන්නෙ කොහොමද කියලා. 

ඊළගට  බලමු වයස 21  වෙන customer කෙනෙක් ඉන්නවනම් එයගෙ  data view කරන්නෙ කොහොමද කියලා.  


අපිට ඕනිනම්  වයස  අවුරුදු 20 ට වැඩි අයගේ data view කරන්න "$gt" කියන  keyword එක පාවිච්චි කරන්න ඕනි.



ඒ වගේම  වයස  අවුරුදු 20 ට අඩු අයගේ  data view කරන්න "$lt" කියන  keyword එක පාවිච්චි කරන්නත් පුලුවන්.



අපිටඕනිනම්  වයස   අවුරුදු  21 ට වැඩි හෝ සමාන  අයගේ data view කරන්න "$gte" කියන  keyword එක පාවිච්චි කරන්න පුලුවන්.


ඒ වගේම වයස අවුරුදු 21 ට අඩු  හෝ සමාන  අයගේ data view කරන්න "$lte" කියන  keyword එක පාවිච්චි කරන්න පුලුවන්.


ඒ වගේම වයස අවුරුදු  21  ට සමාන නොවන  අයගේ data view කරන්න "$ne" කියන  keyword එක පාවිච්චි කරන්න පුලුවන්.


මෙතනදි වයස කියන attribute  එක document එකේ තිබුනොත්  වයස අවුරුදු 21 ට අසමාන අයගේ data  පෙන්නනවා.  වයස කියන attribute එක නැති  documents තිබුනොත් ඒවගේ data ත් පෙන්නනවා. ඒ MongoDB කියන්නේ  non relational database වර්ගයක් හින්දා.

හරි එහෙනම්.. අදට ඇති. ඊලග post  එකෙන් හම්බෙමු..
--පියුමි--





Thursday, November 8, 2018

MongoDB sinhala tutorial part-2



අද මම කියලා දෙන්නම්  MongoDB  database  පාවිච්චි කරන   ගමන් කරන queries execute  හැටි . ඒකට මුලින්ම mongo shell  එක open  කරගන්න ඕනි. command prompt එක පාවිච්චි කරලත් පුලුවන් නැත්තන්  mongochef  වගේ IDE  එකක් පාවිච්චි කරන්නත් පුලුවන්.මං කරන්නේ cmd එකෙන්.cmd එක open  කරලා mongo කියලා type  කරලා enter කරාම මේ වගේ  mongo shell  එක open වෙනවා.




දැන් අපි බලමු දැනට අපි ගාව තියන databases  ටික මොනවද කියලා බලා ගන්නෙ කොහොමද කියලා. ඊට කලින් කියන්න ඕනි අපිට කෙලින්ම mongo shell  එකේ queries type   කරන්නත් පුලුවන් නැත්තන්  notepad වගේ  IDE එකක මුලින් type  කරලා copy  කරගෙන  mongo shell  එකේ paste කරන්නත් පුලුවන්.
හරි..
දැනට අපි හදලා තියන databases  මොනවද කියලා බලාගන්නෙ මෙහෙමයි.

"show dbs " කියලා type  කරලා enter  කරන්න විතරයි තියෙන්නෙ.  මෙතන මං හදපු databases  ටිකක් තියන්වා. එක database එකක්වත් හදලා නැත්තන්  local , admin කියන database දෙක  විතරයි තියෙන්නෙ.
SQL වලදි නම් අපිට database  එකක් හදා ගන්න ඕනි උනාම කලේ "create database customer  " කියලා නමක් දීලා "use customer "දීලා හදපු එකට switch  කරපු එකනේ.MongoDB වලදි කෙලින්ම  "use customer" කියලා type  කරලා enter කරාම database  එක හැදිලා  database එකට switch  වෙන එකත් වෙනවා.

දැන් අපි ඉන්නේ හදපු database එක ඇතුලෙ.ඒක බලාගන්න පුලුවන් " db" කියලා type කරලා enter කරාම.

දැන් බලමු database වල කොහොමද data store කරන්නේ කියලා. MongoDB වල data store කරන්නෙ documents/collections  විදියට නැත්තන් json syntax  විදියට. ඒ කියන්නෙ data තියෙන්නෙ javascript objects විදියට . දැන් බලමු කොහොමද  json object එකක් හදා ගන්නෙ කියලා. 
data store කරද්දි වෙනස් ආකාර වලට  store කරන්න පුලුවන්. 
  • data ,key  සහ value විදියට   store  කරන්න පුලුවන්.
  • ඒ වගේම array එකක් විදියට  store කරන්න පුලුවන්.
  • ඒ වගේම json object එක ඇතුලේ අලුත් object එකක් හදලා ඒ object එක පාවිච්චි කරලා  store කරන්නත් පුලුවන්.
  • තව පුලුවන්  object  array එකක් හදලා ඒ array එක ඇතුලේ තියන වෙන වෙන  object  ඇතුලේ data store කරන්න.


database එකට data insert කරන්න කලින් අපි database එකට user  කෙනෙක් හදා ගන්න ඕනි.



මුලින් notepad එකේ type  කරලා copy paste  කරන එකයි ලේසිම.

දැන් මාව user කෙනෙක් විදියට add වෙලා  තියෙන්නෙ. මේ user කෙනෙක්
විදියට add කරන එක ගැන  වැඩි   විස්තර දැනගන්න ඕනි නම් මේ link -> createUser එකට ගිහින් බලන්න..
දැන් එහෙනම් කොහොමද අපි හදා ගත්ත customer database  එකට  data insert කරන්නෙ කියලා බලමූ.
Data insert කරන්න නම් ඉස්සෙල්ලම collection එකක්  හදා ගන්න ඕනි. collection එකක් කියන්නෙ Mysql  වලදි අපි හදපු  table එකක් වගෙ දේකට.
මං හැදුවෙ customer database එක ඇතුලේ customer නමින්ම collection  එකක්. "show collections "කියන  command එකෙන් පුලුවන් අපිට collections ටික බලා ගන්න.දැන් බලමු කොහොම data insert කරන්නෙ කියලා. command එක තමයි  "db.collectionName.insert()".
මේ insert() function  එක ඇතුලට දාන්න ඕනි මං කලින් කිව්ව වගේ  object එකක්.
 data insert කලාට පස්සෙ  view කරන්න  "db.collectionName.find()"කියන command  එක පාවිච්චි කරන්න පුලුවන්.


අදට ඇති එහෙනම්. ඊලග post එකෙන් ඉතුරු ටික කියලා දෙන්නම්....
--පියුමි--

Friday, October 26, 2018

MongoDB sinhala tutorial part -1



අද මං කියලා දෙන්නම් Document oriented database type එකක් වෙච්ච MongoDB ගැන.
MongoDB කියන්නෙ NoSQL  database ගණයට අයිති  database එකක්.NoSQL
කියන්නෙ MySQL,SQL අයිති relational database  වලට වඩා advanced database වර්ගයක්.මේ MongoDB database කියන්නෙ අපි store  කරන data documents විදියට store කරන syntax තියෙන database වර්ගයක්.   MySQL,SQL වගේ  relational database වල data store  කරන්න කලින් fields, data types   අනුව map  කරන්න ඕනි වුණාට  MongoDB  වගේ NoSQL  database  වලදි එහෙම   map කරන්න/sachems වලට වෙන් කරන්න   ඕනි නෑ.  MongoDB  වල තියන වාසි තමයි ලොකු data  ප්‍රමාණයක් එක්ක වැඩ කරන්න පහසුයි මොකද documents  විදියට data store කරලා තියන හින්දා.ඒ වගේම relational database වලට වඩා වැඩි වේගයකින්(speed) වැඩ කරන්න පුලුවන්.
දැන් අපි බලමු  use   කරන  platform එකට අදාලව MongoDB  download කරගන්නෙ කොහොමද කියලා.
මුලින්ම "Download mongodb " link එකට ගිහින් ඔයාගෙ platform එක select  කරලා 
 download  දෙන්න.





























මේ විදියට  download කරන්න.
ඊට පස්සෙ mongodb  වලට අදාල path එක Environment variable වලට ගිහින් set  කරන්න ඕනි  .ඒකට mongodb store  වෙලා තියන තැනට අදාල  path එක copy කරගමු මුලින්ම.ඒකට mongodb store  වෙලා තියන තැනට අදාල  path එක copy කරගමු මුලින්ම.මගෙ store  වෙලා තියෙන්නේ C drive එකේ Program files වල MongoDB කියන  folder එක  ඇතුලෙ.


path එක copy  කරගෙන This PC  වල Properties වලට ගිහින් Advance System Settings   වල Environment variable select කරලා copy කරගත්ත  path එක  set කරන්න.








Environment variableවල user variable  එකේ  path එක select කරලා Edit ගිහින් copy කරගත්තු එක paste කරලා Ok  කරන්න.අනිත් ඔක්කොමත්  Ok  කරගෙන යන්න. දැන් ඔයාලා  mongodb  වලට ready..



මෙච්චර වද විදින්නෙ නැතුව cmd එකේ ' path=  'කියලා  copy කරගත්තු path එක paste කරලා enter කරානම් ඒත් හරි.
මේ කො‍යි විදියට කලත්  cmd එකේ 'mongod' කියලා type කරාම මේ විදියට mongodb server  එක open වෙනවා.

MongoDB install කරද්දි කරන්න තියෙන්නෙ එච්චරයි.ඊලග post  එකෙන්  MongoDB  syntax ගැන වැඩි දුරටත් කියලා දෙන්නම්.

--පියුමි --

Saturday, October 20, 2018

Database sinhala tutorial for beginners- part 2


DBMS Types වර්ග..


කලින් post  එකේදි  database management system වර්ග මොනවද කියලා කිව්වනෙ මං.මේ  post එකෙන් database management system   වර්ග ගැන වැඩි විස්තර කියලා දෙන්නම්.
ඊට කලින් database හා බැදිච්ච වචන කීපයක තේරුම් මොනවද කියලා බලමු.

1. Table
Database Table  කියන්නෙ දත්ත  ඇතුලත් කරපු   fields  හා records  වල එකතුවක්. database
වල  table  ,datasheets  විදියටත් හදුන්නනවා. මේ  tables   වල  store කරන්නේ එකිනෙකට සම්බන්ද(related)  ඒත් එකිනෙකට වෙනස් data විතරයි.
පහල උදාහරණය බැලුවම  ඒකේ   තියෙන්නෙ  table එකක්.


2.Record

Database එකක තියන  Table වල data store කරලා තියෙන්නෙ records  විදියට.record කියන්නෙ පුද්ගලයෙකුගේ හෝ  ආයතනයක හෝ යම් දෙයක(Item එකක )  දත්ත   store කරලා තියන fields වල එකතුවක්.
පහල උදාහරණය බැලුවම  ඒකේ select කරලා තියෙන්නෙ  record එකක්.
Harshi  කියන කෙනාගෙ දත්ත විදියට name, age, city ,grade කියන  fields ඔක්කොම යොදා ගන්නවා.



3. Field
Field එකක් කියන්නෙ  record  එකක කොටසක්. ඒ කියන්නේ record  එකක් හැදෙන්න එකතු වෙච්ච තනි data කොටසක්.
කලින් ගත්ත උදාහරණයම ගත්තම එක පුද්ගලයෙක්ව විස්තර කරන්න ගත්ත  data  අතරින් නම විතරක් ගත්තොත් ඒක field එකක්. ඒ වගේම  Age, City , Grade  කියන්නෙ fields.


1.Hierarchical databases  
මුලින්ම බලමු Hierarchical databases  කියන්නෙ මොකක්ද කියලා.
Hierarchical databases එකක් කියන්නෙ parent/child relationship එකට අදාලව දත්ත ගබඩා කරන databases වලට.සරලව  කියනවනම්  tree structure එකක්  ආකාරයට දත්ත ගබඩා කරලා තියන  databases . ඒ නිසා එකම data  ආයෙ ආයෙ record එක ඇතුලෙ store කරලා තියෙන්න පුලුවන්.  Hierarchical databases  වල data store කරන්නේ data records , fields විදියට.
Hierarchical databases  පාවිච්චි කරන එකේ වාසිය තමයි data insert , update  කරන එක ලේසියෙන්ම කරන්න පුලුවන් මොකද  tree structure එක විදියටනෙ data store කරලා තියෙන්නෙ.
අවාසිය තමයි parent/child relationship එකක් තියන හින්දා field එකක් හරි record එකක් හරි  insert කරාම  මුලු database එකම වෙනස් වෙන එක. 

2.Network  databases
Network Database වැඩිපුර පාවිච්චි කරන්නේ  large digital computers (ENIAC)වල. Network Database පාවිච්චි කරලා වෙනස් types වල data අතර සම්බන්දතා හදන්න පුලුවන්.මේ  Network Database ත් hierarchical databases වගේ hierarchical structure එකක් අනුව තමයි සකස් වෙන්නෙ.සරලව කියනවනම් එකිනෙක සම්බන්ද වෙච්ච මකුලු දැලක් වගේ  records සම්බන්ද වෙලා තියනවා. Network Database වලත් Hierarchical databases වල  වගෙ parent-child relationship   එකක් තියනව කියලා කිව්වනෙ මං. ඒකෙදි parent  occupier ලෙසත් child   member ලෙසත් හදුන්නනවා.Network database වල තියන වෙනස තමයි එක child කෙනෙකුට parents ලා එක්කෙනෙක්ට වඩා ඉන්න එක. මේ නිසා Network database  වල තියෙන්නෙ many to many relationship models.


3.Relation databases

Hierarchical හා network databases  පාවිච්චි කරද්දි  user ,hierarchy එකකට  අදාලව  data  store කරලා තියනවනම් විතරයි අවශය  data access කරන්න පුලුවන්.ඒත්  relational databases වල data store කරලා තියෙන්නේ වෙනස් tables වල . ඒ වගේ  hierarchy එකක් නෑ relational databases වල .ඒ tables වල හැම row එකක්ම  uniquely අදුනගන්න පුලුවන් වෙන්න key field  එකක් තියනවා.Hierarchical හා network databases  එක්ක බලද්දි relational databases වඩාත් විශ්වසදායකයි(reliable).මේ  relational databases වල tables වල  data අන්තර්ගත  rows,  relations (tuples)  විදියටත් columns,  attributes or fields  විදියටත්  හදුන්නනවා  .
Hierarchical හා network databases  පාවිච්චි කරද්දි  user ,hierarchy එකකට  අදාලව  data  store කරලා තියනවනම් විතරයි අවශය  data access කරන්න පුලුවන්.ඒත්  relational databases වල data store කරලා තියෙන්නේ වෙනස් tables වල . ඒ tables වල හැම row එකක්ම  uniquely අදුනගන්න පුලුවන් වෙන්න key field  එකක් තියනවා. මේ key field   පාවිච්චි කරලා වෙනස්  tables connect කරන්න පුලුවන්.
mySQL ,SQL කියන්නෙ relational databases  වලට උදාහරණ.
Relational databases වල තියන වාසි තමයි මුලික දැනුම පොඩ්ඩක් තියාගෙන පාවිච්චි කරන්න පුලුවන්. ඒ වගේම tables වල තියෙන  data ,modify  කරන්න පුලුවන් අනිත් data වලට බලපෑමක් වෙන්නෙ නැති විදියට.  මේ relational database වල තියෙන ලක්ශණයක් තමයි  table වල තියෙන column එකක තියෙන්න පුලුවන් එකම data type  එකකට  අයිති  data විතරයි.
DBMS ගැන වැඩි විස්තර  ඊලග post එකකින් කතා කරමු.

--පියුමි--


Tuesday, October 9, 2018

Database sinhala tutorial for beginners -part1





     මොනවද මේ database කියන්නෙ ?


ඔයාලා දැනටමත් database එක්ක වැඩ කරනවා ඇති . නැත්තන් database ගැන අහලා ඇති.
database  ගැන කතා කරන්න කලින් මුලින්ම බලමු මොකක්ද මේ database  එකක් කියන්නෙ කියලා.
database එකක් යනු ?
data සමුහයකි . database එකක්,  සරලව කියනවා නම් දත්ත list එකක් තියන text file හෝ තරමක් ලොකු සංකීර්ණ  database
management system එකක් .

database management systems එකක් කියන්නෙ මොකක්ද බලන්න කලින් සරල උදාහරණයක් ලෙස  text file එකක් බලමු.


ඉතා කුඩා data ප්‍රමාණයක් සදහා මේ විදිය ගැලපෙනවා වුණාට data විශාල ප්‍රමාණයක් සදහා මේ විදිය ගැලපෙන්නෙ නෑ.

ඒ වගේම  spread sheet එකක් ලෙස data store කරන්නත් පුලුවන්.ඒකට එදිනෙදා පාවිච්චි කරන excel වගේ software එකක් පාවිච්චි කරන්න පුලුවන්.





Excel  වලින් spreadsheet එකක  Rows සහ  columns වලට data දැම්මාම,  data වල formatting වෙනස් කරන්න, data sort කරන්න ,filter කරන්න වගේ දේවල් පහසුවෙන් කර ගන්න පුලුවන්.

Data  store කරන්න පාවිච්චි කරන ක්‍රම අතරින්    Database Software එකක් පාවිච්චි කිරීම තමයි හොදම ක්‍රමය විදියට හදුන්වල දෙන්න පුලුවන්. Microsoft Access වගේ  Software එකක් මේ සදහා  පාවිච්චි කරන්න පුලුවන්.

Database software ගැන කතා කරද්දි මුලිකවම දැනගතයුතු දෙයක් තමයි Database Management System (DBMS) කියන්නේ .

DBMS එකක් කියන්නේ  databases හදන්නත්, manege කරන්නත් කරන්නත් පුළුවන් software program එකක්   . මේ software system වලදි    database සම්බන්ද සම්මත ක්‍රමවේද (standard methods)  පාවිච්චි කරනවා.   සාමාන්‍යයෙන්  text  file/spreadsheet වලට වඩා databases ටිකක් සංකීර්ණයි.  
මුලිකව ගත්තම  database systems වර්ග 04 ක්  තියනවා.
1). Relational Database Management System (RDBMS) 
2).Network Database Management System 
3).Hierarchical Database Management System 
4). Object-oriented  Database Management System 

දැන් ගොඩක්  පාවිච්චි කරන database systems වර්ගෙ තමයි Relational Database Management System (RDBMS). මොකද මේවගේ store කරන්න පුළුවන් එකිනෙකට සම්බන්ද data වෙනස් වෙනස් tables වල. ඒ වගේම ගොඩාක් ලොකු දැනීමක් , පුහුනුවක් නැති උනත් 
Relational Database Management System (RDBMS) එක්ක වැඩ කරන් යන්න පුලුවන්.(මේ ගැන වැඩි විස්‍තර පස්සෙ කියලා දෙන්නම්)
ජනප්‍රිය  relational database management systems ටිකක් 

  • Microsoft Access
  • File maker
  • Microsoft SQL Server
  • MySQL
  • Oracle
කලින් කිව්ව  database  වර්ග අතරින් වැඩිය හොද මොකක්ද කියන ප්‍රශ්නෙ ඔයාලට ඇති. 

ගෙදර හෝ office එකේ පොඩි database එකකට  Microsoft Access or File maker හොඳයි .   website එකකට වගේ database හදනවනම් ගොඩක් හොදයි  SQL Server, Oracle, or MySQL වගේ  වඩාත් සංකීර්ණ  එකක් භාවිතා කරනවානම් .

ඊලග  post එකේදි  DBMS වර්ග ගැන තවදුරටත් ඉගෙන ගමු.

--පියුමි--