RDB
: Relational DataBase ( κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ )
- λͺ¨λ λ°μ΄ν°λ₯Ό κ³μΈ΅κ΅¬μ‘°κ° μλ 2μ°¨μμ λ¨μν ν(κ΄κ³)λ‘ νννλ νμμ λ°μ΄ν°λ² μ΄μ€.
- κ΄κ³ν λ°μ΄ν°λͺ¨λΈμ κΈ°μ΄λ₯Ό λ .
- ν€μ κ°λ€μ κ΄κ³λ₯Ό ν
μ΄λΈν μν¨ λ°μ΄ν°λ² μ΄μ€.
μ κ΄κ³ν μ΄λΌκ³ λΆλ₯΄λκ° β
- κ° ν
μ΄λΈμ νλ€μ΄ μλ‘ μ°κ²°λλ κ΄κ³(1:1, 1:N, N:M)λ₯Ό κ°μ§ μ μκΈ° λλ¬Έ.
- κ° ν
μ΄λΈμ Primary Key λΌλ κ³ μ ν κ°μ ν΅ν΄ μλ³λ μ μλ€. ex) μ£Όλ―Όλ±λ‘λ²νΈ
- Relation (릴λ μ΄μ
)
- Entity, Tableκ³Ό λμλλ μ©μ΄λ‘
μμ±
κ³Ό νν
λ‘ κ΅¬μ±λμ΄ μλ€.
μμ±μ κ°μ : 릴λ μ΄μ
μ μ°¨μ
ννμ κ°μ : 릴λ μ΄μ
μΉ΄λλ리ν°
- λ
Όλ¦¬ λ°μ΄ν° λͺ¨λΈμμλ Entity, κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμλ Table, κ΄κ³ν λͺ¨λΈμ΄λ‘ μμλ Relationμ΄λΌκ³ λΆλ¦°λ€.
- μμ κ·Έλ¦Όμμ Studentλ₯Ό λ§ν¨.
- Attribute (μμ±)
- Entityλ₯Ό ꡬμ±νλ λ
Όλ¦¬μ λ¨μ.
- νμΌ κ΅¬μ‘°μμμ λ°μ΄ν° νλͺ© / λ°μ΄ν° νλλ₯Ό μλ―Ένλ©°, ν
μ΄λΈμμλ νλμ 컬λΌμ λμ
μμ±μ μ : Degree or μ°¨μ λ‘ νν.
- μμ κ·Έλ¦Όμμ Name, Address, Age λ±λ±μ λ§ν¨.
- Tuple (νν)
- κΈ°μ, λμμ λΌκ³ λ λΆλ¦¬λ©° ν
μ΄λΈμ μλ κ°κ°μ νμ μλ―Ένλ€.
- νμΌ κ΅¬μ‘°μμλ
λ μ½λ
μ κ°μ μλ―Έλ‘ μ°μΈλ€.
ννμ μ : Cardinality (μΉ΄λλ리ν°)
- μμ κ·Έλ¦Όμμ Dick Davidson / 422-11-2320 / NULL / 3452 Elgin Road / (817)749-1253 / 25 / 3.53 κ³Ό κ°μ νλμ νμ λ§ν¨.
- Domain (λλ©μΈ)
- νκ°μ μμ± (Attribute)μ΄ κ°μ§ μ μλ κ°λ€μ μ§ν©.
- ex) μ±λ³μ΄λΌλ μμ±μ΄ μλ κ²½μ° λλ©μΈμ λ¨,μ¬κ° λλ€.
RDB μ’
λ₯
: Oracle, MySQL
RDB μ₯μ
: λ²μ©μ , μμ μ , λ°μ΄ν°μ μΌκ΄μ± 보μ₯
: 볡μ‘ν ννμ 쿼리 κ°λ₯ -> μνλ λ°μ΄ν°λ₯Ό μΆμΆν μ μμ(JOIN λ±μ μ°μ° μ§μ)
RDB λ¨μ
: ν
μ΄λΈ κ° κ΄κ³λ₯Ό λ§Ίλ κ³Όμ μ΄ λ³΅μ‘νλ€.
: λλ λ°μ΄ν°μ μ
λ ₯/μ‘°νμ μ±λ₯μ΄ μ νλλ€.
: ν
μ΄λΈ ꡬ쑰 λ³κ²½μ λ§μ ν¨λν°κ° λ°λ₯Έλ€.
NoSQL
λ±μ₯λ°°κ²½
κ³Όκ±°μλ λ°μ΄ν°λ₯Ό μ μ₯νλ λ°μ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€(RDB)κ° μ¬μ©λμλ€.
why? => νΈλμμ
μ ν΅ν μμ μ μΈ λ°μ΄ν° κ΄λ¦¬κ° κ°μ₯ μ€μν μ΄μμκΈ° λλ¬Έμ΄λ€.
νμ§λ§ λΉ
λ°μ΄ν°κ° λ±μ₯νλ©΄μ RDBMSλ λκ΄μ λΆλͺνκ² λμλ€.
why? => λ°μ΄ν°λ₯Ό μ²λ¦¬νλλ° νμν λΉμ©μ μ¦κ° λλ¬Έ.
λ°μ΄ν°μ νΈλν½μ μμ΄ κΈ°νκΈμμ μΌλ‘ μ¦κ°ν¨μ λ°λΌ νλμμ μ€νλλλ‘ μ€κ³λ RDBλ₯Ό μ¬μ©νλ κ²μ νλμ¨μ΄μ μΌλ‘ ν° λΉμ©μ΄ λ€κ² λμλ€.
NoSQLμ λ°μ΄ν°μ μΌκ΄μ±μ μ½κ° ν¬κΈ°ν λμ , μ¬λ¬ λμ μ»΄ν¨ν°μ λ°μ΄ν°λ₯Ό λΆμ°νμ¬ μ μ₯νλ κ²μ λͺ©νλ‘ λ±μ₯νμλ€. NoSQLμ λ±μ₯μΌλ‘ μκ³ κ°μΌ μ₯λΉ μ¬λ¬λλ‘ λλμ λ°μ΄ν°μ μ»΄ν¨ν° λΆνλ₯Ό μ²λ¦¬νλ κ²μ΄ κ°λ₯νκ² λμλ€.
μ μ
: Not Only SQL μ μ½μ. RDBMSμ κ°μ κ΄κ³ν DBκ° μλ λ€λ₯Έ ννμ λ°μ΄ν° μ μ₯ κΈ°μ .
: λ§μ μμ λ°μ΄ν°μ μ²λ¦¬ μλλ₯Ό ν₯μμν€κΈ° μν΄ μμ μ μ₯곡κ°μ λ°μ΄ν°λ₯Ό μ μ₯, μλ΅νλ λ°©λ²κ³Ό λ¨μ μ μ₯μμ
μ μμ΄ λ§€μ° μ΅μ νλ ν€ κ° μ μ₯ κΈ°λ²μ μ¬μ©νλ€.
νΉμ§
- λ°μ΄ν° κ°μ κ΄κ³λ₯Ό μ μνμ§ μλλ€. (ν
μ΄λΈ κ°μ μ°κ²°ν΄μ μ‘°νν μ μλ JOIN κΈ°λ₯μ΄ μλ€.)
- λ°μ΄ν° μμ±λ€μ λμ μΌλ‘ μ μνλ€.
- λ°μ΄ν° μ‘°νλ₯Ό μν΄μλ λΉ SQL μΈν°νμ΄μ€λ₯Ό ν΅ν λ°μ΄ν° μ κ·Όμ΄ νμνλ€.
DBMS
μλ‘
μ¬λ¬κ°μ§ μ·μ΄ μλ© μ΄μ§λ½νμ Έ μλ μ·μ₯μμ μνλ μ·μ μ°Ύλλ€κ³ ν΄λ³΄μ.
λͺλ
μ μ μ¬λκ³ νλ²λ μ
μ§ μμ μ·, μ΄ λΉΌλ©΄ μ
μ΄μΌμ§ νκ³ κ·Έλ₯ λμλ μ μ·μ λ°κ²¬ν μλ μμ κ²μ΄λ€. μ΄λ κ² μ΄λ° μ λ° μ λ¬Όμ λ°κ²¬νλ€ λ³΄λ©΄, μνλ μ·μ μ°ΎκΈ° κΉμ§λ κ·Έλ§νΌ μκ°μ΄ 걸릴 κ²μ΄λ€.
λ°μ΄ν° λν λ§μ°¬κ°μ§λ€.
λ°μ΄ν°κ° λ§μμ§μλ‘, μ λ¦¬κ° μ λ μλ‘ νμν λ°μ΄ν°λ₯Ό μ°Ύλλ° μκ°μ΄ κ±Έλ¦°λ€.
μ΄λ₯Ό λκΈ° μν΄ λ°μ΄ν° κ΄λ¦¬ μ₯μΉκ° μκΈ΄λ€.
λ°μ΄ν° κ΄λ¦¬μ₯μΉλ λλμ λ°μ΄ν°λ₯Ό μ μ₯, κ΄λ¦¬νκ³ νμν λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² κ²μν μ μλλ‘ ν΄μ£Όλ 보쑰μ₯μΉλ₯Ό λ§νλ€.
λ°μ΄ν°λ² μ΄μ€κ° λμ€κΈ° μ μ μμ€ν
μ νμΌ μ²λ¦¬ μμ€ν
μ΄μλ€. ν΄λλ³(μ ν리μΌμ΄μ
λ³)λ‘ λ¬Άμ΄ λ°μ΄ν°λ₯Ό κ°λ³ κ΄λ¦¬νλ μμ€ν
μΈλ°, μ¬μ©νκ³ μ νλ μ ν리μΌμ΄μ
μ΄ μ§μ μ μΌλ‘ λ°μ΄ν°λ₯Ό κ΄λ¦¬νκΈ° λλ¬Έμ μ¬λ¬ λ¬Έμ κ° λ°μνλ€.
ex) λ°μ΄ν° μ’
μ/μ€λ³΅ λ¬Έμ , λμμ κ·Ό λ¬Έμ , ν΅ν© κ΄λ¦¬ λ¬Έμ μ , 볡ꡬ λ°©λ²μ λ¬Έμ λ±λ±.
DBMSμ μ μ
DBMSλ DataBase Management System μ μ€λ§λ‘,
λ°μ΄ν°λ₯Ό νκ³³μ λͺ¨μ μ μ₯μ
λ₯Ό λ§λ€κ³ κ·Έ μ μ₯μμ μ¬λ¬ μ¬μ©μκ° μ κ·Ό
νμ¬ λ°μ΄ν°μ μ μ₯/κ΄λ¦¬λ±μ κΈ°λ₯μ μννλ©° 곡μ ν μ μλ νκ²½μ μ 곡
νλ μμ© μννΈμ¨μ΄ νλ‘κ·Έλ¨.
곡μ μ μ₯μ(μλ²)λ₯Ό ꡬμΆνκ³ , μ¬μ©μλ€μκ² μ κ·Ό μ 보λ₯Ό 곡μ
-> λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μλ μΈν°νμ΄μ€ μ 곡. 볡ꡬ/보μμ± κΈ°λ₯
μμ μ 곡.
DBMSμ ꡬ쑰
- λ°μ΄ν°λ² μ΄μ€μ μ μ₯λ λ°μ΄ν°μ ꡬμ±, μ μ₯, κ΄λ¦¬μ μ¬μ©μ μν μννΈμ¨μ΄ ν¨ν€μ§.
- κ°μ₯ ν° νΉμ§μ λ°μ΄ν°μ μ¬μ© μμκ³Ό κ΄λ¦¬ μμμ΄ λͺ
ννκ² κ΅¬λΆλμ΄ μλ€λ μ .
DBMSλ 3λ¨κ³ κ΅¬μ‘°λ‘ μ΄λ£¨μ΄μ§.
- λ·° (μΈλΆ μ€ν€λ§) λ‘ μ΄λ£¨μ΄μ§ μΈλΆλ¨κ³
- κ°λ
μ€ν€λ§λ‘ μ΄λ£¨μ΄μ§ κ°λ
λ¨κ³
- λ΄λΆ μ€ν€λ§λ‘ μ΄λ£¨μ΄μ§ λ΄λΆλ¨κ³
DBμ λν μ¬λ¬ μ¬μ©μμ κ΄μ κ³Ό DBκ° μ€μ λ‘ ννλλ λ°©μ(물리μ κ΄μ )μ λΆλ¦¬μν¬ μ μλλ‘, DBꡬ쑰λ₯Ό ν¬κ² μΈλΆ / κ°λ
/ λ΄λΆ λ¨κ³λ‘ ꡬλΆ
μΈλΆλ¨κ³
- κ°λ³ μ¬μ©μμ κ΄μ (VIEW)
- κ° μ¬μ©μλ μμ©νλ‘κ·Έλλ¨Έκ° μκ°νλ κ°μΈμ DBꡬ쑰
- μΈλΆ μ€ν€λ§ λΌκ³ λ ν¨. μ¬λ¬ κ° μ‘΄μ¬ν μ μμ
κ°λ
λ¨κ³
- DBμ κ΄ν μ¬μ©μ 곡λ체μ κ΄μ .
- μ¦, ν μ‘°μ§ μ 체λ₯Ό μν DBμ λ
Όλ¦¬μ ꡬ쑰λ₯Ό μλ―Έ
- μ 체 κΈ°κ΄ μ
μ₯μμ μ 체 DBλ₯Ό μ μν κ²μ κ°λ
μ€ν€λ§ λΌκ³ νλ©°, κ°λ
μ€ν€λ§λ λ¨ νλλ§ μ‘΄μ¬
λ΄λΆλ¨κ³
- 물리μ μ μ₯ μ₯μΉ κ΄μ
- DBμ μ΄λ€ λ°μ΄ν°κ° μ΄λ»κ² μ μ₯λλμ§λ₯Ό νννλ μ μ₯ꡬ쑰
- μ€μ λ‘ μ μ₯λ λ΄λΆ λ μ½λμ νμ, μΈλ±μ€ μ 무, μ μ₯ λ°μ΄ν° νλͺ©μ ννλ°©λ² λ±μ ν¬ν¨ν¨
- λ΄λΆ λ¨κ³μμ DBμ 물리μ λ°μ΄ν° ꡬ쑰λ₯Ό μ μν κ²μ λ΄λΆ μ€ν€λ§ λΌκ³ νλ©°, λ΄λΆ μ€ν€λ§λ λ¨ νλλ§ μ‘΄μ¬ν¨
β λμ€ν¬μ κ°μ μ μ₯ μ₯μΉμ λ°μ΄ν°λ₯Ό μ€μ λ‘ μ μ₯νλ κΈ°λ²μ λ€λ£¨λ 물리 λ¨κ³
λ DBMSμ μ§μμ λ°λΌ μ΄μ체μ κ° κ΄λ¦¬νλ―λ‘, 3λ¨κ³ DBꡬ쑰μλ ν¬ν¨λμ§ μλλ€.
DBMSμ νμκΈ°λ₯
λ°μ΄ν° μ μ κΈ°λ₯
- λ€μν μμ© νλ‘κ·Έλ¨κ³Ό DBκ° μλ‘ μΈν°νμ΄μ€ ν μ μλ μλ¨ μ 곡
- νλμ μ μ₯λ DBλ₯Ό κΈ°μ΄λ‘, μ¬λ¬ μ¬μ©μμ μμ© νλ‘κ·Έλ¨μ λ€μν λ°μ΄ν° μꡬλ₯Ό μ§μν μ μλλ‘ DBꡬ쑰λ₯Ό μ μνλ κΈ°λ₯ μ 곡
λ°μ΄ν° μ‘°μ κΈ°λ₯
- μ¬μ©μμ DBκ°μ μΈν°νμ΄μ€λ₯Ό μν μλ¨μ μ 곡
- DBμ μ μ₯λ λ°μ΄ν°μ CRUDμ κ°μ DBμ°μ°μ μ²λ¦¬
λ°μ΄ν° μ μ΄ κΈ°λ₯
- 곡μ©μΌλ‘ κ΄λ¦¬λλ DBμ λ΄μ©μ μ ννκ³ μμ νκ² μ μ§ν μ μλλ‘ λ€μκ³Ό κ°μ 3κ°μ§ μ μ΄ κΈ°λ₯ μ 곡
- λ°μ΄ν°μ μ½μ
, μμ λ± DBλ³κ²½μ λ°μ΄ν°μ λ¬΄κ²°μ± λ° μΌκ΄μ± μ μ§ κ°λ₯
- κΆνμ΄ λΆμ¬λ μ¬μ©μλ§μ΄ νμ©λ λ°μ΄ν°μ μ κ·Όν μ μλλ‘ μ κ·ΌκΆν κ²μ¬ κΈ°λ₯
- μ¬λ¬ μ¬μ©μκ° DBμ λμμ μ κ·Όν μ μλλ‘ λμμ± μ μ΄ κ°λ₯
β λμμ± μ μ΄ : λμΌν λ°μ΄ν°λ₯Ό μ¬λ¬ νλ‘κ·Έλ¨μ΄ λμμ κ²μν μλ μμ§λ§, μμ λλ κ°±μ μ ν νλ‘κ·Έλ¨λ§ ν μ μλλ‘ μ μ΄νλ κ².
DBMS μ ν μ’
λ₯
Oracle
- μ μΈκ³μ μΌλ‘ κ°μ₯ λ§μ΄ νμ©λλ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ μμ€ν
(RDBMS)
- μ€λΌν΄μ¬μμ μλΉμ€νκ³ μμΌλ©°, Unix / Linux / Windows λ± λλΆλΆμ OS μ§μ
- DBκ΄λ¦¬μ μμ΄μ μμμ νμ₯μ±κ³Ό μ₯μ μ λν λμ²κ° μ μ°νλ€λ μ₯μ μ΄ μμ
- μ€κ²¬κΈ°μ
, λκΈ°μ
λ± λννλ λ°μ΄ν°λ₯Ό κ΄λ¦¬νκΈ°μ μ΅μ ν λμ΄μμ
Sybase
- μ¬μ΄λ² μ΄μ€μ¬μμ κ°λ°
- νμ¬λ SAPμμ μΈμνμ
- 2011λ
Sysbase IQ 15.3μ΄ μΆμλμ΄ μ»¬λΌ λ¨μ λ°μ΄ν° μ²λ¦¬λ‘ I/O μλλ₯Ό 90% κΉμ§ ν₯μμν΄
- Oracleμ λΉν΄ λΉκ΅μ μ λ ΄ν΄μ λ§μ κΈ°μ
μμ κ΄μ¬μ κ°μ§κ³ μμ§λ§, μμ§κΉμ§ κ΅λ΄μμλ Oracleμ λ°λ¦¬λ μΆμΈμ.
DB2
- λννλ λ°μ΄ν° κ΄λ¦¬λ₯Ό λͺ©μ μΌλ‘ λ§λ€μ΄μ§ IBMμ RDBMS
- μ¬μ©μλ€μ΄ μλ‘ κ΄κ³λ μ¬λ¬κ°μ DBμ λμμ μ κ·Ό κ°λ₯νλ€.
- κ° μν¬λ‘λ(μ
무)μ νΉμ±μ λ§κ² μμ€ν
μ΄ μ΅μ νλ μ μλ€
- λ°μ΄ν° μμΆκΈ°μ μ΄ μ’κΈ° λλ¬Έμ λννλ λ°μ΄ν°λ₯Ό λ€λ£¨λλ° μ΅μ νλ μ μλ€λ μ₯μ μ΄ μλ€.
=> λ§μ μ€κ²¬κΈ°μ
/λκΈ°μ
μμ DB2λ₯Ό νμ©νκ³ μμ.
Tibero
- ν°λ§₯μ€μννΈμ κ΄κ³νμ¬μΈ ν°λ§₯μ€λ°μ΄ν°μ¬μμ μ μν κ΅μ° DBMS
- Oracleμ μ νκ³Ό κ±°μ λμΌν νΈνμ±μ μ 곡ν¨μ λ°λΌ Oracle DBμ λμμΌλ‘λ κ°μ£Όλλ€.
- DBκ° λκΈ°ν μ±λ₯μ κ°μ νμ¬ λ€μ€ λ
Έλμμλ μμ μ μΈ DB μλΉμ€ μ΄μμ κ°λ₯νκ² νλ€.
- μκ° νλμ ν΅ν μ±λ₯ μ΅μ ν / μ§μμ μΈ DB λͺ¨λν°λ§ / μ±λ₯ κ΄λ¦¬ μ§μ λ±μ μ 곡
MySQL
- μ¬ λ§μ΄ν¬λ‘μμ€ν
μ¦μμ κ°λ°ν RDBMS
- Unix / Linux / Windows λ±μ OSμμ μ¬μ© κ°λ₯
μ€νμμ€
μ μ₯μ μΌλ‘ λ§μ κΈ°μ
μμ ννμ΄μ§/μΌνλͺ° λ± μΌλ°μ μΈ μΉ κ°λ°μ λ리 μ΄μ©λλ€.
- Oracleμ λΉν΄ μ¬μ©μ νΈμλ₯Ό μν κΈ°λ₯ / μ¬μ©μ μ€μ λλ μ¬ν΄μ λλΉν κΈ°λ₯ λ©΄μμ κΈ°λ₯μ μΈ νκ³λ₯Ό 보μΈλ€.
MS-SQL
- Microsoft μ¬μ λνμ μΈ RDBMS
- MS μ νκ΅°μ΄κΈ° λλ¬Έμ Window Server μμλ§ κ΅¬λλκ³ , C#κ³Ό κ°μ₯ λμ νΈνμ±μ 보μ΄λ DBMS
PostgreSQL
- κ°μ²΄-κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬μμ€ν
(ORDBMS)
- μ°¨μΈλ DBMSμμλ λ³Ό μ μμ λ²ν λ§μ κΈ°λ₯μ μ 곡νλ μ€νμμ€ DBMS
- Windows, Linux, MAC OS/X λ± λ€μν νλ«νΌ μ§μ
- MySQLμ λΉν΄μ SQLνμ€μ λ μ μ§μνκ³ κΈ°λ₯μ΄ λ κ°λ ₯ν¨. μΏΌλ¦¬κ° λ³΅μ‘ν΄μ§μλ‘ μ±λ₯μ΄ λ μ λμ€λ νΈμ΄λ€.
- λμ κΈ°λ³Έμ μΈ μ±λ₯μ΄ MySQLλ± κ²½μ DBμ λΉν΄ μ’μ§ μμ νΈμ΄λ€.