[SQL] ERD

eunยท2022๋…„ 6์›” 10์ผ
0

SQL

๋ชฉ๋ก ๋ณด๊ธฐ
4/8
post-thumbnail
post-custom-banner

ERD (Entity Relationship Diagram)

๊ฐœ์ฒด๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ณด๊ธฐ ์œ„ํ•œ ์ง€๋„

๐Ÿ“Œ ๊ตฌ์„ฑ์š”์†Œ

  • Entity
  • Attribute
  • Relationship

Entity

  • ๊ฐœ์ฒด
  • ํ…Œ์ด๋ธ”

Attribute

  • entity๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŠน์ง•
  • ๊ตฌ์กฐ์ ์œผ๋กœ๋Š” ๊ฐ ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ
  • ๊ตฌ์„ฑ
    1) attribute ํŠน์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ด๋ฆ„, ์ฆ‰ ์ปฌ๋Ÿผ ์ด๋ฆ„ (OrderID, CustomerID ..)
    2) ๋ฐ์ดํ„ฐ ํƒ€์ž… (varchar, int ..)
  • ์ˆซ์ž
    - ์ •์ˆ˜ : tinyint(), smallint(), mediumint(), int(), bigint()
    - ์‹ค์ˆ˜ : decimal(), double(), float()

  • ๋ฌธ์ž
    - varchar() : various character์˜ ์•ฝ์ž
    - char()

  • ๋‚ ์งœ, ์‹œ๊ฐ„
    - date() : 1000-01-01 ~ 9999-12-31
    - datetime() : 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999
    - timestamp() = datetime() + timezone


๐Ÿ” OrderDate ๊ณผ ๊ฐ™์€ ์นผ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด VARCHAR ๋กœ ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ

datetime ์ด๋‚˜ timestamp ๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ, ์™œ varchar ๋กœ ๋˜์–ด ์žˆ์„๊นŒ?

  • ๋ฐ์ดํ„ฐ๊ฐ€ 12/8/1968 ์ด๋Ÿฐ์‹์œผ๋กœ ๋“ค์–ด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ
  • ์ฆ‰, ๋‚ ์งœํ˜•์ด ์•„๋‹Œ ํ…์ŠคํŠธํ˜•์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ

๐Ÿ“Œ ๋‚ ์งœ ์—ฐ์‚ฐ์„ ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ

date_add() ์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‚ ์งœ ์—ฐ์‚ฐ์„ ํ•  ๊ฒฝ์šฐ์—, ๋ฐ์ดํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ datetime ์ด๋‚˜ timestamp ์™€ ๊ฐ™์ด ๋‚ ์งœ์™€ ๊ด€๋ จ๋œ ํ˜•ํƒœ์—ฌ์•ผ๋งŒ ํ•œ๋‹ค.

์ด๋Ÿด ๋•Œ๋Š” string ๋ฐ์ดํ„ฐ๋ฅผ datetime ๋ฐ์ดํ„ฐํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
( MySQL์—์„œ๋Š” str_to_date() )


Relationship

  • PK (Primary Key)
    • ์ฃผ ์‹๋ณ„์ž
    • ํ…Œ์ด๋ธ”์„ ๋Œ€ํ‘œํ•˜๋Š” ํ‚ค
    • ํ•œ entity ์•ˆ์— PK๋Š” 2๊ฐœ ์ด์ƒ ์กด์žฌํ•  ์ˆ˜ ์—†๋‹ค
    • PK์—๋Š” ์ค‘๋ณต์ด ์—†๋‹ค
    • ์ฆ‰, ๊ฐ ๋ ˆ์ฝ”๋“œ๋งˆ๋‹ค uniqueํ•˜๊ฒŒ ๊ฐ–๋Š” ํ‚ค
  • FK (Foreign Key)
    • ์™ธ๋ถ€ ์‹๋ณ„์ž
    • ๋‹ค๋ฅธ entity์˜ PK์—์„œ ์ฐธ์กฐ๋œ๋‹ค
  • PK์™€ FK์˜ ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด์„œ ๋‘ ๊ฐ€์ง€ ์ด์ƒ entity ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค
    • Customers (entity) ใ…ก Orders (entity)
    • one ใ…ก many
    • ๊ณ ๊ฐ ํ•œ ๋ช…๋‹น ์ฃผ๋ฌธ์ด ์—ฌ๋Ÿฌ ๊ฑด์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค
  • ERD ํ‘œ๊ธฐ๋ฒ•(notation)์€ ํฌ๊ฒŒ 5๊ฐ€์ง€ ์ •๋„ ์กด์žฌํ•˜๋ฏ€๋กœ, ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ‘œ๊ธฐ๋ฒ•์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ธ์ง€ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฐฉ์‹์˜ ERD๋ฅผ ๋งŒ๋‚ฌ์„ ๋•Œ ํ•ด๋‹น ํ‘œ๊ธฐ๋ฒ•์„ ํ•™์Šต


์ฐธ๊ณ 

profile
study archive ๐Ÿ‘ฉโ€๐Ÿ’ป
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€