æ§é åç §äŒèšèª (SQL) ã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ç®¡çãæäœãã¯ãšãªã«äœ¿çšããããã¡ã€ã³åºæã®èšèªã§ãã SQL ã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ç®¡çã·ã¹ãã (RDBMS) ãå¹ççã«äœæãä¿å®ãéçšããããã«äœ¿çšãããæšæºããã°ã©ãã³ã°èšèªãšããŠæ©èœããŸããããã¯ãã¢ããªã±ãŒã·ã§ã³éçºè ãããŒã¿ ã¢ããªã¹ããããŒã¿ããŒã¹ç®¡çè ã«ãšã£ãŠäžå¯æ¬ ãªããŒã«ã§ããã ãã§ãªãã AppMasterno-codeãã©ãããã©ãŒã ã§äœæããããã®ãå«ããããŒã¿éçŽåã¢ããªã±ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£ã«ãããéèŠãªã³ã³ããŒãã³ãã§ããããŸãã
SQL ã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ ã¢ãã«ã®é©æ°çãªæŠå¿µãå°å ¥ãããšãã¬ãŒ F. ã³ããã®ç ç©¶ã«åºã¥ããŠã1970 幎代㫠IBM ã«ãã£ãŠæåã«éçºãããŸãããçŸåšãSQL ã¯ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ç®¡çãšã¯ãšãªã®äºå®äžã®æšæºãšãªã£ãŠãããOracleãMicrosoft SQL ServerãMySQLãPostgreSQL ãªã©ã®ã»ãšãã©ã® RDBMS ãã³ããŒã«ãã£ãŠãµããŒããããŠããŸãããã®çµæãããŒã¿ã®ç®¡çãšæäœã«éç¹ã眮ã IT ãããã§ãã·ã§ãã«ã«ãšã£ãŠãSQL ã¹ãã«ã¯äžå¯æ¬ ãªãã®ã«ãªããŸããã
SQL ã®æ žå¿ã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã«æ ŒçŽãããŠããããŒã¿ã«å¯Ÿã㊠4 ã€ã®äž»èŠãªæäœ (äœæãèªã¿åããæŽæ°ãããã³åé€ (CRUD)) ãå®è¡ããæ©èœã§ãã
äœæ: SQL ã䜿çšãããšãæ°ããããŒãã«ããã®ä»ã®ããŒã¿ããŒã¹ ãªããžã§ã¯ã (ã€ã³ããã¯ã¹ããã¥ãŒãå¶çŽãªã©) ãäœæããŠãããŒã¿ ã¹ããŒããå®çŸ©ããããŒãã«éã®é¢ä¿ã確ç«ããããŒã¿ã®æŽåæ§ã匷å¶ã§ããŸãã CREATE TABLE ã¹ããŒãã¡ã³ããš CREATE INDEX ã¹ããŒãã¡ã³ãã¯ããã®ã³ã³ããã¹ãã§äœ¿çšããã SQL ã³ãã³ãã®äŸã§ãã
èªã: SQL ã䜿çšãããšããŠãŒã¶ãŒã¯ç¹å®ã®åºæºã«åºã¥ã㊠1 ã€ãŸãã¯è€æ°ã®ããŒãã«ããããŒã¿ãååŸã§ããŸããããã¯ãWHEREãGROUP BYãHAVINGãORDER BY ãªã©ã®ããŸããŸãªå¥ãšçµã¿åãããããšãã§ãã SELECT ã¹ããŒãã¡ã³ãã䜿çšããŠå®çŸãããã¯ãšãªå¯Ÿè±¡ã®ããŒã¿ããã£ã«ã¿ãªã³ã°ãéèšãäžŠã¹æ¿ããããšãã§ããŸãã INNER JOINãLEFT JOINãRIGHT JOINããŸã㯠FULL OUTER JOIN æŒç®åã䜿çšããŠè€æ°ã®ããŒãã«ãçµåããæ©èœã¯ãSQL ã®ãã 1 ã€ã®éèŠãªæ©èœã§ããããŠãŒã¶ãŒããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ããè€éãªæŽå¯ãæœåºã§ããããã«ãªããŸãã
æŽæ°: SQL ã¯ãããŒã¿å€ã®å€æŽãæ°ããã¬ã³ãŒãã®è¿œå ãªã©ãããŒãã«å ã®æ¢åã®ããŒã¿ã倿Žããã³ãã³ããæäŸããŸããäŸã«ã¯ãæ¢åã®è¡ã倿Žãã UPDATE ã¹ããŒãã¡ã³ãããæ°ããè¡ã远å ãã INSERT INTO ã¹ããŒãã¡ã³ããå«ãŸããŸããããã«ãSQL ã® ALTER TABLE ã³ãã³ãã䜿çšãããšãããŒãã«ã®æ§é ãããã«é¢é£ããå¶çŽãã€ã³ããã¯ã¹ããã®ä»ã®ãªããžã§ã¯ãã倿Žã§ããŸãã
åé€: SQL ã§ã¯ãããŒãã«å šäœããã®ä»ã®ããŒã¿ããŒã¹ ãªããžã§ã¯ãã®åé€ã ãã§ãªããããŒãã«ããã®ããŒã¿ã®åé€ã容æã«ãªããŸãã DELETE FROM ã¹ããŒãã¡ã³ãã¯ç¹å®ã®è¡ã®åé€ãåŠçããŸãããDROP TABLE ã³ãã³ãã¯ããŒãã«æ§é å šäœãšé¢é£ããŒã¿ãåé€ããŸãã
SQL ã®ç¹åŸŽã® 1 ã€ã¯ãåæãã«ããŠãŒã¶ãŒç°å¢ã«ãããããŒã¿ ãã©ã³ã¶ã¯ã·ã§ã³ã®ä¿¡é Œæ§ãšæŽåæ§ãä¿èšŒãã ACID ã¢ãã«ã®åå (ååæ§ãäžè²«æ§ãå颿§ãèä¹ æ§) ã«æºæ ããŠããããšã§ããããã¯ãè€æ°ã® SQL ã¹ããŒãã¡ã³ãã 1 ã€ã®åå²äžå¯èœãªäœæ¥åäœã«ãã³ãã«ãããã©ã³ã¶ã¯ã·ã§ã³ã®äœ¿çšã«ãã£ãŠå®çŸãããŸãããã©ã³ã¶ã¯ã·ã§ã³ã«ãããé¢é£ãããã¹ãŠã®ã¹ããŒãã¡ã³ããæ£åžžã«å®äºãããã倱æããå Žåã«ã¯ä»¥åã®ç¶æ ã«ããŒã«ããã¯ãããããŒã¿ã®äžè²«æ§ãç¶æãããŸãã
SQL ã¯ãã®èªç以æ¥ãSQL-92ãSQL-99ãSQL:2003 ãªã©ã®å€æ°ã®æ¡åŒµæ©èœãããªãšãŒã·ã§ã³ã«ãã£ãŠå€§å¹ ã«é²åããããããã«æ°ããæ©èœã远å ãããŠããŸããããã«ãå RDBMS ãã³ããŒã¯éåžžãèªç€Ÿã®è£œåã«åãããç¹å®ã®æ©èœãæ¡åŒµæ©èœ (ãæ¹èšããšãåŒã°ããŸã) ãæäŸããŸãã
AppMasterno-codeãã©ãããã©ãŒã ã¯ãPostgreSQL äºæããŒã¿ããŒã¹ãšã®ã·ãŒã ã¬ã¹ãªçµ±åãä¿é²ãããããããã¯ãšã³ããWebãããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã§ã® SQL ã®äœ¿çšããµããŒãããŸãããã®äºææ§ã«ããã AppMasterã«ãã£ãŠçæãããã¢ããªã±ãŒã·ã§ã³ã¯ãªã¬ãŒã·ã§ãã« ããŒã¿ãå¹ççã«æäœã§ããããŒã¿ã®ç®¡çãã¯ãšãªã倿ã«ããã SQL ã®å®èšŒæžã¿ã®åŒ·ã¿ã掻çšã§ããŸãã SQL ãšAppMasterãã©ãããã©ãŒã ããã®ããã«çµã¿åãããããšã§ãã客æ§ã¯ç¹å®ã®ããŒãºã«åããã匷åã§ã¹ã±ãŒã©ãã«ã§ã³ã¹ãå¹çã®é«ããœãããŠã§ã¢ ãœãªã¥ãŒã·ã§ã³ãäœæã§ããŸãã
çµè«ãšããŠãæ§é åç §äŒèšèª (SQL) ã¯ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ç®¡çãã¯ãšãªãæäœã«äžå¯æ¬ ãªããŒã«ã§ãããIT ãããã§ãã·ã§ãã«ããœãããŠã§ã¢éçºè ãã¢ããªã±ãŒã·ã§ã³ã§å¹ççãªããŒã¿åŠçãå®çŸã§ããããã«ãªããŸãã SQL ãšAppMasterã¢ããªã±ãŒã·ã§ã³ãšã®äºææ§ã¯ããã®å®èšŒæžã¿ã®ããã°ã©ãã³ã°èšèªãããŸããŸãªãŠãŒã¹ã±ãŒã¹ãæ¥çã§æäŸããå€çšéæ§ãšåŒ·åãªããã©ãŒãã³ã¹ã匷調ããŠããŸãã