πΎ[Database] λ°μ΄ν°λ² μ΄μ€μμ ν μ΄λΈμ λ§λ λ€λ μλ―Έλ 무μμΌκΉ?
λ°μ΄ν°λ² μ΄μ€μμ ν μ΄λΈμ λ§λ λ€λ κ²μ, λ°μ΄ν°λ₯Ό μ μ₯ν ꡬ쑰λ₯Ό μ μνλ κ²μ μλ―Έν©λλ€.
ν μ΄λΈμ λ°μ΄ν°λ² μ΄μ€ λ΄μμ μ 보λ₯Ό μ μ₯νλ κΈ°λ³Έ λ¨μλ‘, ν(Row) κ³Ό μ΄(Column) λ‘ κ΅¬μ±λ ν(Table) ννλ‘ κ΄λ¦¬ν©λλ€.
1οΈβ£ ν μ΄λΈ μμ±μ μλ―Έ.
1. λ°μ΄ν° ꡬ쑰μ μ μ.
- ν μ΄λΈμ λ§λ λ€λ κ²μ νΉμ μ νμ λ°μ΄ν°λ₯Ό μ μ₯ν μ μλ λ°μ΄ν° ꡬ쑰λ₯Ό μ μνλ κ²μ λλ€.
- κ° μ΄(Column)μ μ μ₯λ λ°μ΄ν°μ μμ±μ λνλ΄λ©°, κ° ν(Row)μ λ°μ΄ν°μ κ°λ³ νλͺ©(λ μ½λ) λνλ λλ€.
- μλ₯Ό λ€μ΄,
Users
ν μ΄λΈμ λ§λ λ€λ©΄ μ¬μ©μμ λν μ 보λ₯Ό μ μ₯ν μ μλλ‘, μ΄λ¦, μ΄λ©μΌ, λμ΄μ κ°μ μμ±μ μ μνλ κ²μ λλ€.
2. λ°μ΄ν° νμ μ€μ .
- ν μ΄λΈμ κ° μ΄(Column)μ νΉμ λ°μ΄ν° νμ μ κ°μ§λλ€.
- λ°μ΄ν° νμ
μ ν΄λΉ μ΄(Column)μ μ΄λ€ μ’
λ₯μ λ°μ΄ν°κ° μ μ₯λ μ μλμ§λ₯Ό κ²°μ ν©λλ€.
- μλ₯Ό λ€μ΄,
name
μ΄(Column)μ λ¬Έμμ΄ λ°μ΄ν°λ₯Ό μ μ₯νκ³age
μ΄(Column)μ μ«μ λ°μ΄ν°λ₯Ό μ μ₯ν μ μμ΅λλ€.
- μλ₯Ό λ€μ΄,
3. μ μ½ μ‘°κ±΄ μ€μ .
- ν
μ΄λΈ μμ± μ, μ μ½ μ‘°κ±΄μ μ€μ νμ¬ λ°μ΄ν°μ 무결μ±μ 보μ₯ν μ μμ΅λλ€.
- μλ₯Ό λ€μ΄, κΈ°λ³Έ ν€(Primary Key)λ₯Ό μ€μ νμ¬ κ° λ μ½λλ₯Ό κ³ μ νκ² μλ³νκ±°λ, νΉμ μ΄(Column)μ
NOT NULL
μ μ½μ κ±Έμ΄ ν΄λΉ μ΄(Column)μ΄ λΉμ΄ μμ μ μλλ‘ μ€μ ν μ μμ΅λλ€.
- μλ₯Ό λ€μ΄, κΈ°λ³Έ ν€(Primary Key)λ₯Ό μ€μ νμ¬ κ° λ μ½λλ₯Ό κ³ μ νκ² μλ³νκ±°λ, νΉμ μ΄(Column)μ
2οΈβ£ μμ: ν μ΄λΈ μμ±.
CREATE TABLE Users (
id INT KEY, -- Primary Key: κ° μ¬μ©μλ₯Ό κ³ μ νκ² μλ³
name VARCHAR(100) NOT NULL, -- μ΄λ¦: λ¬Έμμ΄, null κ°μ νμ©νμ§ μμ
email VARCHAR(100) UNIQUE, -- μ΄λ©μΌ: κ³ μ ν λ¬Έμμ΄
age INT, -- λμ΄: μ μ
created_at TIMESTAMP -- μμ± μκ°: νμμ€ν¬ν
);
μμ SQL μμλ Users
λΌλ ν
μ΄λΈμ μ μνλ κ²μ
λλ€.
ν
μ΄λΈμ΄ μ μλλ©΄ ν΄λΉ ꡬ쑰μ λ§κ² λ°μ΄ν°λ₯Ό μ μ₯ν μ μμ΅λλ€.
-
id
μ΄μ μ μν λ°μ΄ν° νμ μΌλ‘, κ° μ¬μ©μλ₯Ό κ³ μ νκ² μλ³νλ κΈ°λ³Έ ν€(Primary Key)μ λλ€. -
name
μ΄μVARCHAR(100)
λ°μ΄ν° νμ μΌλ‘ μ΅λ 100μμ λ¬Έμμ΄μ μ μ₯νλ©°, null κ°μ νμ©νμ§ μμ΅λλ€. -
email
μ΄μUNIQUE
μ μ½μ κ°μ§λλ€. μ¦, ν μ΄λΈ λ΄μμ μ€λ³΅λ μ΄λ©μΌμ΄ μ μ₯λ μ μμ΅λλ€. -
age
μ΄μ μ μν λ°μ΄ν°λ₯Ό μ μ₯ν μ μμ΅λλ€. -
created_at
μ΄μ νμμ€ν¬νλ‘, λ°μ΄ν°κ° μμ±λ μκ°μ κΈ°λ‘νλ μ΄μ λλ€.
3οΈβ£ ν μ΄λΈ μμ±μ λͺ©μ
1. λ°μ΄ν° μ μ₯ λ° κ΄λ¦¬.
- ν μ΄λΈμ μμ±νλ©΄, ν΄λΉ ꡬ쑰μ λ§κ² λ°μ΄ν°λ₯Ό μ μ₯ν μ μμ΅λλ€.
- κ° ν(Row)μ νλμ λ μ½λλ₯Ό λνλ΄λ©°, ν μ΄λΈμ μ μλ κ° μ΄(Column)μ κ·Έ λ μ½λμ μμ±μ λνλ λλ€.
2. λ°μ΄ν° λ¬΄κ²°μ± λ³΄μ₯.
- ν μ΄λΈμ μμ±ν λ μ μνλ μ μ½ μ‘°κ±΄(Primary Key, Foreign Key, Unique, Not Null λ±)μ λ°μ΄ν°μ μ νμ±κ³Ό μΌκ΄μ±μ 보μ₯ν©λλ€.
3. ν¨μ¨μ μΈ λ°μ΄ν° μ‘°ν.
- ν μ΄λΈμ ν΅ν΄ λ°μ΄ν°λ₯Ό ꡬ쑰ννμ¬ μ μ₯νλ©΄, SQL 쿼리λ₯Ό ν΅ν΄ ν¨μ¨μ μΌλ‘ λ°μ΄ν°λ₯Ό κ²μ, μμ , μμ ν μ μμ΅λλ€.
- μ μ ν μΈλ±μ€μ κ΄κ³ μ€μ μ ν΅ν΄ λ°μ΄ν°λ² μ΄μ€ μ±λ₯μ μ΅μ νν μ μμ΅λλ€.
4οΈβ£ ν μ΄λΈμ λ§λ ν
ν
μ΄λΈμ λ§λ ν, ν΄λΉ ν
μ΄λΈμ λ°μ΄ν°λ₯Ό μ½μ
νκ³ , νμμ λ°λΌ λ°μ΄ν°λ₯Ό μ‘°ν, μμ , μμ ν μ μμ΅λλ€.
ν
μ΄λΈμ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό λ
Όλ¦¬μ μΌλ‘ κ·Έλ£Ήννκ³ κ΄λ¦¬νλ ν΅μ¬μ μΈ μν μ ν©λλ€.