๊ด๊ณ๋
์ญํ : ์ฐธ์กฐ (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 โ ๋ค๋ฅธ ํ ์ด๋ธ์ด ์ฌ๊ธฐ๋ก ์๋ ดํ๋ค.
| # | ํ ์ด๋ธ | ์นดํ ๊ณ ๋ฆฌ | ์ฐ๊ฒฐ ์ |
|---|---|---|---|
| 1 | ITEM_STANDARD | items | 34 |
| 2 | GD_PACKING_RESULT_PACK | logistics | 31 |
| 3 | GD_ITEM_STOCK | logistics | 28 |
| 4 | GD_PACKING_RESULT_ITEM | logistics | 27 |
| 5 | GD_ITEM_ISSUE | logistics | 19 |
| 6 | MARKING_ORDER | barcode-label | 19 |
| 7 | PACKING_ORDER | barcode-label | 16 |
| 8 | GD_ITEM_ISSUE_HISTORY | logistics | 15 |
| 9 | GD_PACKING_RESULT_PACK_OUT_HISTORY | logistics | 11 |
| 10 | RETURN_GOODS | supply-report | 10 |
์นดํ ๊ณ ๋ฆฌ๋ณ ์๋ธ๊ทธ๋ํ
์ ์ฒด 214 ๋ ธ๋๊ฐ ๋ถ๋ด์ค๋ฌ์ฐ๋ฉด ์นดํ ๊ณ ๋ฆฌ ๋จ์๋ก ์ขํ์ ํ์ํ๋ค. ์ด 9๊ฐ.
- ๋ฐ์ฝ๋ยท๋ผ๋ฒจ (
barcode-label) - ์ค๋น (
facility) - ์ธ์ฌ (
hr) - ํ๋ชฉ (
items) - ๋ฌผ๋ฅยท์ถ๊ณ ยทํฌ์ฅ (
logistics) - ๋ง์คํฐยท์กฐ์ง (
master-org) - ๊ธฐํ (
misc) - ๊ณต๊ธ๋ณด๊ณ (
supply-report) - ์์คํ
ยท๊ณตํต (
system-common)
๊ฐ ์๋ธ๊ทธ๋ํ๋ ์๋จ ํด๋ฐ ์์ ๊ฐ์ฌ์ด๋ ฅ(_AT) ์จ๊นยท์นดํ ๊ณ ๋ฆฌ ํ๋ธ ์จ๊นยท์ค์ ๋ ธ๋๋งยท์ํ ๊ณ์ธต ์ ํ ๊ฐ๋ฅ.
์๋ณธ ๋ฐ์ดํฐ ยท ์ฌ์์ฑ
๊ด๊ณ๋ ์๋ณธ์ public/barcode-server-graph/ ์ ๋ณด๊ด๋๋ค.
| ํ์ผ | ์ฉ๋ |
|---|---|
graph.html ยท eulji/graph.html | ์๋ฒ ๋ยทํ ํ๋ฉด ๋ ๋ |
graph.src.json ยท eulji/graph.src.json | ๋ ธ๋ยท์ฃ์ง ์๋ณธ (์ธ๋ถ ์๊ฐํ ๋๊ตฌ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ) |
GRAPH_REPORT.md | god ๋ ธ๋ ยท ์ปค๋ฎค๋ํฐ ๊ตฌ์กฐ ์๋ ์์ฝ |
์ฌ์์ฑ:
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 ๊ทธ๋ํ, ์คํค๋ง ๋ทฐ์ด