κ΄κ³ν λ°μ΄ν° λ² μ΄μ€(RDBMS)μ SQL μ’ λ₯
λ°μ΄ν° λ² μ΄μ€(DataBase)λ?
μ°κ΄λ λ°μ΄ν°λ€μ μ§ν©
λ°μ΄ν° λ² μ΄μ€λ μ¬λ¬ μμ©νλ‘κ·Έλ¨μμ κ°μμ λͺ©μ μ λ§κ² 곡μ ν΄μ μ¬μ©ν΄μΌνλ―λ‘ μ€μκ°μΌλ‘ μ κ·Όμ΄ κ°λ₯ν΄μΌνκ³ , λμ μΌλ‘ λ³νν΄μΌνλ©°, λμμ μ κ·Όνμ¬ κ³΅μ ν μ μμ΄μΌ νλ€. λν κ΄κ³ ννμ μν΄ λ΄μ©μ μν μ°Έμ‘°κ° κ°λ₯ν΄μΌ νλ€.
λ°μ΄ν° λ² μ΄μ€ ꡬμ±μμ
-
κ°μ²΄(Entity) : λ°μ΄ν° λ² μ΄μ€μμ νννκ³ μ νλ μ , 무νμ κ°μ²΄. μλ‘ κ΅¬λ³λλ κ²λ€. κ°μ²΄λ λ¨λ μΌλ‘ μ‘΄μ¬ν μ μκ³
μ 보
λ‘μμ μν μ νλ€.- ex) κ³ κ°, νμ, κ³Όλͺ©, νκ³Ό, μ¬μ, λΆμ
-
μμ±(Attribute) : κ°μ²΄μ νΉμ±μ΄λ μν. κ°μ²΄κ° κ°μ§λ μΈλΆ μ±μ§
- ex) νμ(νλ², μ΄λ¦, νλ , λ° λ±), μ¬μ(μ¬λ², μ΄λ¦, μ§μ± , κΈμ¬, λΆμ λ±)
-
κ΄κ³(Relationship) : κ°μ²΄μ κ°μ²΄, νΉμ κ°μ²΄μ μμ± κ° κ΄κ³
- ex) νμμ΄ κ³Όλͺ©μ μκ°μ μ²νλ€. μ¬μμ΄ λΆμμ μμλμ΄ μλ€. Aνμμ 6λ°μ΄λ€.
κ΄κ³ν λ°μ΄ν° λ² μ΄μ€(RDBMS)
λ°μ΄ν° κ° λ Όλ¦¬μ μΈ κ°μ μν΄ κ΄κ³κ° μ‘΄μ¬νλ λ°μ΄ν° λ² μ΄μ€(RDB, Relational DataBase)λ₯Ό μ§μνλ μμ©νλ‘κ·Έλ¨(RDBMS, Relational DataBase Management System)
RDBMSμμμ κ΄κ³λ ν μ΄λΈλ‘ ννν μ μμΌλ©°, ν μ΄λΈμ λ°μ΄ν°λ€μ κ΄κ³ν μ°μ°μ SQL(Structured Query Language) λͺ λ Ήμ΄λ‘ μνν μ μλ€.
Primary Key & Foreign Key
-
Primary Key
- ν ν μ΄λΈμ κ° λ μ½λλ₯Ό μ μΌνλλ‘ μλ³ν΄μ£Όλ μ΄, λλ μ΄μ μ§ν©
- PKλ‘
null
κ°μ΄ μ¬ μ μλ€. - μΌλ°μ μΌλ‘ λ³κ²½λμ§ μλ κ°μΌλ‘ μ€μ νλ€.
-
Foreign Key
- κ°μ ν μ΄λΈ λλ λ€λ₯Έ ν μ΄λΈμ PKλ₯Ό μ°Έμ‘°νλ λ¨μΌ μ΄, λλ μ΄μ μ§ν©
- FKλ κ΄κ³ν λ°μ΄ν° λ² μ΄μ€μ λ°μ΄ν° κ° λ Όλ¦¬μ κ΄κ³λ₯Ό ννν΄μ£Όλ λꡬ
- FKλ FKκ° μ°Έμ‘°νλ PKμ κ°μ΄λ
null
κ°λ§ κ°μ§ μ μλ€.
SQL μ’ λ₯
-
λ°μ΄ν° μ‘°μμ΄(DML, Data Manipulation Language)
- λ°μ΄ν° λ² μ΄μ€μ μ κ·Όνμ¬ λ°μ΄ν°λ₯Ό κ²μ(Retrieve), κ°±μ (Update), μ½μ (Create), μμ (Delete)νλ κΈ°λ₯(CRUD)
INSERT
,SELECT
,UPDATE
,DELETE
-
λ°μ΄ν° μ μμ΄(DDL, Data Definition Language)
- λ°μ΄ν° λ² μ΄μ€μ λ Όλ¦¬μ , 물리μ ꡬ쑰λ₯Ό μ μνλ κΈ°λ₯
CREATE
,ALTER
,DROP
,TRUNCATE
λ±
-
λ°μ΄ν° μ μ΄μ΄(DCL, Data Control Language)
- λ°μ΄ν° λ² μ΄μ€μ λ΄μ©μ΄ μ ννκ³ μμ νλλ‘ μ μ΄νλ κΈ°λ₯
GRANT
,REVOKE