Home > Archive > Database > πŸ’Ύ[Database] SQL의 κ°œμš”

πŸ’Ύ[Database] SQL의 κ°œμš”
Database SQL

SQL의 κ°œμš”

SQL은 κ΄€κ³„ν˜• DBμ—μ„œ μ‚¬μš©λ˜λŠ” μ–Έμ–΄λ‘œ β€˜μ—μŠ€νμ—˜β€™ λ˜λŠ” β€˜μ‹œν€„β€™μ΄λΌκ³  μ½μŠ΅λ‹ˆλ‹€.
κ΄€κ³„ν˜• DBMS(κ·Έμ€‘μ—μ„œλ„ MySQL)λ₯Ό 배우렀면 SQL을 μ΅νžˆλŠ” 것은 ν•„μˆ˜μž…λ‹ˆλ‹€.

  • SQL은 DBλ₯Ό μ‘°μž‘ν•˜λŠ” β€˜μ–Έμ–΄β€™λ‘œ, 일반적인 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄(C, C++, Java, C# λ“±)와 λ‹€λ₯Έ νŠΉμ„±μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.
  • SQL은 ꡭ제 ν‘œμ€€ν™”κΈ°κ΄€μ—μ„œ ν‘œμ€€ν™”λœ λ‚΄μš©μ„ 계속 λ°œν‘œν–ˆμŠ΅λ‹ˆλ‹€.

SQL의 νŠΉμ§•

  • β€œDBMS μ œμž‘ νšŒμ‚¬μ™€ 독립적이닀.”
    • λͺ¨λ“  DBMS μ œμž‘ νšŒμ‚¬μ—μ„œ ν‘œμ€€ SQL이 κ³΅κ°œλ˜μ–΄ 각 νšŒμ‚¬λŠ” 이 ν‘œμ€€ SQL에 맞좰 DBMSλ₯Ό κ°œλ°œν•©λ‹ˆλ‹€.
      • λ”°λΌμ„œ SQL은 λŒ€λΆ€λΆ„μ˜ DBMS μ œν’ˆμ—μ„œ κ³΅ν†΅μ μœΌλ‘œ ν˜Έν™˜λ©λ‹ˆλ‹€.
  • β€œλ‹€λ₯Έ μ‹œμŠ€ν…œμœΌλ‘œμ˜ 이식성이 μ’‹λ‹€.”
    • SQL은 μ„œλ²„μš©, 개인용, νœ΄λŒ€μš© μž₯λΉ„ λ“± μš΄μ˜λ˜λŠ” DBMSλ§ˆλ‹€ μƒν˜Έ ν˜Έν™˜μ„±μ΄ λ›°μ–΄λ‚©λ‹ˆλ‹€.
      • ν•œ μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©ν•˜λ˜ SQL을 λ‹€λ₯Έ μ‹œμŠ€ν…œμœΌλ‘œ μ΄μ‹ν•˜λŠ” 데 큰 λ¬Έμ œκ°€ μ—†μŠ΅λ‹ˆλ‹€.
  • β€œν‘œμ€€μ΄ 계속 λ°œμ „ν•©λ‹ˆλ‹€.”
    • SQL은 SQL-86, 89, 92, 1999, 2003, 2008, 2011 λ“±μœΌλ‘œ κ°œμ„ λœ ν‘œμ€€μ•ˆμ΄ 계속 λ°œν‘œλ˜μ—ˆμœΌλ©°, μ§€κΈˆλ„ κ°œμ„ λœ μ•ˆμ΄ κΎΈμ€€νžˆ μ—°κ΅¬λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
  • β€œλŒ€ν™”μ‹ μ–Έμ–΄μž…λ‹ˆλ‹€.”
    • κΈ°μ‘΄ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” ν”„λ‘œκ·Έλž¨ μž‘μ„±, 컴파일 및 디버깅, μ‹€ν–‰ 과정을 κ±°μ³μ•Όλ§Œ κ·Έ κ²°κ³Όλ₯Ό 확인할 수 μžˆμ§€λ§Œ SQL은 λ°”λ‘œ μ§ˆμ˜ν•˜κ³  κ²°κ³Όλ₯Ό μ–»λŠ” λŒ€ν™”μ‹ μ–Έμ–΄μž…λ‹ˆλ‹€.
  • β€œν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„ ꡬ쑰λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.”
    • SQL은 λΆ„μ‚°ν˜• ꡬ쑰인 ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„ ꡬ쑰λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.
      • ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ 질의λ₯Ό ν•˜λ©΄ μ„œλ²„μ—μ„œ κ·Έ 질의λ₯Ό λ°›μ•„ μ²˜λ¦¬ν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈμ— μ „λ‹¬ν•˜λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€.

SQL을 μ‚¬μš©μ‹œ μ£Όμ˜ν•  점은, λͺ¨λ“  DBMS μ œν’ˆμ˜ SQL 문이 μ™„λ²½ν•˜κ²Œ λ™μΌν•˜μ§€λŠ” μ•Šλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

  • λ§Žμ€ νšŒμ‚¬κ°€ λ˜λ„λ‘ ν‘œμ€€ SQL을 μ€€μˆ˜ν•˜λ €κ³  λ…Έλ ₯ν•˜μ§€λ§Œ 각 νšŒμ‚¬μ˜ DBMSλ§ˆλ‹€ νŠΉμ§•μ΄ 있기 λ•Œλ¬Έμ— ν˜„μ‹€μ μœΌλ‘œ μ™„μ „νžˆ ν†΅μΌλ˜κΈ°λŠ” μ–΄λ ΅μŠ΅λ‹ˆλ‹€.
    • 각 νšŒμ‚¬λŠ” 가급적 ν‘œμ€€ SQL을 μ§€ν‚€λ©΄μ„œλ„ μžμ‹ μ˜ μ œν’ˆμ— νŠΉν™”λœ SQL을 μ‚¬μš©ν•©λ‹ˆλ‹€.
      • 이λ₯Ό μ˜€λΌν΄μ—μ„œλŠ” PL/SQL, SQL Serverμ—μ„œλŠ” T-SQL이라 λΆ€λ₯΄κ³  MySQLμ—μ„œλŠ” κ·Έλƒ₯ SQL이라 μΌμ»«μŠ΅λ‹ˆλ‹€.

μ•„λž˜ κ·Έλ¦Όκ³Ό 같이 κ°νšŒμ‚¬μ˜ μ œν’ˆμ€ λͺ¨λ‘ ν‘œμ€€ SQL을 κ³΅ν†΅μœΌλ‘œ μ‚¬μš©ν•˜λ©΄μ„œ 자기 μ œν’ˆμ˜ νŠΉμ„±μ— 맞좘 ν˜Έν™˜λ˜μ§€ μ•ŠλŠ” SQL 문도 μ‚¬μš©ν•©λ‹ˆλ‹€.