λ€μ μ±
μΌλ‘ 곡λΆν λ΄μ©μ μ 리νλ€. μ λͺ© : λ°μ΄ν°λ² μ΄μ€μμ€ν (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= |
Chapter 4. μ€κΈ SQL
4.2. λ·°
- λͺ¨λ μ¬μ©μκ° μ 체 λ Όλ¦¬μ λͺ¨λΈμ 보λ κ²μ λ°λμ§νμ§ μλ€. λꡬλ, 보μμ νΉμ μ 보λ μ¬μ©μμκ² μ¨κ²¨μΌ ν νμκ° μλ€.
- μλ₯Ό λ€μ΄, κ΅μμ ID, μ΄λ¦, νκ³Ό μ΄λ¦μ μ¬λ¬΄μμ΄ μμλ μκ΄μ΄ μμ§λ§ κ΅μμ μ°λ΄μ λν΄μλ λ³Ό μ μλ κΆνμ κ°μ Έμλ μ λλ€κ³ νμ. μ΄ μ¬λμ λ€μκ³Ό κ°μ SQL λ‘ ννλ 릴λ μ΄μ μ λ΄μΌ νλ€.
select ID, name, dept_name
from instructor;
- 보μ μμΈ μ΄μΈμλ λ Όλ¦¬μ λͺ¨λΈλ³΄λ€ νΉμ μ¬μ©μμ μΈμμ λ μ λΆν©νλ κ°μΈμ μΈ λ¦΄λ μ΄μ λ€μ λͺ¨μμ μμ±ν νμκ° μλ€.
- μλ₯Ό λ€μ΄, 2009λ κ°μ νκΈ°μ 물리νκ³Όμμ μ 곡ν λͺ¨λ μμ μ μ 보μ μμ μ΄ μ΄λ£¨μ΄μ§ 건물과 κ°μμ€ λ²νΈλ₯Ό μκ³ μΆλ€κ³ νμ.
select course.course_id, sec_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';
- μ μ§μλ₯Ό μνν νμ κ·Έ κ²°κ³Όλ₯Ό μ μ₯νκ³ λμ μ¬μ©μλ€μκ² μ μ₯λ μ§μμ΄ κ²°κ³Ό 릴λ μ΄μ μ μ 곡ν μ μλ€.
- νμ§λ§ κ·Έλ κ² νλ€λ©΄ instructor, course, section 릴λ μ΄μ μ κ°±μ μ΄ μΌμ΄λ λλ§λ€ μ μ₯λ μ§μμ΄ κ²°κ³Όκ° instructor, course, section 릴λ μ΄μ λ€κ³Ό μΌμΉνμ§ μκΈ° λλ¬Έμ μ§μμ²λ¦¬λ₯Ό λ€μ μνν΄μΌ νλ€.
- λμ SQL μ μ§μμ μν΄μ μ μλλ "κ°μ 릴λ μ΄μ " μ μ 곡νλ€. λ Όλ¦¬μ λͺ¨λΈμ μΌλΆλ‘μκ° μλλΌ κ°μμ μΈ λ¦΄λ μ΄μ (virtual relation) μΌλ‘μ μ¬μ©μμκ² λ³΄μ΄λ 릴λ μ΄μ μ λ·°(view) λΌκ³ νλ€.
- μ£Όμ΄μ§ μ€μ 릴λ μ΄μ λ€ μμ λ§μ μμ λ·°λ₯Ό μ§μνλ κ²μ κ°λ₯νλ€.
- μ΄λ¬ν κ°μ 릴λ μ΄μ , λ·°λ μ§μμ κ²°κ³Όλ₯Ό κ°λ μ μΌλ‘ ν¬ν¨νκ³ μλ€.
- λ·°λ 미리 κ³μ°λμ΄μ μ μ₯λλ κ²μ΄ μλλΌ, λ·°κ° μ¬μ©λ λλ§λ€ μ§μλ₯Ό μνν΄μ κ²°κ³Όλ₯Ό μ»μ΄λΈλ€.
4.2.1. λ·° μ μ
- λ·°λ create view λͺ λ Ήμ μ¬μ©νμ¬ μ μνλ€.
- λ·°λ₯Ό μ μνκΈ° μν΄μ, λ·° μ΄λ¦κ³Ό κ·Έ λ·°λ₯Ό κ³μ°νλ μ§μλ₯Ό κΈ°μ ν΄μΌ νλ€. create view λͺ λ Ήμ ννλ λ€μκ³Ό κ°λ€.
create view v as <query expression>;
-- μ¬κΈ°μ <query expression> μ μ λ²ν μ§μ ννμμ΄λ€. λ·°μ μ΄λ¦μ vλ‘ λνλ΄μλ€.
- μμ μμ κ°μ΄, μ¬λ¬΄μμ΄ instructor 릴λ μ΄μ μμ salary λ₯Ό μ μΈν μ 보λ₯Ό μ κ·Όνλ €κ³ νλ€κ³ νμ. μ΄ μ¬λ¬΄μμ΄ μ§μ instructor 릴λ μ΄μ μ μ κ·Όν΄μλ μ λλ€. λμ λ€μ μ μμ κ°μ΄ faculty λΌλ λ·° 릴λ μ΄μ μ μμ±ν΄μ μ¬λ¬΄μμκ² μ 곡ν΄μΌ νλ€.
create view faculty as
select ID, name, dept_name
from instructor;
- λ°μ΄ν°λ² μ΄μ€ μμ€ν μ΄ λ·° 릴λ μ΄μ κ³Ό κ΄λ ¨λ μ§μ μμ μ μ₯νκ³ μλ€.
- λ·° 릴λ μ΄μ μ΄ μ κ·Όλ λλ§λ€, μ§μ κ²°κ³Όλ₯Ό κ³μ°ν¨μΌλ‘μ¨ ν¬νμ΄ μμ±λλ€. μ΄μ²λΌ λ·° 릴λ μ΄μ μ νμν λλ§λ€ μμ±λλ€.
- 2009λ κ°μ νκΈ°μ 물리νκ³Όμμ μ 곡ν λͺ¨λ μμ μ μ 보μ μμ μ΄ μ΄λ£¨μ΄μ§ 건물과 κ°μμ€ λ²νΈμ λͺ©λ‘μ κ°μ§κ³ μλ λ·°λ₯Ό μμ±νκΈ° μν΄μλ λ€μκ³Ό κ°μ΄ μ§μλ₯Ό μμ±ν μ μλ€.
-- physics_fall_2009 λ view tableμ μ΄λ¦μ΄ λλ€. -> μ¬μ©μ from μ μμ μ¬μ©λλ€.
create view physics_fall_2009 as
select course.course_id, sec_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';
'π κ°λ° > λ°μ΄ν°λ² μ΄μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°μ΄ν°λ² μ΄μ€] ν¨μ(function)μ νλ‘μμ (procedure)μ μ°¨μ΄ (0) | 2021.07.15 |
---|---|
[λ°μ΄ν°λ² μ΄μ€] λ·° (View) - 3 (0) | 2021.07.15 |
[MySQL] MariaDB root λΉλ°λ²νΈ λ³κ²½ (MariaDB 10.4 μ΄μ) (4) | 2021.07.14 |
[λ°μ΄ν°λ² μ΄μ€] λ·° (View) - 2 (0) | 2021.07.14 |
[MySQL] Windows νκ²½μ MariaDB μ€μΉνκΈ° (0) | 2021.07.14 |
λκΈ