Home > 2024 > SQL > πŸ’‰[SQL] ν…Œμ΄λΈ”κ³Ό 컬럼, SQL

πŸ’‰[SQL] ν…Œμ΄λΈ”κ³Ό 컬럼, SQL
SQL

SQL?

  • SQL은 β€œλ°μ΄ν„°λ² μ΄μŠ€μ™€ λŒ€ν™”λ₯Ό ν•˜κΈ° μœ„ν•œ 언어” μž…λ‹ˆλ‹€.
    • μ˜†μ˜ μ‚¬λžŒμ—μ„Έ ν•„μš”ν•œ 것을 μš”μ²­μ‹œ β€œAλ₯Ό μ£Όμ‹œκ² μ–΄μš”?”와 ν•˜λŠ” 것과 같이 β€œDBμ—κ²Œλ„ Aλ₯Ό μ£Όμ‹œκ² μ–΄μš”?” 라고 이야기할 λ•Œ μ‚¬μš©ν•˜λŠ” 언어라고 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Query
SQL μ΄λž€ μ–Έμ–΄λ₯Ό μ΄μš©ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€μ— μš”μ²­μ„ ν•˜λŠ” 질의λ₯Ό β€˜Query’라고 ν•©λ‹ˆλ‹€.

ν…Œμ΄λΈ”κ³Ό 컬럼?

λ°μ΄ν„°λ² μ΄μŠ€ : μ‰½κ²Œ 말해 β€œλ°μ΄ν„°κ°€ μ €μž₯λ˜μ–΄μžˆλŠ” 큰 폴더” μž…λ‹ˆλ‹€.

  • μ²΄κ³„μ μœΌλ‘œ 쑰직된 λ°μ΄ν„°μ˜ μ§‘ν•©μœΌλ‘œ, λ°μ΄ν„°μ˜ μ €μž₯, 검색, μˆ˜μ •, μ‚­μ œ 등을 효율적으둜 μ²˜λ¦¬ν•  수 있게 ν•΄μ£ΌλŠ” 데이터 ꡬ쑰와 관리 μ‹œμŠ€ν…œμ„ λ§ν•©λ‹ˆλ‹€.
  • λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œ(DBMS)은 μ΄λŸ¬ν•œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ§Œλ“€κ³  κ΄€λ¦¬ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄μž…λ‹ˆλ‹€.

λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ£Όμš” ꡬ성 μš”μ†Œ.

  • 데이터(Data) : μ •λ³΄μ˜ μ›μ‹œ ν˜•νƒœλ‘œ, 문자, 숫자, 이미지 λ“± λ‹€μ–‘ν•œ ν˜•νƒœκ°€ μžˆμŠ΅λ‹ˆλ‹€. λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯된 λ°μ΄ν„°λŠ” μ‘°μ§ν™”λ˜μ–΄ μžˆμ–΄ 효율적인 μ ‘κ·Όκ³Ό 관리가 κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • ν…Œμ΄λΈ”(Table) : 데이터λ₯Ό κ΅¬μ‘°ν™”ν•˜μ—¬ μ €μž₯ν•˜λŠ” κΈ°λ³Έ λ‹¨μœ„μž…λ‹ˆλ‹€. ν…Œμ΄λΈ”μ€ ν–‰(Row)κ³Ό μ—΄(Column)둜 κ΅¬μ„±λ˜μ–΄ 있으며, 각 행은 κ³ μœ ν•œ 데이터 λ ˆμ½”λ“œλ₯Ό, 열은 νŠΉμ • 데이터 ν•„λ“œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
  • μŠ€ν‚€λ§ˆ(Schema) : λ°μ΄ν„°λ² μ΄μŠ€μ˜ ꡬ쑰λ₯Ό μ •μ˜ν•˜λŠ” λ©”νƒ€λ°μ΄ν„°μ˜ μ§‘ν•©μž…λ‹ˆλ‹€. ν…Œμ΄λΈ” ꡬ쑰, 데이터 νƒ€μž…, 관계 λ“± λ°μ΄ν„°λ² μ΄μŠ€μ˜ λΌˆλŒ€λ₯Ό μ΄λ£Ήλ‹ˆλ‹€.
  • 쿼리(Query) : λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯된 데이터에 μ ‘κ·Όν•˜κ±°λ‚˜ μ‘°μ§ν•˜κΈ° μœ„ν•œ λͺ…λ Ήμ–΄μž…λ‹ˆλ‹€. SQL(Structured Query Language)은 λ°μ΄ν„°λ² μ΄μŠ€ 관리λ₯Ό μœ„ν•΄ 널리 μ‚¬μš©λ˜λŠ” 쿼리 μ–Έμ–΄μž…λ‹ˆλ‹€.

λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ€‘μš”μ„±.

  • 쀑볡성 κ°μ†Œ : λ°μ΄ν„°λ² μ΄μŠ€λŠ” 데이터 쀑볡을 μ΅œμ†Œν™”ν•˜μ—¬ μ €μž₯ κ³΅κ°„μ˜ νš¨μœ¨μ„±μ„ 높이고 데이터 일관성을 μœ μ§€ν•©λ‹ˆλ‹€.
  • 데이터 무결성 : λ°μ΄ν„°λ² μ΄μŠ€λŠ” λ°μ΄ν„°μ˜ μ •ν™•μ„±κ³Ό 일관성을 μœ μ§€ν•˜κΈ° μœ„ν•œ κ·œμΉ™(μ œμ•½ 쑰건)을 μ μš©ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 λ°μ΄ν„°μ˜ 신뒰성을 보μž₯ν•©λ‹ˆλ‹€.
  • λ³΄μ•ˆ : λ°μ΄ν„°λ² μ΄μŠ€λŠ” μ‚¬μš©μžμ˜ κΆŒν•œμ„ κ΄€λ¦¬ν•˜μ—¬ νŠΉμ • 데이터에 λŒ€ν•œ 접근을 μ œμ–΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ°μ΄ν„°μ˜ λ³΄μ•ˆμ„ κ°•ν™”ν•©λ‹ˆλ‹€.
  • λ°±μ—… 및 볡ꡬ : λ°μ΄ν„°λ² μ΄μŠ€λŠ” λ°μ΄ν„°μ˜ λ°±μ—… 및 볡ꡬ κΈ°λŠ₯을 μ œκ³΅ν•˜μ—¬, μ‹œμŠ€ν…œ μž₯μ• λ‚˜ 데이터 손싀 μ‹œ 데이터λ₯Ό 볡원할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ’…λ₯˜.

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(RDBMS) : ν…Œμ΄λΈ” κ°„μ˜ 관계λ₯Ό 기반으둜 ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μž…λ‹ˆλ‹€. Oracle, MySQL, PostgreSQL 등이 μžˆμŠ΅λ‹ˆλ‹€.
  • λΉ„κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(NoSQL) : μŠ€ν‚€λ§ˆκ°€ μ—†κ±°λ‚˜ μœ μ—°ν•œ 데이터 λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ λŒ€κ·œλͺ¨ λΆ„μ‚° 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μž…λ‹ˆλ‹€. MongoDB, Cassandra, Redis 등이 μžˆμŠ΅λ‹ˆλ‹€.