Skip to Content
๋ฐ”์ฝ”๋“œ ์„œ๋ฒ„๊ด€๊ณ„๋„ (ERD ยท ๋‹ค์ด์–ด๊ทธ๋žจ ยท ๊ทธ๋ž˜ํ”„)

๊ด€๊ณ„๋„

์—ญํ• : ์ฐธ์กฐ (Single Source of Truth)
๋Œ€์ƒ ๋…์ž: ์ „์›
์„ ํ–‰ ์กฐ๊ฑด: ์„ ํ–‰ ์—†์Œ

๋ฐ”์ฝ”๋“œ ์„œ๋ฒ„ MSSQL RTEGMS_BARCODE_UNION ์˜ ํ…Œ์ด๋ธ” ๊ด€๊ณ„๋„(ERD). ์ „์ˆ˜ ๊ด€๊ณ„(full graph) ์™€ ์„์ง€ ํ™•์žฅ ์„œ๋ธŒ๊ทธ๋ž˜ํ”„๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

๐Ÿ“Œ Single Source of Truth โ€” ๊ด€๊ณ„๋„๋Š” ๋ณธ ํŽ˜์ด์ง€์—๋งŒ ๋ Œ๋”ํ•œ๋‹ค. ๋‹ค๋ฅธ ํŽ˜์ด์ง€(์•„ํ‚คํ…์ฒ˜ยท์„์ง€ ํŒŒ์ดํ”„๋ผ์ธยท์„์ง€ ์ฐธ์กฐ)๋Š” ์„ค๋ช…ยทSQLยท์ปฌ๋Ÿผ ๋ช…์„ธ์— ์ง‘์ค‘ํ•˜๊ณ  ๊ด€๊ณ„๋„๋Š” ์—ฌ๊ธฐ๋กœ ๋งํฌ๋งŒ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

๐Ÿ’ก ๋งˆ์šฐ์Šค ๋“œ๋ž˜๊ทธ๋กœ ์ด๋™ ยท ํœ ๋กœ ํ™•๋Œ€ ยท ๋…ธ๋“œ ํด๋ฆญ์œผ๋กœ ํฌ์ปค์Šค. ์ž‘์€ iframe ์ด ๋ถˆํŽธํ•˜๋ฉด ์•„๋ž˜ โ€œํ’€ ํ™”๋ฉด ์—ด๊ธฐโ€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์ž.

์ „์ฒด ๊ด€๊ณ„๋„ (214 ํ…Œ์ด๋ธ” ยท 495 ๊ด€๊ณ„)

๋ฐ”์ฝ”๋“œ ์„œ๋ฒ„ ์ „์ฒด ๊ด€๊ณ„๋„

๐Ÿ” โ›ถ ์ „์ฒด ๊ด€๊ณ„๋„ ํ’€ ํ™”๋ฉด ์—ด๊ธฐ โ†’ ยท ์ „์ฒด ํ…Œ์ด๋ธ” ์นดํƒˆ๋กœ๊ทธ

์ฝ๋Š” ๋ฒ•

  • ๋…ธ๋“œ ์ƒ‰์ƒ = ์นดํ…Œ๊ณ ๋ฆฌ (์ถœ๊ณ ยทํฌ์žฅยท์žฌ๊ณ ยทํ’ˆ๋ชฉยท๊ฐ์‚ฌ์ด๋ ฅ ๋“ฑ). ๋ฒ”๋ก€๋Š” ๊ทธ๋ž˜ํ”„ ์šฐ์ธก ์ƒ๋‹จ ํ† ๊ธ€.
  • ์—ฃ์ง€ = ์™ธ๋ž˜ํ‚ค(FK) 21๊ฐœ + ์ด๋ฆ„ ๊ธฐ๋ฐ˜ ์ถ”์ • ๊ด€๊ณ„. ์‹ค์„ ์€ FK, ์ ์„ ์€ ์ถ”์ •.
  • god node: GD_ITEM_ISSUE, GD_ITEM_STOCK, PACKING_ORDER, ITEM_STANDARD ๋“ฑ ํ—ˆ๋ธŒ ํ…Œ์ด๋ธ”. ๋‹ค๋ฅธ ๋ชจ๋“  ํ…Œ์ด๋ธ”์ด ์—ฌ๊ธฐ ์ˆ˜๋ ด.
  • _AT ์ ‘๋ฏธ: ๊ฐ์‚ฌ์ด๋ ฅ ๋ฏธ๋Ÿฌ. ์›๋ณธ๊ณผ 1:1 ๋Œ€์‘, ๊ฐ™์€ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋ฌถ์—ฌ ์žˆ์Œ.

์„์ง€ ์ฐธ์กฐ ์„œ๋ธŒ๊ทธ๋ž˜ํ”„ (7 ํ…Œ์ด๋ธ” ยท 8 ๊ด€๊ณ„)

dbo.SP_SUPPLY_REPORT ๊ฐ€ ์‹ค์ œ๋กœ ์กฐํšŒยท๊ฐฑ์‹ ํ•˜๋Š” ํ…Œ์ด๋ธ”๋งŒ ์ถ”๋ ค๋‚ธ ๋ฏธ๋‹ˆ ๊ทธ๋ž˜ํ”„.

๊ด€๊ณ„๋„ ๋กœ๋”ฉ ์ค‘...

๐Ÿ” โ›ถ ์„์ง€ ์„œ๋ธŒ๊ทธ๋ž˜ํ”„ ํ’€ ํ™”๋ฉด ์—ด๊ธฐ โ†’ ยท ์„์ง€ ํŒŒ์ดํ”„๋ผ์ธ ์„ค๋ช… ยท ์ฐธ์กฐ ํ…Œ์ด๋ธ” ์ƒ์„ธ

ํ•ต์‹ฌ ํ—ˆ๋ธŒ

  • SUPPLY_REPORT โ€” ๊ฐ‘์ง€ 21์—ด ์‚ฌ๋ณธ (Oracle ์—์„œ OPENQUERY ๋ณต์ œ).
  • GD_ITEM_ISSUE + GD_ITEM_ISSUE_HISTORY โ€” ์ถœ๊ณ  ํ—ค๋”/๋ผ์ธ, ๋‚ฑ๊ฐœ BARCODE ๋ณด๊ด€.
  • GD_PACKING_RESULT_ITEM โ†’ GD_PACKING_RESULT_PACK โ€” ๋‚ฑ๊ฐœโ†’์ค‘๋ฐ•์Šคโ†’๋Œ€๋ฐ•์Šค SSCC ์ฒด์ธ.

ํ•ต์‹ฌ ํ—ˆ๋ธŒ (Top 10)

์ „์ฒด ๊ด€๊ณ„๋„์—์„œ ์—ฐ๊ฒฐ๋„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ god node โ€” ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์ด ์—ฌ๊ธฐ๋กœ ์ˆ˜๋ ดํ•œ๋‹ค.

#ํ…Œ์ด๋ธ”์นดํ…Œ๊ณ ๋ฆฌ์—ฐ๊ฒฐ ์ˆ˜
1ITEM_STANDARDitems34
2GD_PACKING_RESULT_PACKlogistics31
3GD_ITEM_STOCKlogistics28
4GD_PACKING_RESULT_ITEMlogistics27
5GD_ITEM_ISSUElogistics19
6MARKING_ORDERbarcode-label19
7PACKING_ORDERbarcode-label16
8GD_ITEM_ISSUE_HISTORYlogistics15
9GD_PACKING_RESULT_PACK_OUT_HISTORYlogistics11
10RETURN_GOODSsupply-report10

์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์„œ๋ธŒ๊ทธ๋ž˜ํ”„

์ „์ฒด 214 ๋…ธ๋“œ๊ฐ€ ๋ถ€๋‹ด์Šค๋Ÿฌ์šฐ๋ฉด ์นดํ…Œ๊ณ ๋ฆฌ ๋‹จ์œ„๋กœ ์ขํ˜€์„œ ํƒ์ƒ‰ํ•œ๋‹ค. ์ด 9๊ฐœ.

๊ฐ ์„œ๋ธŒ๊ทธ๋ž˜ํ”„๋„ ์ƒ๋‹จ ํˆด๋ฐ” ์—์„œ ๊ฐ์‚ฌ์ด๋ ฅ(_AT) ์ˆจ๊น€ยท์นดํ…Œ๊ณ ๋ฆฌ ํ—ˆ๋ธŒ ์ˆจ๊น€ยท์ค‘์š” ๋…ธ๋“œ๋งŒยท์ˆ˜ํ‰ ๊ณ„์ธต ์ „ํ™˜ ๊ฐ€๋Šฅ.

์›๋ณธ ๋ฐ์ดํ„ฐ ยท ์žฌ์ƒ์„ฑ

๊ด€๊ณ„๋„ ์›๋ณธ์€ public/barcode-server-graph/ ์— ๋ณด๊ด€๋œ๋‹ค.

ํŒŒ์ผ์šฉ๋„
graph.html ยท eulji/graph.html์ž„๋ฒ ๋“œยทํ’€ ํ™”๋ฉด ๋ Œ๋”
graph.src.json ยท eulji/graph.src.json๋…ธ๋“œยท์—ฃ์ง€ ์›๋ณธ (์™ธ๋ถ€ ์‹œ๊ฐํ™” ๋„๊ตฌ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
GRAPH_REPORT.mdgod ๋…ธ๋“œ ยท ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์กฐ ์ž๋™ ์š”์•ฝ

์žฌ์ƒ์„ฑ:

cd /home/ubuntu/GitHub/erp-relay-gateway node scripts/build-barcode-graph.js cd /home/ubuntu/GitHub && ./bin/deploy.sh erp-spec

์™ธ๋ถ€ ๋„๊ตฌ์—์„œ ์—ด๊ธฐ (ERDยท์Šคํ‚ค๋งˆ ๋ทฐ์–ด)

JSON ์„ ๊ทธ๋Œ€๋กœ ๋‚ด๋ณด๋‚ด๋ฉด ์•„๋ž˜ ๋„๊ตฌ์— ๋ถ™์—ฌ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

  • Cytoscape Desktop โ€” graph.src.json ์„ Import โ†’ Network from JSON
  • draw.io / diagrams.net โ€” ๋…ธ๋“œยท์—ฃ์ง€๋ฅผ CSV ๋กœ ๋ณ€ํ™˜ ํ›„ Arrange โ†’ Insert โ†’ CSV
  • SchemaSpy / dbdocs.io โ€” ์›์ฒœ์ด MSSQL ์ด๋ฏ€๋กœ ๋ณ„๋„ ์ถ”์ถœ ํ•„์š” (๋ณธ ๊ทธ๋ž˜ํ”„๋Š” ์ด๋ฏธ ๊ฐ€๊ณต๋œ ๊ฒฐ๊ณผ๋ฌผ)

ํ‚ค์›Œ๋“œ (๊ฒ€์ƒ‰์šฉ): ๊ด€๊ณ„๋„, ERD, entity relationship, ๋‹ค์ด์–ด๊ทธ๋žจ, ๊ทธ๋ž˜ํ”„, schema, FK ๊ทธ๋ž˜ํ”„, ํ…Œ์ด๋ธ” ๊ด€๊ณ„, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ์Šคํ‚ค๋งˆ ๋ทฐ์–ด.


๊ด€๋ จ ๋ฌธ์„œ

๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ: ๊ด€๊ณ„๋„, ERD, entity relationship, ๋‹ค์ด์–ด๊ทธ๋žจ, ๊ทธ๋ž˜ํ”„, graph, schema, FK ๊ทธ๋ž˜ํ”„, ์Šคํ‚ค๋งˆ ๋ทฐ์–ด

Last updated on