À¥ »çÀÌÆ®¸¦ °³¹ßÇÏ°í Àִµ¥ ±Ã±ÝÇÑ°Ô »ý°å½À´Ï´Ù..

FOKKIA   
   Á¶È¸ 5873   Ãßõ 0    

기존에 회사에서 SI 업무를 하다가 더이상 SI업무는 안하고 있는데 SM은 계속 하는게 좋다는 방침으로.. 웹 개발을 가끔 하고 있습니다.

그런데 묘한 궁금증이 생겨났는데 웹 쪽이 전공이 아니라.. 궁금한걸 해결할 방법이 없어 질문드립니다.


기존 SI 업무를 했을 때 DB 구조를 보면 (MySQL 기준입니다.) 분명 FK, unique index가 있으면 좋은 상황인데도 사용하지 않더라고요.

웹쪽 질문으로 말씀드리는 이유는 응용 프로그램이나 다른 서버에서 사용할 프로그램을 짤 때는 분명 FK를 사용했었습니다. 그런데

웹 개발한 것들을 보면 5중 조인이 되어있는 쿼리도 있는데 인덱스는 no 필드 하나에 pk로 걸고 땡이더군요.. 이걸로 조인하는건 맞지만

fk 설정을 하면 퍼포먼스로 봐도, 편의성으로 봐도 이득 아닌가요..? 게시판 같은 페이지도 아니고 서비스 결제 관련 로직이라

실질적으로 부하를 주거나 하는 로직도 아닌데.. 오히려 관리자 페이지에서도 JOIN을 해야해서 어마무시하게 느립니다 ㅡㅡ;


1. 웹 개발의 경우 외래 키를 사용 안하는지?

2. unique key 도 사용하는 것을 보질 못했습니다. 회원 아이디의 경우 무결성이 필요하면서 index 설정하는 것이 이득이라 보이는데.. 사용하지 말아야 할 이유같은게 있는 건가요?

3. db정규화를 해야한다고 배웠는데 제가 했던 sm 업무들 대부분은 그런게 없었습니다. 웹에서 DB 정규화를 하면 안좋은 점이 있나요? 퍼포먼스로는 하락이 있을 수 있겠지만 MVC 패턴과 같이 확장성과 관리의 용이함에서 가지는 이점이 뛰어난 것 아니었나요..?


ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
¹ÚÀÎÈ£ 2016-02
¿ì¸®³ª¶ó SI ȯ°æÀÇ ¿µÇâÀÔ´Ï´Ù.
¾÷¹«·®À» ÅëÇØ ÇÁ·ÎÁ§Æ® ±â°£ÀÌ »êÃâµÇÁö ¾Ê¾Æ¼­
¼³°è/°³¹ß ±â°£ÀÌ º¸Åë Àý´ëÀûÀ¸·Î ºÎÁ·ÇÑ »óȲ¿¡¼­
DB Á¦¾àÀ» °É¾î ³õÀ¸¸é
°³¹ß±â°£¾È¿¡ °³¹ß ¸øÇÑ´Ù°í ¾Ð·ÂÀÌ...

DA °¡ ÅõÀÔµÈ ÇÁ·ÎÁ§Æ®´Â Á¤±ÔÈ­¸¦ Àß ¼öÇàÇÏ´Â ÆíÀÔ´Ï´Ù.
°³¹ß PL µéÀÌ ¼³°è¸¦ ÇÏ´Â °æ¿ì Á¤±ÔÈ­°¡ ¸¹ÀÌ ºÎÁ·ÇÑ ÆíÀÌÁÒ.
ÆÛÆ÷¸Õ½º´Â °úµµÇÑ Á¤±ÔÈ­¸¸ ¾Æ´Ï¸é º¸Åë Á¤±ÔÈ­ µÇ¾î ÀÖÀ»¶§ ´õ ÁÁ°Ô ³ª¿É´Ï´Ù.(°æÇè»ó)
ĵÀ§µå 2016-02
´Ù¸¥ºÐµéÀº ¸ð¸£°ÚÁö¸¸ ÀúÀÇ °æ¿ì´Â ÀÌ·¸½À´Ï´Ù.

1¹øÇÏ°í 2¹ø ´äº¯ : ÄÉÀ̽º ¹ÙÀÌ ÄÉÀ̽ºÀÔ´Ï´Ù.
±Ô¸ð°¡ ÀÛÀº »çÀÌÆ®³ª Áß¿äµµ°¡ Á» ³·°Å³ª °³¹ßÀÏÁ¤ÀÌ ³Ê¹« Ã˹ÚÇϰųª ±×·± °æ¿ì´Â no¿¡¸¸ pk°É°í ³ª¸ÓÁö´Â ÀüºÎ ¾îÇôܿ¡¼­¸¸ ó¸®ÇÕ´Ï´Ù.
±Ô¸ð°¡ Á» µÇ°Å³ª (µ·°ªÀº ÇؾߵǴϱñ) Áß¿äµµ°¡ ³Ê¹« ³ôÀº °÷Àº ¾îÇôܿ¡¼­µµ üũÇÏÁö¸¸ ÇÑÄ¡ÀÇ ºÒ·®µ¥ÀÌÅ͵µ À־´Â ¾ÈµÇ±â ¶§¹®¿¡
±×·±°÷À» °³¹ßÇÒ¶© fk, unique ÀüºÎ ´Ù »ç¿ëÇÕ´Ï´Ù.

3¹ø : À§ÀÇ ´äº¯°ú ±âº»ÀûÀ¸·Î´Â °°°í¿ä.
À¥À̶ó°í ÇÏ¿©µµ ¾÷¹«½Ã½ºÅÛ°°Àº ƯÁ¤ ¼Ò¼ö ÀÌ¿ëÀÚ »çÀÌÆ®´Â »ó°üÀÌ ¾øÀ»¼öµµ ÀÖÁö¸¸,
ºÒƯÁ¤ ´Ù¼ö°¡ °Ì³» ¸¹ÀÌ µé¾î¿À´Â »çÀÌÆ®´Â ¹Ù·Î ±× ¾à°£ÀÇ ÆÛÆ÷¸Õ½º Ç϶ôÀ» °áÄÚ ¹«½ÃÇÒ ¼ö ¾ø°Ô µË´Ï´Ù.
±Ø´ÜÀûÀÎ °æ¿ì´Â µ¿ÀÏ µ¥ÀÌÅ͸¦ »ç¹æ¿¡ º¹»çÇϱ⵵ ÇÏ°í (ij½¬È¿°ú?) º­¶óº° ÀÛ¾÷À» ´Ù ÇÕ´Ï´Ù;;
ij½¬µµ °É ¼ö ÀÖÀ¸¸é ÃÖ´ëÇÑ °É°í¿ä
»ç¿ëÀÚµéÀÌ ¿¹Àü¿£ ±×·¡µµ Ŭ¸¯ÇßÀ»¶§ 2~3ÃÊ Á¤µµ´Â ±â´Ù·ÈÁö¸¸ ¿äÁò¿£ 1ÃÊ ³Ñ¾î°¡¸é È­¸é ´Ý¾Æ¹ö¸³´Ï´Ù.
¾ÖÃÊ¿¡ ´À¸®¸é °í°´»ç¿¡¼­ °Ë¼ö¸¦ ¾ÈÇØÁÖÁÒ.
¹°·Ð Àú°°Àº °æ¿ì´Â Á¦°¡ ´À¸°°É ³Ê¹« ½È¾îÇؼ­ ±×·¸°Ô ¸¸µéÁöµµ ¾ÊÁö¸¸
´Ù¸¥¾÷ü°¡ ¼Óµµ ¹®Á¦·Î °Ë¼ö¸¦ ¸ø¹Þ¾Æ¼­ ÇÑ´Þµ¿¾È Æ©´×¸¸ ÁÖ±¸Àåâ ÇÏ´Â°É ºÃ½À´Ï´Ù.
ºñÁ¤±ÔÈ­´Â ¹°·ÐÀÌ°Å´Ï¿Í ajax¹æ½ÄÀ» Æ÷ÇÔÇÑ ¿Â°® °í±Þ±â¹ý »ç¿ëÇؼ­ ÀÌ»Ú°Ô ¸¸µç UI±îÁö ½Ï ¹Ù²Ù¸é¼­ °Ü¿ì 1Ãʳ»·Î ÁøÀÔÇÏ¿© ¿Ï·áÇÏ´õ±º¿ä.
(Á¦°¡ ±âÁ¸¿¡ µ¿Àϵðºñ µ¿ÀÏ È¯°æ µ¿ÀÏ ±¸¼ºÀ¸·Î 0.1Ãʳ»·Î ³ª¿À´Â »çÀÌÆ®¸¦ ¹Ì¸® ¸¸µé¾î ³õÀº °Í ¶§¹®¿¡ ´õ ºñ±³µÇ¼­ ±×·±°ÉÁöµµ ¤»¤»)
ȸ¿øK 2016-02
unique ¾È¾²´Â °ÍÀº ¹®Á¦°¡ ÀÖ½À´Ï´Ù.
ÇÊ¿ä ÀÖ´ø ¾ø´ø unique key´Â ¹Ýµå½Ã ³Ö¾î¾ß ÇÕ´Ï´Ù (auto)
innodbÀÇ ¼º´É¿¡ ¿µÇâÀÌ ÀÖ½À´Ï´Ù.

joinÀÇ °æ¿ì´Â ¼Óµµ°¡ ´Ê½À´Ï´Ù.
±×·¡¼­ join°ú sub set operation + join µîÀÇ ¹æ¹ýÀ» ÀûÀýÈ÷ ¼¯¾î¼­ ¾¹´Ï´Ù. »óȲ¿¡ ¸Â°Ô.
°æÇèÄ¢ÀÌ ´õ Å®´Ï´Ù.
Àúµµ ¸Ó ¿Ïº®ÇÏ°Ô ¾ËÁö´Â ¸øÇÏÁö¸¸ ¾î´ÀÁ¤µµ ´äº¯À» µå¸®ÀÚ¸é...

1ÀÇ°æ¿ì FK¸¦ ÇÏÁö¾ÊÀ¸¸é Àå/´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù... FK°¡ ¾øÀ¸¸é DBº¯°æÀÌ Á»´õ ÀÚÀ¯·Î¿öÁý´Ï´Ù..
¿î¿µÀûÀÎ Ãø¸é¿¡¼­ º¸¸é FK¾ø´Â°Ô Á»´õ À̵æÀϼöÀÖ½À´Ï´Ù.
FK°¡ Á¦´ë·Î °É·ÁÀִ°æ¿ì´Â µ¥ÀÌÅÍ ¼öÁ¤À» ÇϳªÇÒ·Á°íÇصµ ¿©·¯Å×À̺íÀ» ÀüºÎ ½Å°æ½áÁà¾ßÇÏ´Â °æ¿ì°¡ »ý°Ü¼­¿ä...
¹Ý´ë·Î µ¥ÀÌÅÍÁ¤ÇÕ¼ºÀº Á»´õ º¸ÀåÀÌ µÅ°ÚÁö¿ä...

2ÀÇ °æ¿ì´Â Ưº°ÇÑ ÀÌÀ¯°¡ À־ ±×·±°Ç ¾Æ´Ñ°Í °°³×¿ä...
ÇÁ·Î±×·¥ÀûÀ¸·Î Áߺ¹À» ¸·¾Ò´Ù°íÇصµ.. Áߺ¹°ÇÀ» Çã¿ëÇÏÁö¾ÊÀ»°ÍÀ̶ó¸é PK´Â Á¸Á¦ÇÏ´Â°Ô ³ª¾Æº¸À̳׿ä...

3ÀÇ °æ¿ìµµ °á±¹ ¼³°è´ç½Ã¿¡´Â Á¤±ÔÈ­¸¦ ¾î´ÀÁ¤µµ Çß¾úÁö¸¸...
¿î¿µÇÏ´Ùº¸¸é Á¤±ÔÈ­¸¦ ÇϰԵŸé... joinÀÌ ¸¹ÀÌ »ç¿ëµÅ°í.. ºÒÆíÇÑ°æ¿ì°¡ À־...
¾Æ¸¶ ¿î¿µÇϸ鼭 Ä÷³µéÀÌ ´Ã¾î³­°æ¿ì¶ó¸é.. Á¤±ÔÈ­¸¦ ¾ÈÇÑ°æ¿ìµµ ¸¹ÀÌ »ý±æ¼öÀÖÁÒ...
°­Çѱ¸ 2016-02
1. FK¸¦ ¾²¸é ÁÁ½À´Ï´Ù.
´Ù¸¸ ¾ó¸¶³ª ¸¹Àº ¼öÁ¤°ÇÀÌ ¹ß»ýÇÒÁö ¸ð¸£´Â »óȲÀ̶ó¸é ¾ÊÇÏ´Â°Ô ÆíÇÏ°ÚÁÒ.
»óȲº°·Î Àü ±×³É Æ®¸®°Å¸¦ »ç¿ëÇϰųª ÀÏÁ¤ ½Ã°£º°·Î ¹«°á¼º üũÇÏ´Â ºÎºÐÀ» ³Ö¾îÁÝ´Ï´Ù.
²Ï ¿À·¡ ÀÌÂÊÀÏ Çߴµ¥ óÀ½¿¡´Â ASP + MSSQL·Î ½ÃÀÛÇؼ­ FK´Â ´ç¿¬ÇÑ°É·Î ºÃÁö¸¸ ½Ã°£ÀÌ Áö³¯¼ö·Ï ¾ÊÇÏ°Ô µÇ´õ±º¿ä

2. »óȲº°·Î Ʋ¸®°ÚÁÒ. ¾îµð¼­´Â ID¸¦ unique¸¦ ¾²°ÚÁö¸¸ »ý°¢À» Á» ´õ ´Þ¸®ÇÑ´Ù¸é user_no¸¦ unique ÇüÅ·ΠÇسõ°í ID´Â ±×³É µû¶ó´Ù´Ï´Â ÇüÅ·Π¸¸µé±âµµ Çϰŵç¿ä

3. ¹®¼­È­°¡ Áß¿äÇÑ ÀÌÀ¯°ÚÁÒ. »çÀü¿¡ ¹®¼­È­µÇÁö ¾ÊÀº °³¹ß »çÀÌÆ®´Â Á¤±ÔÈ­¸¦ Á¦´ë·Î ÇÏÁö ¾Ê´Â °æ¿ì°¡ ¸¹½À´Ï´Ù.
FOKKIA 2016-02
´äº¯ °¨»çÇÕ´Ï´Ù. Á¤±ÔÈ­ ¹®Á¦´Â ÄÉÀ̽º ¹ÙÀÌ ÄÉÀ̽º ¶ó´Â°Å±º¿ä.. Áö±Ý »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÌ DB±¸Á¶µµ ±×·¸°í À¯Áöº¸¼ö Áö¿ÁÀ̶ó Àú¶óµµ Á¤±ÔÈ­¸¦ Çؾ߰ڽÀ´Ï´Ù ¤Ñ¤Ñ; ±Ô¸ðµµ Àå³­¾Æ´Ñµ¥ Á¤¸®°¡ Çϳªµµ ¾ÈµÇ¾îÀ־ Á×À»¸ÀÀÌ´õ±º¿ä..
DoubleSH 2016-02
¿£Áö´Ï¾îÀε¥ SE Àϵµ Á» °âÇϸ鼭 MSSQLµµ °ü¸®ÇÏ´Ùº¸´Ï ´À³¤Á¡Àε¥¿ä ¤¾¤¾

¸»¾¸ÇϽŠ³»¿ëÀº  °³¹ß´Ü°è¿¡¼± ±×·°Àú·° ³Ñ¾î°¥¸¸Çѵ¥
³ª~~~Áß¿¡ data °¡ ´©ÀûµÇ°í DB°¡ °Å´ëÈ­ µÇ¸é¼­ Àå¾Ö¸¦ ÀÏÀ¸Å°´Â Æ÷ÀÎÆ®°¡ µÇ´Â »çÇ×µéÀÌÁÒ ¸ð,,,
Äõ¸®Æ©´×°ú ´õºÒ¾î index ÀûÀýÈ÷ °É¾îÁÖ´Â °Íµµ ¼Óµµ¿¡ Áß¿äÇÏ´õ±º¿ä.


QnA
Á¦¸ñPage 2484/5696
2014-05   5029670   Á¤ÀºÁØ1
2015-12   1566241   ¹é¸Þ°¡
2017-02   4746   1CPUÁöâÈÆ
2016-07   4746   1CPUÁöâÈÆ
2015-12   4746   ¿©ÁÖÀÌ»óµ·
2016-10   4746   ÄĹÚ
2014-04   4747   Nikon
2017-01   4747   AKMU
2018-07   4747   ÀϷиӽºÅ©
2016-03   4747   ±Û·Î¹ú¹Ú½º
2014-02   4747   ±è°Ç¿ì
2012-11   4747   MikroTikÀÌÁø
2015-05   4747   À̹®¿µ
2006-12   4747   Á¤À翬
2006-09   4747   ¿À»óÈÆ
2016-02   4747   ±è°Ç¿ì
2016-05   4747   ¹èº´·Ä
2015-04   4747   °Å´Ï³×
2014-07   4747   AKAÁö´Ï
2013-01   4747   ÀϹÝÀ¯Àú
2015-10   4747   Áã»ïÀÏ
2008-11   4747   ±èÀç½Ä