ããŒã¿ ã¢ããªã³ã°ã®ã³ã³ããã¹ãã§ã¯ããè¡ããšã¯ãããŒã¿ããŒã¹ ããŒãã«å ã®ãšã³ãã£ãã£ã®ç¹å®ã®ã€ã³ã¹ã¿ã³ã¹ãŸãã¯åºçŸã衚ããã¿ãã«ãŸãã¯ã¬ã³ãŒããšãåŒã°ããããŒã¿èŠçŽ ã®åäžã»ãããæããŸããåã ã®è¡ã¯è€æ°ã®åã§æ§æãããŠãããååã¯ç¹å®ã®ãšã³ãã£ãã£ã®ç¹å®ã®å±æ§ãŸãã¯ããããã£ã«å¯Ÿå¿ããŸãã屿§ã¯ã説æçãªæ å ± (æååãæ°å€ãæ¥ä»ãªã©) ãŸãã¯ããŒã¿ã¹ãã¢å ã®ä»ã®ãšã³ãã£ãã£ãšã®é¢ä¿ã§æ§æãããŸãã
è¡ã¯ããŒã¿ããŒã¹ã®åºæ¬çãªæ§æèŠçŽ ãšããŠæ©èœãã AppMasterã¢ããªã±ãŒã·ã§ã³ã§äžè¬çã«äœ¿çšããã PostgreSQL äºæããŒã¿ããŒã¹ãªã©ã®ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ç®¡çã·ã¹ãã (RDBMS) ã®ãã¬ãŒã ã¯ãŒã¯å ã§å€æ§ãªããŒã¿æ§é ã衚çŸããã³ç·šæããããã«éèŠã§ãã
AppMasterã䜿çšããå ŽåãããŒã¿ããŒã¹ ã¢ããªã³ã°ã®éèŠãªåŽé¢ã¯ãããŒã¿ ããŒãã«å ã®è¡ãæ éã«èšèšããããšã§ããããã«ã¯ãåã®é©åãªå±æ§ã®éžæãšæ§é åãäžæã®èå¥å (äž»ããŒãšåŒã°ãã) ã®ç¢ºç«ãããã³å€éšããŒã®äœ¿çšã«ããç°ãªãããŒãã«å ã®è¡éã®é¢ä¿ã®å®çŸ©ãå«ãŸããŸãã
ããŒã¿ã®æŽåæ§ãç¶æããããŒã¿ ã¢ããªã³ã°ã®ãã¹ã ãã©ã¯ãã£ã¹ãéµå®ããããšã®éèŠæ§ãèãããšãããŒã¿ ããŒãã«å ã®è¡ã®æ§é ã®èšèšã¯ãããŒã¿ ã¢ããªã³ã° ããã»ã¹ã®äžå¯æ¬ ãªéšåãæ§æããŸããããã«ãããããŒã¿ã®æ£ç¢ºãªã¯ãšãªãšæäœãä¿èšŒãããå€§èŠæš¡ã¢ããªã±ãŒã·ã§ã³ã®ã¹ã±ãŒã©ããªãã£ãšããã©ãŒãã³ã¹ã®æé©åãä¿é²ãããŸãã
ã¢ããªã±ãŒã·ã§ã³å ã® 2 ã€ã®ãšã³ãã£ãã£ãCustomer ãš Order ã«ã€ããŠèããŠã¿ãŸãããã Customer ãšã³ãã£ãã£ã«ã¯ IDãNameãEmailãAddress ãªã©ã®å±æ§ããããOrder ã«ã¯ OrderIDãCustomerID (å€éšããŒ)ãTotal ãªã©ã®å±æ§ããããŸãã Customer ããŒãã«å ã®è¡ã¯é¡§å®¢ã® 1 ã€ã®ã€ã³ã¹ã¿ã³ã¹ã衚ããOrder ããŒãã«å ã®è¡ã¯æ³šæã® 1 ã€ã®ã€ã³ã¹ã¿ã³ã¹ã衚ããŸãã
å®éã«ã¯ãããŒã¿ããŒã¹å ã®è¡ã¯æ£èŠåã®ååã«åŸã£ãŠããããšãå€ãããã®çµæãå®å šã«æ£èŠåãããããŒã¿ããŒã¹ ã¹ããŒããåŸãããŸããæ£èŠåã¯ãããŒã¿ãé¢é£ããããŒãã«ã«æŽçããããšã§ãåé·æ§ãšäŸåæ§ãæå°éã«æããããã»ã¹ã§ããããŒã¿ããŒã¹ã®å¹çãé«ããæŽåæ§ãç¶æããã«ã¯ãåè¡ã«å«ãŸããåé·ããŒã¿ãã§ããéãæå°éã«ããå¿ èŠããããŸãã
äŸãèããŠã顧客ãè€æ°ã®æ³šæããããšä»®å®ããŸãããã¹ãŠã®æ³šæã顧客æ å ±ãšãšãã« 1 ã€ã®ããŒãã«ã«ä¿åãããšãããŒã¿ã®åé·æ§ãšæœåšçãªäžæŽåã®åé¡ãçºçããŸãããããã£ãŠãããŒã¿ã¯ãCustomers ãš Orders ã® 2 ã€ã®ããŒãã«ã«åå²ãããŸãã Orders ããŒãã«ã¯ãå€éšããŒã䜿çšããŠé¡§å®¢ã® ID ãåç §ããŸããããã«ãããOrders ããŒãã«ã®ãã¹ãŠã®è¡ã§é¡§å®¢ã®æ å ±ãç¹°ãè¿ãå¿ èŠããªããªããããå¹ççã§ã¡ã³ããã³ã¹ããããããŒã¿ ã¢ãã«ãæäŸãããŸãã
AppMasterã®æ©èœã«é¢ããŠèšãã°ããã®ãã©ãããã©ãŒã ã¯ããŒã¿ ã¢ãã«ãäœæããããã®èŠèŠçã«çŽæçãªæ¹æ³ãæäŸããŸããããã«ã¯ãè¡ã®å±æ§ãå®çŸ©ããäž»ããŒãšå€éšããŒãæå®ããããŒãã«éã«è€éãªé¢ä¿ãäœæããæ©èœãå«ãŸããŸãããã®äœ¿ããããã«ãããéçºè ã¯å ç¢ãªã¢ããªã±ãŒã·ã§ã³ ããžãã¯ã®å®è£ ã«éäžã§ããäžæ¹ã AppMasterå®çŸ©ãããããŒã¿ ã¢ãã«ã«åºã¥ããŠããŒã¿ããŒã¹ã®é©åãªã³ãŒããšã¹ããŒãã®çæãæ åœããŸãã
AppMasterã¯ãé©åã«èšèšãããããŒã¿ ã¢ãã«ã«åºã¥ããã«ãŒããªã³ãã䜿çšããŠãããã¯ãšã³ããWebãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãªã©ã®ã¢ããªã±ãŒã·ã§ã³ãçæããæ©èœãåããŠãããããŒã¿ããŒã¹ ããŒãã«å ã®è¡ããçæãããã¢ããªã±ãŒã·ã§ã³ã®å šäœçãªããã©ãŒãã³ã¹ãšå®å®æ§ã«ç¢ºå®ã«è²¢ç®ããŸããããã«ã AppMasterããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã« Go (Golang) ããã°ã©ãã³ã°èšèªãå©çšãããšã³ã¿ãŒãã©ã€ãºãé«è² è·ã®ãŠãŒã¹ã±ãŒã¹ã«åªããæ¡åŒµæ§ãæäŸããŸãã
èŠçŽãããšãããŒã¿ ã¢ããªã³ã°ã®ã³ã³ããã¹ãã«ãããè¡ã¯ãããŒã¿ããŒã¹ ããŒãã«å ã§ç·šæãããè€æ°ã®å±æ§ã§æ§æããããšã³ãã£ãã£ã®ç¹å®ã®ã€ã³ã¹ã¿ã³ã¹ã衚ããŸããè¡ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããŒã¿ã®æ§é åãããæå³ã®ãã衚çŸã確ç«ããããã«äžå¯æ¬ ã§ãããå¹ççãªã¯ãšãªãšæäœã«è²¢ç®ããŸãã AppMaster ãããŒã¿ ã¢ããªã³ã°ã«å¯ŸããçŽèгçã§èŠèŠçãªã¢ãããŒããæäŸããŸããããã«ãããéçºè ã¯ãããŒã¿ããŒã¹ã®èšèšãšå®è£ ã«äŒŽãäžè¬çãªæ¬ ç¹ãçºçãããããšãªããã¹ã±ãŒã©ãã«ã§ããã©ãŒãã³ã¹ã®é«ãã¢ããªã±ãŒã·ã§ã³ãå¹ççã«èšèšã§ããŸãã