λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
DBMS/Mariadb

[DBMS]MariaDB λ°μ΄ν„°λ² μ΄μŠ€ 관리λ₯Ό μœ„ν•œ 관둀적 사항

by YJ Dev 2024. 5. 16.
728x90
λ°˜μ‘ν˜•
SMALL

λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬λŠ” μ •ν™•μ„±κ³Ό 일관성을 μœ μ§€ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ μ½”λ“œμ˜ 가독성을 높이고 였λ₯˜λ₯Ό μ˜ˆλ°©ν•˜κΈ° μœ„ν•œ λͺ‡ 가지 관둀적 사항이 μžˆμŠ΅λ‹ˆλ‹€. 이번 κΈ€μ—μ„œλŠ” 주석, λͺ…λͺ…법, 그리고 λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œ μ§€μΌœμ•Ό ν•  곡톡적인 사항에 λŒ€ν•΄ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

    λ°μ΄ν„°λ² μ΄μŠ€ 관리λ₯Ό μœ„ν•œ κ΄€λ‘€

     

    μ£Όμ„πŸ’‘

    주석은 ν”„λ‘œκ·Έλž˜λ°μ΄λ‚˜ λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μ—μ„œ μ½”λ“œμ— μΆ”κ°€λ˜λŠ” μ„€λͺ…μ΄λ‚˜ λ©”λͺ¨μž…λ‹ˆλ‹€. μ΄λŠ” μ½”λ“œμ˜ 가독성을 높이고 μœ μ§€λ³΄μˆ˜λ₯Ό μš©μ΄ν•˜κ²Œ ν•©λ‹ˆλ‹€. 주석은 λ‹€λ₯Έ μ‚¬λžŒμ΄ μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κ±°λ‚˜ ν–₯후에 μžμ‹ μ΄ μ½”λ“œλ₯Ό λ‹€μ‹œ λ³Ό λ•Œλ„ 도움이 λ©λ‹ˆλ‹€. λ˜ν•œ μ½”λ“œμ˜ νŠΉμ • 뢀뢄에 λŒ€ν•œ μ„€λͺ…μ΄λ‚˜ 잠재적인 λ¬Έμ œμ μ„ μ‹λ³„ν•˜λŠ” 데에도 μ‚¬μš©λ©λ‹ˆλ‹€.

    단일 주석


    μ½”λ“œ ν•œ 쀄을 주석 μ²˜λ¦¬ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€. 주둜 μ½”λ“œμ˜ νŠΉμ • λΆ€λΆ„μ΄λ‚˜ κΈ°λŠ₯을 μ„€λͺ…ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€. 주둜 두 가지 ν˜•μ‹μ΄ μžˆμŠ΅λ‹ˆλ‹€. SQLμ—μ„œλŠ” "--" λ˜λŠ” "#"을 μ‚¬μš©ν•˜μ—¬ 단일 주석을 μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

    -- 이것은 단일 μ£Όμ„μž…λ‹ˆλ‹€.
    # 이것도 단일 μ£Όμ„μž…λ‹ˆλ‹€.

     

    닀쀑 주석

    μ—¬λŸ¬ μ€„μ˜ μ½”λ“œλ₯Ό 주석 μ²˜λ¦¬ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€. 주둜 μ½”λ“œ λΈ”λ‘μ΄λ‚˜ μ—¬λŸ¬ μ€„μ˜ μ„€λͺ…을 μž‘μ„±ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€. 닀쀑 주석은 일반적으둜 "/* */" ν˜•μ‹μ„ μ‚¬μš©ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

    /* 
       이것은
       닀쀑 μ£Όμ„μž…λ‹ˆλ‹€.
    */


    닀쀑 주석은 단일 주석과 달리 μ—¬λŸ¬ μ€„μ˜ μ½”λ“œλ₯Ό ν•œ λ²ˆμ— 주석 μ²˜λ¦¬ν•  수 μžˆμ–΄μ„œ μ½”λ“œμ˜ 일뢀λ₯Ό μΌμ‹œμ μœΌλ‘œ λΉ„ν™œμ„±ν™”ν•˜κ±°λ‚˜ μ„€λͺ…을 μΆ”κ°€ν•  λ•Œ μœ μš©ν•©λ‹ˆλ‹€. μ£Όμ„μ˜ μ’…λ₯˜μ™€ μ‚¬μš©λ²•μ„ 잘 μ΄ν•΄ν•˜λ©΄ μ½”λ“œμ˜ 가독성을 높이고 μœ μ§€λ³΄μˆ˜λ₯Ό μ‰½κ²Œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    λͺ…λͺ…λ²•πŸ“Œ

    λͺ…λͺ…법은 λ°μ΄ν„°λ² μ΄μŠ€ 객체λ₯Ό λͺ…λͺ…ν•˜λŠ” κ·œμΉ™μ˜ λͺ¨μŒμž…λ‹ˆλ‹€. λͺ…λͺ…법을 잘 λ”°λ₯΄λ©΄ μ½”λ“œμ˜ 가독성을 높이고 ν˜‘μ—…μ„ μ›ν™œν•˜κ²Œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λͺ…λͺ…λ²•μ—λŠ” 카멜 μΌ€μ΄μŠ€, 파슀칼 μΌ€μ΄μŠ€, μŠ€λ„€μ΄ν¬ μΌ€μ΄μŠ€ 등이 μžˆμŠ΅λ‹ˆλ‹€. λ°μ΄ν„°λ² μ΄μŠ€ 객체의 이름을 λͺ…λͺ…ν•  λ•ŒλŠ” 'μŠ€λ„€μ΄ν¬ μΌ€μ΄μŠ€'λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ λ°μ΄ν„°λ² μ΄μŠ€ 객체 λͺ…λͺ… μ‹œ μ£Όμ˜ν•΄μ•Ό ν•  λͺ‡ 가지 사항도 μžˆμŠ΅λ‹ˆλ‹€.

    1. 카멜 μΌ€μ΄μŠ€ (camelCase): 카멜 μΌ€μ΄μŠ€λŠ” μ—¬λŸ¬ 단어λ₯Ό μ‚¬μš©ν•  λ•Œ 첫 단어λ₯Ό μ œμ™Έν•œ 각 λ‹¨μ–΄μ˜ 첫 κΈ€μžλ₯Ό λŒ€λ¬Έμžλ‘œ ν‘œκΈ°ν•˜κ³  단어 사이λ₯Ό μ—°κ²°ν•©λ‹ˆλ‹€. 첫 λ‹¨μ–΄λŠ” μ†Œλ¬Έμžλ‘œ μ‹œμž‘ν•©λ‹ˆλ‹€. ex) myDatabaseTable, firstName, numberOfStudents 
    2. 파슀칼 μΌ€μ΄μŠ€ (PascalCase λ˜λŠ” CamelCase): 파슀칼 μΌ€μ΄μŠ€λŠ” 카멜 μΌ€μ΄μŠ€μ™€ μœ μ‚¬ν•˜μ§€λ§Œ 첫 단어도 λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•©λ‹ˆλ‹€. ex) MyDatabaseTable, FirstName, NumberOfStudents
    3. μŠ€λ„€μ΄ν¬ μΌ€μ΄μŠ€ (snake_case): μŠ€λ„€μ΄ν¬ μΌ€μ΄μŠ€λŠ” λͺ¨λ“  단어λ₯Ό μ†Œλ¬Έμžλ‘œ ν‘œκΈ°ν•˜κ³  단어 사이λ₯Ό μ–Έλ”μŠ€μ½”μ–΄(_)둜 κ΅¬λΆ„ν•©λ‹ˆλ‹€. ex) my_database_table, first_name, number_of_students

    λͺ…λͺ…법을 선택할 λ•Œ 가독성을 높이고 일관성을 μœ μ§€ν•˜κΈ° μœ„ν•΄ νŒ€ λ‚΄μ—μ„œ ν•©μ˜λœ κ·œμΉ™μ„ 따라야 ν•©λ‹ˆλ‹€. λ˜ν•œ λ°μ΄ν„°λ² μ΄μŠ€ 객체λ₯Ό λͺ…λͺ…ν•  λ•Œ μ£Όμ˜ν•  λͺ‡ 가지 사항이 μžˆμŠ΅λ‹ˆλ‹€.

    • μ†Œλ¬Έμž μ‚¬μš©: λ°μ΄ν„°λ² μ΄μŠ€ 객체의 이름은 μ†Œλ¬Έμžλ‘œ μž‘μ„±ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ— 따라 λŒ€μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜λŠ” κ²½μš°κ°€ 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€.
    • μ–Έλ”μŠ€μ½”μ–΄ μ‚¬μš©: 단어 사이λ₯Ό μ–Έλ”μŠ€μ½”μ–΄(_)둜 κ΅¬λΆ„ν•˜λŠ” 것이 μΌλ°˜μ μž…λ‹ˆλ‹€. μ΄λŠ” 가독성을 높이고 객체의 이름을 λͺ…ν™•νžˆ ꡬ뢄할 수 μžˆλ„λ‘ λ„μ™€μ€λ‹ˆλ‹€.
    • λͺ…ν™•ν•˜κ³  κ°„κ²°ν•œ 이름: 객체의 이름은 ν•΄λ‹Ή 객체λ₯Ό λͺ…ν™•ν•˜κ²Œ 식별할 수 μžˆλ„λ‘ μž‘μ„±ν•΄μ•Ό ν•©λ‹ˆλ‹€. λΆˆν•„μš”ν•œ μΆ•μ•½μ΄λ‚˜ μ•½μ–΄λŠ” ν”Όν•΄μ•Ό ν•˜λ©°, 객체의 κΈ°λŠ₯μ΄λ‚˜ μš©λ„λ₯Ό 잘 λ‚˜νƒ€λ‚΄λŠ” 이름을 선택해야 ν•©λ‹ˆλ‹€.

    μ΄λŸ¬ν•œ λͺ…λͺ… κ·œμΉ™μ„ λ”°λ₯΄λ©΄ μ½”λ“œμ˜ 일관성을 μœ μ§€ν•˜κ³  ν˜‘μ—…μ„ μ›ν™œν•˜κ²Œ ν•  수 있으며, λ°μ΄ν„°λ² μ΄μŠ€ 관리λ₯Ό 보닀 효율적으둜 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    κ³΅ν†΅μ μœΌλ‘œ 따라야 ν•  μ‚¬ν•­πŸ“’

    ν‚€μ›Œλ“œ λŒ€λ¬Έμž μž‘μ„±

    λ°μ΄ν„°λ² μ΄μŠ€ μΏΌλ¦¬μ—μ„œ ν‚€μ›Œλ“œλŠ” 보톡 λŒ€λ¬Έμžλ‘œ μž‘μ„±ν•©λ‹ˆλ‹€. μ΄λŠ” μ½”λ“œμ˜ 가독성을 높이고 ν‚€μ›Œλ“œμ™€ μ‚¬μš©μž μ •μ˜ μ‹λ³„μžλ₯Ό μ‰½κ²Œ ꡬ뢄할 수 μžˆλ„λ‘ λ„μ™€μ€λ‹ˆλ‹€.

    λ°μ΄ν„°λ² μ΄μŠ€ κ΅¬μ„±μš”μ†Œ 이름 μž‘μ„± κ·œμΉ™

    λ°μ΄ν„°λ² μ΄μŠ€μ˜ κ΅¬μ„±μš”μ†Œλ“€(μ‚¬μš©μž, 호슀트, μŠ€ν‚€λ§ˆ, ν…Œμ΄λΈ”, μ—΄ λ“±)의 이름은 μ†Œλ¬Έμžλ‘œ μž‘μ„±ν•˜λ©°, 단어 사이λ₯Ό μ–Έλ”μŠ€μ½”μ–΄(_)둜 κ΅¬λΆ„ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λͺ…λͺ… κ·œμΉ™μ„ λ”°λ₯΄λ©΄ μ½”λ“œμ˜ 일관성을 μœ μ§€ν•˜κ³  ν˜Όλ™μ„ 방지할 수 μžˆμŠ΅λ‹ˆλ‹€.

    λ°μ΄ν„°λ² μ΄μŠ€μ˜ κ΅¬μ„±μš”μ†Œλ₯Ό μ°Έμ‘°ν•  λ•Œ λ°±ν‹±(`)을 μ‚¬μš©ν•©λ‹ˆλ‹€. 백틱은 λ°μ΄ν„°λ² μ΄μŠ€ 객체의 이름에 κ³΅λ°±μ΄λ‚˜ 특수 λ¬Έμžκ°€ ν¬ν•¨λ˜μ–΄ μžˆμ„ λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€. 이λ₯Ό 톡해 λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ΄ μ •ν™•νžˆ μ–΄λ–€ 객체λ₯Ό μ°Έμ‘°ν•˜λŠ”μ§€λ₯Ό λͺ…ν™•ν•˜κ²Œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    λ°μ΄ν„°λ² μ΄μŠ€μ˜ κ΅¬μ„±μš”μ†Œκ°€ μ•„λ‹Œ 이름 μž‘μ„± κ·œμΉ™ 

    λ°μ΄ν„°λ² μ΄μŠ€μ˜ κ΅¬μ„±μš”μ†Œκ°€ μ•„λ‹Œ 문자 κ°’(예: λ¬Έμžμ—΄)은 ν™‘λ”°μ˜΄ν‘œ(')λ‚˜ ν°λ”°μ˜΄ν‘œ(")λ₯Ό μ‚¬μš©ν•˜μ—¬ ν‘œκΈ°ν•©λ‹ˆλ‹€. μ΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ—κ²Œ 값이 λ¬Έμžμ—΄μž„μ„ λͺ…μ‹œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

     

    μ΄λŸ¬ν•œ 곡톡 사항을 λ”°λ₯΄λ©΄ λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ½”λ“œμ˜ 일관성과 가독성을 높일 수 있으며, 잠재적인 였λ₯˜λ₯Ό 방지할 수 μžˆμŠ΅λ‹ˆλ‹€.

    핡심 λ‚΄μš©πŸ‘€

    λ°μ΄ν„°λ² μ΄μŠ€ 관리

    728x90
    λ°˜μ‘ν˜•