次ã®å³ã§ä½¿ã£ã¦ããâè²âã«æ³¨ç®ãã¦ãã ããã
æ°´è²ã®ãã¼ãã¨ãã³ã¯ã®ãã¼ããããã¾ãããã®è²ã®éãã説æããæ çµã¿ãä½ãããã¨æãã¾ãã
å 容ï¼
- ã¹ãã´ã¡ãã¯çè«ã®å¾©ç¿
- ç¸å¯¾ã¹ãã¼ã
- ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹
- ç¹å®ã¤ã³ã¹ã¿ã³ã¹ä¸ã®ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã®å
- ã¹ãã¼ãã«ãããâè²âã®è§£é
ã¹ãã´ã¡ãã¯çè«ã®å¾©ç¿
æ¯åº¦ã®ãã¨ãªãããã¹ãã´ã¡ãã¯ã«ãã颿ãã¼ã¿ã¢ãã«ã®ã»ããã£ã³ã°ã復ç¿ãã¾ãããã ããåºã¦ããè¨èã«ããã¼ã¿ãã¼ã¹ãã¨ãã形容è©ã¯ä»ãã¾ããããã¼ã¿ãã¼ã¹ä»¥å¤ã§ã使ãã¤ãããããããã§ãã以ä¸ã®2ã¤ã®è¨äºã«æ¸ããå 容ã®è¦ç´ã§ãã
- ã¹ãã¼ãã¨ã¤ã³ã¹ã¿ã³ã¹ -- ä¸è¬é¢æã¢ãã«
- ä¸è¬é¢æã¢ãã«ï¼ã¤ã³ã¹ã¿ã³ã¹ã®ã¢ãã¤ãç©ã¨ãã³ã½ã«ç©
Schãâåã®åâã¨ãã¦ããã¯ããªã³ã¨å¼ã³ã¾ãããã¯ããªã³ã®å¯¾è±¡ S, T ãªã©ãã¹ãã¼ãã§ãããåã ã®ã¹ãã¼ãã¯åã§ããã¹ãã¼ãã®ããã ã®é¢æ Ï:SâT ã¯ãã¯ããªã³ã®å°ï¼ÏâMor(Sch)ï¼ã§ãããÏãã¹ãã¼ãæºååå°ï¼ãããã¯åã«ã¹ãã¼ãæºååï¼ãã¹ãã¼ãå°ãªã©ã¨å¼ã³ã¾ãããã¯ããªã³ã¨å¼ã¶åã®å°ãã対象ã§ããã¹ãã¼ãã®ããã ã®æºååå°ãªã®ã§æ³¨æãã¦ãã ãããã¹ãã¼ãå°ã¯ãã¨ãã«ã¹ãã¼ã夿ï¼schema transformï¼ãã¹ãã¼ãçºå±ï¼schema evolutionï¼ãªã©ã¨ãå¼ã°ãã¾ãã
ã¹ãã¼ããå ·ä½çã«å®ç¾ããããã®åï¼ã¢ã³ãã¨ã³ãåï¼Cãåºå®ãã¦ã颿å [S, C] ããã¹ãã¼ãSä¸ã®ã¤ã³ã¹ã¿ã³ã¹ã®åã¨å¼ã³ã¾ããå [S, C] ã®å°ã¯èªç¶å¤æã§ãããã¤ã³ã¹ã¿ã³ã¹ã®æºååå°ã¨å¼ã³ã¾ãã[S, C] ã InstC[S] ã¨ãæ¸ãã¾ããCãäºè§£ããã¦ãããªããInst[S] ã§ããã¾ãã¾ããã
å¯¾å¿ S|âInst[S] ã¯ããã¯ããªã³Schä¸ã®ã¤ã³ããã¯ã¹ä»ãåã¨ãªãã¾ãããã®ã¤ã³ããã¯ã¹ä»ãåã®ã°ãã¿ã³ãã£ã¼ã¯æ§æï¼å¹³å¦åï¼ â«(sâSch | [s, C]) ãInstã¨æ¸ãã¾ããInstã¯ãã¹ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ãããªãåã§ããã®å°ã¯ã¹ãã¼ãå°ã¨ï¼åä¸ã¹ãã¼ãä¸ã®ï¼ã¤ã³ã¹ã¿ã³ã¹ã®å°ã®çµã¿åããã§ããInstã¯ã°ãã¿ã³ãã£ã¼ã¯æ§æã«ä¼´ãæ¨æºçãªå°å½±ãæã¡ã¾ãããã®å°å½±ã Sch:InstâSch ã¨ãã¾ããã¤ã³ã¹ã¿ã³ã¹Fã«å¯¾ãã¦ãSch(F) ã¯Fã®ã¹ãã¼ãã§ãããSch(f:FâG) ã¯ãã¤ã³ã¹ã¿ã³ã¹ã®ããã ã®å°fã®ã¹ãã¼ãé¨åï¼schema partï¼ã¨ãªãã¾ã
ç¸å¯¾ã¹ãã¼ã
ç¸å¯¾ã¹ãã¼ãï¼relative schemaï¼ã¨ã¯ãåã«ãã¯ããªã³Schå ã®å° SâT ã«éãã¾ãããâ = {ã»âã»} ãã2ã¤ã®ç°ãªãå¯¾è±¡ã¨æçå°ãå ¥ãã¦3ã¤ã®å°ãããªãåï¼å³å¼ï¼ã¨ãã¦ã颿åï¼ææ°ï¼ [â, Sch] = Câ ãä½ãã¨ããã®é¢æåã®å¯¾è±¡ãç¸å¯¾ã¹ãã¼ãã§ãå°ãç¸å¯¾ã¹ãã¼ãã®æºååã¨ãªãã¾ãã
å®éã«ã¯ããã¹ã¦ã®ç¸å¯¾ã¹ãã¼ããèããã®ã§ã¯ãªãã¦ãSãåºå®ã㦠SâT ã®å½¢ã®ç¸å¯¾ã¹ãã¼ããèãããã¨ãå¤ãã§ãããããã®ã¨ãã¯ãSã®ã¢ã³ãã¼å S/Sch ãç¸å¯¾ã¹ãã¼ãã®åã¨ãªãã¾ããããã«ãSâT ãåãè¾¼ã¿ã®å ´åãèããã¨ãSã¯Tã®é¨ååï¼SâTï¼ã¨èãã¦ãããã®ã§ãåSã¨ãã®æ¡å¼µã«ãªã£ã¦ããåTã®çµ (S, T) ãç¸å¯¾ã¹ãã¼ãã ã¨å®ç¾©ãã¦ãããã§ãããã
Sãåºå®ãã¦èããã¨ãã¯ãç¸å¯¾ã¹ãã¼ã SâT ã«ããã¦ãSã¯åºåºï¼ãã¼ã¹ï¼ã¹ãã¼ããTã¯Sä¸ã®ã¹ãã¼ãã¨å¼ã³ã¾ãããããSä¸ããããªãã¦ãSä¸ããªã®ã¯ãã¢ã³ãã¼åã使ã£ã¦ããããã§ããã¾ã¼ãä¸ã¨ãä¸ã¨ããã¾ãæ°ã«ãã¦ããããããªã*1ã§ããã©ã
UãTä¸ã®ã¹ãã¼ããTãSä¸ã®ã¹ãã¼ãã®ã¨ããUã¯Sä¸ã®ã¹ãã¼ãã¨ã¿ãªããã¨ãã§ãã¾ããããã¯ãSâTâU ã¨ããç³»åãèããã°æããã§ããããSâT ã¯ãUã«å¯¾ããâåºåºã®åãæ¿ãâã«ãªã£ã¦ãã¾ãããã®å ´åã®åºåºã®åãæãã¯ãå¼ãæ»ãã使ãå¿ è¦ã¯ãªãã¦åã«å°ã®çµåã ãã§ãã
ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹
TãSä¸ã®ã¹ãã¼ããã¤ã¾ããj:SâT ãç¸å¯¾ã¹ãã¼ãã®ã¨ããSä¸ã®ã¤ã³ã¹ã¿ã³ã¹ F:SâC ã¨Tä¸ã®ã¤ã³ã¹ã¿ã³ã¹ G:TâC ã®çµã¿åãããç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ï¼relative instanceï¼ã ã¨ã¯ãæ¬¡ã®æ¡ä»¶ãæç«ãããã¨ã§ãã
- j;G = F
jãåã込㿠SâT ã®ã¨ããèããã¨ãTã§å®ç¾©ãããGãSã«å¶éããã¨Fã«ãªããã¨ã§ããã¹ãã¼ãSã¨ã¤ã³ã¹ã¿ã³ã¹Fãåºå®ãã¦ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ãèãã¾ããããåãè¾¼ã¿ã¨ã¯éããªãä¸è¬ã®å ´åãå«ã㦠j;G = F ãæç«ãã¦ããã¨ããGãâFä¸âã®ãããã£ããã£ã±ãâä¸âã«ããã*2ãFä¸ã®ã¤ã³ã¹ã¿ã³ã¹ã¨å¼ã¶ãã¨ã«ãã¾ããFãåºåºã¤ã³ã¹ã¿ã³ã¹ã¨ãªããGã¯åºåºFãæ¡å¼µããã¤ã³ã¹ã¿ã³ã¹ã«ãªã£ã¦ãã¾ãã
ç¹å®ã¤ã³ã¹ã¿ã³ã¹ä¸ã®ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã®å
ã¤ã³ã¹ã¿ã³ã¹ F:SâC ãåºå®ãã¦ãFãåºåºã¤ã³ã¹ã¿ã³ã¹ã¨ããç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã®å ¨ä½ã¯ã¾ãåã¨ãªãã¾ãããã®åã Inst/F ã¨æ¸ãã¦ãå®éã«æ§æãã¦ã¿ã¾ãã
ç¸å¯¾ã¹ãã¼ã j:SâT ã¨ã¤ã³ã¹ã¿ã³ã¹ G:TâC ã®çµã Inst/F ã®å¯¾è±¡ã§ããã¨ã¯ãj;G = F ãæç«ãããã¨ã§ãããã®ãã㪠(j, G) ã®å ¨ä½ã |Inst/F| ã§ããj':SâT'ãG':T'âC ã¨ãã¦ãFä¸ã®ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ (j, G) ãããã1ã¤ã®ã¤ã³ã¹ã¿ã³ã¹ (j', G') ã¸ã®æºååå°ãå®ç¾©ãã¾ãã
ã¾ãã2ã¤ã®ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ãåãã¹ãã¼ãä¸ã§å®ç¾©ããã¦ããã¨ããG:TâCãH:TâC ã®ã±ã¼ã¹ãèãã¾ããèªç¶å¤æ α::GâH : TâC ããGããHã¸ã®ç¡æ¡ä»¶ã®æºååã§ããGãHã¯ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã ã£ãã®ã§ãèå¾ã«ç¸å¯¾ã¹ãã¼ã j:SâT ããã¦ãj;G = Fãj;H = F ãæç«ãã¦ããã¨ãã¾ããããã¨ã(j;α)A = αj(A) ã§å®ç¾©ãããèªç¶å¤æ j;α ã¯ãFããFã¸ã®èªç¶å¤æã§ããæ¬¡ã®æ¡ä»¶ãæºããã¨ãã«ãαã¯ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã®æºååã ã¨ãã¾ãã
- j;α = idF ::FâF :SâC
idFã¯é¢æFã®æçèªç¶å¤æã§ããã¤ã¾ããGã¨Hã«åºåºã¤ã³ã¹ã¿ã³ã¹Fãå«ã¾ãã¦ããã¨èãã¦ãαã¯åºåºFãåãããªããã¨ãããã¨ã§ãã
次ã«ããä¸è¬ã«ãG:TâC 㨠G':T'âC ã®ããã ã®æºååãèãã¾ããã¤ã³ã¹ã¿ã³ã¹Gã¨G'ã®ã¹ãã¼ãã¯ç°ãªãããããã¾ãããã¾ããGãG'ã«ã¯ãããã j:SâTãj':SâT' ã¨ããç¸å¯¾ã¹ãã¼ããä¼´ããj;G = j';G' = F ãæç«ãã¦ãã¾ããã¹ãã¼ãæºåå Ï:TâT' ã¨ã¤ã³ã¹ã¿ã³ã¹æºåå α::GâÏ*(G') ã®çµãç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã®ããã ã®æºååã ã¨ã¯ãæ¬¡ã®æ¡ä»¶ãæºãããããã¨ã§ãã
- Ïã¯ç¸å¯¾ã¹ãã¼ãã®ããã ã®æºååã§ãããã¤ã¾ããj;Ï = j' :SâT' ã
- αã¯ãj;α = idF ::FâF :SâC ãæºããã
ãã®ããã«ãã¦å®ç¾©ããç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã®ããã ã®æºååããå ¨ä½ã¨ãã¦åããªããã¨ã¯ç·´ç¿åé¡ã§ãã
以ä¸ã®å®ç¾©ã¯ãInst/F ã®å¯¾è±¡ã¨å°ãæã§ã³ãã³ãçµã¿ç«ã¦ãæãã§ãããææ°ï¼é¢æåï¼ï¼ã¤ã³ãã¯ã·ã³ã°ï¼ãã¡ã¤ãã¬ã¼ã·ã§ã³ã使ã£ã¦ä¸æ°ã«æ§æãããã¨ãã§ããã§ããããããããã°ãç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã®åããç¸å¯¾ã¹ãã¼ãã®åã®ããã«æ¡ãã£ã¦ããç¶æ³ãè¦ããããªãã¨æãã¾ãã
ã¹ãã¼ãã«ãããâè²âã®è§£é
ç¸å¯¾ã¹ãã¼ãã¨ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ãããå°ãå ·ä½åããããã«ãäºè²ã«å¡ãåããããåãèãã¾ãï¼å®éã«ã¯ãäºè²å¡ãåãã¨ããããã¯é¨ååãç¹å®ãããã°ååã§ããï¼ãåDãæ¬¡ã®æ§é ãæã¤ã¨ãã¾ãã
- Dã®å¯¾è±¡ã®éå |D| ãã|D| = |D|B + |D|V ã¨ç´åã«åè§£ããã¦ããã
- Dã®å°ã®éå Mor(D) ããMor(D) = Mor(D)B + Mor(D)V ã¨ç´åã«åè§£ããã¦ããã
- fâMor(D)B ãªãã°ãdom(f)â|D|B ã㤠cod(f)â|D|B ã
ä¸ä»ãæ·»åã®Bã¯ãã¼ã¹ãVã¯ããªã¢ãã«ï¼å¯å¤ï¼ã®ã¤ããã§ããæå¾ã®æ¡ä»¶ã¯ã対å¶ãã¨ãã°ãdom(f)â|D|B ã§ãªãããã¾ã㯠cod(f)â|D|B ã§ãªããªãã°ãfâMor(D)B ã§ã¯ãªãï¼ãããã£ã¦ãfâMor(D)Vï¼ãã¨ãªãã¾ãã
ç¸å¯¾ã¹ãã¼ããåãè¾¼ã¿ã«ãªã£ã¦ããç¶æ³ã«éå®ãããã¨ã«ãã¦ã|D|B ãæ°´è²ã®ãã¼ãã|D|V ããã³ã¯ã®ãã¼ãã¨èãã¦ãã ãããåé ã®çµµã§ã¯ã辺ï¼ç¢å°ï¼ã«è²ãä»ãã¦ã¾ãããã辺ã彩è²ãããã¨ã«ãã¦ãMor(D)B ã¯æ°´è²ã®è¾ºãMor(D)V ã¯ãã³ã¯ã®è¾ºã¨ãã¾ãã
åDã®æ°´è²é¨åãã¤ã¾ã |D|B 㨠Mor(D)B ãèããã¨ãããã¯Dã®é¨ååã¨ãªãã¾ãã®ã§ãDB ã¨ãã¾ããåã込㿠j:DBâD ã¯ç¸å¯¾ã¹ãã¼ããå®ç¾©ãã¾ãã颿 F:DBâC ã¯åºåºã¤ã³ã¹ã¿ã³ã¹ã¨ãªãã¾ãã
ç¹å®ã®åºåºã¤ã³ã¹ã¿ã³ã¹ F:DBâC ã«å¯¾ããç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã¯ãFãDä¸ã«æ¡å¼µãã G:DâC ã¨ãªãã¾ããåºåºã¤ã³ã¹ã¿ã³ã¹Fã¨ã¯ãæ°´è²ã®ãã¼ãã¨è¾ºã«éåã¨ååã§ã©ããªã³ã°ãããã¨ã§ãããããæ¡å¼µããç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹Gã¨ã¯ããã³ã¯ã®ãã¼ãã¨è¾ºã«ãã©ããªã³ã°ããããã¨ã§ããæ°´è²ã®ã©ããªã³ã°ã¯åºå®ãã¦ããã³ã¯ã®ã»ãã¯å¤åãã¦ãããã¨ããã°ãFä¸ã®ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ãããããèãããã¨ã«ãªãã¾ãã
ãã¼ã¿ãã¼ã¹ã«æ»ã£ã¦èããã¨ãåºåºã¤ã³ã¹ã¿ã³ã¹ã¯ãã¡ã¤ã³ï¼ãã¼ã¿åï¼ã®å®ç¾©ã§ããããã®åºåºã®ä¸ã®ç¸å¯¾ã¤ã³ã¹ã¿ã³ã¹ã¯ãç¹å®ã®ãã¡ã¤ã³å®ç¾©ï¼åã·ã¹ãã ï¼ä¸ã«æ§ç¯ããããã¼ã¿ãã¼ã¹ã¤ã³ã¹ã¿ã³ã¹ã§ãã