κ΄κ³ν λ°μ΄ν°λ² μ΄μ€(RDBMS) λ?
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ λ°μ΄ν°λ₯Ό νκ³Ό μ΄λ‘ ν μ΄λΈ ννλ₯Ό ꡬμ±ν©λλ€.
μ€μ λ‘ κ° λ°μ΄ν° νλͺ©λ€μ ν(row)μ μ μ₯λκ³ , νλͺ©μ μμ±μ μ΄(column)μ΄λΌκ³ ννν©λλ€.
μ΄μ νλͺ©μ μμ±μΈ λ§νΌ μ λ ₯λλ λ°μ΄ν°μ μ νμ΄ μ ν΄μ§λλ€.
* μ΄(column)
νλ(field)λΌκ³ λ λΆλ₯΄λ©°, νλͺ©μ μμ±(λͺ μΉ)μ λνλ λλ€.
νλ λ§λ€ κ°κ° μ μ, ν μ€νΈ κ°μ λ°μ΄ν° μ νμ μ ν μ μμ΅λλ€.
* ν(row)
λ μ½λ(record)λΌκ³ λ λΆλ₯΄λ©°, κ° λ°μ΄ν° νλͺ©μ μ μ₯ν©λλ€.
* μ€ν€λ§(schema)
νλλ λ°μ΄ν° μ νλΏλ§ μλλΌ μ μ½μ¬νλ μ§μ ν μ μλλ° μ΄λ¬ν μ μ½μ¬νμ μ€ν€λ§λΌκ³ λΆλ¦ λλ€.
μλ₯Ό λ€μ΄, νλλ μ€λ³΅ κ°μ ν΄λΉ νμ μ μ₯ν μ μλ€κ±°λ, λ°λμ κ°μ κ°μ ΈμΌ νλ€(not null)λ 쑰건 λ±μ κ±Έ μ μμ΅λλ€.
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ N:M κ΄κ³λ?
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ μμͺ½ entity(table) λͺ¨λκ° μλ‘μκ² 1:N κ΄κ³λ₯Ό κ°λ ꡬ쑰λ₯Ό λ§ν©λλ€.
1:N
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ νλμ entity(table)κ° κ΄κ³λ₯Ό λ§Ίμ entityμ μ¬λ¬ κ°μ²΄λ₯Ό κ°μ§ μ μλ ꡬ쑰λ₯Ό λ§ν©λλ€.
λ tableκ°μ κ΄κ³λ₯Ό mapping cardinalityλ‘ νννκ³ , μ’ λ₯λ ν¬κ² λ€μκ³Ό κ°μ΅λλ€.
- 1:1
- 1:N
- N:M
μ€λ¬΄μμ κ°μ₯ μμ£Ό λ±μ₯νλ 1:N κ΅¬μ‘°μΈ κ³ κ°-μ£Όλ¬Έ κ΄κ³λ₯Ό μμλ‘ λ€μ΄λ³΄κ² μ΅λλ€.
1:N ꡬ쑰μμλ λ³΄ν΅ primary key - foreign keyλ₯Ό μ¬μ©νμ¬ κ΄κ³λ₯Ό λ§Ίμ΅λλ€.
Foreign key(μΈλν€)λ λ€λ₯Έ tableμ Primary key columnκ³Ό μ°κ²°λλ(μ°Έμ‘°λλ) tableμ columnμ μλ―Έν©λλ€.
μ¦, λ tableμ μ°κ²°ν λλ ν tableμ μΈλν€κ° λ€λ₯Έ νλμ tableμ κΈ°λ³Έν€κ° λ©λλ€.
κ·Έλ¦Όμ μμμ κ°μ μν©μμ κ³ κ°μ μ λ³΄κ° λ³κ²½λλ€κ³ ν΄λ, μ£Όλ¬Έλ΄μ tableμ μμ ν νμκ° μ ν μκ² λμ΄ ν¨μ¨μ μΈ λ°μ΄ν°λ² μ΄μ€ μ΄μμ΄ κ°λ₯ν΄μ§λλ€.
N:M
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ μμͺ½ entity λͺ¨λκ° μλ‘μκ² 1:N κ΄κ³λ₯Ό κ°λ ꡬ쑰λ₯Ό λ§ν©λλ€.
N:M ꡬ쑰μμλ λ³΄ν΅ μλ‘μ΄ table(Mapping table)μ ν΅ν΄μ κ΄κ³λ₯Ό λ§Ίμ΅λλ€.
κ°μ₯ μΉμν N:M κ΅¬μ‘°μΈ νμ-μμ κ΄κ³λ₯Ό μμλ‘ λ³΄κ² μ΅λλ€.
μ°Έκ³
https://www.ibm.com/kr-ko/topics/relational-databases
https://www.notion.so/850170dad1e04d0aa211645cb54c36ac