초보 개발자 입니다.. nodejs + mysql 을 사용해서 연습중입니다.
다름이 아니라 db설계때 .. db를 정규화하면.. 테이블이 10개 정도가 나온다고 하면
insert시 .. 이 테이블 10개에 각각 insert해줘야 하나요? 아니뭔 무슨 방법이 있는건가요?
관계를 설정 해놓고 .. 어떻게 입력하면 바로 들어가는건지 아니면
트랜젝션 활성화 시키고 .. 10군데 저장하고 .. 확인 하는 방식인지요?
그리고 .. 불러올때도 마찮가지로 ... 1개 조회하면 다 딸려오는건가요? 아니면
10개의 테이블에서 조인해야 하나요? 항상 헷갈리네요 . 이런 기본이 안되니까
한 테이블에 다 몰아넣게 되는것 같습니다.. 하다보면.. 이래서 안되고 저래서 안되고 ㅜㅜ
조언좀 부탁 드리겠습니다.
"Ç°¸í ·ÎÆ®¹øÈ£ »ý»êÀÏ ±Ô°Ý ÀçÁú ´ÜÀ§ ±âŸ"
ÀÌ·± ¾¿À¸·Î Å×À̺íÀÌ Á¤ÀǸ¦ ÇÑ´Ù°í ÇßÀ»떄 À§ Å×ÀÌºí ¸ñ·ÏÀ» °¡Áö°í ºÐ·ù¸¦ Çϼžߵ˴ϴÙ.
Áï Ç°¸íÀ» ÀÔ·ÂÀ¸·Î ÇÒ°ÇÁö ¾Æ´Ï¸é º°µµÀÇ Å×À̺íÀ» ¼³Á¤ Çؼ ¸®½ºÆ®¿¡¼ ¼±ÅÃÀ» ÇÒ°ÇÁö ÀÔ´Ï´Ù.
°¢ ÇʵåÀÇ ÀÔ·Â ¹æ½ÄÀ» ÇѰŹø¿¡ ¼öÀÛ¾÷ ÇÏ´Â°Å¿Í º°µµ·Î Å×À̺íÀ» ¸¸µé¾î ¸®½ºÆ® Çü½ÄÀ¸·Î ¼±Åà Çϴ°ÍÀÌÁö¿ä.
ºÐ¼® ¿¹)
Ç°¸íÀº ¸®½ºÆ®·Î ¸¸µç´Ù
·ÎÆ®¹øÈ£ ¸®½ºÆ®·Î ¸¸µç´Ù
»ý»êÀÏ ¼öµ¿ÀÔ·Â(³¯Â¥¼±ÅÃ)
±Ô°Ý ¸®½ºÆ®·Î ¸¸µç´Ù
ÀçÁú ¸®½ºÆ®·Î ¸¸µç´Ù
´ÜÀ§ ¸®½ºÆ®·Î ¸¸µç´Ù
±âŸ ¼öµ¿ÀÔ·Â(ÅؽºÆ® ÀÔ·Â)
ÀÌ ÇϳªÀÇ Å×À̺íÀ» ¿Ï¼º Çϱâ À§Çؼ 6°³ÀÇ ´Ù¸¥ Å×À̺íÀ» ¸¸µé¾î¾ß µË´Ï´Ù.
ÀԷ°ú .. Ãâ·ÂÀÌ ±Ã±ÝÇؼ¿ä ..
2420 ´Ô ¸»¾¸Ã³·³ ORM À» ½á¾ß Çϴ°ǰ¡¿ä ..
ORMÀº °³³äÀÌ Àß ¸ð¸£°Ú¾î¼ ¸ðµ¨ ¸¸µé°í ÇؾßÇؼ ..
±×³É Äõ¸® ºô´õ·Î ¾²°í À־ä ..
Äõ¸® ºô´õ·Î ÇÏ°Ô µÇ¸é.. 6°³·Î ³ª´²Á® ÀÖÀ¸¸é..
6°³¸¦ ´Ù join Çؼ °¡Á®¿Í¾ß ÇÏ´ÂÁö?
´ÜÁ¡Àº ÀÚ·á°¡ ¸¹À¸¸é ºÒ·¯ ¿À´Â°ÍÀÌ ´À¸±¼öµµ ÀÖ½À´Ï´Ù.
Äõ¸® Á¶°Ç¹®À» Àß Á¤¸® ÇÏ¼Å¾ß »¡¸® ºÒ·¯ ¿É´Ï´Ù.
* ÀÌ·± Á¶°ÇÀº »çÀýÀÔ´Ï´Ù.. ÇÏÇÏÇÏ
inset into Ç°¸ñDB from rec(0).Ç°¸í= txt_Ç°¸í rec(1).·ÎÆ®¹øÈ£=txt_·ÎÆ®¹øÈ£ rec(2).»ý»êÀÏ=txt_»ý»êÀÏ rec(3).±Ô°Ý=txt_±Ô°Ý rec(4).ÀçÁú=txt_ÀçÁú rec(5).´ÜÀ§=txt_´ÜÀ§ rec(6).±âŸ=txt_±âŸ
ÁÖÀÇ Çü½ÄÀÌ Æ²¸±¼öµµ ÀÖ½À´Ï´Ù.. ÇÏÇÏÇÏ
´ÜÁö ÀÌ·±¾¿À¸·Î ¿ø¸®¸¦ ¿¹½Ã·Î ÀûÀº°ÍÀÔ´Ï´Ù..
select½Ã´Â ¾î¶»°Ô °¡Á®¿Í¾ß ÇÒ±î¿ä?
´Ù rec(0) ÀÔ´Ï´Ù... ÇÏÇÏÇÏ
µð½ºÇ÷¹À̶§´Â ³»¿ëµéÀ» º¸¿© ÁÖÁö¸¸ DB¿¡ ÀúÀå ÇÒ¶§´Â Å°Äڵ常 µé¾î °©´Ï´Ù.
Ç°¸ñDB ÀÇ ÇÊµå ³»¿ëÀ»
Ç°¸íno,·ÎÆ®¹øÈ£no,»ý»êÀÏ,±Ô°Ýno,ÀçÁúno,´ÜÀ§no,±âŸ
À§¿¡ ¿¹½Ã´ë·Î Çϸé Ç°¸ñDB ¿¡´Â no °ª¸¸ µé¾î °©´Ï´Ù.
»ý»êÀÏ À̳ª ±âŸ´Â ¼öµ¿ÀÔ·ÂÀ̱⿡ ³»¿äÀÌ ¹Ù·Î Ç°¸ñDB¿¡ ÀúÀåÀÌ µÇ´Â°ÍÀÌ°í¿ä.
select Ç°¸ídb.Ç°¸íno=Ç°¸ñdb.Ç°¸íno,·ÎÆ®¹øÈ£db.·ÎÆ®¹øÈ£no=Ç°¸ñdb.·ÎÆ®¹øÈ£no,±Ô°Ýdb.±Ô°Ýno=Ç°¸ñdb.±Ô°Ýno,ÀçÁúdb.ÀçÁúno=Ç°¸ñdb.ÀçÁúno,´ÜÀ§db.´ÜÀ§no=Ç°¸ñdb.´ÜÀ§no
from Ç°¸ñdb Ç°¸ídb ·ÎÆ®¹øÈ£db ±Ô°Ýdb ÀçÁúdb ´ÜÀ§db where .............
ÀÌ·¸°Ô µÉµí ÇÕ´Ï´Ù...
ÀºÐ ¼³¸íó·³ ÀÚ·áÀÇ ºÐ·ù, ¼º°ÝµîÀ» ºÐ·ùÇÏ¸é¼ Å×ÀÌºí ±¸Á¶¸¦ ¼³°èÇÏ½Ã¸é µÉ µí Çϳ׿ä.
- Äõ¸®ºô´õ´Â SQL¹®Àå°ú ÇÁ·Î±×·¥ Äڵ带 ºÐ¸®Çؼ Á» readable ÇÏ°Ô ¸¸µé¾îÁÖ´Â Åø °°Àºµ¥¿ä. ÀÌ°É ´õ È®ÀåÇÑ °ÍÀÌ ORM Á¤µµ·Î »ý°¢ÇÏ½Ã¸é µË´Ï´Ù.
- Æ®·£Á§¼ÇÀº Á» ´õ ÆÄ°íµé¸é..±×·¯ÇÏ´Ï ½±°Ô SQLÀ» ½á¼ DBº¯ÇϽÃÅ°´Â°Çµ¥ ÇϳªÀÌ»óÀÇ SQLÀ» ¼öÇàÇßÀ»¶§ Á¦´ë·Î °á°ú°¡ ¹Ý¿µµÇ´Â°¡.°í·±°Çµ¥¿ä. º¸ÅëÀº ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ÀÌ ±â´ÉÀ» Á¦°øÇؼ °³¹ßÀÚ°¡ ±»ÀÌ ½Å°æ¾µ ÇÊ¿ä´Â Áö±ÝÀº ¾øÁö¸¸ ¿¹Àü¿¡ JDBC °¡Áö°í ÇÁ·Î±×·¡¹ÖÇÒ¶§´Â DB connectionÀ» ÇÏ°í Á¦´ë·Î close Çϰųª commit ÇÏÁö ¾ÊÀ¸¸é ³ªÁß¿¡ ½Ã½ºÅÛ±îÁö ´Ù¿îµÇ°í ±×·¨´ä´Ï´Ù. ´ç¿¬È÷ ¿±â¸¸ ÁÖ±¸Àåâ ¿°í ´ÝÁú ¾Ê¾ÒÀ¸´Ï±î¿ä. Àú´Â ¹«ÇÑ·çÇÁ À߸øµ¹·Á¼(¾ö¹ÐÈ÷ ¸»ÇØ Å©¸®Æ¼Äà ¿¡·¯) µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀ» ³¯·Á¸ÔÀº ÀûÀÌ 2¹ø Á¤µµ ÀÖ¾î¿ä ¤»¤»
- Å×À̺íÀ» ¼³°èÇÏ¸é ³ªÁß¿¡ È®ÀåÀ» ÇÏ´Â °æ¿ì°¡ »ý±æÅÙµ¥¿ä. ±× È®ÀåÀº ³ªÁß¿¡ °øÀ¯Å°..Å×ÀÌºí¿¡ °ø¿ëÅ°(À¯´ÏÅ©Å° ¼³Á¤ÀÌ ÁÁÀ½)À» °¡Áö°í È®ÀåÇϸé ÁÁ½À´Ï´Ù. ±×°Ô ³ªÁß¿¡ join ÇüÅ·Πµ¥ÀÌÅ͸¦ °¡Á®¿À¸é µË´Ï´Ù.
Á¶±×¸¸ µµ¿òÀÌ¶óµµ µÇ¾úÀ¸¸é ÇÕ´Ï´Ù.
±×°Ç dbÀÔÀåÀÌ°í...
ÇÁ·Î±×·¡¸Ó ÀÔÀå¿¡¼± °³º° Å×ÀÌºí¸¶´Ù ¸ðµÎ insertó¸®ÇØ¾ß µË´Ï´Ù.
dba°¡ ¼³°èÇÏ°í ÇÁ·¹ÀÓ¿÷µµ ¸¸µé°í °³¹ßÀÚÇÑÅ× »ç¿ëÇϵµ·Ï ÇÏ´Â °Ç....ÇöÀå¿¡¼± ȯ»óÀÌÁÒ.
±×³É °³¹ßÀÚ¿¡°Ô ´Ù ¸Ã°Ü¹ö¸®´Â°ÍÀÌ Çö½ÇÀÔ´Ï´Ù.
Á¤±Ô½ÄÀ¸·Î ¼³°èÇÏ½Ã°í °¢ Å×À̺íÀÇ crud´Â ÇÁ·Î±×·¥À¸·Î ó¸®ÇØ¾ß µÈ´Ù°í »ý°¢Çϼ¼¿ä.
´Ü Å×À̺ícrudÁ¤µµ´Â ÇÁ·¹ÀÓ¿÷À» Á÷Á¢ ¸¸µå½Ã°í¿ä.
ºñÁî´Ï½º ·ÎÁ÷°ú dbÇÁ·¹ÀÓ¿÷Àº ºÐ¸®ÇÏ¼Å¾ß µË´Ï´Ù.
´ë°³ ÇöÀå¿¡¼± Å×ÀÌºí ±¸Á¶¼³°è´Â db¸¦ Á» ¾Æ´Â »ç¶÷ÀÌ ÁøÇàÇÏ°í crud ±¸ÇöÀº ÇÁ·Î±×·¡¸Ó°¡ °³¹ß¶§ °°ÀÌ ÁøÇàÇÕ´Ï´Ù.