æè¿ãããããã¼ãããã¯åããããã°ãããï¼ãã¨æã£ããã¨ãããã®ã§ãããã«ã¤ãã¦æ¸ãã¾ãã
æåã«è¨èã«ã¤ãã¦ã®ãæãï¼ "categorical"ã®è¨³èªãã©ãããããï¼ ã¨ãçä»®åã§ãã«ãã´ãªã«ã«ããç¡é£ã§ãããæ¼¢åã§æ¸ãããããåè«çããè½ã¡çããããããã§ãããå¿ ããããè«ãã®æå³ãå«ã¾ãªãã¨ããããã¾ããããã§ã以ä¸ããåçãã使ãã¾ãã
[è¿½è¨ date="2013-02-12"]å ¥éç解説ãæ¸ãã¾ãããâãè¡æçãªãã¼ã¿ãã¼ã¹çè«ã»é¢æçãã¼ã¿ã¢ãã« å ¥éã[/追è¨]
ã¹ãã´ã¡ãã¯ã¨é¢æçãã¼ã¿ã¢ãã«
ãã¤ã´ã£ããã»ã¹ãã´ã¡ãã¯ï¼David I. Spivak, http://math.mit.edu/~dspivak/ï¼ã¯ãMITã®ç 究è ã§ãã
å½¼ã¯åçæ å ±å¦ï¼categorical informaticsï¼ãæå±ãã¦ãã¾ã*1ãåçæ å ±å¦ã®ä¸å¿çãªæ¦å¿µãé¢æçãã¼ã¿ã¢ãã«ï¼functorial data modelï¼ã§ãã
ã¹ãã´ã¡ãã¯ã¯ã2007å¹´ã«ã«ãªãã©ã«ãã¢å¤§å¦ãã¼ã¯ã¬ã¼æ ¡ï¼UC Berkeleyï¼ã§å¦ä½ãå¾ã¦ã¾ãããå¦ä½è«æã®ã¿ã¤ãã«ã¯"Derived Smooth Manifolds"ã§ãå¹¾ä½å¦ããã£ã¦ããããã§ããã¿ã¤ãã«ããæ³åããã«ãã«ã¼ãªã¼ãªã©ãéçºãã代æ°å¹¾ä½ã®éå ·ã使ã£ã¦ãªããããªå¤æ§ä½ãã´ãã§ã´ãã§ãã話ããããã2005, 6å¹´ãããã«ã¯é«ã¨ãã«ã®ã¼ç©çå¦ã®è«æãæ¸ãã¦ãã¾ãã
2009å¹´ãããããåçæ å ±å¦ã®è«æãçºè¡¨ãåºããããã§ããåãèªãã§ï¼ã¶ãã¨çºãã¦ï¼ã¿ãã®ã¯æ¬¡ã®2ã¤ã§ãã
- Functorial Data Migration (6 Sep 2010)
http://arxiv.org/abs/1009.1166 - On The Relational Foundations Of Functorial Data Migration (20 Dec 2012, with Ryan Wisnesky)
http://arxiv.org/abs/1212.5303
ã¹ãã´ã¡ãã¯ãææ¡ãã¦ããæ çµã¿ã¯ãé常ãªä¸è¬æ§ãæã¡ã¾ãããã¨ããããã¯é¢ä¿ãã¼ã¿ã¢ãã«ã®åè«çãªå®å¼åã¨ãªã£ã¦ãã¾ããä»ã¾ã§ãããã¼ã¿ãã¼ã¹çè«ã«åè«ã使ãã¨ãã話ã¯ããã¾ãããããªãã ããã¡ããã©ãããæãã§èå³ãå¼ããã¾ããã§ãããã¹ãã´ã¡ãã¯ã®æ¹æ³ã¯ã¨è¨ãã¨ãé©ãã»ã©ã«åç´ã§ç´æ¥çãªå®å¼åã§ãã
ãã¼ã¿ãã¼ã¹ã®æ¦å¿µã¨åè«ã®æ¦å¿µããããã³ã°ããããã«ããã¤ã©æºåããã¦ããªã¼ãã¦ãã¨ã¯ä¸åãã¾ããããªãã®æºåããªãã«ãããªãå®ç¾©ãããã解éãããã®ã§ãããã¼ã¿ãã¼ã¹ã®æ¦å¿µã¨åè«çãªæ¦å¿µã®æ¥µãã¦ç´æ¥çãªå¯¾å¿é¢ä¿ãæ示ãã¾ãããã®ä¸é¨ã対å¿è¡¨ã«ããã¨ï¼
ãã¼ã¿ãã¼ã¹ã®æ¦å¿µ | åè«ã®æ¦å¿µ |
---|---|
ãã¼ã¿ãã¼ã¹ã®ã¹ãã¼ã | å |
ãã¼ã¿ãã¼ã¹ã®ãã¼ãã« | åã®å¯¾è±¡ |
ãã¼ãã«ã®ã«ã©ã | åã®å° |
ãã¼ã¿ãã¼ã¹ã®ç¶æ ï¼ã¤ã³ã¹ã¿ã³ã¹ | é¢æ |
ãã¼ã¿æä½ | èªç¶å¤æ |
ã¹ãã´ã¡ãã¯ã¯ããã®ãããªå¯¾å¿ã«è£è¶³äºé ãå¶ç´ãä¸è¦ãªè¨¼æ ã示ãã¦ãã¾ããä¾ãã°ã妥å½ã¨æããæ¹æ³ã§ãã¼ã¿ãã¼ã¹ã¹ãã¼ãã®åSchãå®ç¾©ãã¦ãåSchãâå°ããåâã®åCatã¨ååå¤ãªãã¨ã証æãã¦ãã¾ããå½¼ã¯æ¬¡ã®ãããªæããã¬ã¼ãºããã°ãã°ä½¿ã£ã¦ãã¾ãã
- Databases are Categories
- The connection between databases and categories is simple and strong.
- Schemas are categories, categories are schemas.
- Categories and database schemas are the same thing.
- Schema=Category, Data=Functor
- Database schemas as categories, Database instances as functors
ãã°ãã¹ãã´ã¡ãã¯ã®è¨ããã¨ã«è³ãå¾ããã°ãããã¼ãã«ãããããªã®ã§ããããã®åç´ï¼éããï¼è§£éãè¦ãã ãã®ã¯å®¹æãªãã¨ã§ã¯ãªãã§ãããããã®æå³ã§ãã¹ãã´ã¡ãã¯ã®è§£éã¯å¤§çºè¦ã§ãã
ããããã¾ã£ããåä¾ããªããã¨è¨ãã¨ããã§ã¯ãªãã¦ããã¼ã¿ãã¼ã¹ã»ã¤ã³ã¹ã¿ã³ã¹ãã¹ãã¼ãä¸ã®é¢æã¨èãããã¨ã¯ããã¼ã´ã§ã«ï¼Lawvereï¼ã®åè«çãªä»£æ°çè«ï¼algebraic theoryï¼ã¨ã¾ã£ããåãçºæ³ã§ããä¾ãã°ããã¼ã´ã§ã«æµã®è§£éã§ã¯ãåCå ã®ã¢ãã¤ãã¯ãåä½åÎããã®é¢æ M:ÎâC ã¨ã¿ãªãã¾ããåæ§ã«ãã¹ãã´ã¡ãã¯æµã®è§£éã§ã¯ãåCå ã®ãã¼ã¿ãã¼ã¹ã»ã¤ã³ã¹ã¿ã³ã¹ã¯ãã¹ãã¼ãã§ããåSããã®é¢æ D:SâC ã§ã*2ã
ãã¼ã¿ãã¼ã¹ã¹ãã¼ãã¯ã代æ°ã®ææ¨ã¨åããã®ã§ãããåä¸ã®ææ¨ã§ã¯ãªãã¦ãâãã¹ã¦ã®ææ¨âãåæã«èãã¾ãããã¹ã¦ã®ææ¨ï¼ï¼ãã¼ã¿ãã¼ã¹ã¹ãã¼ãï¼ãããªãåãSchã§ãããããã¯åã®åCatã¾ãã¯ãã®é¨ååã¨ååå¤ã«ãªãã¾ããåSchã¯ãã¤ã³ã¹ãã£ãã¥ã¼ã·ã§ã³ã«ãããææ¨åã¨åããã®ã§ããã¤ã³ã¹ãã£ãã¥ã¼ã·ã§ã³ã®ã¢ãã«åã«ããããã®ããã¤ã³ã¹ã¿ã³ã¹ã®å S-InstC := [S, C]ï¼é¢æåï¼ã§ãã
ãã®ããã«ããã¼ã¿ãã¼ã¹ã®è«¸æ¦å¿µãç´æ¥ï¼straightforwardï¼ã«åè«ã§ã¢ãã«åããææ³ãé¢æçãã¼ã¿ã¢ãã«ã§ããæ çµã¿ã¯ãã¼ã´ã§ã«ãã´ã°ã¨ã³ï¼Goguenï¼ã®ãã®ã¨åãã¨è¨ãã¾ããã代æ°çè«ãã¤ã³ã¹ãã£ãã¥ã¼ã·ã§ã³ãããã¼ã¿ãã¼ã¹ï¼ãã¼ã¿ã¢ãã«ã®è°è«ã«ããã»ã©ç´æ¥çã«é©ç¨å¯è½ã§ããã¨æ³åãã人ã¯å°ãªãã§ããããï¼ãã¼ã´ã§ã«ãã´ã°ã¨ã³ãæ³åã§ããªãã£ãã®ã§ã¯ï¼ï¼
åçæ å ±å¦ï¼é¢æçãã¼ã¿ã¢ãã«ã¯ä½ãããããã®ã
ã¹ãã´ã¡ãã¯ã¯æ¬¡ã®ããã«æ¸ãã¦ãã¾ã*3ã
the first goal of this paper is to present a straightforward model of databases under which every theorem about small categories becomes a theorem about databases.
ãã®è«æã®æåã®ç®çã¯ãå°ããåã«é¢ãããã¹ã¦ã®å®çããã®ã¾ã¾ãã¼ã¿ãã¼ã¹ã«é¢ããå®çã¨ãªããããªãç´æ¥çãªãã¼ã¿ã¢ãã«ãæä¾ãããã¨ã§ãã
åè«ã¨ç´æ¥å¯¾å¿ããé¢æçãã¼ã¿ã¢ãã«ã§ã¯ãä»ã¾ã§èç©ãããåè«ã®ç¥èãææ³ããã®ã¾ã¾å ¨é¨é©ç¨ã§ãããã¨ã«ãªãã¾ãããããã®ç¥èï¼ææ³ã«ã¯ãéä¼´ãã¢ãããã¯ã©ã¤ã¹ãªæ¡å¼µãã¤ã³ããã¯ã¹ä»ãåï¼ãã¡ã¤ãã¬ã¼ã·ã§ã³ãã°ãã¿ã³ãã£ã¼ã¯æ§æãå層ï¼å±¤ãããã¹ãã¤ã³ã¹ãã£ãã¥ã¼ã·ã§ã³ãªã©ãå«ã¾ãã¾ããå®éã¹ãã´ã¡ãã¯ã¯ããããã®éå ·ã縦横ç¡å°½ã«ä½¿ã£ã¦å®éçãªçµæãåºãã¤ã¤ããã¾ãã
ããã¦ï¼
Moreover, one may hope to leverage existing mathematical theory to their own database issues through this connection.
ããã«ã¯ãããªãèªèº«ã®ãã¼ã¿ãã¼ã¹ã«é¢ããåé¡ãããã®å¯¾å¿é¢ä¿ãéãã¦ãæ¢åã®æ°å¦çè«ã®åãåãã¦è§£ãããã¨æãããããã¾ãããã(ããã¦ããã¯å¯è½ã§ããããï¼
ã¹ãã´ã¡ãã¯ãæ示ããéå ·ã¨æéã®ãªãã§ç¹ã«å°è±¡çãªã®ã¯ãã¹ãã¼ãå¤æï¼schema translationï¼ã«ä¼´ããã¼ã¿ãã¤ã°ã¬ã¼ã·ã§ã³ã§ãã
ãã¼ã¿ãã¼ã¹ã¹ãã¼ãã¯åãªã®ã§ã2ã¤ã®ã¹ãã¼ãSã¨Tã®ããã ã®å¤æã¯é¢æ F:SâT ã¨ãªãã¾ãããã®ã¹ãã¼ãå¤æã«å¯¾ãã¦ãTä¸ã®ãã¼ã¿ãSä¸ã«ããããã¯Sä¸ã®ãã¼ã¿ãTä¸ã«åççã«ç§»åããã«ã¯ã©ããããããã§ããããï¼ ãã®åé¡ã¯ä»ã¾ã§ãå¤ãåãä¸ãããã¦ããããå®ç¨ä¸ã大å¤ã«éè¦ã§ãããããã決å®çãªçµæã¯ãªãã£ãããã«æãã¾ãã
é¢æFã«ããå¼ãæ»ãã使ã㨠[T, Set]â[S, Set] ã¯ç°¡åï¼ã»ã¼èªæï¼ã«å®ç¾©ã§ãã¾ãããã®å¼ãæ»ãé¢æï¼pullback functorï¼ã ÎF:[T, Set]â[S, Set] ã¨æ¸ãã¾ããé£ããã®ã¯ [S, Set]â[T, Set] æ¹åã®ãã¼ã¿ç§»åã§ããããã«å¯¾ãã¦ã¹ãã´ã¡ãã¯ã¯ãå³åéãé¢æï¼right pushforward functorï¼Î Fã¨å·¦åéãé¢æï¼left pushforward functorï¼Î£Fã次ã®ããã«å®ç¾©ãã¾ãã
- å³åéãé¢æÎ Fã¯ãÎFã®å³éä¼´ã§ããã
- å·¦åéãé¢æΣFã¯ãÎFã®å·¦éä¼´ã§ããã
ÎFãÎ FãΣF ã¯ãããããFã«ãã£ã¦èªå°ãããå°å½±ãã¸ã§ã¤ã³ãã¦ããªã³ã ã¨è¨ã£ã¦ãããã§ãããã
ãããã®ãã¼ã¿ãã¤ã°ã¬ã¼ã·ã§ã³é¢æããã¼ã¹ã«ãã¦ã¹ãã´ã¡ãã¯ã¯ãã¹ãã¼ãå¤æã®ã©ã¦ã³ãããªããæ§ããå¤é¨ãã¼ã§çµã°ããè¤æ°ã®ãã¥ã¼ï¼å®ãã¼ãã«ã§ã¯ãªãï¼ã®æ´æ°æ¹æ³ãªã©ãè°è«ãã¦ãã¾ããè«æ¨ã¯æå¿«ã§ãããå®å¼åã¨æ¨è«ã¯å³å¯ã§ãã
é¢æçãã¼ã¿ã¢ãã«ã¯ãé¢ä¿ãã¼ã¿ãã¼ã¹ã«ã ãé©ç¨å¯è½ãªãã®ã§ã¯ããã¾ãããã¹ãã´ã¡ãã¯èªèº«ãåæ§é çãã¼ã¿ãã¼ã¹ã®ä¾ã¨ãã¦RDFï¼Resource Description Frameworkï¼ããã°ãã°å¼ãåãã«åºãã¦ãã¾ããXMLãJSONãã¼ã¹ã®ãã¼ã¿ãã¼ã¹ãå¤å ¸çãªç¶²åãé層åã®ãã¼ã¿ãã¼ã¹ãªã©ãå®åç¯å²ã«å ¥ãã¾ãã
Kleisli Database Instances ã¨ããè«æã§ã¯ãã¡ãã£ã¨æªä¹ãæ°å³ã«ãé¢æ£åå¦ç³»ãæåã°ã©ãããã¥ã¼ãªã³ã°ãã·ã³ã群ã®ç·å½¢è¡¨ç¾ãªã©ãâãã¼ã¿ãã¼ã¹âã®ä¾ã ã¨ä¸»å¼µãã¦ã¾ãï¼ããéãã ãï¼ã
ä»ã«ãã¾ã é¢ç½ã話é¡ãå±±çãã§ãããä»æ¥ã¯ããã¾ã§ã«ãã¦ããã¾ããã¹ãã´ã¡ãã¯ã®åçæ å ±å¦ï¼é¢æçãã¼ã¿ã¢ãã«ã®å ·ä½çãªå 容ã«ã¤ãã¦ã¯ãã¾ãã®æ©ä¼ã«ç´¹ä»ãããã¨æãã¾ãã
*1:ã¹ãã´ã¡ãã¯ä»¥åã«ããcategorical informatics ã¨ããè¨èã使ã£ã¦ãã人ã¯ããã¨æãã¾ããã
*2:ãã¼ã¿ãã¼ã¹ã»ã¤ã³ã¹ã¿ã³ã¹ãδã®ãããªã®ãªã·ã£æåå°æåã§è¡¨ããã¨ãããã¾ãã
*3:[追è¨]ãã®æã¯ãFunctorial Data Migration ããã®å¼ç¨ã§ããã¡ãªã¿ã«ãthe second goal ã¯ããã¼ã¿ãã¤ã°ã¬ã¼ã·ã§ã³é¢æã®å®ç¾©ã§ãã[/追è¨]