π»
[λ°μ΄ν°λ² μ΄μ€(DB)] λ©΄μ μμ μ§λ¬Έκ³Ό λ΅λ³ λ³Έλ¬Έ
[λ°μ΄ν°λ² μ΄μ€(DB)] λ©΄μ μμ μ§λ¬Έκ³Ό λ΅λ³
λν¨λ 2020. 2. 27. 12:33Q # 1) DBMSλ₯Ό μ μνμμμ€.
λ΅λ³ : DBMSλ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν μ λνλ λλ€. μ¬μ©μκ° λ°μ΄ν°μ κ΄ν μ 보λ₯Ό κ°λ₯ν ν ν¨μ¨μ μ΄κ³ ν¨κ³Όμ μΌλ‘ ꡬμ±, 볡μ λ° κ²μ ν μ μλλ‘νλ μμ© νλ‘κ·Έλ¨ λͺ¨μμ λλ€.
λ리 μ¬μ©λλ DBMS μ€ μΌλΆλ MySql, Oracle λ±μ λλ€.
Q # 1-1) RDBMSλ₯Ό μ μνμμμ€.
λ΅λ³ : κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν (RDBMS)μ λ°μ΄ν°λ² μ΄μ€μ λ³λμ ν μ΄λΈμ μ μ₯λ κ΄κ³ν λ°μ΄ν° λͺ¨λΈμ κΈ°λ°μΌλ‘νλ©° κ³΅ν΅ μ΄μ μ¬μ©κ³Ό κ΄λ ¨μ΄ μμ΅λλ€. SQL (Structured Query Language)μ μ¬μ©νμ¬ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°μ μ½κ² μ‘μΈμ€ ν μ μμ΅λλ€.
Q # 1-2) DBMSμ μ₯μ μ λν΄ μ€λͺ νμΈμ.
λ΅λ³ : DBMSμ μ₯μ μ λ€μκ³Ό κ°μ΅λλ€.
- λ°μ΄ν°λ ꡬ쑰μ μΌλ‘ μ μ₯λλ―λ‘ μ€λ³΅μ±μ΄ μ μ΄λ©λλ€.
- μ λ ₯ ν λ°μ΄ν°μ μ ν¨μ±μ κ²μ¬νκ³ λ°μ΄ν°λ² μ΄μ€μ λν λ¬΄λ¨ μ‘μΈμ€μ λν μ νμ μ 곡ν©λλ€.
- νμν κ²½μ° λ°μ΄ν° λ°±μ λ° λ³΅κ΅¬λ₯Ό μ 곡ν©λλ€.
- μ¬λ¬ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό μ 곡ν©λλ€.
Q # 2) λ°μ΄ν°λ² μ΄μ€μμ λ€μν μ νμ κ΄κ³λ 무μμ λκΉ?
λ΅λ³ : λ°μ΄ν°λ² μ΄μ€μλ 3 κ°μ§ μ νμ κ΄κ³κ° μμ΅λλ€.
- μΌλμΌ : ν ν μ΄λΈμ λΉμ·ν μ’ λ₯μ μ΄μ κ°μ§ λ€λ₯Έ ν μ΄λΈκ³Ό κ΄κ³κ° μμ΅λλ€. κ° κΈ°λ³Έ ν€λ κ΄λ ¨ ν μ΄λΈμμ νλμ λ μ½λ λλ νλμ λ μ½λμ κ΄λ ¨μ΄ μμ΅λλ€.
- μΌλλ€ : ν ν μ΄λΈμ κΈ°λ³Έ λ° μΈλ ν€ κ΄κ³κ°μλ λ€λ₯Έ ν μ΄λΈκ³Ό κ΄κ³κ° μμ΅λλ€. κΈ°λ³Έ ν€ ν μ΄λΈμλ κ΄λ ¨ ν μ΄λΈμμλ νλ λλ μ¬λ¬κ°μ λ μ½λμ κ΄λ ¨λ νλμ λ μ½λ λ§ ν¬ν¨λ©λλ€.
- λ€λλ€ : λ ν μ΄λΈμ κ° λ μ½λλ λ€λ₯Έ ν μ΄λΈμ μ¬λ¬ λ μ½λμ κ΄λ ¨ λ μ μμ΅λλ€.
Q # 3) SQL μ μ€λͺ νμΈμ.
λ΅λ³ : SQL λ¬Έμ κΈ°λ³Έμ μΌλ‘ DDL, DML λ° DCLμ μΈ κ°μ§ λ²μ£Όλ‘ λλ©λλ€.
λ€μκ³Ό κ°μ΄ μ μ ν μ μμ΅λλ€.
DDL (λ°μ΄ν° μ μ μΈμ΄) λͺ λ Ήμ λ°μ΄ν°λ₯Ό 보μ νλ ꡬ쑰λ₯Ό μ μνλ λ° μ¬μ©λ©λλ€. μ΄ λͺ λ Ήμ μλ 컀λ°λ©λλ€. μ¦, λ°μ΄ν°λ² μ΄μ€μ DDL λͺ λ Ήμ μν΄ μν λ λ³κ²½ μ¬νμ΄ μꡬμ μΌλ‘ μ μ₯λ©λλ€.
DML (λ°μ΄ν° μ‘°μ μΈμ΄) λͺ λ Ήμ λ°μ΄ν°λ² μ΄μ€μ λ°μ΄ν°λ₯Ό μ‘°μνλ λ° μ¬μ©λ©λλ€. μ΄ λͺ λ Ήμ μλ 컀λ°λμ§ μμΌλ©° λ‘€λ°± ν μ μμ΅λλ€.
DCL (λ°μ΄ν° μ μ΄ μΈμ΄) λͺ λ Ήμ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό μ¬μ©νκΈ°μν μ‘μΈμ€ κΆν μ·¨μμ κ°μ΄ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°μ κ°μμ±μ μ μ΄νλ ββλ° μ¬μ©λ©λλ€.
Q # 4) μ κ·νμ λΉμ κ·νλ₯Ό μ€λͺ νμμμ€.
λ΅λ³ :
μ κ·ν λ λ°μ΄ν° 무결μ±μ μ μ§νκΈ° μν΄ μ μ μ λ λ°©μμΌλ‘ ν μ΄λΈμ λΆν νμ¬ λ°μ΄ν°λ² μ΄μ€μμ μ€λ³΅ λ°μ΄ν°λ₯Ό μ κ±°νλ νλ‘μΈμ€μ λλ€. μ¦, κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ μ€λ³΅μ μ΅μννκΈ° μν΄ λ°μ΄ν°λ₯Ό ꡬ쑰ννλ μμ μ λλ€. μ΄ νλ‘μΈμ€λ λ§μ μ μ₯ 곡κ°μ μ μ½ν©λλ€.
λΉμ κ·ν λ 볡μ‘ν 쿼리 μλλ₯Ό λμ΄κ³ μ±λ₯μ ν₯μμν€κΈ° μν΄ ν μ΄λΈμ μ€λ³΅ λ°μ΄ν°λ₯Ό μΆκ°νλ νλ‘μΈμ€μ λλ€.
Q # 4-1) μ κ·νμ μ₯μ μ?
λ΅λ³: λ°μ΄ν°λ² μ΄μ€ λ³κ²½ μ μ΄μ νμμ μ κ±°νκ³ , λ°μ΄ν°λ² μ΄μ€ ꡬ쑰 νμ₯ μ μ¬λμμΈμ μ΅μνν©λλ€.
Q # 4-2) μ κ·νμ λ¨μ μ?
λ΅λ³: 릴λ μ΄μ λΆν΄λ‘ μΈν΄ 릴λ μ΄μ κ°μ μ°μ°(join)μ΄ λ§μμ§λλ€. μ΄λ‘ μΈν΄ μλ΅ μκ°μ΄ λλ €μ§ μ μμ΅λλ€.
Q # 5) λ°μ΄ν°λ² μ΄μ€ λ·°λ?
λ΅λ³ : νμ©λ λ°μ΄ν°λ₯Ό μ νμ μΌλ‘ 보μ¬μ£ΌκΈ° μν΄ νλ μ΄μμ ν μ΄λΈμμ μ λλ κ°μ ν μ΄λΈμ λλ€.
Q # 5-1) λ°μ΄ν°λ² μ΄μ€ λ·°μ μ₯μ κ³Ό λ¨μ μ 무μμ λκΉ?
λ΅λ³ :
λ·°μ μ₯μ )
- λ·°μ λ°μ΄ν°κ° μ μ₯λλ 물리μ μμΉκ° μμΌλ―λ‘ λ¦¬μμ€λ₯Ό λλΉνμ§ μκ³ μΆλ ₯μ μμ±ν©λλ€.
- μ½μ , μ λ°μ΄νΈ λ° μμ μ κ°μ λͺ λ Ήμ νμ©νμ§ μμΌλ―λ‘ λ°μ΄ν° μ‘μΈμ€κ° μ νλ©λλ€.
λ·°μ λ¨μ )
- ν΄λΉ λ·°μ κ΄λ ¨λ ν μ΄λΈμ μμ νλ©΄ λ·°κ° κ΄λ ¨μ΄ μμ΅λλ€.
- ν° ν μ΄λΈμ λν΄ λ·°λ₯Ό λ§λ€ λ λ λ§μ λ©λͺ¨λ¦¬κ° μ¬μ©λ©λλ€.
Q # 6) ER λͺ¨λΈμ 무μμ λκΉ?
λ΅λ³ : ER λͺ¨λΈμ λ°μ΄ν°λ² μ΄μ€μ κ°λ μ λ·°λ₯Ό μ μνλ μν°ν°-κ΄κ³ λͺ¨λΈμ λλ€.
ER λͺ¨λΈμ κΈ°λ³Έμ μΌλ‘ μ€μ μ€μ²΄μ κ·Έ μ°κ΄ / κ΄κ³λ₯Ό 보μ¬μ€λλ€. μ¬κΈ°μ μν°ν°λ λ°μ΄ν°λ² μ΄μ€μ μμ± μΈνΈλ₯Ό λνλ λλ€.
Q # 6-1) μν°ν°(Entity), μν°ν° νμ (Entitiy type) λ° μν°ν° μ§ν©(Entitiy set)μ μ μνμμμ€.
λ΅λ³ : μν°ν°λ μ€μΈκ³μμ λ 립μ μΌλ‘ μ‘΄μ¬νλ μ₯μ, ν΄λμ€ λλ κ°μ²΄ μΌ μ μμ΅λλ€.
μν°ν° νμ μ μ μ¬ν νΉμ±μ κ°μ§ μν°ν° μ§ν©μ λνλ λλ€.
λ°μ΄ν°λ² μ΄μ€μ μ€μ λ μν°ν°λ νΉμ μν°ν° μ νμ κ°λ μν°ν°μ μ§ν©μ λνλ λλ€.
Q # 7) λ°μ΄ν°λ² μ΄μ€ νΈλμμ μ΄λ 무μμ λκΉ?
λ΅λ³ : λ°μ΄ν°λ² μ΄μ€μ μΌκ΄μ±μλ μνλ₯Ό λ€λ₯Έ κ²μΌλ‘ λ³κ²½νλ μμ μμλ₯Ό λ°μ΄ν°λ² μ΄μ€ νΈλμμ μ΄λΌκ³ ν©λλ€. νΈλμμ μλ£ ν μ±κ³΅μ μΈ μλ£κ° μμ€ν μ λ°μλκ±°λ νΈλμμ μ΄ μ€ν¨νκ³ λ³κ²½ μ¬νμ΄ λ°μλμ§ μμ΅λλ€.
Q # 7-1) νΈλμμ μ 4κ°μ§ μ±μ§μ λν΄ μ€λͺ ν΄λ³΄μΈμ.
λ΅λ³ : μ΄ λ€κ°μ§ μ±μ§μ κ°μ§κ³ μμ΅λλ€.
Atomicity(μμμ±) λ νΈλμμ μ μ°μ°μ΄ DBμ λͺ¨λ λ°μλλμ§ μ ν λ°μμ΄λμ§ μλμ§ λμ€μ νλλ§ μνν΄μΌνλ€.
Consistency(μΌκ΄μ±) λ νΈλμμ μ΄ μ±κ³΅μ μΌλ‘ μλ£λ νμλ μΈμ λ μΌκ΄μ± μλ DBμνλ‘ λ³νλμ΄μΌνλ€.
Isolation(λ 립μ±) μ μνμ€μΈ νΈλμμ μ΄ μμ ν μλ£λκΈ° μ μλ λ€λ₯Έ νΈλμμ μμ μν κ²°κ³Όλ₯Ό μ°Έμ‘°ν μ μλ€.
Durablility(μ§μμ±) λ μ±κ³΅μ μΌλ‘ μλ£λ νΈλμμ μ κ²°κ³Όλ μμ€ν μ΄ κ³ μ₯λλλΌλ μꡬμ μΌλ‘ λ°μλμ΄μΌ νλ€.
Q # 8) μΈλ±μ€ λ?
λ΅λ³ : μΈλ±μ€λ λ°μ΄ν°λΆμΌμ μμ΄μ ν μ΄λΈμ λν λμμ μλλ₯Ό λμ¬μ£Όλ μλ£ κ΅¬μ‘°λ₯Ό λ§ν©λλ€. μΈλ±μ€λ ν μ΄λΈ λ΄μ 1κ°μ 컬λΌ, νΉμ μ¬λ¬ κ°μ 컬λΌμ μ΄μ©νμ¬ μμ±λ μ μμ΅λλ€. κ³ μμ κ²μ λμ λΏλ§ μλλΌ λ μ½λ μ κ·Όκ³Ό κ΄λ ¨νμ¬ ν¨μ¨μ μΈ μμ λ§€κΉ λμμ λν κΈ°μ΄λ₯Ό μ 곡ν©λλ€.
μΈλ±μ€λ₯Ό μ¬μ©ν΄μΌ νλ κ²½μ°
- λ°μ΄ν°μ μμ΄ λ§κ³ κ²μμ΄ λ³κ²½λ³΄λ€ λΉλ²ν κ²½μ°
- μΈλ±μ€λ₯Ό κ±Έκ³ μ νλ νλμ κ°μ΄ λ€μν κ°μ κ°μ§λ κ²½μ°
μΈλ±μ€λ₯Ό μ¬μ©ν μ λ¨μ
- DBμ 10%μ λ 곡κ°μ΄ μꡬλ©λλ€.
- μΈλ±μ€λ₯Ό μμ±νλ μκ°μ΄ ν¬κ² μꡬλ©λλ€.
- INSERT, DELETE, UPDATE 쿼리문μ μ€νν λ λ³λμ κ³Όμ μ΄ μΆκ°μ μΌλ‘ λ°μνκΈ° λλ¬Έμ DBμ λ³κ²½μμ μ΄ μ¦μΌλ©΄ μ±λ₯μ΄ μ νλ©λλ€.
μΈλ±μ€ νν μ μΈλ±μ€ μμ§μ ν₯μμμΌ λ°μ΄ν°λ² μ΄μ€ μ±λ₯λΏλ§ μλλΌ μΏΌλ¦¬ μ±λ₯μ ν₯μμν€λ νλ‘μΈμ€μ λλ€.
Q # 8-1) μΈλ±μ€ νν μ μ¬μ©νμ¬ μΏΌλ¦¬ μ±λ₯μ ν₯μμν€λ λ°©λ²μ 무μμ λκΉ?
λ΅λ³ : μΈλ±μ€ νν μ λ€μμ ν΅ν΄ 쿼리 μ±λ₯μ ν₯μμν΅λλ€.
- 쿼리 μ΅μ ν νλ‘κ·Έλ¨μ μ¬μ©νμ¬ μν¬λ‘λμ 쿼리λ₯Ό μ‘°μ ν©λλ€.
- μΈλ±μ€ λ° μΏΌλ¦¬ λ°°ν¬μ μ±λ₯ λ° ν¨κ³Ό κ΄μ°°
Q # 9) κ²μ¬μ (Checkpoint)λ₯Ό μ μνμμμ€.
λ΅λ³ : Checkpointλ λͺ¨λ λ‘κ·Έκ° μ μ₯ λμ€ν¬μ μꡬμ μΌλ‘ μ μ₯λκ³ μΌκ΄μ±μ΄μλ μ§μ μ μ μΈν©λλ€. μΆ©λμ΄ λ°μνλ©΄ μμ€ν μ΄ κ²μ¬ μ μμ λ€μ μμν μ μμΌλ―λ‘ μμ λκ³Ό μκ°μ΄ μ μ½λ©λλ€.
Q # 10) λ°μ΄ν° μ¬μ (Data dictionary)μ μ€λͺ νμμμ€.
λ΅λ³ : λ°μ΄ν° μ¬μ μ ν μ΄λΈκ³Ό λ°μ΄ν°λ² μ΄μ€ κ°μ²΄μ λ΄μ©κ³Ό ꡬ쑰λ₯Ό μ€λͺ νλ μ 보 μ§ν©μ λλ€. λ°μ΄ν° λμ λ리μ μ μ₯λ μ 보μ μμ μ λ°μ΄ν°λ² μ΄μ€ μμ κ°μ κ΄κ³λ₯Ό μ μ΄, μ‘°μ λ° μ‘μΈμ€νλ κ²μ λλ€.
Q # 11) κΈ°λ³Έ ν€(Primary key)μ λ³΅ν© ν€(Compound key)λ₯Ό μ€λͺ νμμμ€.
λ΅λ³ : κΈ°λ³Έ ν€ λ λͺ¨λ ν λ°μ΄ν°κ° κ³ μ νκ² μλ³λλ ν μ΄λΈμ ν΄λΉ μ΄μ λλ€. ν μ΄λΈμ λͺ¨λ νμλ κΈ°λ³Έ ν€κ° μμ΄μΌνλ©° λ νμ λμΌν κΈ°λ³Έ ν€λ₯Ό κ°μ§ μ μμ΅λλ€. κΈ°λ³Έ ν€ κ°μ μ λλ‘ nullμ΄κ±°λ μμ νκ±°λ μ λ°μ΄νΈ ν μ μμ΅λλ€. λ³΅ν© ν€ λ μ΄ μΈνΈκ° ν μ΄λΈμ λͺ¨λ νμ κ³ μ νκ² μλ³νλ ν보 ν€μ μμμ λλ€.
Q # 12) Unique ν€λ‘ 무μμ μ΄ν΄νμλκΉ?
λ΅λ³ : Unique ν€λ μ μΌμ±μ κ°μ§κΈ° μν΄ μ€μ ν΄ λμ ν€λ‘ μ€λ³΅μ΄ λλ κ²μ λ°©μ§ν©λλ€. Primary ν€λ μ€μ§ νλλ§ μμ±ν μ μμ§λ§, Uniqueν€λ μ¬λ¬κ° μμ±μ΄ κ°λ₯ν©λλ€. Primaryν€μ κ²½μ° NULL κ°μ νμ©νμ§ μμ§λ§, Unique ν€λ NULL κ°μ νμ©ν©λλ€.
Q # 13) λ°μ΄ν°λ² μ΄μ€ νΈλ¦¬κ±°λ‘ 무μμ μ΄ν΄νμλκΉ?
λ΅λ³ : ν μ΄λΈμμ μ½μ μ , μ½μ ν, μ λ°μ΄νΈμ, ν μμ μμ κ°μ μ΄λ²€νΈκ° λ°μν λ μλμΌλ‘ μ€νλλ λͺ λ Ή μΈνΈλ₯Ό λ°μ΄ν°λ² μ΄μ€ νΈλ¦¬κ±°λΌκ³ ν©λλ€.
Q # 14) μ μ₯ νλ‘ μμ λ₯Ό μ μνμμμ€.
λ΅λ³ : μ μ₯ νλ‘μμ λ μ¬μ μ»΄νμΌ λ SQL 쿼리μ λͺ¨μμΌλ‘, μ¬μ μ μ€λΉν΄ λ λ§μ λͺ λ Ήμ μλμΌλ‘ μ€νν μ μκΈ° λλ¬Έμ μμ μ ν¨μ¨μ±λ λμΌ μ μμ΅λλ€.
Q # 15) 'DELETE', 'TRUNCATE'λ° 'DROP'λͺ λ Ήμ ꡬλΆνμμμ€.
λ΅λ³ : 'DELETE' μ°μ°μ μ€ν ν ν μμ€ λ λ°μ΄ν°λ₯Ό κ²μνκΈ° μν΄ COMMIT λ° ROLLBACK λ¬Έμ μν ν μ μμ΅λλ€.
'TRUNCATE' μ‘°μμ μ€ν ν ν μμ€ λ λ°μ΄ν°λ₯Ό κ²μνκΈ° μν΄ COMMIT λ° ROLLBACK λ¬Έμ μν ν μ μμ΅λλ€.
'DROP' λͺ λ Ήμ κΈ°λ³Έ ν€ / μΈλ ν€μ κ°μ ν μ΄λΈ λλ ν€λ₯Ό μμ νλ λ° μ¬μ©λ©λλ€.
Q # 16) μ΄μνμμ΄λ?
λ΅λ³ : 릴λ μ΄μ μμ μΌλΆ μμ±λ€μ μ’ μμΌλ‘ μΈν΄ λ°μ΄ν°μ μ€λ³΅μ΄ λ°μνλ κ²μ λ§ν©λλ€.
Q # 16-1) μ΄μμ μ’ λ₯μ λν΄ λ§νμΈμ.
λ΅λ³ :
μ½μ μ΄μ μ μνμ§ μλ μλ£κ° μ½μ λλ€λ μ§, μ½μ νλλ° μλ£κ° λΆμ‘±ν΄ μ½μ μ΄ λμ§ μμ λ°μνλ λ¬Έμ μ μ λ§νλ€.
μμ μ΄μ μ νλμ μλ£λ§ μμ νκ³ μΆμ§λ§, κ·Έ μλ£κ° ν¬ν¨λ νν μ μ²΄κ° μμ λ¨μΌλ‘ μνμ§ μλ μ 보 μμ€μ΄ λ°μνλ λ¬Έμ μ μ λ§νλ€.
κ°±μ μ΄μ μ μ ννμ§ μκ±°λ μΌλΆμ ννλ§ κ°±μ λμ΄ μ λ³΄κ° λͺ¨νΈν΄μ§κ±°λ μΌκ΄μ±μ΄ μμ΄μ Έ μ νν μ 보 νμ μ΄ λμ§ μλ λ¬Έμ μ μ λ§νλ€.
Q # 17) νΈλ¦¬κ±°μ λν΄ μ€λͺ νκ³ , νΈλ¦¬κ±°λ₯Ό μ°λ μ΄μ μ λν΄ λ§νμΈμ.
λ΅λ³ : μλμΌλ‘ μ€νλλλ‘ μ μλ μ μ₯ νλ‘μμ μ λλ€. INSERT/UPDATE/DELETEλ¬Έμ λν μλ΅μΌλ‘ μλ νΈμΆν©λλ€.
νΈλ¦¬κ±°λ₯Ό μ¬μ©νλ μ΄μ
- μ 무 κ·μΉμ 보μ₯
- μ 무 μ²λ¦¬ μλν
- λ°μ΄ν° λ¬΄κ²°μ± κ°ν(λ³κ²½, μμ±, μ κ±°, 볡ꡬ μ)
Q # 18) λ°μ΄ν°λ² μ΄μ€ 무결μ±μ΄λ?
λ΅λ³ : λ°μ΄ν° λ² μ΄μ€μ μ μ₯λ λ°μ΄ν° κ°κ³Ό κ·Έκ²μ΄ νννλ νμ€ μΈκ³μ μ€μ κ°μ΄ μΌμΉνλ μ νμ±μ λ§ν©λλ€.
κ°μ²΄ λ¬΄κ²°μ± μ 릴λ μ΄μ μμ κΈ°λ³Έν€λ₯Ό ꡬμ±νλ μμ±μ NULLκ°μ΄λ μ€λ³΅κ°μ κ°μ§ μ μλ€.
μ°Έμ‘° λ¬΄κ²°μ± μ μΈλν€ κ°μ NULLμ΄κ±°λ μ°Έμ‘° ν μ΄λΈμ κΈ°λ³Έν€ κ°μ΄μ΄μΌν¨
Q # 19) μ‘°μΈμ λν΄ μ€λͺ νκ³ μ‘°μΈμ μ’ λ₯μ λν΄ λ§νμΈμ.
λ΅λ³ : λ κ° μ΄μμ ν μ΄λΈμ΄λ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ°κ²°νμ¬ λ°μ΄ν°λ₯Ό κ²μνλ λ°©λ²μ λλ€.
Inner Join μ 2κ° μ΄μμ ν μ΄λΈμμ κ΅μ§ν©λ§μ μΆμΆ
Left Join μ 2κ° μ΄μμ ν μ΄λΈμμ fromμ ν΄λΉνλ λΆλΆμ μΆμΆ
Right Join μ 2κ° μ΄μμ ν μ΄λΈμμ fromκ³Ό joinνλ ν μ΄λΈμ ν΄λΉνλ λΆλΆμ μΆμΆ
Outer Join μ μμν° μ‘°μΈ λλ ν μ‘°μΈμ΄λΌκ³ λ§ν¨, 2κ° μ΄μμ ν μ΄λΈμμ λͺ¨λ ν μ΄λΈμ ν΄λΉνλ λΆλΆμ μΆμΆ
Q # 20) κ΅μ°©μνλ?
λ΅λ³ : 2κ° μ΄μμ νΈλμμ μ΄ νΉμ μμ(ν μ΄λΈ λλ ν)μ μ κΈ(Lock)μ νλν μ± λ€λ₯Έ νΈλμμ μ΄ μμ νκ³ μλ μ κΈμ μꡬνλ©΄ μ무리 κΈ°λ€λ €λ μν©μ΄ λ°λμ§ μλ μνκ° λλλ° μ΄λ₯Ό κ΅μ°©μν λΌκ³ ν©λλ€.
Q # 20-1) κ΅μ°©μνλ₯Ό λ°©μ§νκΈ° μν λ°©λ²μ λν΄ μ€λͺ νμΈμ.
λ΅λ³ :
- νΈλμμ μ μμ£Ό 컀λ°νλ€.
- μ ν΄μ§ μμλ‘ ν μ΄λΈμ μ κ·Όνλ€.
- SELECT ~ FOR UPDATE μ μ¬μ©μ νΌνλ€.
Q # 21) NoSQLμ΄ κΈ°μ‘΄ RDBMSμ λ€λ₯Έ μ μ?
λ΅λ³ : NoSQL μ μ€ν€λ§κ° μμ΅λλ€. μ¦ λ°μ΄ν° κ΄κ³μ μ ν΄μ§ κ·κ²©(table-columnμ μ μ)μ΄ μμ΅λλ€.
κ΄κ³ μ μκ° μμΌλ Joinμ΄ λΆκ°λ₯νκ³ (νμ§λ§ referenceμ κ°μ κΈ°λ₯μΌλ‘ λΉμ·νκ² κ΅¬νμ κ°λ₯) νΈλμμ μ μ§μνμ§ μμ΅λλ€.
λΆμ°μ²λ¦¬(μνμ νμ₯)μ κΈ°λ₯μ μ½κ² μ 곡νλ€λ μ₯μ μ΄ μμ΅λλ€.
λλΆλΆμ NoSQL DBλ λΆμ°μ²λ¦¬κΈ°λ₯μ λͺ©μ μΌλ‘ λμκΈ° λλ¬Έμ λΆμ°μ²λ¦¬ κΈ°λ₯μ μ체 νλ μμν¬μ ν¬ν¨νκ³ μλ€.
Q # 21-1) μ΄λ€μν©μμ NoSQLμ μ°λ κ²μ΄ λ μ ν©νκ°?
λ΅λ³ : λΉμ ν λ°μ΄ν°λ₯Ό μ μ₯ν΄μΌν λ κ°μ₯ μ ν©ν©λλ€.
Q # 22) ν μ΄λΈμ λλ‘(DROP)νλ κ²κ³Ό μλ₯΄λ κ²(Truncate), κ·Έλ¦¬κ³ ν μ΄λΈ λ΄ λͺ¨λ λ μ½λλ₯Ό μμ (Delete)νλ κ²μ μ°¨μ΄μ μ 무μμ λκΉ?
λ΅λ³ : DELETE TABLEμ λ‘κ·Έλλ μμ μ΄κΈ° λλ¬Έμ μμ λλ κ° νμ νΈλμμ λ‘κ·Έμ κΈ°λ‘λκ³ μ΄κ²μ μμ μ λλ¦¬κ² ν©λλ€. TRUCATE TABLE μμ ν μ΄λΈ λ΄ νλ€μ μμ νμ§λ§ μμ λλ κ° νμ κΈ°λ‘νμ§ μκ³ λμ ν μ΄λΈμ λ°μ΄ν°λ² μ΄μ€ ν λΉ ν΄μ λ₯Ό κΈ°λ‘νμ¬ μμ μ΄ λΉ λ¦ λλ€. TRUNCATE TABLEλ λ‘€λ°±ν μ μμ΅λλ€.
DELETE λͺ λ Ήμ΄λ λ°μ΄ν°λ μ§μμ§μ§λ§ ν μ΄λΈ μ©λμ μ€μ΄λ€μ§ μλλ€. μνλ λ°μ΄ν°λ§ μ§μΈ μ μλ€. μμ ν RollBack κ°λ₯νλ€.
TRUNCATE λͺ λ Ήμ΄λ μ©λμ΄ μ€μ΄λ€κ³ , μΈλ±μ€ λ±λ λͺ¨λ μμ λλ€. ν μ΄λΈμ μμ νμ§λ μκ³ λ°μ΄ν°λ§ μμ νλ€. νκΊΌλ²μ λ€ μ§μμΌ νλ€. μμ ν μ λ λλ릴 μ μλ€.
DROP λͺ λ Ήμ΄λ ν μ΄λΈ μ 체λ₯Ό μμ ,곡κ°, κ°μ²΄λ₯Ό μμ νλ€. μμ ν μ λ λλ릴 μ μλ€.
'TIL > λ©΄μ λλΉ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ€νΈμν¬(network)] λ©΄μ μμ μ§λ¬Έκ³Ό λ΅λ³ (3) | 2020.05.02 |
---|---|
[μ΄μ체μ (OS)] λ©΄μ μμ μ§λ¬Έκ³Ό λ΅λ³ (14) | 2020.04.11 |
[μλ°(JAVA)] λ©΄μ μμ μ§λ¬Έκ³Ό λ΅λ³ (3) | 2020.03.22 |