ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ã³ã³ããã¹ãã§ã¯ãå éšçµåã¯ãæå®ãããå ±éã®å±æ§ãŸãã¯æ¡ä»¶ã«åºã¥ã㊠2 ã€ä»¥äžã®ããŒãã«ã®è¡ãçµåãããäžå¯æ¬ ã§åºã䜿çšãããŠããæäœã§ããããã¯ãè€æ°ã®ããŒã¿ããŒã¹ ããŒãã«ãæäœããå Žåã®åºæ¬çãªæ©èœã§ãããããŒãã«éã§å ±éã®å€ãå ±æããã¬ã³ãŒããããŒãžããããšã§ãããŒã¿ã®ååŸãšæŽçãå¹ççã«è¡ãããšãã§ããŸããããã¯ãç°ãªãããŒã¿ã»ããéã®é¢ä¿ã確ç«ããã®ã«åœ¹ç«ã€ã ãã§ãªããåºåãå æ¬çã§åé·æ§ããªãããšãä¿èšŒããŸãã
å éšçµåã®èåŸã«ããäž»ãªæŠå¿µã¯ãç°ãªãããŒãã«éã®æ¥ç¶ãã€ã³ããã€ãŸãããŒã®ç¢ºç«ã§ãããããã®ããŒã¯ãäžèŽããå€ãæã€ããŒã¿ããŒã¹ ããŒãã«å ã®å ±æå±æ§ãŸãã¯åã§ããããŠãŒã¶ãŒãå©çšå¯èœãªãœãŒã¹ããè€åããŒã¿ã»ããã广çã«çµåã§ããããã«ããŸããããããããšã§ãå æ¬çã§çžé¢æ§ã®ããããŒã¿ã»ããã«å¯ŸããããŒã¿åæãçµ±åãããã³ã¬ããŒãäœæã¿ã¹ã¯ãå®è¡ããããšã容æã«ãªããŸããè€éãªããŒã¿ããŒã¹ã§ã¯ãè€æ°ã®å éšçµåã䜿çšããŠå€æ°ã®ããŒãã«ãé£çµããŠãé«åºŠã«å°éåããã詳现ãªåºåãäœæããããšã¯çããããšã§ã¯ãããŸããã
å éšçµåã®åªããç¹ã¯ãæå®ãããçµåæ¡ä»¶ã«åºã¥ããŠãé¢é£ããããŒã¿ã®ã¿ãæœåºã§ããããšã§ããæ¡ä»¶ãæºããè¡ã®ã¿ãè¿ããããæ¬è³ªçã«ç¡é¢ä¿ãªããŒã¿ãç¡é¢ä¿ãªããŒã¿ãé€å€ãããã¯ãšãªã®ããã©ãŒãã³ã¹ãæé©åãããåºåã®ç²ŸåºŠãä¿èšŒãããŸãããã®å¹çã¯ãç¹ã«æ°çŸäžã®ã¬ã³ãŒããå«ãå€§èŠæš¡ãªããŒã¿ããŒã¹ ã·ã¹ãã ã管çããå Žåã«éèŠãªèŠçŽ ã§ãã
ããã¯ãšã³ããWebãããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®åŒ·åãªno-codeãã©ãããã©ãŒã ã§ããAppMasterã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã«ããã Inner Join æäœã®éèŠæ§ãèªèããŠããŸãã AppMaster䜿çšãããšããŠãŒã¶ãŒã¯ããŒã¿ ã¢ãã« (ããŒã¿ããŒã¹ ã¹ããŒã) ãèŠèŠçã«äœæããããžã¥ã¢ã« BP ãã¶ã€ããŒã䜿çšããŠããžãã¹ ããžãã¯ãèšèšããREST API ãš WSS ãšã³ããã€ã³ããå®çŸ©ã§ããããã«ãªããŸãããã®ãã©ãããã©ãŒã ã¯ããã©ã€ã㪠ããŒã¿ ãœãŒã¹ãšã㊠PostgreSQL äºæããŒã¿ããŒã¹ãšã®ã·ãŒã ã¬ã¹ãªçµ±åãä¿é²ããå éšçµåæäœããã®ä»ã®è€éãªããŒã¿ããŒã¹ ã¯ãšãªã«å¯Ÿããå ç¢ãªãµããŒããæäŸããŸãã
å éšçµåã®æå¹æ§ã説æããããã«ã顧客æ å ±ãšæ³šæã®è©³çްãä¿åããããã®åå¥ã®ããŒãã«ãããé»ååååŒãã©ãããã©ãŒã ã®äŸãèããŠã¿ãŸãããã 2 ã€ã®ããŒãã«ã«ã¯ãå ±éã®å±æ§ãšããŠãcustomer_idãããããŸããå éšçµåã䜿çšãããšãäž¡æ¹ã®ããŒãã«ã®ãcustomer_idã屿§ãç §åããããšã§ã顧客ããŒã¿ã®å æ¬çãªããŒã¿ã»ãããšããããã®æ³šæã®è©³çްãååŸã§ããŸãããã®çµæãåãšã³ããªã«ç¹å®ã®é¡§å®¢ã®æ å ±ãšãã®é¡§å®¢ãè¡ã£ã泚æã®è©³çްãå«ãŸããåºåããŒãã«ãäœæãããŸãã
éåžžãå éšçµåã¯ã次ã®ãããªæ§é åç §äŒèšèª (SQL) ã¹ããŒãã¡ã³ãã䜿çšããŠå®è¡ã§ããŸãã
SELECT * FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id;
ãã® SQL ã¹ããŒãã¡ã³ãã¯ããcustomersãããŒãã«ãšãordersãããŒãã«ã®ãcustomer_idããäžèŽãããã¹ãŠã®ã¬ã³ãŒãããã§ããããé¢é£ããããŒã¿ãçµåããŠãåäžã®è€åããŒã¿ã»ãããšããŠè¡šç€ºããŸããå éšçµåæäœã«ãããããŒã¿ã®ååŸãšçµ±åã®ã¿ã¹ã¯ãå€§å¹ ã«ç°¡çŽ åããããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ç®¡çã«äžå¯æ¬ ãªããŒã«ã«ãªããŸãã
å€§èŠæš¡ã§è€éãªããŒã¿ããŒã¹ãæäœããå Žåãåäžã® SQL ã¯ãšãªã§è€æ°ã®å éšçµåã䜿çšããŠå æ¬çãªåºåãååŸããã®ãäžè¬çã§ãããã®ãããªå Žåãã¯ãšãªã«ã¯è€æ°ã®äžèŽæ¡ä»¶ã«åºã¥ã㊠3 ã€ä»¥äžã®ããŒãã«ãçµåããããšãå«ãŸããå¯èœæ§ããããæ¥ç¶æ°ãšããŒã¿çžé¢ã¬ãã«ã®å¢å ã«ã€ãªãããŸãããã®ãããªè€éãªã·ããªãªã§ã¯ãšãªã®ããã©ãŒãã³ã¹ãç¶æããã«ã¯ãçµåæäœã®æé©ãªé åºãæ éã«æ±ºå®ãããªã©ãçµåãã¿ãŒã³ãå¹ççã«èšç»ããããšãéèŠã§ãã
ããã«ãã€ã³ããã¯ã¹äœæãã¯ãšãª ãã©ã³åæãªã©ã®ããã©ãŒãã³ã¹æé©åææ³ã¯ãå€§èŠæš¡ãªããŒã¿ããŒã¹ ã·ã¹ãã ã§å¹ççãªå éšçµåæäœã確ä¿ããäžã§éèŠãªåœ¹å²ãæãããŸãã Go (Golang) ã§çæããããµãŒã㌠ã¢ããªã±ãŒã·ã§ã³ãåããAppMasterã¯ãè€éãªå éšçµåã¯ãšãªããã®ä»ã®ããŒã¿æäœãå®è£ ããããã®ãé«åºŠã§ã¹ã±ãŒã©ãã«ã§ããã©ãŒãã³ã¹ãæé©åãããã¢ãŒããã¯ãã£ã容æã«ããŸããããã«ããã AppMasterãŠãŒã¶ãŒã¯ãå éšçµåã广çã«å©çšããŠãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®çã®å¯èœæ§ã掻çšãããšã³ã¿ãŒãã©ã€ãº ã¬ãã«ã®é«æ§èœã¢ããªã±ãŒã·ã§ã³ãéçºã§ããããã«ãªããŸãã
çµè«ãšããŠãå éšçµåã¯ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®é åã«äžå¯æ¬ ãªæ©èœã§ãããå ±éã®å±æ§ãŸãã¯æ¡ä»¶ã«åºã¥ããŠè€æ°ã®ããŒãã«ã®ã¬ã³ãŒããçµåãã广çãªææ®µãæäŸããŸããåé·æ§ãæå°éã«æããªããé¢é£ããŒã¿ã®ã¿ãæœåºã§ããæ©èœã«ãããããŒã¿ããŒã¹ç®¡çè ãéçºè ãã¢ããªã¹ãã«ãšã£ãŠåæ§ã«äžå¯æ¬ ãªããŒã«ãšãªã£ãŠããŸãã匷åãªå éšçµåæ©èœãçµ±åããããšã«ããã AppMaster ããŠãŒã¶ãŒããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãšããã«é¢é£ããæäœã广çã«å©çšããæŽç·Žããã髿§èœã¢ããªã±ãŒã·ã§ã³ã®éçºã«å¿ èŠãªããŒã«ãšæ©èœã®å æ¬çãªã»ããã«ã¢ã¯ã»ã¹ã§ããããã«ããŸãã