

* ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ฒ ๋ถ๋ชจ, ๊ทธ ๋ด์ฉ๋ค์ ๋ฐ๋๊ฒ ์์
๋ถ๋ชจ ← ์์
์ฐ๋ฆฌ๋ ESG๋ณด๊ณ ์ ์์ฑ ์๋ํ ํ๋ก์ ํธ์์ TCFD๋ฅผ IFRS๋ก ๋ณํํ๋ ๋ณด๊ณ ์ ์์ฑ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ฑด๋ฐ ERD๋ฅผ orgamization, users, financial_statements, financial_metrics, reports, sections, narratives, metrics, rules, standards ์ด๋ ๊ฒ 10๊ฐ์ง ํ ์ด๋ธ๋ก ๊ฐ๊ฑด๋ฐ ๊ฐ๊ฐ์ ๋ค์ด๊ฐ ์ปฌ๋ผ๋ช ๋ค๊ณผ ๋ด์ฉ์ ์์ธํ๊ฒ ์ง์ค.
TCFD(๊ธฐํ ๊ด๋ จ ์ฌ๋ฌด ์ ๋ณด ๊ณต๊ฐ ํ์คํฌํฌ์ค)์์ IFRS(๊ตญ์ ์ฌ๋ฌด ๋ณด๊ณ ํ์ค, ํนํ ISSB์ S1 ๋ฐ S2 ํ์ค์ผ๋ก ์ ํ๋ ์ง์ ๊ฐ๋ฅ์ฑ ๋ณด๊ณ ํฌํจ)๋ก ๋ณํํ๋ ESG ๋ณด๊ณ ์ ์์ฑ ์๋ํ ํ๋ก์ ํธ๋ฅผ ์ํ ERD(์ํฐํฐ-๊ด๊ณ ๋ค์ด์ด๊ทธ๋จ)๋ฅผ ์ค๊ณํ๊ฒ ์ต๋๋ค. ์์ฒญํ์ 10๊ฐ ํ ์ด๋ธ(organization, users, financial_statements, financial_metrics, reports, sections, narratives, metrics, rules, standards)์ ๋ํด ๊ฐ ํ ์ด๋ธ์ ์ปฌ๋ผ๋ช , ๋ฐ์ดํฐ ์ ํ, ์ค๋ช , ์ ์ฝ ์กฐ๊ฑด ๋ฐ TCFD-to-IFRS ๋ณํ ๋งฅ๋ฝ์์์ ์ญํ ์ ์์ธํ ์ ์ํ๊ฒ ์ต๋๋ค. ๊ฐ ํ ์ด๋ธ์ ESG ๋ณด๊ณ ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ํฌํ๋ก์ฐ๋ฅผ ์ง์ํ๋ฉฐ, TCFD์ ๊ธฐํ ๊ด๋ จ ์๊ตฌ์ฌํญ(์ง๋ฐฐ๊ตฌ์กฐ, ์ ๋ต, ๋ฆฌ์คํฌ ๊ด๋ฆฌ, ๋ฉํธ๋ฆญ ๋ฐ ๋ชฉํ)๊ณผ IFRS S1(์ผ๋ฐ ์ง์ ๊ฐ๋ฅ์ฑ) ๋ฐ S2(๊ธฐํ ๊ด๋ จ) ํ์ค์ ์๊ตฌ์ฌํญ์ ๋ฐ์ํฉ๋๋ค.
1. organization ํ ์ด๋ธ
์ค๋ช : ๋ณด๊ณ ์๋ฅผ ์์ฑํ๋ ์กฐ์ง(๊ธฐ์ , ๊ธฐ๊ด ๋ฑ)์ ์ ๋ณด๋ฅผ ์ ์ฅํฉ๋๋ค. ์กฐ์ง์ ๋ณด๊ณ ์์ ์ฃผ์ฒด์ด๋ฉฐ, ์ฌ์ฉ์์ ๋ณด๊ณ ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ํต์ฌ ์ํฐํฐ์ ๋๋ค.
| organization_id | BIGINT | ์กฐ์ง์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| name | VARCHAR(255) | ์กฐ์ง์ ๊ณต์ ๋ช ์นญ (์: "ABC Corporation") | NOT NULL |
| industry | VARCHAR(100) | ์ฐ์ ๋ถ๋ฅ (์: "์ ์กฐ์ ", "๊ธ์ต", "์๋์ง") | |
| country | VARCHAR(100) | ์กฐ์ง์ ๋ณธ์ฌ ์์ฌ ๊ตญ๊ฐ (ISO ๊ตญ๊ฐ ์ฝ๋ ๋๋ ๋ช ์นญ) | |
| registration_number | VARCHAR(50) | ์ฌ์ ์ ๋ฑ๋ก ๋ฒํธ ๋๋ ๋ฒ์ธ ์๋ณ ๋ฒํธ | UNIQUE |
| created_at | DATETIME | ์กฐ์ง ์ ๋ณด ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ์กฐ์ง ์ ๋ณด ์์ ์ผ์ |
์ญํ :
- TCFD ๋ฐ IFRS ๋ณด๊ณ ์ ์์ฑ ์ ์กฐ์ง์ ๊ธฐ๋ณธ ์ ๋ณด๋ฅผ ์ ๊ณต.
- IFRS S1์ ์กฐ์ง ์ปจํ ์คํธ(์ฐ์ , ๊ท๋ชจ ๋ฑ)์ TCFD์ ์ง๋ฐฐ๊ตฌ์กฐ ๊ด๋ จ ์ ๋ณด(์: ์กฐ์ง์ ๊ธฐํ ๊ฑฐ๋ฒ๋์ค ๊ตฌ์กฐ) ์ฐ๊ฒฐ.
2. users ํ ์ด๋ธ
์ค๋ช : ์์คํ ์ ์ฌ์ฉํ๋ ์ฌ์ฉ์(๋ณด๊ณ ์ ์์ฑ์, ๊ด๋ฆฌ์, ๊ฒํ ์ ๋ฑ)์ ์ ๋ณด๋ฅผ ์ ์ฅํฉ๋๋ค.
| user_id | BIGINT | ์ฌ์ฉ์์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| organization_id | BIGINT | ์ฌ์ฉ์๊ฐ ์ํ ์กฐ์ง์ ID | FK (organization) |
| VARCHAR(255) | ์ฌ์ฉ์ ์ด๋ฉ์ผ (๋ก๊ทธ์ธ ID) | UNIQUE, NOT NULL | |
| password_hash | VARCHAR(255) | ํด์๋ ๋น๋ฐ๋ฒํธ | NOT NULL |
| first_name | VARCHAR(50) | ์ฌ์ฉ์ ์ด๋ฆ | NOT NULL |
| last_name | VARCHAR(50) | ์ฌ์ฉ์ ์ฑ | NOT NULL |
| role | ENUM | ์ฌ์ฉ์ ์ญํ (์: 'admin', 'editor', 'reviewer', 'viewer') | NOT NULL |
| created_at | DATETIME | ์ฌ์ฉ์ ๊ณ์ ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ์ฌ์ฉ์ ์ ๋ณด ์์ ์ผ์ |
์ญํ :
- ๋ณด๊ณ ์ ์์ฑ ๋ฐ ๊ฒํ ์ํฌํ๋ก์ฐ์์ ์ฌ์ฉ์ ๊ถํ ๊ด๋ฆฌ.
- TCFD์ ์ง๋ฐฐ๊ตฌ์กฐ ์น์ ์์ ๋ณด๊ณ ์ ์์ฑ ์ฑ ์์(์: ESG ๋ด๋น์) ์ ๋ณด๋ฅผ ์ถ์ .
- IFRS S1/S2์ ๋ณด๊ณ ํ๋ก์ธ์ค์์ ๋ฐ์ดํฐ ์ ๋ ฅ ๋ฐ ๊ฒ์ฆ ๋ด๋น์ ์ฐ๊ฒฐ.
3. financial_statements ํ ์ด๋ธ
์ค๋ช : ์กฐ์ง์ ์ฌ๋ฌด์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. TCFD์ IFRS S2๋ ๊ธฐํ ๊ด๋ จ ์ฌ๋ฌด ์ํฅ์ ์ฌ๋ฌด์ ํ์ ๋ฐ์ํด์ผ ํ๋ฏ๋ก ์ด ํ ์ด๋ธ์ ํต์ฌ์ ๋๋ค.
| statement_id | BIGINT | ์ฌ๋ฌด์ ํ์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| organization_id | BIGINT | ์ฌ๋ฌด์ ํ๋ฅผ ์์ฑํ ์กฐ์ง์ ID | FK (organization) |
| statement_type | ENUM | ์ฌ๋ฌด์ ํ ์ ํ (์: 'balance_sheet', 'income_statement', 'cash_flow') | NOT NULL |
| fiscal_year | YEAR | ์ฌ๋ฌด์ ํ์ ํ๊ณ์ฐ๋ | NOT NULL |
| currency | VARCHAR(10) | ํตํ ๋จ์ (์: 'USD', 'KRW') | NOT NULL |
| total_assets | DECIMAL(15,2) | ์ด ์์ฐ ๊ธ์ก | |
| total_liabilities | DECIMAL(15,2) | ์ด ๋ถ์ฑ ๊ธ์ก | |
| revenue | DECIMAL(15,2) | ๋งค์ถ์ก | |
| net_income | DECIMAL(15,2) | ์์ด์ต | |
| created_at | DATETIME | ์ฌ๋ฌด์ ํ ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ์ฌ๋ฌด์ ํ ์์ ์ผ์ |
์ญํ :
- TCFD์ ๋ฉํธ๋ฆญ ๋ฐ ๋ชฉํ ์น์ ์์ ๊ธฐํ ๊ด๋ จ ์ฌ๋ฌด ์ํฅ(์: ์์ฐ ์์, ๋ถ์ฑ ์ฆ๊ฐ)์ ๋ถ์.
- IFRS S2์ ๊ธฐํ ๊ด๋ จ ์ฌ๋ฌด์ ํ ๊ณต์ ์๊ตฌ์ฌํญ ์ถฉ์กฑ.
4. financial_metrics ํ ์ด๋ธ
์ค๋ช : ์ฌ๋ฌด์ ํ์์ ์ถ์ถ๋ ๊ตฌ์ฒด์ ์ธ ์ฌ๋ฌด ๋ฉํธ๋ฆญ์ ์ ์ฅํฉ๋๋ค. TCFD์ IFRS S2๋ ํน์ ๋ฉํธ๋ฆญ(์: ๊ธฐํ ๋ฆฌ์คํฌ๋ก ์ธํ ์์ฐ ๊ฐ์น ๋ณํ)์ ์๊ตฌํฉ๋๋ค.
| metric_id | BIGINT | ์ฌ๋ฌด ๋ฉํธ๋ฆญ์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| statement_id | BIGINT | ๊ด๋ จ ์ฌ๋ฌด์ ํ์ ID | FK (financial_statements) |
| metric_name | VARCHAR(100) | ๋ฉํธ๋ฆญ ์ด๋ฆ (์: "climate_risk_exposure", "carbon_credit_value") | NOT NULL |
| value | DECIMAL(15,2) | ๋ฉํธ๋ฆญ ๊ฐ | NOT NULL |
| unit | VARCHAR(20) | ๋จ์ (์: 'USD', 'KRW', '%') | |
| description | TEXT | ๋ฉํธ๋ฆญ์ ๋ํ ์ค๋ช (์: "๊ธฐํ ๋ฆฌ์คํฌ๋ก ์ธํ ์์ฐ ์์ ๊ธ์ก") | |
| created_at | DATETIME | ๋ฉํธ๋ฆญ ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ๋ฉํธ๋ฆญ ์์ ์ผ์ |
์ญํ :
- TCFD์ ๋ฉํธ๋ฆญ ๋ฐ ๋ชฉํ ์น์ ์์ ์๊ตฌํ๋ ์ ๋์ ๋ฐ์ดํฐ(์: ํ์ ๋ฐฐ์ถ ๊ด๋ จ ๋น์ฉ) ์ ๊ณต.
- IFRS S2์ ์ ๋์ ๊ธฐํ ๋ฉํธ๋ฆญ ๊ณต์(์: Scope 1, 2, 3 ๋ฐฐ์ถ๋์ ์ฌ๋ฌด์ ์ํฅ) ์ง์.
5. reports ํ ์ด๋ธ
์ค๋ช : ์์ฑ๋ ESG ๋ณด๊ณ ์์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ณด๊ณ ์๋ TCFD์์ IFRS๋ก ๋ณํ๋ ์ต์ข ์ฐ์ถ๋ฌผ์ ๋๋ค.
| report_id | BIGINT | ๋ณด๊ณ ์์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| organization_id | BIGINT | ๋ณด๊ณ ์๋ฅผ ์์ฑํ ์กฐ์ง์ ID | FK (organization) |
| title | VARCHAR(255) | ๋ณด๊ณ ์ ์ ๋ชฉ (์: "2025 ESG Report") | NOT NULL |
| report_type | ENUM | ๋ณด๊ณ ์ ์ ํ ('TCFD', 'IFRS_S1', 'IFRS_S2', 'combined') | NOT NULL |
| fiscal_year | YEAR | ๋ณด๊ณ ์ ๋์ ํ๊ณ์ฐ๋ | NOT NULL |
| status | ENUM | ๋ณด๊ณ ์ ์ํ ('draft', 'in_review', 'published', 'archived') | NOT NULL |
| created_at | DATETIME | ๋ณด๊ณ ์ ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ๋ณด๊ณ ์ ์์ ์ผ์ | |
| published_at | DATETIME | ๋ณด๊ณ ์ ๊ณต๊ฐ ์ผ์ |
์ญํ :
- TCFD ๋ณด๊ณ ์๋ฅผ IFRS S1/S2 ํ์์ผ๋ก ๋ณํํ ๋ณด๊ณ ์์ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ.
- ๋ณด๊ณ ์ ์์ฑ ์ํฌํ๋ก์ฐ(์ด์ → ๊ฒํ → ๊ณต๊ฐ) ์ถ์ .
6. sections ํ ์ด๋ธ
์ค๋ช : ๋ณด๊ณ ์์ ์น์ (์: ์ง๋ฐฐ๊ตฌ์กฐ, ์ ๋ต, ๋ฆฌ์คํฌ ๊ด๋ฆฌ)์ ์ ์ฅํฉ๋๋ค. TCFD์ IFRS๋ ์น์ ๋ณ ๊ตฌ์กฐํ๋ ๊ณต์๋ฅผ ์๊ตฌํฉ๋๋ค.
| section_id | BIGINT | ์น์ ์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| report_id | BIGINT | ์น์ ์ด ์ํ ๋ณด๊ณ ์์ ID | FK (reports) |
| title | VARCHAR(255) | ์น์ ์ ๋ชฉ (์: "Governance", "Strategy", "Risk Management") | NOT NULL |
| section_type | ENUM | ์น์ ์ ํ (์: 'governance', 'strategy', 'risk', 'metrics') | NOT NULL |
| order_index | INT | ์น์ ์ ํ์ ์์ | NOT NULL |
| description | TEXT | ์น์ ์ ๋ํ ์ค๋ช (์: "๊ธฐํ ๊ด๋ จ ์ง๋ฐฐ๊ตฌ์กฐ ์ค๋ช ") |
์ญํ :
- TCFD์ 4๋ ํต์ฌ ์์(์ง๋ฐฐ๊ตฌ์กฐ, ์ ๋ต, ๋ฆฌ์คํฌ ๊ด๋ฆฌ, ๋ฉํธ๋ฆญ ๋ฐ ๋ชฉํ)๋ฅผ IFRS S1/S2์ ๊ตฌ์กฐ(์: ์ง์ ๊ฐ๋ฅ์ฑ ๋ฆฌ์คํฌ, ๊ธฐํ ์ํฅ)๋ก ๋งคํ.
- ๋ณด๊ณ ์์ ๊ตฌ์กฐํ๋ ์น์ ๊ด๋ฆฌ.
7. narratives ํ ์ด๋ธ
์ค๋ช : ๋ณด๊ณ ์ ์น์ ๋ด์ ์์ ์ ๋ด์ฉ(ํ ์คํธ ๊ธฐ๋ฐ ์ค๋ช )์ ์ ์ฅํฉ๋๋ค. TCFD์ IFRS๋ ์ ์ฑ์ ์ค๋ช ์ ์๊ตฌํฉ๋๋ค.
| narrative_id | BIGINT | ์์ ์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| section_id | BIGINT | ์์ ์ด ์ํ ์น์ ์ ID | FK (sections) |
| content | TEXT | ์์ ๋ด์ฉ (์: "์ฐ๋ฆฌ ์กฐ์ง์ ๊ธฐํ ๋ฆฌ์คํฌ๋ฅผ ์ด์ฌํ์์ ๊ฐ๋ ํฉ๋๋ค.") | NOT NULL |
| author_id | BIGINT | ์์ ์์ฑ์์ ID | FK (users) |
| created_at | DATETIME | ์์ ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ์์ ์์ ์ผ์ |
์ญํ :
- TCFD์ ์ ์ฑ์ ๊ณต์(์: ์ง๋ฐฐ๊ตฌ์กฐ ์ค๋ช )์ IFRS S1/S2์ ์์ ์ ์๊ตฌ์ฌํญ(์: ๊ธฐํ ์ ๋ต ์ค๋ช ) ์ง์.
- ์น์ ๋ณ ํ ์คํธ ๋ฐ์ดํฐ ๊ด๋ฆฌ.
8. metrics ํ ์ด๋ธ
์ค๋ช : ESG ๋ณด๊ณ ์์ ํฌํจ๋ ์ ๋์ ๋ฉํธ๋ฆญ(์: ํ์ ๋ฐฐ์ถ๋, ์๋์ง ์ฌ์ฉ๋)์ ์ ์ฅํฉ๋๋ค.
| metric_id | BIGINT | ๋ฉํธ๋ฆญ์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| section_id | BIGINT | ๋ฉํธ๋ฆญ์ด ์ํ ์น์ ์ ID | FK (sections) |
| metric_name | VARCHAR(100) | ๋ฉํธ๋ฆญ ์ด๋ฆ (์: "scope1_emissions", "energy_consumption") | NOT NULL |
| value | DECIMAL(15,2) | ๋ฉํธ๋ฆญ ๊ฐ | NOT NULL |
| unit | VARCHAR(20) | ๋จ์ (์: 'tCO2e', 'MWh') | NOT NULL |
| year | YEAR | ๋ฉํธ๋ฆญ ๋ฐ์ดํฐ์ ์ฐ๋ | NOT NULL |
| source | VARCHAR(255) | ๋ฐ์ดํฐ ์ถ์ฒ (์: "๋ด๋ถ ERP ์์คํ ", "์ 3์ ๊ฒ์ฆ") | |
| created_at | DATETIME | ๋ฉํธ๋ฆญ ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ๋ฉํธ๋ฆญ ์์ ์ผ์ |
์ญํ :
- TCFD์ ๋ฉํธ๋ฆญ ๋ฐ ๋ชฉํ ์น์ ์์ ์๊ตฌํ๋ ์ ๋์ ๋ฐ์ดํฐ(์: Scope 1, 2, 3 ๋ฐฐ์ถ๋) ์ ๊ณต.
- IFRS S2์ ๊ธฐํ ๊ด๋ จ ๋ฉํธ๋ฆญ(์: ์จ์ค๊ฐ์ค ๋ฐฐ์ถ๋, ๊ธฐํ ๋ฆฌ์คํฌ ๋ ธ์ถ๋) ๊ณต์ ์ง์.
9. rules ํ ์ด๋ธ
์ค๋ช : TCFD์์ IFRS๋ก์ ๋ฐ์ดํฐ ๋งคํ ๋ฐ ๋ณํ ๊ท์น์ ์ ์ฅํฉ๋๋ค. ์๋ํ๋ ๋ณํ ํ๋ก์ธ์ค์ ํต์ฌ์ ๋๋ค.
| rule_id | BIGINT | ๊ท์น์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| source_standard | VARCHAR(50) | ์์ค ํ์ค (์: 'TCFD') | NOT NULL |
| target_standard | VARCHAR(50) | ๋์ ํ์ค (์: 'IFRS_S1', 'IFRS_S2') | NOT NULL |
| source_field | VARCHAR(100) | ์์ค ํ๋ (์: "tcfd_governance_description") | NOT NULL |
| target_field | VARCHAR(100) | ๋์ ํ๋ (์: "ifrs_s1_governance") | NOT NULL |
| transformation_logic | TEXT | ๋ณํ ๋ก์ง (์: "ํ ์คํธ ๊ทธ๋๋ก ๋งคํ" ๋๋ "๊ฐ์ USD๋ก ๋ณํ") | NOT NULL |
| created_at | DATETIME | ๊ท์น ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ๊ท์น ์์ ์ผ์ |
์ญํ :
- TCFD ๋ฐ์ดํฐ๋ฅผ IFRS S1/S2 ํ์์ผ๋ก ๋ณํํ๋ ๋งคํ ๊ท์น ์ ์.
- ์: TCFD์ "์ง๋ฐฐ๊ตฌ์กฐ" ์น์ ๋ฐ์ดํฐ๋ฅผ IFRS S1์ "์ง์ ๊ฐ๋ฅ์ฑ ๊ฑฐ๋ฒ๋์ค"๋ก ๋ณํ.
10. standards ํ ์ด๋ธ
์ค๋ช : TCFD ๋ฐ IFRS์ ๊ฐ์ ๋ณด๊ณ ํ์ค์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
| standard_id | BIGINT | ํ์ค์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| name | VARCHAR(50) | ํ์ค ์ด๋ฆ (์: 'TCFD', 'IFRS_S1', 'IFRS_S2') | NOT NULL, UNIQUE |
| description | TEXT | ํ์ค์ ๋ํ ์ค๋ช (์: "TCFD๋ ๊ธฐํ ๊ด๋ จ ์ฌ๋ฌด ๊ณต์๋ฅผ ์ํ ํ๋ ์์ํฌ") | |
| version | VARCHAR(20) | ํ์ค ๋ฒ์ (์: "2023", "ISSB_2024") | |
| effective_date | DATE | ํ์ค์ ๋ฐํจ ๋ ์ง | |
| created_at | DATETIME | ํ์ค ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ํ์ค ์์ ์ผ์ |
์ญํ :
- TCFD ๋ฐ IFRS ํ์ค์ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ.
- ๋ณํ ํ๋ก์ธ์ค์์ ์ฐธ์กฐ๋๋ ํ์ค ์ ๋ณด ์ ๊ณต.
ERD ๊ด๊ณ ์์ฝ
- organization ↔ users: 1:N (ํ ์กฐ์ง์ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์ํจ).
- organization ↔ financial_statements: 1:N (ํ ์กฐ์ง์ด ์ฌ๋ฌ ์ฌ๋ฌด์ ํ๋ฅผ ๊ฐ์ง).
- financial_statements ↔ financial_metrics: 1:N (ํ ์ฌ๋ฌด์ ํ์ ์ฌ๋ฌ ๋ฉํธ๋ฆญ์ด ํฌํจ๋จ).
- organization ↔ reports: 1:N (ํ ์กฐ์ง์ด ์ฌ๋ฌ ๋ณด๊ณ ์๋ฅผ ์์ฑ).
- reports ↔ sections: 1:N (ํ ๋ณด๊ณ ์์ ์ฌ๋ฌ ์น์ ์ด ํฌํจ๋จ).
- sections ↔ narratives: 1:N (ํ ์น์ ์ ์ฌ๋ฌ ์์ ์ด ํฌํจ๋จ).
- sections ↔ metrics: 1:N (ํ ์น์ ์ ์ฌ๋ฌ ๋ฉํธ๋ฆญ์ด ํฌํจ๋จ).
- rules ↔ standards: N:N (๊ท์น์ ์์ค ๋ฐ ๋์ ํ์ค๊ณผ ์ฐ๊ฒฐ๋จ, ๋ณ๋์ ์ฐ๊ฒฐ ํ ์ด๋ธ ํ์ ๊ฐ๋ฅ).
- users ↔ narratives: 1:N (ํ ์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ์์ ์ ์์ฑ).
์ถ๊ฐ ๊ณ ๋ ค์ฌํญ
- TCFD-to-IFRS ๋ณํ ๋ก์ง:
- TCFD์ 4๋ ์์(์ง๋ฐฐ๊ตฌ์กฐ, ์ ๋ต, ๋ฆฌ์คํฌ ๊ด๋ฆฌ, ๋ฉํธ๋ฆญ ๋ฐ ๋ชฉํ)๋ IFRS S1(์ผ๋ฐ ์ง์ ๊ฐ๋ฅ์ฑ) ๋ฐ S2(๊ธฐํ ๊ด๋ จ)๋ก ๋งคํ๋ฉ๋๋ค. ์:
- TCFD "์ง๋ฐฐ๊ตฌ์กฐ" → IFRS S1 "์ง์ ๊ฐ๋ฅ์ฑ ๊ฑฐ๋ฒ๋์ค".
- TCFD "๋ฉํธ๋ฆญ ๋ฐ ๋ชฉํ" → IFRS S2 "๊ธฐํ ๊ด๋ จ ๋ฉํธ๋ฆญ".
- rules ํ ์ด๋ธ์ transformation_logic์ ์ด๋ฅผ ์๋ํํ๊ธฐ ์ํด JSON ๋๋ ์คํฌ๋ฆฝํธ ํํ๋ก ์ ์ฅ๋ ์ ์์ต๋๋ค.
- TCFD์ 4๋ ์์(์ง๋ฐฐ๊ตฌ์กฐ, ์ ๋ต, ๋ฆฌ์คํฌ ๊ด๋ฆฌ, ๋ฉํธ๋ฆญ ๋ฐ ๋ชฉํ)๋ IFRS S1(์ผ๋ฐ ์ง์ ๊ฐ๋ฅ์ฑ) ๋ฐ S2(๊ธฐํ ๊ด๋ จ)๋ก ๋งคํ๋ฉ๋๋ค. ์:
- ๋ฐ์ดํฐ ๊ฒ์ฆ:
- metrics์ financial_metrics ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ถ์ฒ(source)๋ฅผ ํตํด ๊ฒ์ฆ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฅ.
- IFRS S2๋ ์ 3์ ๊ฒ์ฆ์ ์๊ตฌํ ์ ์์ผ๋ฏ๋ก source ์ปฌ๋ผ์ ๊ฒ์ฆ์ ์ ๋ณด๋ฅผ ํฌํจ.
- ํ์ฅ์ฑ:
- ๋ค๋ฅธ ํ์ค(์: GRI, SASB) ์ถ๊ฐ๋ฅผ ๊ณ ๋ คํด standards์ rules ํ ์ด๋ธ์ ์ ์ฐํ๊ฒ ์ค๊ณ.
- ๋ค๊ตญ์ด ์ง์์ ์ํด narratives์ sections์ ์ธ์ด ์ฝ๋ ์ปฌ๋ผ ์ถ๊ฐ ๊ฐ๋ฅ.
- ์ฑ๋ฅ ์ต์ ํ:
- ์์ฃผ ์กฐํ๋๋ ํ ์ด๋ธ(metrics, reports)์ ์ธ๋ฑ์ค ์ถ๊ฐ.
- ๋๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด financial_metrics์ metrics์ ํํฐ์ ๋ ๊ณ ๋ ค.
์๋ก์ด ํ ์ด๋ธ: organization_standards
์ค๋ช : ์กฐ์ง๊ณผ ๊ณต์ ํ์ค ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ฅํฉ๋๋ค. ํ ์กฐ์ง์ด ์ฌ๋ฌ ํ์ค(TCFD, IFRS S1, IFRS S2 ๋ฑ)์ ์ค์ํ ์ ์๊ณ , ํ ํ์ค์ด ์ฌ๋ฌ ์กฐ์ง์ ์ ์ฉ๋ ์ ์๋ M:N ๊ด๊ณ๋ฅผ ์ง์ํฉ๋๋ค.
| organization_standard_id | BIGINT | ๊ด๊ณ์ ๊ณ ์ ์๋ณ์ | PK, AUTO_INCREMENT |
| organization_id | BIGINT | ์กฐ์ง์ ID | FK (organization), NOT NULL |
| standard_id | BIGINT | ๊ณต์ ํ์ค์ ID (์: TCFD, IFRS_S1, IFRS_S2) | FK (standards), NOT NULL |
| compliance_status | ENUM | ํ์ค ์ค์ ์ํ ('active', 'planned', 'inactive') | NOT NULL |
| start_date | DATE | ํ์ค ์ค์ ์์ ๋ ์ง | |
| end_date | DATE | ํ์ค ์ค์ ์ข ๋ฃ ๋ ์ง (์ ํ์ , ํ์ค ํ์ง ์ ์ฌ์ฉ) | |
| created_at | DATETIME | ๊ด๊ณ ์์ฑ ์ผ์ | NOT NULL, DEFAULT NOW() |
| updated_at | DATETIME | ๊ด๊ณ ์์ ์ผ์ |
์ญํ :
- ์กฐ์ง์ด ์ด๋ค ๊ณต์ ํ์ค์ ์ค์ํ๋์ง ๋ช ์ (์: "ABC Corporation์ TCFD์ IFRS S2 ์ค์").
- TCFD์์ IFRS๋ก ๋ณํ ์, ์กฐ์ง์ด TCFD๋ฅผ ์ค์ํ๋์ง ํ์ธํ๊ณ ๋ณํ ๊ท์น(rules ํ ์ด๋ธ)์ ์ ์ฉ.
- ์ค์ ์ํ(compliance_status)๋ฅผ ํตํด ์กฐ์ง์ ํ์ค ์ค์ ์ฌ๋ถ๋ฅผ ๋์ ์ผ๋ก ๊ด๋ฆฌ.
- start_date์ end_date๋ฅผ ํตํด ํ์ค ์ค์์ ์๊ฐ์ ๋ฒ์๋ฅผ ๊ด๋ฆฌ (์: TCFD ์ค์๋ 2023๋ ๋ถํฐ, IFRS S2๋ 2025๋ ๋ถํฐ).
์ต์ข ํ ์ด๋ธ ๋ชฉ๋ก
- organization: ์กฐ์ง ์ ๋ณด
- users: ์ฌ์ฉ์ ์ ๋ณด
- financial_statements: ์ฌ๋ฌด์ ํ ๋ฐ์ดํฐ
- financial_metrics: ์ฌ๋ฌด์ ํ์์ ์ถ์ถ๋ ๋ฉํธ๋ฆญ
- reports: ESG ๋ณด๊ณ ์ ๋ฉํ๋ฐ์ดํฐ
- sections: ๋ณด๊ณ ์ ์น์
- narratives: ์น์ ๋ด ์์ ์ ๋ด์ฉ
- metrics: ์ ๋์ ESG ๋ฉํธ๋ฆญ
- rules: TCFD-to-IFRS ๋ณํ ๊ท์น
- standards: ๊ณต์ ํ์ค(TCFD, IFRS ๋ฑ) ๋ฉํ๋ฐ์ดํฐ
- organization_standards: ์กฐ์ง๊ณผ ๊ณต์ ํ์ค ๊ฐ์ ๊ด๊ณ

'Project ESG+AI > [์ผ์ KPMG]ESG ๋ฐ์ดํฐ ํ์ฉ ํ์คํ ๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 23์ผ์ฐจ. ui์ api๋ฅผ ์ฐ๊ฒฐํด๋ณด์(ํฐ๋ฏธ๋์ ์ ๋ ฅ๊ฐ ๋จ๊ฒ) (0) | 2025.11.10 |
|---|---|
| 22์ผ์ฐจ. ui-server ๋ฅผ ๋ค์ ๊ตฌ์ถํ๊ธฐ (0) | 2025.11.07 |
| 20์ผ์ฐจ. ์ถ๊ตฌ ์์ ERD๋ฅผ ์ฐธ๊ณ ํ์ฌ ๋งคํํด๋ณด์ (0) | 2025.11.05 |
| 19์ผ์ฐจ. (0) | 2025.11.04 |
| 19์ผ์ฐจ. ๊ฐ๋ฐ ํ๋ก์ฐ (0) | 2025.11.04 |