ã¯ãšãª ãã©ã³ã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®é åã«ãããŠäžå¯æ¬ ãªã³ã³ããŒãã³ãã§ãããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ç®¡çã·ã¹ãã (RDBMS) ã®ã³ã³ããã¹ãã§ã¯ãã¯ãšãª ãã©ã³ãšã¯ãå¹ççã«ã¢ã¯ã»ã¹ãååŸãåŠçããããã«ããŒã¿ããŒã¹ç®¡çã·ã¹ãã (DBMS) ã«ãã£ãŠé©çšãããæäœãšãã¯ããã¯ã®éå±€çã§æé©åããã衚çŸãæããŸããç¹å®ã®ã¯ãšãªã«ãã£ãŠèŠæ±ãããå¿ èŠãªããŒã¿ã
ã¯ãšãª ãã©ã³ã¯ãéä¿¡ãããæ§é åç §äŒèšèª (SQL) ã³ãã³ãã«å¿çããŠçæãããŸããSQL (Structured Query Language) ã³ãã³ãã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãšå¯Ÿè©±ããããã«åºãåãå ¥ããããŠããèšèªã§ããã¯ãšãª ãã©ã³ã¯ã¯ãšãª ãªããã£ãã€ã¶ãŒã®è£œåã§ãããäžé£ã®æœåšçãªåè£ãã©ã³ããæãå¹ççãªã¯ãšãª ãã©ã³ãæ§ç¯ãè©äŸ¡ãéžæãã RDBMS ã®ã³ã³ããŒãã³ãã§ããã¯ãšãª ãªããã£ãã€ã¶ãŒã¯ãè€éãªã¢ã«ãŽãªãºã ãšãã¥ãŒãªã¹ãã£ãã¯ææ³ãæ¡çšããé床粟床ãæå€§åããªãããã¯ãšãªã®å®è¡ã«å¿ èŠãªãªãœãŒã¹æ¶è²»ãšæéãæå°éã«æããããšãç®æããŠããŸãã
æé©ãªã¯ãšãª ãã©ã³ãå®çŸããããã«ãã¯ãšãª ãªããã£ãã€ã¶ãŒã¯ããŸããŸãªèŠçŽ ãèæ ®ããŸãããŸããããŒã¿ã®ååžãšã«ãŒãã£ããªãã£ãã¯ãšãªå¯Ÿè±¡ã®ããŒãã«ã®ãµã€ãºããããã®ããŒãã«ã«ååšããã€ã³ããã¯ã¹ãªã©ã®ããŒã¿ããŒã¹çµ±èšãå©çšããŸããã¯ãšãªã®å®è¡ããã©ãŒãã³ã¹ã¯ãå©çšå¯èœãªã¡ã¢ãªãCPU 䜿çšçãI/O 垯åå¹ ãªã©ã®ããŒããŠã§ã¢ ãã©ã¡ãŒã¿ã«ã圱é¿ãããŸããããã«ãã¯ãšãª ãªããã£ãã€ã¶ãŒã¯ã³ã¹ãæšå®ã䜿çšããŠããªãœãŒã¹æ¶è²»ã®èгç¹ããæãå®äŸ¡ãªãã©ã³ã決å®ããŸãããããã®èŠç©ããã¯ãCPU ãµã€ã¯ã«ãã¡ã¢ãªäœ¿çšéãI/O æäœãããã³ã·ã¹ãã ã®ããŸããŸãªéšåéã®éä¿¡ãªãŒããŒãããã®æœåšçãªã³ã¹ãã«åºã¥ããŠããŸãã
ã¯ãšãª ãªããã£ãã€ã¶ãŒã¯ãè€æ°ã¹ãããã®ããã»ã¹ã䜿çšããŠãæé©ãªã¯ãšãª ãã©ã³ãç¹å®ããŸãããã®ããã»ã¹ã¯ãSQL ã¯ãšãªã®è§£æãšæ§æåæããå§ãŸããç¶ããŠã¯ãšãªã®æ£ãããæ€èšŒããããã®ã»ãã³ãã£ãã¯åæãç¶ããŸããæ¬¡ã«ããªããã£ãã€ã¶ã¯ãè¿°èªã®ããã·ã¥ããŠã³ãçµåã®äžŠã¹æ¿ããçµåæ¹æ³ã®éžæãããŒã¿ããŒã¹åºæã®æé©åãªã©ã®ããŸããŸãªå€æããã³æé©åææ³ãé©çšããŠãã¯ãšãª ãã©ã³ã®ä»£æ¿åè£ã®ã»ãããçæããŸããæ¬¡ã«ããªããã£ãã€ã¶ã¯ãæšå®ã³ã¹ãã«åºã¥ããŠãããã®ä»£æ¿æ¡ãè©äŸ¡ããDBMS ã«ãã£ãŠå®è¡ãããæé©ãªã¯ãšãª ãã©ã³ã®åè£ãéžæããŸãã
äŸãšããŠã2 ã€ã®ããŒãã«ãçµåãã補åããšã®å£²äžãéèšããããšã§ããproductsãããŒãã«ãšãsalesãããŒãã«ãã補åã®ååãšç·å£²äžé«ãååŸããåçŽãª SQL ã¯ãšãªãèããŠã¿ãŸãããã
SELECT p.product_name, SUM(s.sales_amount) as total_sales
補åããã®p
sales ã«åå ON p.product_id = s.product_id
GROUP BY p.product_name
ã¯ãšãª ãªããã£ãã€ã¶ãŒã¯ãã©ã®çµåæ¹æ³ã䜿çšããã (ãã¹ããããã«ãŒãçµåãããã·ã¥çµåãããŒãžçµåãªã©)ãããŒãã«å ã®ããŒã¿ã«ã¢ã¯ã»ã¹ããæ¹æ³ (ã·ãŒã±ã³ã·ã£ã« ã¹ãã£ã³ãã€ã³ããã¯ã¹ ã¹ãã£ã³ãªã©) ãªã©ãè€æ°ã®èŠçŽ ãèæ ®ããå¿ èŠããããŸããããŒãã«ãçµåããé åºãéžæããã¯ãšãª ãã©ã³ã«ã¯ããproduct_idãåã®ã€ã³ããã¯ã¹ã䜿çšããŠãproductãããŒãã«ãã¹ãã£ã³ãããsalesãããŒãã«ãšã®ããã·ã¥çµåãå®è¡ããçµæã®ã¿ãã«ã«ããã·ã¥ ããŒã¹ã®éèšãé©çšããŠç·å£²äžé«ãèšç®ããããšãå«ãŸããå ŽåããããŸãã補åããšã«ã
AppMasterno-codeãã©ãããã©ãŒã ã®ã³ã³ããã¹ãã§ã¯ãã¯ãšãª ãã©ã³ã®èªåçæãæé©åãå®è¡ã¯ããã©ãããã©ãŒã ã®ãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ãããžãã¯ãããŒã¿ããŒã¹å±€éã®ã·ãŒã ã¬ã¹ãªçµ±åãå¯èœã«ãããªã¬ãŒã·ã§ãã« ããŒã¿ã®å¹ççãªååŸãšåŠçãå¯èœã«ããããã«éèŠã§ããããŒã¿ã AppMaster ãPostgreSQL ãªã©ã®åºç€ãšãªã RDBMS ã«äŸåããŠãã¯ãšãªã®èšç»ãšæé©åãåŠçããŸãããã®ãã©ãããã©ãŒã ã§ã¯ãã¢ããªã±ãŒã·ã§ã³éçºã« GoãVue3ãKotlinã Jetpack Compose䜿çšããããšã§ãåºã䜿çšãããŠããææ°ã®ããŒã¿ããŒã¹ ã·ã¹ãã ããã³ãã¯ãããžãšã®äºææ§ã確ä¿ããèŠæš¡ãèŠæš¡ã«é¢ä¿ãªããã¹ã±ãŒã©ãã«ã§é«æ§èœãã³ã¹ãå¹çã®é«ããœãªã¥ãŒã·ã§ã³ãé¡§å®¢ã«æäŸããŸããã¢ããªã±ãŒã·ã§ã³ã®ãã¡ã€ã³ã
èŠçŽãããšãã¯ãšãª ãã©ã³ã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ã³ã³ããã¹ãã«ãããå¹ççãªããŒã¿ã®ååŸãšåŠçæäœã®åºæ¬çãªæ§æèŠçŽ ã§ããææ°ã®ããŒã¿ããŒã¹ ã·ã¹ãã ã«å¯ŸããèŠæ±ãé«ãŸãç¶ããäžãã¯ãšãªã®èšç»ãšæé©åã®ããã»ã¹ã现å¿ã®æ³šæãæã£ãŠçç·Žããæ¹æ³ã§å®è¡ããããšã®éèŠæ§ã¯ãã©ãã ã匷調ããŠãããããããšã¯ãããŸãããé©åã«èšèšãããã¯ãšãª ãã©ã³ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã®åäžã«ã€ãªããã ãã§ãªãããã广çãªãªãœãŒã¹ã®å©çšãšç®¡çãå¯èœã«ããæçµçã«ã¯AppMasterã®ãããªãã¯ãããžãŒ ãã©ãããã©ãŒã ã®å šäœçãªæåãšäŸ¡å€ææ¡ã«è²¢ç®ããŸãã