[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv3. ๋Œ€์—ฌ ๊ธฐ๋ก์ด ์กด์žฌํ•˜๋Š” ์ž๋™์ฐจ ๋ฆฌ์ŠคํŠธ ๊ตฌํ•˜๊ธฐ

2023. 2. 22. 16:32ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2023

728x90

 

๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ์€ ์–ด๋Š ์ž๋™์ฐจ ๋Œ€์—ฌ ํšŒ์‚ฌ์—์„œ ๋Œ€์—ฌ ์ค‘์ธ ์ž๋™์ฐจ๋“ค์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”๊ณผ ์ž๋™์ฐจ ๋Œ€์—ฌ ๊ธฐ๋ก ์ •๋ณด๋ฅผ ๋‹ด์€ CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์œผ๋ฉฐ, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS ๋Š” ๊ฐ๊ฐ ์ž๋™์ฐจ ID, ์ž๋™์ฐจ ์ข…๋ฅ˜, ์ผ์ผ ๋Œ€์—ฌ ์š”๊ธˆ(์›), ์ž๋™์ฐจ ์˜ต์…˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

Column name                                            Type                                                                            Nullable
CAR_ID INTEGER FALSE
CAR_TYPE VARCHAR(255) FALSE
DAILY_FEE INTEGER FALSE
OPTIONS VARCHAR(255) FALSE

์ž๋™์ฐจ ์ข…๋ฅ˜๋Š” '์„ธ๋‹จ', 'SUV', '์Šนํ•ฉ์ฐจ', 'ํŠธ๋Ÿญ', '๋ฆฌ๋ฌด์ง„' ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋™์ฐจ ์˜ต์…˜ ๋ฆฌ์ŠคํŠธ๋Š” ์ฝค๋งˆ(',')๋กœ ๊ตฌ๋ถ„๋œ ํ‚ค์›Œ๋“œ ๋ฆฌ์ŠคํŠธ(์˜ˆ: '์—ด์„ ์‹œํŠธ', '์Šค๋งˆํŠธํ‚ค', '์ฃผ์ฐจ๊ฐ์ง€์„ผ์„œ')๋กœ ๋˜์–ด์žˆ์œผ๋ฉฐ, ํ‚ค์›Œ๋“œ ์ข…๋ฅ˜๋Š” '์ฃผ์ฐจ๊ฐ์ง€์„ผ์„œ', '์Šค๋งˆํŠธํ‚ค', '๋„ค๋น„๊ฒŒ์ด์…˜', 'ํ†ตํ’์‹œํŠธ', '์—ด์„ ์‹œํŠธ', 'ํ›„๋ฐฉ์นด๋ฉ”๋ผ', '๊ฐ€์ฃฝ์‹œํŠธ' ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ…Œ์ด๋ธ”์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์œผ๋ฉฐ, HISTORY_ID, CAR_ID, START_DATE, END_DATE ๋Š” ๊ฐ๊ฐ ์ž๋™์ฐจ ๋Œ€์—ฌ ๊ธฐ๋ก ID, ์ž๋™์ฐจ ID, ๋Œ€์—ฌ ์‹œ์ž‘์ผ, ๋Œ€์—ฌ ์ข…๋ฃŒ์ผ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

Column name                                                             Type                                                      Nullable
HISTORY_ID INTEGER FALSE
CAR_ID INTEGER FALSE
START_DATE DATE FALSE
END_DATE DATE FALSE

๋ฌธ์ œ

CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”๊ณผ CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ…Œ์ด๋ธ”์—์„œ ์ž๋™์ฐจ ์ข…๋ฅ˜๊ฐ€ '์„ธ๋‹จ'์ธ ์ž๋™์ฐจ๋“ค ์ค‘ 10์›”์— ๋Œ€์—ฌ๋ฅผ ์‹œ์ž‘ํ•œ ๊ธฐ๋ก์ด ์žˆ๋Š” ์ž๋™์ฐจ ID ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ž๋™์ฐจ ID ๋ฆฌ์ŠคํŠธ๋Š” ์ค‘๋ณต์ด ์—†์–ด์•ผ ํ•˜๋ฉฐ, ์ž๋™์ฐจ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.


์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค์–ด CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™๊ณ 

CAR_ID CAR_TYPE     DAILY_FEE          OPTIONS
1 ์„ธ๋‹จ 16000 ๊ฐ€์ฃฝ์‹œํŠธ,์—ด์„ ์‹œํŠธ,ํ›„๋ฐฉ์นด๋ฉ”๋ผ
2 SUV 14000 ์Šค๋งˆํŠธํ‚ค,๋„ค๋น„๊ฒŒ์ด์…˜,์—ด์„ ์‹œํŠธ
3 ์„ธ๋‹จ 22000 ์ฃผ์ฐจ๊ฐ์ง€์„ผ์„œ,ํ›„๋ฐฉ์นด๋ฉ”๋ผ,๊ฐ€์ฃฝ์‹œํŠธ
4 ์„ธ๋‹จ 12000 ์ฃผ์ฐจ๊ฐ์ง€์„ผ์„œ

CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด

HISTORY_ID  CAR_ID     START_DATE                                                     END_DATE
1 4 2022-09-27 2022-09-27
2 3 2022-10-03 2022-10-04
3 2 2022-10-05 2022-10-05
4 1 2022-10-11 2022-10-14
5 3 2022-10-13 2022-10-15

10์›”์— ๋Œ€์—ฌ๋ฅผ ์‹œ์ž‘ํ•œ ๊ธฐ๋ก์ด ์žˆ๋Š” '์„ธ๋‹จ' ์ข…๋ฅ˜์˜ ์ž๋™์ฐจ๋Š” ์ž๋™์ฐจ ID๊ฐ€ 1, 3 ์ธ ์ž๋™์ฐจ์ด๊ณ , ์ž๋™์ฐจ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

CAR_ID
3
1

 

 

๋‚˜์˜ ํ’€์ด [MySql]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90