λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ’š 개발/λ°μ΄ν„°λ² μ΄μŠ€

[λ°μ΄ν„°λ² μ΄μŠ€] λ·° (View) - 2

by devshin.kr 2021. 7. 14.
728x90
λ‹€μŒ μ±…μœΌλ‘œ κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν–ˆλ‹€.


제λͺ© : λ°μ΄ν„°λ² μ΄μŠ€μ‹œμŠ€ν…œ (Database System Concepts) - 6th Edition
μΆœνŒμ‚¬ : McGraw-Hill Korea
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788960552036&orderClick=LAG&Kc=

 

4.2. SQL μ§ˆμ˜μ—μ„œ 뷰의 μ‚¬μš©

 

- 일단 λ·°λ₯Ό μ •μ˜ν•˜λ©΄, κ·Έ λ·°κ°€ μƒμ„±ν•˜λŠ” 가상 λ¦΄λ ˆμ΄μ…˜μ„ μ§€μ •ν•˜κΈ° μœ„ν•΄μ„œ 뷰의 이름을 μ‚¬μš©ν•  수 μžˆλ‹€.

- physics_fall_2009 λ·°λ₯Ό μ‚¬μš©ν•΄μ„œ 2009λ…„ 가을에 Watson λΉŒλ”©μ—μ„œ ν•œ λͺ¨λ“  μˆ˜μ—…μ„ μ°ΎλŠ” 질의λ₯Ό μ•„λž˜μ™€ 같이 μž‘μ„±ν•  수 μžˆλ‹€.

select course_id
from physics_fall_2009
where building='Watson';

 

- λ·° 이름은 μ§ˆμ˜μ—μ„œ λ¦΄λ ˆμ΄μ…˜ 이름이 λ“€μ–΄κ°ˆ 수 μžˆλŠ” λͺ¨λ“  μžλ¦¬μ— μ‚¬μš©λ  수 μžˆλ‹€.

- μ•„λž˜μ˜ λ·°λŠ” 각 학과별 λͺ¨λ“  ꡐ수의 μ—°λ΄‰μ˜ 합을 좜λ ₯ν•œλ‹€. sum(salary) 이 νŠΉμ • 이름을 가지고 μžˆμ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 속성 이름은 λ·° μ •μ˜μ— μ˜ν•΄μ„œ λͺ…μ‹œλ˜κ²Œ λœλ‹€.

create view department_total_salary(dept_name, total_salary) as
	select dept_name, sum(salary)
    	from instructor
    	group by dept_name;

 

- ν•˜λ‚˜μ˜ λ·°λŠ” 또 λ‹€λ₯Έ λ·°λ₯Ό μ •μ˜ν•˜λŠ”λ° μ‚¬μš©λ  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄ 2009λ…„ 가을에 WatsonλΉŒλ”©μ—μ„œ ν•œ λͺ¨λ“  μˆ˜μ—…μ„ λ³΄μ—¬μ£ΌλŠ” physics_fall_2009_watson λ·°λ₯Ό λ‹€μŒκ³Ό 같이 μ •μ˜ν•  수 μžˆμ„ 것이닀.

create view physics_fall_2009_watson as
	select course_id, room_number
    	from physics_fall_2009
    	where building='Watson';

 

- physics_fall_2009 μ—­μ‹œ 뷰이닀. 이것은 λ‹€μŒ μ§ˆμ˜μ‹κ³Ό λ™λ“±ν•˜λ‹€.

create view physics_fall_2009_watson as
	(select course_id, room_number
    from (select course.course_id, building, room_number
    		from course, section
            	where course.course_id=section.course_id
            		and course.dept_name='Physics'
                	and section.semester='Fall'
                	and section.year='2009')
	where building='Watson';

 

 

4.2.3. 싀체화 λ·°

- λͺ‡λͺ‡ λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ€ λ·° λ¦΄λ ˆμ΄μ…˜μ„ μ €μž₯ν•˜λŠ” 방법을 μ œκ³΅ν•œλ‹€.

- μ΄λŸ¬ν•œ 경우, λ·°λ₯Ό μ •μ˜ν•˜λŠ”λ° μ‚¬μš©ν•œ λ¦΄λ ˆμ΄μ…˜μ΄ μˆ˜μ •λ˜μ–΄λ„ λ·°λŠ” μ΅œμ‹  μƒνƒœλ₯Ό μœ μ§€ν•œλ‹€.

- 싀체화 λ·°λ₯Ό μ΅œμ‹  μƒνƒœλ‘œ μœ μ§€ν•˜λŠ” 과정을 싀체화 λ·° 관리 (materialized view maintenance) ν˜Ήμ€ λ·° 관리 (view maintaenance) 라고 ν•œλ‹€.

λŒ“κΈ€