π CS/π DB
μ‘°μΈ λ κ° μ΄μμ ν
μ΄λΈμ λ¬Άμ΄ νλμ κ²°κ³Όλ¬Όμ λ§λλ κ²μ λ§νλ€. λΉκ΄κ³ν λ°μ΄ν°λ² μ΄μ€(MongoDB)μμλ lookupμ΄λ μΏΌλ¦¬λ‘ μ΄λ₯Ό μ²λ¦¬ν μ μλλ°, κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ³΄λ€ μ±λ₯μ΄ λ¨μ΄μ§κΈ° λλ¬Έμ λλλ‘ μ¬μ©νμ§ μλλ€. μ‘°μΈ(λ
Όλ¦¬μ μ‘°μΈ)μ μ’
λ₯ λ
Όλ¦¬μ μ‘°μΈμ΄λ μ¬μ©μκ° SQLλ¬Έμ μ΄μ©ν΄ μνλ λ°μ΄ν° κ²°ν© λ°©μμ κΈ°μ νλ κ²μ μλ―Ένλ€. Inner Join (λ΄λΆ μ‘°μΈ): μΌμͺ½ ν
μ΄λΈκ³Ό μ€λ₯Έμͺ½ ν
μ΄λΈμ λ νμ΄ λͺ¨λ μΌμΉνλ νμ΄ μλ λΆλΆλ§ νκΈ° Outer Join Left Join (μΌμͺ½ μ‘°μΈ): μΌμͺ½ ν
μ΄λΈμ λͺ¨λ νμ΄ κ²°κ³Ό ν
μ΄λΈμ νκΈ° Right Join (μ€λ₯Έμͺ½ μ‘°μΈ): μ€λ₯Έμͺ½ ν
μ΄λΈμ λͺ¨λ νμ΄ κ²°κ³Ό ν
μ΄λΈμ νκΈ° Full Outer Join (μ 체 μΈλΆ μ‘°μΈ): μ‘°μΈ μ‘°κ±΄μ..
π CS/π DB
ν¨μμ μ’
μ(Functional Dependency) κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμμ μ κ·ν κ³Όμ μ μ΄ν΄λ³΄κΈ° μ , ν¨μμ μ’
μ κ°λ
μ λν΄ λ¨Όμ μμ보μ. 릴λ μ΄μ
R(ν
μ΄λΈ)μμ Xμ Yλ₯Ό Rμ μμ±μ λΆλΆμ§ν©μ΄λΌκ³ ν λ, Xμ κ° κ°κ°μ λν΄ Yμ κ°μ΄ μ€μ§ νλλ‘ κ²°μ λ λ Yλ Xμ μ’
μλλ€κ³ νλ€. μ¦, ν
μ΄λΈμ ν νλκ° μ§ν©(X)μ΄ λ€λ₯Έ νλκ° μ§ν©(Y)μ κ²°μ νλ κ΄κ³λ₯Ό λ§νλ€. μ¬κΈ°μ "κ²°μ νλ€"λ μλ―Έλ 무μμΌκΉ? "μ μ μλ€", "μν₯μ λ―ΈμΉλ€" λΌκ³ λ°μλ€μ΄λ©΄ μ½λ€. "Xκ° Yμ κ²°μ νλ€"λΌλ λ»μ Xμ κ°μ μλ©΄ Yμ κ°μ μ μ μκ³ , Xμ Yλ κ΄κ³κ° μμ΄ Xμ κ°μ μν΄ Yμ κ°μ΄ λ¬λΌμ§λ€λ κ²μ μλ―Ένλ€. μ΄λ° ν¨μμ μ’
μ κ΄κ³λ₯Ό νμ΄νλ₯Ό ν΅ν΄ XβYλΌκ³ νννκ³ Xλ₯Ό κ²°μ μ..
π CS/π DB
μμμ±(persistence) μμμ±μ΄λ λ°μ΄ν°λ₯Ό μμ±ν νλ‘κ·Έλ¨μ΄ μ’
λ£λμ΄λ λ°μ΄ν°κ° μ¬λΌμ§μ§ μλ νΉμ±μ λ§νλ€. λ°μ΄ν°κ° μμμ±μ κ°μ§ μλλ€λ©΄, λ°μ΄ν°λ λ©λͺ¨λ¦¬μμλ§ μ‘΄μ¬νκΈ° λλ¬Έμ νλ‘κ·Έλ¨μ μ’
λ£νλ©΄ λͺ¨λ λ μκ°λ€. λ°μ΄ν°μκ² μμμ±μ λΆμ¬νλ €λ©΄ νμΌ μμ€ν
μ΄λ λ°μ΄ν°λ² μ΄μ€μ μ μ₯ν΄μΌ νλ€. λ°μ΄ν°λ² μ΄μ€μ κ°μ²΄(λ°μ΄ν°) μ μ₯νλ λ°©λ² 1. JDBC JDBC(Java Database Connectivity)λ JAVAμμ DBμ μ κ·Όν μ μλλ‘ μ 곡νλ APIλ₯Ό λ§νλ€. JDBCλ μΈν°νμ΄μ€λ‘ DBMSμ μ’
λ₯μ μκ΄μμ΄ μ΄μ©ν μ μμΌλ©° μλ°μμ λͺ¨λ λ°μ΄ν° μ κ·Όμ κ·Όκ°μ΄λ€. (μλμμ μ΄ν΄λ³Ό λͺ¨λ Persistence Framworkλ JDBCλ₯Ό μ¬μ©) *μμ JDBCλ κ½€λ 볡μ‘νκ³ λ²κ±°λ‘λ€..
π CS/π DB
νν°μ
λ(λ°μ΄ν°λ² μ΄μ€ λΆν ) νν°μ
λμ΄λ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬λ¬ λΆλΆμΌλ‘ λΆν νλ κ²μΌλ‘ ν° ν
μ΄λΈμ΄λ μΈλ±μ€λ₯Ό μμ βνν°μ
β λ¨μλ‘ λλμ΄ κ΄λ¦¬νλ κΈ°λ²μ λ§νλ€. μλΉμ€μ ν¬κΈ°κ° μ μ 컀μ§κ³ DBμ μ μ₯νλ λ°μ΄ν°λ€μ κ·λͺ¨ λν 컀μ§λ©΄μ κΈ°μ‘΄μ μ¬μ©νλ DBμμ€ν
μ μ©λκ³Ό μ±λ₯μ λ¬Έμ κ° λ°μνκ² λμλ€. μ΄λ₯Ό ν΄κ²°νκΈ° μν λ°©λ²μΌλ‘ νν°μ
λ κΈ°λ²μ΄ λνλκ² λμλ€. 물리μ μΈ λ°μ΄ν° λΆν μ΄ μλλΌλ, DBμ μ κ·Όνλ μ ν리μΌμ΄μ
μ μ
μ₯μμλ μ΄λ₯Ό μΈμνμ§ λͺ»νλ€. λ°μ΄ν° μ²λ¦¬λ ν
μ΄λΈ λ¨μλ‘ μ΄λ€μ§κ³ , λ°μ΄ν° μ μ₯μ νν°μ
λ³λ‘ μνλλ€. νν°μ
λ μ₯μ μ±λ₯ λ°μ΄ν° μ κ·Ό μ μ‘μΈμ€ λ²μλ₯Ό μ€μ¬ 쿼리μ μ±λ₯μ΄ ν₯μλλ€. νν°μ
λ³λ‘ λ°μ΄ν°κ° λΆμ°λμ΄ μ μ₯λλ―λ‘ λμ€ν¬μ μ±λ₯μ΄ ν₯μλλ€. νν°μ
λ³λ‘ λ°±μ
..
π CS/π DB
DDL - CREATE / ALTER / DROP DCL - GRANT / REVOKE DML - INSERT / UPDATE / DELETE / SELECT (WEHER / ORDER BY / GROUP BY) https://zhiblog.tistory.com/32 [DB] SQL - SQL κΈ°μ΄ μ΄λ‘ , μ½λ© ν
μ€νΈ λλΉ SQL(Structed Query Language)μ΄λ? SQLλ νμ€ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ μΈμ΄λ‘, κ΄κ³λμμ κ΄κ³ν΄μμ κΈ°μ΄λ‘ ν νΌν© λ°μ΄ν° μΈμ΄μ
λλ€. μ¬μ© μ©λμ λ°λΌ DDL, DCL, DMLλ‘ κ΅¬λΆλ©λλ€. μμΈνκ² λ€λ€λ³Όκ²μ zhiblog.tistory.com
π CS/π DB
νΈλμμ
μ΄λ? λ°μ΄ν°λ² μ΄μ€μ μνλ₯Ό λ³νμν€κΈ° μν΄μ μννλ μμ
μ μ΅μ λ¨μλ₯Ό λ»νλ€. μ¬κΈ°μ μμ
μ λ¨μλ μ§μμ΄ ν λ¬Έμ₯μ λ»νλ κ²μ΄ μλλ©°, μ΄ μμ
λ¨μλ μͺΌκ°μ§ μ μλ€. κ°λ¨ν λ§ν΄ μ¬λ¬ κ°μ μ§μμ΄λ€μ΄ λ¬ΆμΈ μμ
μ ν λ¨μλ₯Ό μλ―Ένλλ°, μ΄ λ¨μλ§νΌ DBμ λͺ
λ Ήμ ν λ²μ λ°μνλ€. μλ₯Ό λ€μ΄ Aκ° Bμκ² μ‘κΈνλ κ²½μ°λ₯Ό μκ°ν΄λ³΄μ. Aκ° Bμκ² μΌμ κΈμ‘μ μ‘κΈνμ λ, μ μμ μΌλ‘ μ‘κΈμ΄ μλ£λλ©΄ Aμ κ³μ’μμ ν΄λΉ κΈμ‘μ΄ μ°¨κ°λκ³ , Bμ κ³μ’μλ κ°μ κΈμ‘μ΄ μΆκ°λμ΄μΌ νλ€. μ΄λ₯Ό μ§μμ΄λ‘ ννν΄λ³΄λ©΄ μλμ κ°λ€. -- A κ³μ’μμ κΈμ‘ μ°¨κ° UPDATE κ³μ’ SET μμ‘ = μμ‘ - 10000 WHERE μ΄λ¦ = 'A'; -- B κ³μ’μ κΈμ‘ μΆκ° UPDATE κ³μ’ SET μμ‘ =..
π CS/π DB
SQL Q1. SQLμ΄λ 무μμ
λκΉ? A1. ꡬ쑰μ μ§μ μΈμ΄μ μ€μλ§λ‘ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ μμ€ν
μμ λ°μ΄ν°λ₯Ό κ²μνκ³ κ΄λ¦¬νκΈ° μν΄ κ³ μλ μΈμ΄μ
λλ€. SQLμ 3κ°μ§ λ²μ£Όλ‘ λλ μ μλλ°, DBμμ λ°μ΄ν°μ λ°μ΄ν° κ°μ κ΄κ³λ₯Ό μ€λͺ
νκΈ° μν λ°μ΄ν° μ μ μΈμ΄(DDL), λ°μ΄ν° κ²μ, λ±λ‘, μμ , μμ μ μν λ°μ΄ν° μ‘°μ μΈμ΄(DML), λ§μ§λ§μΌλ‘ λ°μ΄ν°μ λν μ κ·Όμ μ μ΄νκΈ° μν λ°μ΄ν° μ μ΄ μΈμ΄(DCL)κ° μμ΅λλ€. Q2. λ°μ΄ν° μμ λ₯Ό μν DELETE, TRUNCATE, DROP λͺ
λ Ήμ μ°¨μ΄μ λν΄ μ€λͺ
νμΈμ. A2. DELETE λͺ
λ Ήμ ν
μ΄λΈμ μλ λ°μ΄ν°λ₯Ό ν μ€μ© μ ννμ¬ μΌμΌμ΄ μμ ν©λλ€. TRUNCATE λͺ
λ Ήμ μ 체 λ°μ΄ν°λ₯Ό ν λ²μ μμ νλ λ°©μμ
λλ€. DELETE λͺ
λ Ήκ³Ό λ€λ₯΄..
π CS/π DB
λ°μ΄ν°λ² μ΄μ€(DB)λ λ°μ΄ν°λ€μ λͺ¨μμ μΌμ»«λ λ§λ‘ λκ·λͺ¨μ μ 보λ₯Ό κ΄λ¦¬νλλ‘ μ€κ³λλ€. μ¬κΈ°μ λ§νλ λ°μ΄ν° κ΄λ¦¬λ μ 보 μ μ₯ ꡬ쑰λ₯Ό μ μνλ μμ
κ³Ό μ μ₯λ μ 보λ₯Ό μ‘°μνκΈ° μν κΈ°λ²μ΄ λͺ¨λ ν¬ν¨λλ μλ―Έμ΄λ€. *μ΄κΈ°μ λ°μ΄ν°λ² μ΄μ€ μ ν리μΌμ΄μ
μ νμΌ μμ€ν
μμ μ§μ ꡬμΆλμλ€. νμΌ μμ€ν
νμΌ μμ€ν
μ νμΌμ μ μ₯ μ₯μΉμ μ μ₯νκ³ μ¬μ©νκΈ° μν μ΄μ체μ μμ μΌμ’
μ κ·μΉμ΄λ 체κ³λ₯Ό λ§νλ€. νμΌ μμ€ν
μ μ μ₯λ μ 보λ₯Ό μ΄μ©νλ €λ©΄ μꡬμ¬νμ λ§λ λ€μν μμ© νλ‘κ·Έλ¨μ΄ νμνλ€. μλ₯Ό λ€μ΄ νμΌ μμ€ν
μ λν μ‘°μ§κ³Ό κ΄λ ¨λ μ 보(κ΅μ, νμ, μμ
λ±κ³Ό κ΄λ ¨λ)λ€μ μ μ₯ν κ²½μ°λ₯Ό μκ°ν΄λ³΄μ. μ΄ λν μ‘°μ§μ μ 보λ€μ νμ©νλ €λ©΄ νμν μꡬμ¬νμ λ§λ μμ© νλ‘κ·Έλ¨μ μμ±ν΄μΌ νλ€. π¦ μλ‘μ΄ νμμ..
'π CS/π DB' μΉ΄ν
κ³ λ¦¬μ κΈ λͺ©λ‘
λ¨μΆν€
λ΄ λΈλ‘κ·Έ
λ΄ λΈλ‘κ·Έ - κ΄λ¦¬μ ν μ ν |
Q
Q
|
μ κΈ μ°κΈ° |
W
W
|
λΈλ‘κ·Έ κ²μκΈ
κΈ μμ (κΆν μλ κ²½μ°) |
E
E
|
λκΈ μμμΌλ‘ μ΄λ |
C
C
|
λͺ¨λ μμ
μ΄ νμ΄μ§μ URL λ³΅μ¬ |
S
S
|
맨 μλ‘ μ΄λ |
T
T
|
ν°μ€ν 리 ν μ΄λ |
H
H
|
λ¨μΆν€ μλ΄ |
Shift + /
β§ + /
|
* λ¨μΆν€λ νκΈ/μλ¬Έ λμλ¬Έμλ‘ μ΄μ© κ°λ₯νλ©°, ν°μ€ν 리 κΈ°λ³Έ λλ©μΈμμλ§ λμν©λλ€.