๐ก [Denodo ์ค์ต 2] Derived View ์์ฑํด๋ณด๊ธฐ
- ์ง๋๋ฒ์๋ customers.csv๋ฅผ Denodo์ ์ฐ๊ฒฐํ๊ณ bv_customers Base View๋ฅผ ์์ฑํด๋ณด์๋ค.
- ์ด๋ฒ์๋ ์ฃผ๋ฌธ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ๋ค ๊ณ ๊ฐ ๋ฐ์ดํฐ์ JOIN ํ๊ณ , ๊ธ์ก ์กฐ๊ฑด ํํฐ๋ง๊ณผ ๊ณ ๊ฐ๋ณ ์ฃผ๋ฌธ ์ง๊ณ๊น์ง ์ฐ์ตํด๋ณด๋ ค๊ณ ํ๋ค.
1๏ธโฃ ์ฃผ๋ฌธ ๋ฐ์ดํฐ Base View ์์ฑํ๊ธฐ
- ๊ณ ๊ฐ๋ณ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ์ ์ฅํ orders.csv ํ์ผ์ ์์ฑํ๋ค.
- ๋ฉ๋ชจ์ฅ์ ์ด์ด์ ์๋ ๋ด์ฉ์ ์
๋ ฅํ๊ณ , denodo-practice ํด๋์ csv ํ์ผ๋ก ์ ์ฅํ๋ค.
order_id,customer_id,order_date,product_name,amount 101,1,2026-09-01,Laptop_Stand,35000 102,1,2026-09-03,Keyboard,89000 103,2,2026-09-02,Mouse,42000 104,2,2026-09-05,Monitor,240000 105,3,2026-09-04,USB_Hub,28000
- Virtual DataPort Administration Tool์์ File → New → Data source → Delimited File ํด๋ฆญ

- ์๋์ ๊ฐ์ด ๋ฐ์ดํฐ ์์ค ์ ๋ณด ์ค์ ํ ์ ์ฅ

- Create base view ํด๋ฆญํ์ฌ Base View ์์ฑ ํ, ์๋์ ๊ฐ์ด ํ๋์ ๋ฐ์ดํฐ ํ์
๊ณผ PK ๋ฑ์ ์ค์ ํ๋ค.

- bv_orders Base View ์์ฑ ์๋ฃ!

2๏ธโฃ ๋ Base View ๋ฅผ ์กฐ์ธํ์ฌ Derived View ์์ฑํ๊ธฐ
- ๊ณ ๊ฐ ์ ๋ณด์ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ํ๋์ ๊ฒฐ๊ณผ๋ก ์กฐํํ๊ธฐ ์ํด bv_customers์ bv_orders๋ฅผ ์กฐ์ธํด๋ณด์.
- ์๋จ ๋ฉ๋ด์์ File → New → Join ์ ํ

- ์กฐ์ธ ํ๋ฉด์์ ๋ Base View(bv_customers, bv_orders)๋ฅผ ์ถ๊ฐํ๊ณ , ๋ View์ customer_id ํ๋๋ฅผ ์ฐ๊ฒฐ

- Join Conditions ํญ์์ ์กฐ์ธ ์กฐ๊ฑด ํ์ธ
( bv_orders.customer_id = bv_customers.customer_id, Inner Join)
- ์ค๋ณต customer_id ํ๋ ์ ๊ฑฐ
- Output ํญ์ผ๋ก ๊ฐ๋ณด๋ฉด, ๋ Base View์ ๋ชจ๋ customer_id๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ํ๋ ์ด๋ฆ ์ถฉ๋์ด ๋ฐ์ํ ๊ฒ์ ๋ณผ ์ ์๋ค.
- ๋ฐ๋ผ์ bv_orders.customer_id์ ์ฒดํฌ ๋ฐ์ค๋ฅผ ์ ํํ๊ณ , ํ๋จ์ Remove selected๋ฅผ ํด๋ฆญํ์ฌ ์ค๋ณต์ ์ ๊ฑฐํ๋ค.
- View ์ด๋ฆ์ dv_customer_orders๋ก ๋ณ๊ฒฝํ์ฌ ์ ์ฅํ๋ค.

- dv_customer_orders Derived View ์์ฑ ์๋ฃ!

๐ ํ์ฌ View ๊ตฌ์กฐ
customers.csv → bv_customers โ
โ→ dv_customer_orders
orders.csv → bv_orders โโโโ
3๏ธโฃ ๊ธ์ก์ด 5๋ง ์ ์ด์์ธ ์ฃผ๋ฌธ๋ง ํํฐ๋งํ์ฌ ์๋ก์ด Derived View ์์ฑํด๋ณด๊ธฐ
- dv_customer_orders๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฃผ๋ฌธ ๊ธ์ก์ด 5๋ง ์ ์ด์์ธ ๋ฐ์ดํฐ๋ง ์กฐํํด๋ณด๊ธฐ.
- dv_customer_orders ์ฐํด๋ฆญ ํ, New → Selection ํด๋ฆญ

- Where Conditions ํญ์์ ์๋์ ๊ฐ์ด ์กฐ๊ฑด ์ถ๊ฐ (amount >= 50000)

- Output ํญ์์ View name์ dv_high_value_orders ์ง์ ํ๊ณ ์ ์ฅ

- dv_high_value_orders ์์ฑ ์๋ฃ!

4๏ธโฃ ๊ณ ๊ฐ๋ณ ์ฃผ๋ฌธ ๊ฑด์์ ์ด๊ธ์ก ์ง๊ณํด๋ณด๊ธฐ
- dv_customer_orders ์ฐํด๋ฆญ → New → Selection ํด๋ฆญ

- Group By ํญ์์ Use group by ์ฒดํฌ ๋ฐ์ค๋ฅผ ์ ํํ ๋ค, customer_id, customer_name, grade ํ๋๋ฅผ ๊ทธ๋ฃน ๊ธฐ์ค์ผ๋ก ์ถ๊ฐ
(๊ฐ์ ๊ณ ๊ฐ์ ์ฌ๋ฌ ์ฃผ๋ฌธ์ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ๊ธฐ ์ํ ์ค์ )
- Output ํญ์์ New Field(๋๋ New aggr. field)๋ฅผ ์ด์ฉํ์ฌ ์๋์ ๊ฐ์ด ์ง๊ณ ํ๋๋ฅผ ์ถ๊ฐ


- View name์ dv_customer_summary๋ก ๋ณ๊ฒฝ

- dv_customer_summary ์์ฑ ์๋ฃ!

๐ก ์ค์ต ๊ฒฐ๊ณผ ์ ๋ฆฌ
- ์ด๋ฒ ์ค์ต์์๋ ์ฃผ๋ฌธ ๋ฐ์ดํฐ์ธ orders.csv๋ฅผ ์ถ๊ฐํ๊ณ , ๊ธฐ์กด ๊ณ ๊ฐ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐํ์ฌ ๋ค์ View๋ฅผ ์์ฑํ๋ค.
- orders.csv๋ฅผ ์ฐ๊ฒฐํ ๋ฐ์ดํฐ ์์ค orders_csv ์์ฑ
- ์ฃผ๋ฌธ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ Base View bv_orders ์์ฑ
- bv_customers์ bv_orders๋ฅผ customer_id๋ก ์กฐ์ธํ dv_customer_orders ์์ฑ
- ์ฃผ๋ฌธ ๊ธ์ก์ด 5๋ง ์ ์ด์์ธ ๋ฐ์ดํฐ๋ง ์กฐํํ๋ dv_high_value_orders ์์ฑ
- ๊ณ ๊ฐ๋ณ ์ฃผ๋ฌธ ๊ฑด์์ ์ด ์ฃผ๋ฌธ ๊ธ์ก์ ์ง๊ณํ dv_customer_summary ์์ฑ
- ์์ฑ๋ ๊ฐ View์ ๊ด๊ณ๋ ์๋์ ๊ฐ๋ค.
customers.csv → bv_customers โ โ→ dv_customer_orders orders.csv → bv_orders โโโโ โ→ dv_high_value_orders โ→ dv_customer_summary - ๋ค์ ์ค์ต์์๋ VQL๋ก ๋ฐ์ดํฐ๋ฅผ ์ง์ ์กฐํํ๊ณ , ์ธ๋ถ ์ ๊ณต์ฉ Interface View๋ฅผ ์์ฑ ๋ฑ์ ์งํํ ์์ ์ด๋ค.
'Study > Denodo' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Denodo ์ค์ต - 4. ์ธ๋ถ DB ์ฐ๊ฒฐ ๋ฐ ๋ทฐ ์์ฑยท์กฐ์ธยท์บ์ ์ ์ฉ (0) | 2026.09.25 |
|---|---|
| Denodo ์ค์ต - 3. VQL ์กฐํ ๋ฐ Interface View ์์ฑ (0) | 2026.09.25 |
| Denodo ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋ฆฌ (0) | 2026.09.21 |
| Denodo ์ค์น ๋ฐ ์คํ ๋ฐฉ๋ฒ (0) | 2026.09.21 |
| Denodo ์ค์ต - 1. Base View ์์ฑ ๋ฐ ์กฐํ (0) | 2026.09.21 |