[PostgreSQL] μ—΄κ±°ν˜•

PostgreSQLμ—μ„œλ„ μ—΄κ±°ν˜• νƒ€μž…μ— λŒ€ν•œ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.
λ‹€λ₯Έ μ–Έμ–΄λ“€μ˜ 열거와 λ§ˆμ°¬κ°€μ§€λ‘œ, 미리 μ§€μ •λœ κ°’λ§Œμ„ 받을 수 μžˆλ„λ‘ μ œμ•½μ΄ κ±Έλ¦° νƒ€μž…μ„ λ§Œλ“ λ‹€.

생성은 λ‹€μŒκ³Ό 같이 ν•  수 μžˆλ‹€.

CREATE TYPE νƒ€μž…λͺ… AS ENUM(μ—΄κ±° κ°’λ“€...);

λ‚˜λŠ” λ‚΄κ°€ μ›ν•˜λŠ” νŠΉμ • μƒ‰κΉ”λ§Œμ„ 넣을 수 μžˆλŠ” 색상 νƒ€μž…μ„ μ •μ˜ν–ˆλ‹€.
λ‚΄κ°€ 넣은 μ—΄κ±° 속성은 정열적인 적색, 뢄홍색, 검정색이닀.

μ—΄κ±° κ°’ λͺ©λ‘μ—λŠ” 같은 νƒ€μž…μ˜ κ°’λ§Œμ„ 넣을 수 μžˆλ‹€.

μ—΄κ±°λ₯Ό 잘 μ •μ˜ν–ˆλ‹€λ©΄, λ‹€μŒκ³Ό 같이 κ·Έλƒ₯ νƒ€μž…μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€.
색상을 ν¬ν•¨ν•˜λŠ” κ°„λ‹¨ν•œ ν…ŒμŠ€νŠΈμš© ν…Œμ΄λΈ”μ„ μ •μ˜ν–ˆλ‹€.




κ°’ μ œν•œ

μ—΄κ±°λ₯Ό μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ”, ν•΄λ‹Ή νƒ€μž…μ΄ νŠΉμ •ν•œ κ°’λ§Œμ„ κ°€μ§ˆ 수 μžˆλ‹€λŠ” κ°•λ ₯ν•œ 보μž₯을 κ°€μ§€κΈ° λ•Œλ¬Έμ΄λ‹€.
κ·Έλž˜μ„œ 열거에 μ •μ˜ν•œ 속성은 μ–Όλ§ˆλ“ μ§€ 넣을 수 μžˆμ§€λ§Œ

μ •μ˜ν•˜μ§€ μ•Šμ€ 속성은 λ“€μ–΄κ°ˆ 수 μ—†λ‹€.




νƒ€μž… κ³ μœ μ„±

μ—΄κ±°λŠ” λ‹€λ₯Έ νƒ€μž…μ„ 톡해 μ •μ˜λ˜μ§€λ§Œ, κ·Έ μžμ²΄λ‘œλ„ ν•˜λ‚˜μ˜ κ³ μœ ν•œ νƒ€μž…μ΄λ‹€.
κ·Έλž˜μ„œ λ¬Έμžμ—΄λ‘œ μ—΄κ±°λ₯Ό κ΅¬μ„±ν–ˆλ‹€ ν•˜λ”λΌλ„, 그건 μ—΄κ±°νƒ€μž…μ΄μ§€, λ¬Έμžμ—΄μ΄ μ•„λ‹ˆλ‹€.
κ·Έλž˜μ„œ λ‹€μŒκ³Ό 같은 쿼리λ₯Ό νƒ€μž… 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚¨λ‹€.

λ‚΄λΆ€ νƒ€μž…μ˜ 값을 κΊΌλ‚΄μ„œ μœ νš¨ν•˜κ²Œ μ²˜λ¦¬ν•˜κ³  μ‹Άλ‹€λ©΄ λͺ…μ‹œμ  μΊμŠ€νŒ…μ„ μ‚¬μš©ν•˜λ©΄ λœλ‹€.



μ°Έμ‘°
https://www.postgresql.org/docs/9.2/sql-createtype.html
https://www.postgresql.org/docs/9.5/xtypes.html
https://bloodguy.tistory.com/entry/PostgreSQL-enum-type