[PostgreSQL] μμ (Inheritance)
postgresλ νΉμ΄νκ²λ ν
μ΄λΈ κ° μμμ λν κΈ°λ₯μ μ 곡νλ€.
μΌλ°μ μΌλ‘ νλ‘κ·Έλλ° μΈμ΄λ€μμ μ 곡νλ ν΄λμ€ μμκ³Ό λ§₯λ½μ κ°μ΄νλ€.
λ§μ½ "μ¬λ"μ λν ν μ΄λΈμ΄ μκ³
create table Person
(
id serial primary key,
name text,
age int
);
κ·Έ ꡬμ±μμλ€μ κ·Έλλ‘ ν¬ν¨νλ "νμ"μ λν ν μ΄λΈμ΄ μλ€κ³ κ°μ νκ² λ€.
create table Student
(
id serial primary key,
name text,
age int,
school text
);
μ¬μ€μ schoolμ μ μΈν μ»¬λΌ μ μλ€μ λΆνμν μ€λ³΅μ΄λΌκ³ ν μλ μλ€.
μ΄λ΄λ μ»¬λΌ μ μ μ¬μ¬μ©μ μν΄ μ¬μ©νλ κ²μ΄ μμμ΄λ€.
μμμ νμ©ν΄μ Studentλ₯Ό λ€μ μ μνλ©΄, μ΄λ κ² λλ€.
create table Student
(
school text
) INHERITS(Person);

κ·Έλ¬λ©΄ μλμ κ°μ΄ μμ±μ΄ λλ€.
κ·Έλλ‘ λ€ κ°μ Έμκ³ , μμκ΄κ³μμ΄ νμλλ€.
νλ² μμμ νλ€λ©΄, νμ ν
μ΄λΈμ μ§μμ μΌλ‘ κ·Έ μμ ν
μ΄λΈμ λν λκΈ°νλ₯Ό μ μ§νλ€.
κ·Έλμ λμ€μ μμν
μ΄λΈμ μ€μ μ λκ° λ°κΎΈλλΌλ
alter table Person alter column name type varchar(100);
νμν
μ΄λΈμλ λ°λ‘λ°λ‘ λ°μλ κ²μ΄λ€.
μ°Έμ‘°
https://www.postgresql.kr/docs/9.4/tutorial-inheritance.html