DBãªãã¸ã§ã¯ãã®å½åæ³ã¨ä¸»ãã¼
DBãªãã¸ã§ã¯ãã«ã¤ãã¦ãRails ãªã©ã®ããã«ã©ããã¦ããå¤å´ãã管çããããã¨èãã人ãã¡ã¯ãè¨èªå´ã®å½åæ³ã§å¦çãããã¨èããããã§ãããDBå´ããè¦ãã¨é常ã«ä½¿ãã«ããã§ãã ãã®ãããå¼ç¤¾ã§ã¯ä»¥ä¸ã®ãããªå½åæ³ã§ç¨éã«å¿ãã¦å¥åãæä¾ãã¦ãã¾ãã
ç®æ¬¡
- ç®æ¬¡
- RDBMS ã¯é層æ§é ãã°ã«ã¼ãåãã«ãã
- æ¥é è¾ã¨åç§°
- ãã¼ã®å½å
- æ¥é è¾ããã¼ãã«ã®ã¨ã¤ãªã¢ã¹ã«
- 顧客åãã«
- ãªãã¸ã§ã¯ãæåè¨èªåãã«
- ã¾ã¨ã
RDBMS ã¯é層æ§é ãã°ã«ã¼ãåãã«ãã
RDBMSä¸ã®ãªãã¸ã§ã¯ãã¯åºæ¬çã«ãã©ãããªé¢ä¿ã«ãªãã¾ãããããªãã¸ã§ã¯ãæåè¨èªã®ããã«è±èªãåºæ¬ã¨ããã¨ãã¨ã¦ã管çãã«ãããªãã¾ãã
ã§ããããååé ã§ä¸¦ã¹ã¦ãæå³ãåããããã«æ¥é è¾ãä»ããã¹ãã§ãããã
æ¥é è¾ã¨åç§°
å¼ç¤¾ã§ã¯ã
- 1æåç®ï¼ãªãã¸ã§ã¯ãã®ã¿ã¤ã
- 2æåç®ï¼å¤§åé¡
- 3æåç®ï¼ä¸åé¡
- 4æåç®ï¼ï¼äºåï¼
ã¨ãã¦ãã¾ãã
ä¾ãã°ãã¼ãã«ã§ã¯ã1æåç®ã以ä¸ã®ããã«è¨å®ãã¦ãã¾ãã
- Tï¼ãã©ã³ã¶ã¯ã·ã§ã³ãã¼ãã«
- Mï¼ãã¹ã¿ãã¼ãã«
- Wï¼ã¯ã¼ã¯ãã¼ãã«
- Pï¼ãã©ã¡ã¼ã¿ãã¼ãã«
å®éã®ãã¼ãã«åã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
- T100_Quote
- T110_QuoteDetail
- T200_Order
- T210_OrderDetail
- M100_Customer
- M200_Product
ãã¼ã®å½å
主ãã¼ã¯ãµãã²ã¼ããã¼ã§ãã¹ã¦ãIDã
主ãã¼ã¯åºæ¬çã«ãµãã²ã¼ããã¼ï¼ä»£æ¿ãã¼ï¼ã使ããããã¥ã©ã«ãã¼ï¼æ¥åä¸ã¯æå³ãæã¤å¤ï¼ã¯æ¥µå使ãã¾ããã ãã¹ã¦ã®ä¸»ãã¼ã¯åºæ¬çã«ããIDãã§çµ±ä¸ãã¦ãã¾ãã ä¾ãã°ã顧客IDã¯
- CustomerID
- CUSTOMER_ID
ãªã©ã¨ãããã¨ãå¤ãã¨æãã¾ãããå¼ç¤¾ã§ã¯ãã¹ã¦ãIDãã®ã¿ã§ãã
å¤é¨ãã¼ã¯ãã¼ãã«ã®æ¥é è¾ï¼IDï¼ï¼ ååï¼
å¤é¨ãã¼ã¯ããã¼ãã«ã®æ¥é è¾ ï¼ ID ï¼ ååã¨ãªãã¾ãã ä¾ãã°ãè¦ç©ãã¼ãã«ã«ã¯ãè«æ±å IDã¨ãç´åå IDãããã¨ãã¾ãã ãããããM100_Customer ã®å¤é¨ãã¼ã«ãªãã¾ããã
- è«æ±å IDï¼M100ID_Billing
- ç´åå IDï¼M100ID_Delivery
ã¨ãã¾ãã ã¾ããè¦ç©æç´°ãã¼ãã«ã«ã¯ãå½ç¶ã親ã¨ãªãè¦ç©ãã¼ãã«ã®IDãå ¥ãã¾ãã ããè¨ãã¨ãã¯ãã¼ãã«ã®æ¥é è¾ï¼IDã¨ãªãã¾ãã
- è¦ç©IDï¼T100ID
æ¥é è¾ããã¼ãã«ã®ã¨ã¤ãªã¢ã¹ã«
æ¥é è¾ããã¼ãã«ã®ã¨ã¤ãªã¢ã¹ã«ãããã¨ã§ SQL ãæ¸ããããèªã¿ããããªãã¾ãã MySQLã»PostgreSQLã®ã¨ãã¯ãã¼ãã«åã¯ã¹ãã¼ã¯ã±ã¼ã¹ãSQLServerã®ã¨ãã¯ãã¹ã«ã«ã±ã¼ã¹ãOracleã®ã¨ãã¯å¤§æåãå¤ãããããã¸ã§ã¯ãã«ãã£ã¦ã±ã¼ã¹ãã¤ã±ã¼ã¹ã ãã ãããã¼ãã«åã¨ã¨ã¤ãªã¢ã¹ã®ä¸æåç®ã¯å¤§æåå°æåãéã«ãã¦ãã¾ãã
SELECT t100.ID , t100.QuoteDate , t100.M100ID_Billing , m100b.Name , t100.M100ID_Delivery , m100d.Name -- ä¸ç¥ FROM T100_Quote t100 INNER JOIN T110_QuoteDetail t110 ON t100.ID = t110.T100ID INNER JOIN M100_Customer m100b ON t100.M100ID_Billing = m100b.ID INNER JOIN M100_Customer m100d ON t100.M100ID_Delivery = m100d.ID -- å¾ç¥
æ¨ä»ãSQLåãã® IDE ãé常ã«å å®ãã¦ãã¦ã¤ã³ããªã»ã³ã¹ãå¹ãã¾ããããæ¥é è¾ã§è¦ããæ¹ãéãæ¸ããããã«ãªãã¾ãã
顧客åãã«
æ¥æ¬èªï¼æ¼¢åï¼ã«ç´ããï¼å¿ è¦ã«å¿ãã¦èªã¿åãæ¨©éã®ã¿ã®ï¼ã®ãã¥ã¼ãæä¾ãã¾ãããã å¼ç¤¾ã§ã¯ãã¼ãã«å®ç¾©ãExcelã§ä½ãããã¼ãã«ã®Createæã¨ããã¥ã¼ã®Createæãåæã«çæãã¦ãã¾ãã
CREATE VIEW T100_è¦ç© AS SELECT ID AS ID , QuoteDate AS è¦ç©æ¥ , M100ID_Billing AS è«æ±å ID , M100ID_Delivery AS ç´åå ID -- ä¸ç¥ FROM T100_Quote t100 -- å¾ç¥
ãã®å ´åãã¤ã³ããªã»ã³ã¹ãå¹ã IDE ã§ SQL ãæ¸ãã¦ããã°ãâT1â ã¾ã§å ¥åããæç¹ã§ãåè£ã«
- T100_Quote
- T100_è¦ç©
- T110_QuoteDetail
- T110_è¦ç©æç´°
ã¨è¡¨ç¤ºããã¾ããããã³ã¼ãã£ã³ã°ä¸ãé常ã«åããããããªãã¾ãã
ãªãã¸ã§ã¯ãæåè¨èªåãã«
æ¥é è¾ãã©ããã¦ãå«ã¨ãã人ãåºã¾ãã ãã®å ´åã顧客åãã¨åãããã«æ¥é è¾ãå¤ãããã¥ã¼ï¼ãã¼ã®åç§°ãç´ãï¼ãæä¾ãããããã¼ã®åç§°ã¾ã§æå¥ãè¨ããªããªãã°ãã·ããã ï¼SYNONYMï¼ãè¨å®ãã¦æä¾ãã¾ãããã
ã¾ã¨ã
DBå´ããè¦ã¦ä½¿ããããååããªãã¸ã§ã¯ãæåè¨èªã§ä½¿ããããååã顧客ã«ã¨ã£ã¦ä½¿ããããååãéãã¾ãã ãã¥ã¼ãã·ããã ãå©ç¨ããã°å¥åãä»ãããã¨ãã§ããã®ã§ããããåºæ¬ã¯DBå´ããè¦ã¦ä½¿ããããå½åæ³ã«ããå¿ è¦ã«å¿ãã¦å¥åã®ãã®ãæä¾ããã°è¯ãã§ãããã