λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ–₯ Computer Science/Database

[Database] 데이터 베이슀 μ–Έμ–΄λž€? (feat. DDL,DML,DCL,TCL)

by Fomagran πŸ’» 2022. 2. 25.
728x90
λ°˜μ‘ν˜•

μ•ˆλ…•ν•˜μ„Έμš” Foma πŸ’» μž…λ‹ˆλ‹€!

 

μ €λ²ˆ κΈ€μ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€ λŒ€ν•΄ λ‹€λ€˜λŠ”λ°, μ˜€λŠ˜μ€ λ°μ΄ν„°λ² μ΄μŠ€λŠ” μ–΄λ–€ μ–Έμ–΄κ°€ μžˆλŠ”μ§€ μ‚΄νŽ΄λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

λ°”λ‘œ μ‹œμž‘ν• κ²Œμš”~


λ°μ΄ν„°λ² μ΄μŠ€ μ–Έμ–΄λž€?

 

λ°μ΄ν„°λ² μ΄μŠ€ μ–Έμ–΄λŠ” μ»΄ν“¨ν„°μ˜ λ°μ΄ν„°λ² μ΄μŠ€ μž‘업을 μœ„ν•œ μ»΄ν“¨ν„° μ–Έμ–΄μ΄λ‹€. 
λ°μ΄ν„°λ² μ΄μŠ€ μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€ μ‚¬μš©μž λ° μ‘μš© ν”„λ‘œκ·Έλž¨ μ†Œν”„νŠΈμ›¨μ–΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ•‘μ„ΈμŠ€ ν•  μˆ˜ μžˆλ‹€. 
λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ·¨κΈ‰ν•˜λŠ” κΈ°λŠ₯ μ€‘ κ²€μƒ‰μ΄ μ€‘μš”ν•˜κΈ° λ•Œλ¬Έμ—, ν†΅λ‘€λŠ” μΏΌλ¦¬ μ–Έμ–΄λΌκ³ λ„ λΆˆλ¦°λ‹€. 
κ·ΈλŸ¬λ‚˜ λ°μ΄ν„°λ² μ΄μŠ€ μ–Έμ–΄ 및 질의 μ–Έμ–΄λŠ” κ°œλ…μ μœΌλ‘œ κ²ΉμΉ˜λŠ” 뢀뢄도 μžˆμ§€λ§Œ, λ™μ˜μ–΄λŠ” μ•„λ‹ˆλ‹€. - μœ„ν‚€ λ°±κ³Ό -

 

즉, λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μž‘μ—…ν•˜κΈ° μœ„ν•œ 컴퓨터 μ–Έμ–΄μž…λ‹ˆλ‹€.


Query

μΏΌλ¦¬λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ§ˆμ˜ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

데이터 λ² μ΄μŠ€μ— μ§ˆμ˜λ₯Ό ν•œλ‹€λŠ”κ²Œ λ¬΄μŠ¨ λ§μΌκΉŒμš”?

데이터 λ² μ΄μŠ€μ— μ›ν•˜λŠ” ν…Œμ΄λΈ”을 μƒμ„±ν•˜κ±°λ‚˜ μ‚­μ œ λ˜λŠ” λ°μ΄ν„°λ₯Ό μš”μ²­(질의)ν•˜κ³  κ²°κ³Όλ₯Ό μ–»λŠ”λ‹€κ³  μ΄ν•΄ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

μΏΌλ¦¬λŠ” μ–Έμ–΄κ°€ μ•„λ‹Œ μš”μ²­ν•˜λŠ” ν–‰μœ„μž…λ‹ˆλ‹€.


SQL(Structured Query Language)

 

SQL은 μœ„μ—μ„œ μ„€λͺ…ν•œ 쿼리λ₯Ό ꡬ쑰화 μ‹œν‚¨ μ–Έμ–΄μž…λ‹ˆλ‹€.

 

데이터 λ² μ΄μŠ€λ‘œλΆ€ν„° μš”μ²­(질의)λ₯Ό ν•˜κ³  κ²°κ³Όλ₯Ό λ°›λŠ” 언어이기 λ•Œλ¬Έμ— μ§ˆμ˜μ–΄λΌκ³ λ„ λΆˆλ¦½λ‹ˆλ‹€.

즉, SQL이 λ°”λ‘œ λ°μ΄ν„°λ² μ΄μŠ€μ™€ μ†Œν†΅μ„ ν•  μˆ˜ μžˆλŠ” μ–Έμ–΄μž…λ‹ˆλ‹€.

ν•˜μ§€λ§Œ SQL이 λ°μ΄ν„° λ² μ΄μŠ€ μ–Έμ–΄μ™€ λ™μ˜μ–΄λŠ” μ•„λ‹™λ‹ˆλ‹€.

μ΄μœ λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ–Έμ–΄μ˜ κ°œλ…μ€ μˆœμˆ˜ν•˜κ²Œ κ²€μƒ‰ μ΄μƒμ˜ κΈ°λŠ₯을 ν¬ν•¨ν•˜λ©°, 

 

SQL은 λ°μ΄ν„°λ² μ΄μŠ€ μ΄μ™Έμ˜ μ˜μ—­μ—μ„œλ„ μ‚¬μš©ν•  μˆ˜ μžˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

SQL λ¬Έλ²•μ€ ν¬κ²Œ DDL,DML,DCL,TCL으둜 λ‚˜λ‰˜μ–΄ μ§€λŠ”데 ν•˜λ‚˜μ”© μ‚΄νŽ΄λ³΄λ„둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.


DDL(Data Definition Language): λ°μ΄ν„° μ •μ˜ μ–Έμ–΄

데이터λ₯Ό μ •μ˜ν•˜λŠ” μ–Έμ–΄μž…λ‹ˆλ‹€.

즉, λ°μ΄ν„°μ˜ 전체적인 κ΅¬μ‘°λ‚˜ 골격을 κ²°μ •ν•˜λŠ” μ—­ν• μž…λ‹ˆλ‹€.

ꡬ쑰λ₯Ό κ²°μ •ν•˜λŠ” 것이기 λ•Œλ¬Έμ— μ–΄λ–€ λ°μ΄ν„°λ² μ΄μŠ€,μŠ€ν‚€λ§ˆ,ν…Œμ΄λΈ”μ΄ ν•„μš”ν•œμ§€λ₯Ό μ„€κ³„ν•©λ‹ˆλ‹€.

전체적인 ꡬ쑰λ₯Ό 생성(CREATE)ν•˜κ³  μˆ˜μ •ν•˜κ³ (ALTER) μ‚­μ œν•˜κ³ (DROP) μ΄ˆκΈ°ν™”(TRUNCATE) μ‹œν‚€λŠ” 역할을 ν•©λ‹ˆλ‹€.


DML(Data Manipulation Language): λ°μ΄ν„° μ‘°μž‘ μ–Έμ–΄

데이터λ₯Ό μ‘°μž‘ν•˜λŠ” μ–Έμ–΄μž…λ‹ˆλ‹€.

ꡬ쑰가 μ•„λ‹Œ ν…Œμ΄λΈ” μ•ˆμ— μžˆλŠ” λ°μ΄ν„°λ₯Ό μ‘°μž‘ν•˜λŠ” μ—­ν• μ„ ν•©λ‹ˆλ‹€.

즉, λ°μ΄ν„°λ₯Ό μΆ”κ°€ν•˜κ³ (INSERT) μˆ˜μ •ν•˜κ³ (UPDATE) μ‚­μ œν•˜κ³ (DELETE) κ²€μƒ‰ν•˜λŠ”(SEARCH) μ—­ν• μ„ ν•©λ‹ˆλ‹€.


DCL(Data Control Language): λ°μ΄ν„° μ œμ–΄ μ–Έμ–΄

데이터λ₯Ό μ œμ–΄ν•˜λŠ” μ–Έμ–΄μž…λ‹ˆλ‹€.

μ œμ–΄ν•œλ‹€λŠ” 것은 데이터λ₯Ό μ‚¬μš©ν•  κΆŒν•œμ„ μ£ΌλŠ” κ²ƒμž…λ‹ˆλ‹€.

즉, 데이터λ₯Ό μ‚¬μš©ν•  κΆŒν•œμ„ μ£Όκ³ (GRANT), κΆŒν•œμ„ λ°•νƒˆ(REVOKE) ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€.

κ·Έλ ‡λ‹€λ©΄ κΆŒν•œμ€ μ–΄λ–€ 게 μžˆμ„κΉŒμš”?

데이터λ₯Ό μ—°κ²°(CONNECT),검색(SELECT),μΆ”κ°€(INSERT),μˆ˜μ •(UPDATE),μ‚­μ œ(DELETE),μ‚¬μš©(USAGE) 등이 μžˆμŠ΅λ‹ˆλ‹€.


TCL(Transaction Control Language)

νŠΈλžœμž­μ…˜μ„ μ œμ–΄ν•˜λŠ” μ–Έμ–΄μž…λ‹ˆλ‹€.

νŠΈλžœμž­μ…˜μ€ λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλ₯Ό λ³€ν™”μ‹œν‚€λŠ” κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ μž‘μ—…μ„ μ˜λ―Έν•©λ‹ˆλ‹€.

μ‰½κ²Œ λ§ν•˜λ©΄ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ³€ν™”μ‹œν‚€λŠ” μž‘μ—…μž…λ‹ˆλ‹€.

κ·ΈλŸ¬λ―€λ‘œ TCL은 DBλ₯Ό λ³€ν™”μ‹œν‚€λŠ” μž‘업을 μ œμ–΄ν•˜λŠ” μ–Έμ–΄μž…λ‹ˆλ‹€.

즉, μˆ˜μ •ν•œ μž‘업을 μ €μž₯ν•˜κ±°λ‚˜(COMMIT),이전에 μˆ˜μ •ν•œ μž‘업을 μ·¨μ†Œν•˜κ³ (ROLLBACK),νŠΉμ • μ§€μ μœΌλ‘œ λ˜λŒλ¦΄ μˆ˜ μžˆλŠ”(SAVEPOINT) μ—­ν• μ„ ν•©λ‹ˆλ‹€.

728x90
λ°˜μ‘ν˜•

λŒ“κΈ€