Database Naming Convention - dev-team-projects/DeliTalk GitHub Wiki

๐Ÿ›ต ๋ฐฐ๋‹ฌ ์›น์‚ฌ์ดํŠธ DB ์ปจ๋ฒค์…˜ ๊ทœ์น™

์ด ๋ฌธ์„œ๋Š” ๋ฐฐ๋‹ฌ ์›น์‚ฌ์ดํŠธ ํ”„๋กœ์ ํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ์‹œ ์ ์šฉ๋  ๋ช…๋ช… ๊ทœ์น™ ๋ฐ ๊ธฐํƒ€ ์ปจ๋ฒค์…˜์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ผ๊ด€์„ฑ ์žˆ๋Š” ๊ทœ์น™ ์ ์šฉ์„ ํ†ตํ•ด ํ˜‘์—… ํšจ์œจ์„ฑ์„ ๋†’์ด๊ณ , ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ์•ฝ์†์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“› ๋ช…๋ช… ๊ทœ์น™ (Naming Conventions)

1. ํ…Œ์ด๋ธ”๋ช… (Table Names)

  • ๊ทœ์น™: ๋ณต์ˆ˜ํ˜• ์‚ฌ์šฉ, ๋‹จ์–ด ๊ตฌ๋ถ„์€ _ (์–ธ๋”๋ฐ”)
  • ์˜ˆ์‹œ:
    • users
    • restaurants
    • order_items

์›๋ž˜๋Š” ๋ณต์ˆ˜ํ˜•_TB ๋ฅผ ํ•  ์ƒ๊ฐ์ด์—ˆ๋Š”๋ฐ ์š”์ƒˆ๋Š” ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ด์„œ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค


2. ์ปฌ๋Ÿผ๋ช… (Column Names)

  • ๊ทœ์น™: snake_case ์‚ฌ์šฉ
  • ๊ธฐ๋ณธ ํ‚ค (PK): [ํ…Œ์ด๋ธ” ์•ฝ์ž]_SQ
  • ์™ธ๋ž˜ ํ‚ค (FK): [์ฐธ์กฐ ํ…Œ์ด๋ธ” ์•ฝ์ž]_NO
  • ์ผ๋ฐ˜ ์ปฌ๋Ÿผ: [ํ…Œ์ด๋ธ” ์•ฝ์ž]_[์ปฌ๋Ÿผ๋ช…]

๐Ÿ“Œ ํ…Œ์ด๋ธ” ์•ฝ์ž ์ •์˜

ํ…Œ์ด๋ธ”๋ช… ์•ฝ์ž
Users MEM
Restaurants REST
Menus MNU
Orders ORD
OrderItems ORD_IT
ChatRooms CTR
ChatMessages CTM
Administrators ADM
Blacklists BLK

๐Ÿ“ ์˜ˆ์‹œ

  • users ํ…Œ์ด๋ธ”:
    • MEM_EMAIL, MEM_PWD, MEM_NICK
  • restaurants ํ…Œ์ด๋ธ”:
    • REST_NAME, REST_ADDR
  • orders ํ…Œ์ด๋ธ”:
    • ORD_TOTAL_PRICE, ORD_PAYMENT_STATUS

์ปฌ๋Ÿผ๋ช… ํ…Œ์ด๋ธ”๋ช… ์•ฝ์ž _ ์˜๋ฏธ๋„ ๊ธธ๋ฉด ์•ฝ์ž๋กœ


3. ์ œ์•ฝ์กฐ๊ฑด๋ช… (Constraint Names)

  • ๊ทœ์น™: [์ œ์•ฝ์กฐ๊ฑด ์•ฝ์ž]_[ํ…Œ์ด๋ธ”๋ช…] ํ˜•์‹
  • ํ˜•์‹ ๋ฐ ์˜ˆ์‹œ:
์ œ์•ฝ์กฐ๊ฑด ์ข…๋ฅ˜ ํ˜•์‹ ์˜ˆ์‹œ
๊ธฐ๋ณธ ํ‚ค (PK) PK_[์ปฌ๋Ÿผ๋ช…] PK_MEM_SQ
์™ธ๋ž˜ ํ‚ค (FK) FK_[์ž์‹ํ…Œ์ด๋ธ”๋ช…]_[์ฐธ์กฐ์ปฌ๋Ÿผ๋ช…] FK_orders_MEM_NO
๊ณ ์œ  ์ œ์•ฝ์กฐ๊ฑด UN_[ํ…Œ์ด๋ธ”๋ช…]_[์ปฌ๋Ÿผ๋ช…] UN_users_MEM_EMAIL
์ฒดํฌ ์ œ์•ฝ์กฐ๊ฑด CHK_[ํ…Œ์ด๋ธ”๋ช…]_[์ปฌ๋Ÿผ๋ช…]
CHK_blacklists_MEM_NO_or_REST_NO

๐Ÿ“ ๋ฐ์ดํ„ฐ ํƒ€์ž…

ํ•ญ๋ชฉ ๊ทœ์น™ ์„ค๋ช…
๋ฌธ์ž์—ด VARCHAR โ€” ์ ์ ˆํ•œ ๊ธธ์ด ์ง€์ •
์ˆซ์ž INT ๋ฐ์ดํ„ฐ์— ๋งž๋Š” ํƒ€์ž… ์‚ฌ์šฉ
๋‚ ์งœ/์‹œ๊ฐ„ DATETIME ์‚ฌ์šฉ
NULL ํ—ˆ์šฉ ๊ธฐ๋ณธ์ ์œผ๋กœ NOT NULL, ํ—ˆ์šฉ ์‹œ ๋ช…ํ™•ํ•œ ์‚ฌ์œ  ์ฃผ์„์œผ๋กœ ๋ช…์‹œ

์ œ์•ˆ์ด์ง€ ํ™•์ • ์‚ฌํ•ญ ์•„๋‹™๋‹ˆ๋‹ค.